ExaCLIを使用したExadata Storage Serverのモニタリングおよび管理

ExaCLIコマンドライン・ユーティリティを使用すると、Exadata Cloud Infrastructureインスタンス内のExadataストレージ・サーバーでモニターおよび管理機能を実行できます。

ExaCLIコマンドについて

ExaCLIコマンドでは、オンプレミスExadataコマンドライン・ユーティリティにあるコマンドのサブセットが提供されます。

ExaCLIでは、オンプレミスExadataコマンドライン・ユーティリティCellCLIユーティリティにあるコマンドのサブセットが提供されます。このユーティリティは、Exadata Cloud Serviceのデータベース仮想マシンで実行されます。

使用可能なコマンドを学習するには、このトピックのExaCLIコマンドのリストを参照してください。

Exadata Storage Serverのユーザー名およびパスワード

Exadata Storage Serverに接続するには、ユーザー名とパスワードが必要です。

Exadata Cloud Infrastructureで、Exadata Storage Serverの事前構成済ユーザーはcloud_user_clusternameです。clusternameは、使用される仮想マシン(VM)クラスタの名前です。

任意のクラスタ・ノードでgridユーザーとして次のcrsctlコマンドを実行し、VMクラスタの名前を確認できます:
crsctl get cluster name

このコマンドによって、「CRS-6724: 現在のクラスタ名は<cluster_name>です」が返されます

cloud_user_clusternameのパスワードは、最初はランダム値に設定されます。この値を表示するには、任意のクラスタ・ノードでrootユーザーとして次のコマンドを実行します:
/opt/exacloud/get_cs_data.py

これにより、パスワード<pwd>が返されます

次に、rootとしてExaCLIでテストします:
exacli -l cloud_user_<clusternmae> -c 192.168.136.14
Password: ****************************
exacli cloud_user_<cluster_name>@192.168.136.14>

ExaCLIコマンドの構文

Exadata Storage Serverターゲットでは、次の構文を使用してコマンドを作成します。

構文例では、ユーザーがコンピュート・ノード上のopcユーザーであると想定しています。
exacli -c [username@]remotehost[:port] [-l username] [--xml] [--cookie-jar filename] [-e {command | 'command; command' | @batchfile}]
この例では、Exadataコンピュート・ノードのユーザーがExaCLIにログインするコマンドを発行し、ストレージ・サーバー上で対話型のExaCLIセッションを開始します:
[opc@exacs-node1 ~]$ exacli -l cloud_user_clustername -c 192.168.136.7

ストレージ・サーバーのIPアドレスを確認する方法の詳細は、ExaCLIを使用したストレージ・サーバーへの接続を参照してください。

ログインしたら、次のように追加のコマンドを実行します:
exacli cloud_user_clustername@192.168.136.7> LIST DATABASE
ASM
HRCDB
例2

この例では、次を実行する単一コマンドをコンピュート・ノード上で発行します:

  • ストレージ・サーバーへの接続
  • LISTアクションの実行
  • セッションの終了("-e"フラグで指定)
[opc@exacs-node1 ~]$ exacli -l cloud_user_clustername -c 192.168.136.7 --xml --cookie-jar -e list griddisk detail
オプション 説明

-c [username@]remotehostまたは

--connect [username@]remotehost[:port]

接続先のリモート・ノードを指定します。指定しない場合、ExaCLIによってユーザー名の入力を求められます。

-l usernameまたは

--login-name username

リモート・ノードにログインするユーザー名を指定します。事前構成済ユーザーは、cloud_user_clusternameです。
--xml 出力をXML形式で表示します。
--cookie-jar [filename]

使用するCookie jarのファイル名を指定します。ファイル名が指定されない場合、CookieはHOME/.exacli/cookiejarにあるデフォルトのCookie jarに格納されます(HOMEはExaCLIコマンドを実行しているOSユーザーのホーム・ディレクトリです)。

有効なCookieが存在することで、ExaCLIユーザーは、後続のExaCLIセッションにログインを要求されることなく、コマンドの実行が許可されます。

-e commandまたは

-e 'command[; command]'または

-e @batchFile

実行するExaCLIコマンドまたはバッチ・ファイルのいずれかを指定します。ExaCLIは、コマンドの実行後に終了します。

実行するコマンドを複数指定する場合は、それらのコマンドを一重引用符で囲んで、シェルがセミコロンを解釈しないようにします。

対話型ExaCLIセッションを開始する場合は、このオプションを省略します。

--cert-proxy proxy[:port] 証明書のダウンロード時に使用するプロキシ・サーバーを指定します。portを省略すると、デフォルトでポート80が使用されます。

-nまたは

--no-prompt

ユーザー入力を求めるプロンプトを抑制します。
  • --cookie-jarオプションのノート:

    • ユーザー名およびパスワードが、認証のためリモート・ノードに送信されます。認証が成功すると、リモート・ノードがCookie(ログイン資格証明)を発行します。これはデータベース・ノード上の指定されたfilenameに格納されます。filenameが指定されない場合、Cookieは、HOME/.exacli/cookiejarにあるデフォルトのCookie jarに格納されます(HOMEは、ExaCLIコマンドを実行しているオペレーティング・システム・ユーザーのホーム・ディレクトリです)。opcユーザーの場合、ホームは/home/opcです。
    • ExaCLIコマンドを実行するオペレーティング・システム・ユーザーがCookie- jarファイルの所有者です。
    • Cookie jarは、パラレル・セッションの複数ノードで複数ユーザーの複数のCookieを格納できます。
    • Cookieは、24時間後に無効化されます。
    • Cookieが見つからないか、すでに有効でない場合は、ExaCLIによってパスワードの入力を求められます。新しいCookieは、filenameで識別されるCookie jarに格納されますが、filenameが指定されていない場合はデフォルトのCookie jarに格納されます。
    • --cookie-jarオプションがない場合も、ExaCLIはデフォルトのCookie jarでCookieをチェックします。ただし、Cookieが存在しないか、すでに有効でない場合は、--cookie-jarオプションが指定されていないと、新しいCookieはデフォルトのCookie jarに格納されません。

  • -eオプションのノート:

    • ExaCLIは、コマンドの実行後に終了します。
    • 実行するコマンドを複数指定する場合は、それらのコマンドを一重引用符で囲んで、シェルがセミコロンを解釈しないようにします。
    • バッチ・ファイルは、実行する1つ以上のExaCLIコマンドが含まれているテキスト・ファイルです。
  • -n (--no-prompt)オプションのノート:

    • ExaCLIがユーザーからの追加情報を必要とする場合、たとえば、(cookie-jarに有効なCookieがなかったために) ExaCLIがユーザーにパスワードを要求する必要がある場合や、リモート・ノードのアイデンティティの確認をユーザーに要求する必要がある場合、ExaCLIはエラー・メッセージを出力して終了します。

ExaCLIを使用したストレージ・サーバーへの接続

ストレージ・サーバーでExaCLIを使用するには、ターゲット・ストレージ・サーバーのIPアドレスがわかっている必要があります。

接続しようとしているノードのIPアドレスがわからない場合は、cellip.oraファイルの内容を表示して確認できます。

次の例では、クォータ・ラック・システムのUNIXコマンドラインでこれを行う方法を示します。(クォータ・ラックには3つのストレージ・セルがあり、各セルには2つの接続があるため、合計6つのIPアドレスが表示されます。)
cat /etc/oracle/cell/
network-config/cellip.oracle
cell="192.168.136.5;cell="192.168.136.6"
cell="192.168.136.7;cell="192.168.136.8"
cell="192.168.136.9;cell="192.168.136.10"
初めてExaCLIを使用してストレージ・セルに接続する場合、SSL証明書の受入れを求めるプロンプトが表示されることがあります。この場合、ExaCLI出力は次のようになります:
exacli -l cloud_user_clustername -c 192.168.136.7 --cookie-jar
No cookies found for cloud_user_clustername@192.168.136.7
Password: *********
EXA-30016: This connection is not secure. You have asked ExaCLI to connect to cell 192.168.136.7 securely. The identity of 192.168.136.7 cannot be verified.
Got certificate from server:
C=US,ST=California,L=Redwood City,O=Oracle Corporation,OU=Oracle Exadata,CN=ed1cl03clu01-priv2.usdc2.oraclecloud.com
Do you want to accept and store this certificate? (Press y/n)

[y]を押して自己署名Oracle証明書を受け入れ、ExaCLIの使用を続けます。

ExaCLIコマンド・リファレンス

様々なExaCLIコマンドを実行して、Oracle Cloud Infrastructure Exadata DBシステムに関連付けられたExadata Storage Serverをモニターおよび管理できます。ExaCLIを使用すると、Exadata Cloud Serviceに関する最新のリアルタイム情報を取得できます。

次のサービスやオブジェクトを指定してLISTコマンドを使用します:

  • ACTIVEREQUEST - ストレージ・サーバーが現在処理しているアクティブなリクエストをすべてリストします。
  • ALERTDEFINITION - ストレージ・サーバーに関して生成される可能性があるすべてのアラートとそのソースをリストします。
  • ALERTHISTORY - ストレージ・サーバーに対して発行されたすべてのアラートをリストします。
  • CELL - ストレージ・サーバーまたはストレージ・セルの特定の属性の詳細をリストするために使用します。構文は次のとおりです:
    LIST CELL ATTRIBUTES A,B,C
    ABおよびCは属性です。すべてのセル属性を表示するには、
    LIST CELL ATTRIBUTES ALL
    コマンドを使用します。
  • CELLDISK - ストレージ・サーバーのセル・ディスクの属性をリストします。次の構文を使用してセル・ディスクの詳細をリストします:
    LIST CELLDISK cell_disk_name
              DETAIL
    .
  • DATABASE - データベースの詳細をリストします。通常のLISTコマンド構文を使用します:
    LIST DATABASE
    および
    LIST DATABASE DETAIL
    このコマンドを次の構文で使用して、個々の属性を表示することもできます:
    LIST DATABASE
              ATTRIBUTES NAME
    .
  • FLASHCACHE - Exadataシステムのフラッシュ・キャッシュの詳細をリストします。このオブジェクトには、次の構文パターンを使用できます:
    LIST FLASHCACHE DETAIL
    または
    LIST FLASHCACHE
              ATTRIBUTES attribute_name
    .
  • FLASHCACHECONTENT - フラッシュ・キャッシュのすべてのオブジェクトの詳細、または指定したオブジェクトIDの詳細をリストします。すべてのオブジェクトの詳細をすべてリストするには、次を使用します
    LIST FLASHCACHECONTENT DETAIL
    特定のオブジェクトの詳細をリストするには、次のようにwhere句を使用します:
    LIST FLASHCACHECONTENT WHERE objectNumber=12345 DETAIL
    ノート: 特定のオブジェクトのオブジェクトIDを調べるには、オブジェクトの名前を使用して
    user_objects
    を問い合せ、パーティションまたは表の
    data_object_id
    を取得します。
  • FLASHLOG - Oracle Exadataスマート・フラッシュ・ログの属性をリストします。
  • GRIDDISK - 特定のグリッド・ディスクの詳細をリストします。構文は、CELLDISKのコマンド構文と同様です。すべての属性を表示するには:
    LIST GRIDDISK grid_disk_name
              DETAIL
    グリッド・ディスクの指定した属性を表示するには:
    LIST
              GRIDDISK grid_disk_name ATTRIBUTES size,
            name
    .
  • IBPORT - InfiniBandポートの詳細をリストします。構文は次のとおりです
    LIST IBPORT DETAIL
    .
  • IORMPROFILE - ストレージ・サーバーに設定されているIORMプロファイルをリストします。データベースにIORMプロファイルがある場合は、DATABASEオブジェクトのプロファイル属性に戻って参照することもできます。構文は次のとおりです
    LIST
              IORMPROFILE
    .
  • LUN - LUN(論理ユニット番号)オブジェクトは、ストレージ・サーバーの物理ディスクの数や詳細を返します。次を使用してディスクのLUNをリストします
    LIST LUN
    次を使用して各LUNの詳細をリストします
    LIST LUN lun_number
              DETAIL
    .
  • METRICCURRRENT - 特定のオブジェクト・タイプの現在のメトリックをリストします。構文は次のとおりです
    LIST METRICCURRENT WHERE
                objectType = 'CELLDISK'
    このコマンドでは、次の例のようにソートや結果の制限を行うこともできます:
    LIST METRICCURRENT attributes name, metricObjectName
                ORDER BY metricObjectName asc, name desc LIMIT 5
  • METRICDEFINITION - オブジェクトのメトリック定義をリストします(後でその詳細を取得できます)。次のコマンドを使用して
    LIST
              metricDefinition WHERE objectType=cell
    そのオブジェクト・タイプのすべてのメトリックを取得できます。その後、メトリック定義オブジェクトを再び使用し、リストされた特定のメトリックのうち1つの詳細を取得できます:
    LIST metricDefinition WHERE
              name= IORM_MODE DETAIL
    .
  • METRICHISTORY - 指定した期間についてメトリックをリストします。たとえば、次のコマンドでは
    LIST METRICHISTORY WHERE ageInMinutes <
              30
    過去30分間に収集されたすべてのメトリックをリストできます。述語collectionTimeを使用して、特定の時点からの範囲を設定することもできます。次の例に示すように、collectionTimeを使用します:
    LIST METRICHISTORY WHERE collectionTime
              > '2018-04-01T21:12:00-10:00'
    メトリック履歴オブジェクトを使用して、オブジェクトの名前を使用して特定のメトリックを表示することもできます(例:
    LIST
              METRICHISTORY CT_FD_IO_RQ_SM
    )またはwhere句を使用して、名前などの類似した属性を持つオブジェクトを取得します(例:
    LIST METRICHISTORY WHERE
              name like 'CT_.*'
    )。
  • OFFLOADGROUP - ストレージ・サーバーで実行されているオフロード・グループの属性をリストできます。次を使用してすべてのグループのすべての詳細をリストできます
    LIST OFFLOADGROUP DETAIL
    または次の例に示すように、特定のグループの属性をリストします:
    LIST
              OFFLOADGROUP offloadgroup4
    次を使用して特定の属性をリストします
    LIST OFFLOADGROUP ATTRIBUTES name
    .
  • PHYSICALDISK - すべての物理ディスクをリストします。次の結果を使用して
    LIST PHYSICALDISK
    さらに調査する特定のディスクを識別し、次のコマンドを使用してそのディスクの詳細をリストします:
    LIST PHYSICALDISK 20:10 DETAIL
    フラッシュ・ディスクの詳細をリストするには、次のようなコマンドを使用します:
    LIST PHYSICALDISK
              FLASH_1_0 DETAIL
    )。
  • PLUGGABLEDATABASE - すべてのPDBをリストします。次を使用して特定のPDBの詳細を表示します
    LIST PLUGGABLEDATABASE pdb_name
    .
  • QUARANTINE - スマート・スキャンを使用しないようにしたすべてのSQL文をリストします。構文は次のとおりです
    LIST QUARANTINE
              DETAIL
    使用可能な属性のいずれかについてWHERE句を使用することもできます。

ExaCLI CREATEALTERDROPおよびLISTコマンドを使用して、次のExadata Storage Serverオブジェクトの処理を行います:

  • DIAGPACK - Exadataシステムの診断パッケージとそのステータスをリストします。構文は次のとおりです
    LIST DIAGPACK
                [DETAIL]
    DETAILはオプション属性です。使用法
    CREATE DIAGPACK
    packStartTime
    属性を次の例のように使用して、ログとトレース・ファイルを収集し、ダウンロード用に1つの圧縮ファイルにします:
    CREATE DIAGPACK
                packStartTime=2019_12_15T00_00_00
    値"now"をpackStartTimeに使用することもできます:
    CREATE DIAGPACK packStartTime=now
    診断パッケージをダウンロードするには、次を使用します
    DOWNLOAD DIAGPACK
                  package_namelocal_directory
    たとえば、次のコマンドでは診断パッケージが/tmpディレクトリにダウンロードされます:
    DOWNLOAD DIAGPACK  cfclcx2647_diag_2018_06_03T00_44_24_1 /tmp
  • IORMPLAN - ExaCLIを使用して、IORM計画をリスト、作成、変更および削除できます。すべてのIORM計画の詳細を表示するには、次を使用します
    LIST
              IORMPLAN DETAIL
    また、このコマンドを使用して、IORM計画の作成や変更、およびストレージ・サーバーへの計画の適用を行うこともできます。
select object_name, data_object_id from user_objects where object_name = 'BIG_CENSUS';
OBJECT_NAME               DATA_OBJECT_ID
----------------------------------------
BIG_CENSUS                29152