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

ExaCLIコマンドライン・ユーティリティを使用して、Exadata Cloud ServiceのExadata Storage Serverでモニタリングおよび管理機能を実行する方法について学習します。

ExaCLIコマンドについて

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

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

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

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

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

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

ExaCLIコマンド

ExaCLI (exacli)を使用して、リモート・ノード環境でセル、データベース・ノード構成およびオブジェクトを構成し、Oracle Exadata Database Service on Cloud@Customerサービスおよびオブジェクトをモニターします。

目的

ExaCLI (exacli)によって、Oracle Exadata Database Service on Cloud@Customerシステムを構成し、Exadata Cloud Serviceに関するリアルタイム情報を取得できます。システムのサービスおよびオプションに関する情報を取得するには、必要なモニタリング・コマンド・パラメータを使用してExaCLIを実行します。

ExaCLIで使用できるシステム・モニタリング・パラメータのリストを取得するには、LISTパラメータを実行します。

構文

exacli -c [username@]remotehost[:port] 
[-l username] 
[--xml] 
[--cookie-jar filename] 
[-e {command | 'command; command' | @batchfile}]

オプション

オプション 説明

-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コマンドを実行しているオペレーティング・システム・ユーザーのホーム・ディレクトリです)。

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

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

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

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

対話型のExaCLIセッションを開始するには、このコマンドを省略します。

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

-nまたは--no-prompt

ユーザー入力を求めるプロンプトを抑制します。

コマンド・パラメータ

システム上のオブジェクトおよびサービスに関する情報を取得するには、次のExaCLIコマンド・パラメータを使用します。

表7-1 コマンド

コマンド・パラメータ 説明

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コマンド構文を使用します: 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

問合せの例: オブジェクトのobject_id値の検索
select object_name, data_object_id from user_objects where object_name = 'BIG_CENSUS';
OBJECT_NAME               DATA_OBJECT_ID
----------------------------------------
BIG_CENSUS                29152

FLASHLOG

Oracle Exadata Smart Flash Logの属性をリストします。

GRIDDISK

特定のグリッド・ディスクの詳細をリストします。構文は、CELLDISKのコマンド構文と同様です。すべての属性を表示するには: LIST GRIDDISK grid_disk_name DETAIL。グリッド・ディスクの指定した属性を表示するには: LIST GRIDDISK grid_disk_name ATTRIBUTES size, name

IBPORT

InfiniBandポートの詳細をリストします。構文は、LIST IBPORT DETAILです。

IORMPLAN

ExaCLIのCREATEALTERDROPおよびLISTコマンドをIORMPLANとともに使用します。すべてのIORM計画の詳細を表示するには、LIST IORMPLAN DETAILを使用します。また、このコマンドを使用して、IORM計画の作成や変更、およびストレージ・サーバーへの計画の適用を行うこともできます。

IORMPROFILE

ストレージ・サーバーに設定されているIORMプロファイルをリストします。データベースにIORMプロファイルがある場合は、DATABASEオブジェクトのプロファイル属性に戻って参照することもできます。構文は、LIST IORMPROFILEです。

LIST

Exadata Database Service on Cloud@Customerサービスおよびオブジェクトに対してExaCLIで使用可能なコマンド・パラメータ・オプションをリストします。

LUN

LUN (論理ユニット番号)オブジェクトは、ストレージ・サーバーの物理ディスクの数および詳細を返します。LIST LUNを使用してディスクのLUNをリストします。LIST LUN lun_number DETAILを使用して各LUNの詳細をリストします。

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句を使用してnameなどの属性が類似したオブジェクトを取得できます(たとえば、LIST METRICHISTORY WHERE name like 'CT_.*')。

OFFLOADGROUP

ストレージ・サーバーで実行されているオフロード・グループの属性をリストします。LIST OFFLOADGROUP DETAILを使用して、すべてのグループのすべての詳細をリストできます。または、次の例のように特定のグループの属性をリストできます: LIST OFFLOADGROUP offloadgroup4LIST OFFLOADGROUP ATTRIBUTES nameを使用して、特定の属性をリストします。

PHYSICALDISK

すべての物理ディスクをリストします。LIST PHYSICALDISKの結果を使用して、さらに調査する特定のディスクを識別します。その後、次のようなコマンドを使用してそのディスクの詳細をリストします: LIST PHYSICALDISK 20:10 DETAIL。フラッシュ・ディスクの詳細をリストするには、次のようなコマンドを使用します: LIST PHYSICALDISK FLASH_1_0 DETAIL)。

PLUGGABLEDATABASE

すべてのPDBをリストします。LIST PLUGGABLEDATABASE pdb_nameを使用して、特定のPDBの詳細を表示します。

QUARANTINE

スマート・スキャンの使用を停止したすべてのSQL文をリストします。構文は、LIST QUARANTINE DETAILです。使用可能な属性のいずれかについてWHERE句を使用することもできます。

DIAGPACK

ExaCLIのCREATEALTERDROPおよびLISTコマンドをDIAGPACKとともに使用して、Exadataシステムの診断パッケージとそのステータスをリストします。構文は、LIST DIAGPACK [DETAIL]です(DETAILはオプション属性)。次の例のようにCREATE DIAGPACKpackStartTime属性とともに使用して、ダウンロード用の単一の圧縮ファイルにログとトレース・ファイルを収集します: CREATE DIAGPACK packStartTime=2019_12_15T00_00_00。値nowpackStartTime: CREATE DIAGPACK packStartTime=nowで使用することもできます。

診断パッケージをダウンロードするには、DOWNLOAD DIAGPACK package_name local_directoryを使用します。たとえば、次のコマンドでは診断パッケージが/tmpディレクトリにダウンロードされます: DOWNLOAD DIAGPACK cfclcx2647_diag_2018_06_03T00_44_24_1 /tmp

使用上のノート

  • --cookie-jarオプションのノート:
    • ユーザー名およびパスワードが、認証のためリモート・ノードに送信されます。認証が成功すると、リモート・ノードはCookie (ログイン資格証明)を発行します。これは指定したファイル名でデータベース・ノードに格納されます。ファイル名を指定しない場合、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はエラー・メッセージを出力して終了します。

例7-57ストレージ・サーバーでの対話型ExaCLIセッションの開始

この例では、Exadataコンピュート・ノードのユーザーがExaCLIにログインするコマンドを発行し、ストレージ・サーバー上で対話型のExaCLIセッションを開始します:
exacli -l cloud_user_clustername -c 192.168.136.7

ストレージ・サーバーのIPアドレスを確認する方法の詳細は、「cellip.oraファイルを使用したストレージ・セルのIPアドレスの検索」を参照してください。

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

例7-58コンピュート・ノードでの単一コマンドの発行

この例では、次を実行する単一コマンドをコンピュート・ノード上で発行します:
  • ストレージ・サーバーへの接続
  • LISTアクションの実行
  • セッションの終了(-eオプションで指定)
exacli -l cloud_user_clustername -c 192.168.136.7 --xml --cookie-jar -e list griddisk detail

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の使用を続けます。