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

    ここで、A、BおよびCは、表示される属性を表します。

    すべてのセル属性を表示するには、次を使用します。

    LIST CELL ATTRIBUTES ALL
  • CELLDISK: ストレージ・サーバーのセル・ディスクの属性をリストします。
    LIST CELLDISK cell_disk_name DETAIL

    指定されたセルディスクの詳細情報を表示します。

  • DATABASE: データベースの詳細をリストします。
    LIST DATABASE

    すべてのデータベースのサマリーを表示します。

    LIST DATABASE DETAIL

    すべてのデータベースの詳細情報を表示します。

    LIST DATABASE ATTRIBUTES NAME

    各データベースの指定された属性(この場合はNAME)を表示します。

  • FLASHCACHE: Exadataシステムのフラッシュ・キャッシュの詳細をリストします。
    LIST FLASHCACHE DETAIL

    フラッシュ・キャッシュの詳細情報を表示します。

    LIST FLASHCACHE ATTRIBUTES attribute_name

    フラッシュ・キャッシュに指定された属性を表示します。

  • FLASHCACHECONTENT: フラッシュ・キャッシュのすべてのオブジェクトの詳細、または指定したオブジェクトID詳細をリストします。
    LIST FLASHCACHECONTENT DETAIL

    フラッシュ・キャッシュ内のすべてのオブジェクトの詳細情報を表示します。

    LIST FLASHCACHECONTENT WHERE objectNumber=12345 DETAIL

    指定されたobjectNumberを持つオブジェクトの詳細情報を表示します。

    ノート

    特定のオブジェクトのオブジェクト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

    すべてのInfiniBandポートの詳細情報を表示します。

  • IORMPROFILE: ストレージ・サーバーに設定されているすべてのIORMプロファイルをリストします。また、DATABASEオブジェクトのプロファイル属性を参照して、データベースに関連付けられているIORMプロファイルがあるかどうかを確認することもできます。
    LIST IORMPROFILE

    ストレージ・サーバーで構成されているIORMプロファイルを表示します。

  • LUN: ストレージ・サーバー内の物理ディスクの論理ユニット番号(LUN)を表します。
    LIST LUN

    すべてのLUNのサマリーを表示します。

    LIST LUN lun_number DETAIL

    指定したLUNの詳細情報を表示します。

  • METRICCURRRENT: 特定のオブジェクト・タイプの現在のメトリックをリストします。
    LIST METRICCURRENT WHERE objectType = 'CELLDISK'

    指定したオブジェクト・タイプ(この場合はCELLDISK)の現在のメトリックを表示します。

    LIST METRICCURRENT ATTRIBUTES name, metricObjectName 
    ORDER BY metricObjectName ASC, name DESC LIMIT 5

    選択した属性をmetricObjectName (昇順)およびname (降順)でソートし、上位5件の結果に限定して表示します。

  • METRICDEFINITION: 特定のオブジェクト・タイプで使用可能なメトリック定義をリストします。これらの定義を使用して、特定のメトリックの詳細を取得できます。
    LIST METRICDEFINITION WHERE objectType = cell

    指定されたオブジェクト・タイプ(セル)のすべてのメトリック定義を表示します。

    LIST METRICDEFINITION WHERE name = IORM_MODE DETAIL

    指定されたメトリック(IORM_MODE)の詳細情報を表示します。

  • METRICHISTORY: 指定した期間に収集されたメトリックをリストします。
    LIST METRICHISTORY WHERE ageInMinutes < 30

    過去30分間に収集されたすべてのメトリックを表示します。

    LIST METRICHISTORY WHERE collectionTime > '2018-04-01T21:12:00-10:00'

    指定されたタイムスタンプの後に収集されたすべてのメトリックを表示します。

    LIST METRICHISTORY CT_FD_IO_RQ_SM

    特定のメトリックの履歴を名前別に表示します。

    LIST METRICHISTORY WHERE name LIKE 'CT_.*'

    指定されたパターンに一致する名前を持つすべてのメトリックを表示します。

  • OFFLOADGROUP: ストレージ・サーバーで実行されているオフロード・グループの属性をリストします。
    LIST OFFLOADGROUP DETAIL

    すべてのオフロード・グループの詳細情報を表示します。

    LIST OFFLOADGROUP offloadgroup4

    特定のオフロード・グループ(offloadgroup4)の詳細を表示します。

    LIST OFFLOADGROUP ATTRIBUTES name

    すべてのオフロード・グループについて、指定した属性(名前など)のみを表示します。

  • PHYSICALDISK: ストレージ・サーバー内のすべての物理ディスクをリストします。結果を使用して、さらに調査するために特定のディスクを特定します。
    LIST PHYSICALDISK

    すべての物理ディスクのサマリーを表示します。

    LIST PHYSICALDISK 20:10 DETAIL

    特定のディスクの詳細情報を表示します(20:10)。

    LIST PHYSICALDISK FLASH_1_0 DETAIL

    特定のフラッシュ・ディスク(FLASH_1_0)の詳細情報を表示します。

  • PLUGGABLEDATABASE: 環境内のすべてのプラガブル・データベース(PDB)をリストします。
    LIST PLUGGABLEDATABASE

    すべてのプラガブル・データベースのサマリーを表示します。

    LIST PLUGGABLEDATABASE pdb_name

    指定されたプラガブル・データベース(pdb_name)の詳細情報を表示します。

  • QUARANTINE: スマート・スキャンの使用を停止したすべてのSQL文をリストします。
    LIST QUARANTINE DETAIL

    すべての隔離されたSQL文の詳細情報を表示します。

    LIST QUARANTINE WHERE attribute = value

    WHERE句を使用して、特定の属性で結果をフィルタします。

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

  • DIAGPACK: Exadataシステム内の診断パッケージとそのステータスをリストします。
    LIST DIAGPACK
    LIST DIAGPACK DETAIL

    すべての診断パッケージを一覧表示します。DETAILは拡張情報を提供します。

    CREATE DIAGPACK packStartTime=2019_12_15T00_00_00

    指定された時間から始まる診断パッケージを作成します。nowを使用して診断をすぐに取得することもできます。

    CREATE DIAGPACK packStartTime=now
    DOWNLOAD DIAGPACK cfclcx2647_diag_2018_06_03T00_44_24_1 /tmp

    指定された診断パッケージを/tmpディレクトリ(または別のローカル・パス)にダウンロードします。

  • IORMPLAN: Exadataストレージ・サーバー上のI/Oリソース・マネージャ(IORM)プランを管理します。ExaCLIを使用して、IORM計画のリスト、作成、変更および削除を実行できます。
    LIST IORMPLAN DETAIL

    すべてのIORMプランを詳細情報とともにリストします。

    CREATE IORMPLANALTER IORMPLANまたはDROP IORMPLANを使用して、計画を管理し、必要に応じてストレージ・サーバーに適用することもできます。

    select object_name, data_object_id from user_objects where object_name = 'BIG_CENSUS';
    OBJECT_NAME               DATA_OBJECT_ID
    ----------------------------------------
    BIG_CENSUS                29152