9.7.1 crsctl query calog

特定の基準に一致するクラスタ・リソース・アクティビティ・ログを問い合せます。

構文

crsctl query calog [-aftertime "timestamp"] [-beforetime "timestamp"]
  [-duration "time_interval" | -follow] [-filter "filter_expression"]
  [-fullfmt | -xmlfmt]

パラメータ

表9-150 crsctl query calogコマンドのパラメータ

パラメータ 説明
-aftertime "timestamp"

特定の時刻の後にログに記録されたアクティビティを表示します。

タイムスタンプをYYYY-MM-DD HH24:MI:SS[.FF][TZH:TZM]YYYY-MM-DDまたはHH24:MI:SS[.FF][TZH:TZM]形式で指定します。

TZHおよびTZMはタイムゾーンの時間と分を意味し、FFはマイクロ秒を意味します。

[TZH:TZM]を指定すると、crsctlコマンドは、UTCをタイムゾーンと想定します。[TZH:TZM]を指定しない場合、crsctlコマンドは、crsctlコマンドを実行したクラスタ・ノードのローカル・タイムゾーンであると想定します。

このパラメータを-beforetimeとともに使用して、特定の時間間隔でログに記録されたアクティビティを問い合せます。

-beforetime "timestamp"

特定の時刻の前にログに記録されたアクティビティを表示します。

タイムスタンプをYYYY-MM-DD HH24:MI:SS[.FF][TZH:TZM]YYYY-MM-DDまたはHH24:MI:SS[.FF][TZH:TZM]形式で指定します。

TZHおよびTZMはタイムゾーンの時間と分を意味し、FFはマイクロ秒を意味します。

[TZH:TZM]を指定すると、crsctlコマンドは、UTCをタイムゾーンと想定します。[TZH:TZM]を指定しない場合、crsctlコマンドは、crsctlコマンドを実行したクラスタ・ノードのローカル・タイムゾーンであると想定します。

このパラメータを-aftertimeとともに使用して、特定の時間間隔でログに記録されたアクティビティを問い合せます。

-duration "time_interval" | -follow

-durationを使用して、-aftertimeパラメータの使用時に問い合せる時間間隔を指定します。

タイムスタンプをDD HH:MM:SS形式で指定します。

-followを使用して、発生したアクティビティの連続的なストリームを表示します。

-filter "filter_expression"

-filterパラメータを使用すれば、クラスタ・リソース・アクティビティ・ログ内の任意の数のフィールドを問い合せることができます。

複数のフィルタを指定するには、二重引用符("")で囲まれたフィルタ式のカンマ区切りリストを使用します。

-fullfmt | -xmlfmt

クラスタ・リソース・アクティビティ・ログのデータを表示するには、完全な形式またはXML形式を選択します。

クラスタ・リソース・アクティビティ・ログのフィールド

-filterパラメータを使用すれば、クラスタ・リソース・アクティビティ・ログ内の任意の数のフィールドを問い合せることができます。

表9-151 クラスタ・リソース・アクティビティ・ログのフィールド

フィールド 説明 ユースケース
timestamp

クラスタ・リソース・アクティビティがログに記録された時刻。

このフィルタを使用して、特定の時刻にログに記録されたすべてのアクティビティを問い合せます。

これは-aftertime-beforetimeおよび-durationコマンドのパラメータに替わるものです。

writer_process_id

クラスタ・リソース・アクティビティ・ログに書き込んでいるプロセスのID。

特定のプロセスによって生成されたアクティビティのみを問い合せます。

writer_process_name

クラスタ・リソース・アクティビティ・ログに書き込んでいるプロセスの名前。

特定のプロセスを問い合せると、CRSCTLは特定のプロセスのすべてのアクティビティを返します。

writer_user

クラスタ・リソース・アクティビティ・ログに書き込んでいるユーザーの名前。

特定のユーザーによって書き込まれたすべてのアクティビティを問い合せます。

writer_group

クラスタ・リソース・アクティビティ・ログに書き込んでいるユーザーが属するグループの名前。

特定のユーザー・グループに属するユーザーによって書き込まれたすべてのアクティビティを問い合せます。

writer_hostname

クラスタ・リソース・アクティビティ・ログが書き込まれるホストの名前。

特定のホストによって書き込まれたすべてのアクティビティを問い合せます。

writer_clustername

クラスタ・リソース・アクティビティ・ログが書き込まれるクラスタの名前。

特定のクラスタによって書き込まれたすべてのアクティビティを問い合せます。

nls_product

NLSメッセージの製品(CRSORAsrvmなど)。

特定の製品名を持つすべてのアクティビティを問い合せます。

nls_facility

NLSメッセージの機能(CRSPROCなど)。

特定の機能名を持つすべてのアクティビティを問い合せます。

nls_id

NLSメッセージのID (42008など)。

特定のメッセージIDを持つすべてのアクティビティを問い合せます。

nls_field_count

NLSメッセージのフィールド数。

nls_field_countコマンドのパラメータ以上、またはこれ以下のパラメータを持つNLSメッセージに対応するすべてのアクティビティを問い合せます。

nls_field1

NLSメッセージの最初のフィールド。

NLSメッセージの最初のパラメータに一致するすべてのアクティビティを問い合せます。

nls_field1_type

NLSメッセージの最初のフィールドのタイプ。

NLSメッセージの最初のパラメータの特定のタイプに一致するすべてのアクティビティを問い合せます。

nls_format

NLSメッセージの形式(Resource '%s' has been modifiedなど)。

NLSメッセージの特定の形式に一致するすべてのアクティビティを問い合せます。

nls_message

クラスタ・リソース・アクティビティ・ログに書き込まれたNLSメッセージ全体(Resource 'ora.cvu' has been modifiedなど)。

特定のNLSメッセージに一致するすべてのアクティビティを問い合せます。

actid

各クラスタ・アクティビティ・ログの一意のアクティビティID。

特定のIDに一致するすべてのアクティビティを問い合せます。

また、部分的なactidのみを指定し、actidがアクティビティIDのサブセットであるすべてのアクティビティをリストします。

is_planned

アクティビティが計画済かどうかを確認します。

たとえば、ユーザーがノードでコマンドcrsctl stop crsを発行すると、スタックが停止し、リソースがバウンスします。

crsctl stop crsコマンドを実行すると、アクティビティが生成され、calogに記録されます。これは計画済の処置であるため、is_plannedフィールドはtrue (1)に設定されます。

そうでない場合はis_plannedフィールドがfalse (0)に設定されます。

計画済または計画外のすべての活動を問い合せます。

onbehalfof_user

クラスタ・アクティビティ・ログの書込みを代行しているユーザーの名前。

特定のユーザーの代理で書き込まれたすべてのアクティビティを問い合せます。

entity_isoraentity

calogアクティビティが記録されているエンティティがoracleエンティティかどうかを確認します。

たとえば、ora.***などのリソースを起動または停止すると、これらのすべてのアクティビティがクラスタ・リソース・アクティビティ・ログに記録されます。

ora.***はOracleエンティティであるため、entity_isoraentityフィールドはtrue (1)に設定されます。

そうでない場合はentity_isoraentityフィールドがfalse (0)に設定されます。

OracleエンティティまたはOracle以外のエンティティによって記録されたすべてのアクティビティを問い合せます。

entity_type

エンティティのタイプ(クラスタ・アクティビティ・ログが書き込まれるserverなど)。

アクティビティのフィルタに使用できるエンティティ・タイプ

  • resource
  • resource_type
  • resource_group
  • server_category
  • ohasd - ohasdによって生成されたアクティビティと、それが管理するリソース
  • crsd - crsdによって生成されたアクティビティと、それが管理するリソース

また、GIコンポーネントは、アクティビティ・ログへの書込み時にエンティティに独自の名前を使用することもできます。

特定のエンティティに一致するすべてのアクティビティを問い合せます。

entity_name

エンティティの名前(クラスタ・アクティビティ・ログが書き込まれるfooなど)。

特定のエンティティ名に一致するすべてのクラスタ・アクティビティを問い合せます。

entity_hostname

ホストの名前(クラスタ・アクティビティ・ログが書き込まれるエンティティに関連付けられたnode1など)。

特定のホスト名に一致するすべてのクラスタ・アクティビティを問い合せます。

entity_clustername

クラスタの名前(クラスタ・アクティビティ・ログが書き込まれるエンティティに関連付けられたcluster1など)。

特定のクラスタ名に一致するすべてのクラスタ・アクティビティを問い合せます。

.

使用上のノート

Boolean演算子を使用した式フィルタと呼ばれる式に簡易フィルタを組み込みます。

タイムスタンプおよび時間間隔を二重引用符(")で囲みます。

フィルタ式を二重引用符("")で囲みます。

カッコまたは空白を含む値は、一重引用符('')で囲みます。

一致するレコードが見つからない場合は、Oracle Clusterware Control (CRSCTL)ユーティリティにより次のメッセージが表示されます:
CRS-40002: No activities match the query.

フィルタの例を次に示します:

  • "writer_user==root": 表示をrootユーザーのみに限定します。

  • "customer_data=='GEN_RESTART@SERVERNAME(rwsbi08)=StartCompleted~'": 表示を指定された値GEN_RESTART@SERVERNAME(node1)=StartCompleted~を含むcustomer_dataに限定します。

すべてのリソース・アクティビティを問い合せ、出力を完全な形式で表示するには、次のようにします:
$ crsctl query calog -fullfmt

----ACTIVITY START----
timestamp               : 2016-09-27 17:55:43.152000
writer_process_id       : 6538
writer_process_name     : crsd.bin
writer_user             : root
writer_group            : root
writer_hostname         : node1
writer_clustername      : cluster1-mb1
customer_data           : CHECK_RESULTS=-408040060~
nls_product             : CRS
nls_facility            : CRS
nls_id                  : 2938
nls_field_count         : 1
nls_field1              : ora.cvu
nls_field1_type         : 25
nls_field1_len          : 0
nls_format              : Resource '%s' has been modified.
nls_message             : Resource 'ora.cvu' has been modified.
actid                   : 14732093665106538/1816699/1
is_planned              : 1
onbehalfof_user         : grid
onbehalfof_hostname     : node1
entity_isoraentity      : 1
entity_type             : resource
entity_name             : ora.cvu
entity_hostname         : node1
entity_clustername      : cluster1-mb1
----ACTIVITY END----
すべてのリソース・アクティビティを問い合せ、出力をXML形式で表示するには、次のようにします:
$ crsctl query calog -xmlfmt

<?xml version="1.0" encoding="UTF-8"?>
<activities>
  <activity>
    <timestamp>2016-09-27 17:55:43.152000</timestamp>
    <writer_process_id>6538</writer_process_id>
    <writer_process_name>crsd.bin</writer_process_name>
    <writer_user>root</writer_user>
    <writer_group>root</writer_group>
    <writer_hostname>node1</writer_hostname>
    <writer_clustername>cluster1-mb1</writer_clustername>
    <customer_data>CHECK_RESULTS=-408040060~</customer_data>
    <nls_product>CRS</nls_product>
    <nls_facility>CRS</nls_facility>
    <nls_id>2938</nls_id>
    <nls_field_count>1</nls_field_count>
    <nls_field1>ora.cvu</nls_field1>
    <nls_field1_type>25</nls_field1_type>
    <nls_field1_len>0</nls_field1_len>
    <nls_format>Resource '%s' has been modified.</nls_format>
    <nls_message>Resource 'ora.cvu' has been modified.</nls_message>
    <actid>14732093665106538/1816699/1</actid>
    <is_planned>1</is_planned>
    <onbehalfof_user>grid</onbehalfof_user>
    <onbehalfof_hostname>node1</onbehalfof_hostname>
    <entity_isoraentity>1</entity_isoraentity>
    <entity_type>resource</entity_type>
    <entity_name>ora.cvu</entity_name>
    <entity_hostname>node1</entity_hostname>
    <entity_clustername>cluster1-mb1</entity_clustername>
  </activity>
</activities>
特定の時刻から2時間の間隔でのリソース・アクティビティを問い合せ、出力をXML形式で表示するには、次のようにします:
$ crsctl query calog -aftertime "2016-09-28 17:55:43" -duration "0 02:00:00" -xmlfmt
<?xml version="1.0" encoding="UTF-8"?>
<activities>
  <activity>
    <timestamp>2016-09-28 17:55:45.992000</timestamp>
    <writer_process_id>6538</writer_process_id>
    <writer_process_name>crsd.bin</writer_process_name>
    <writer_user>root</writer_user>
    <writer_group>root</writer_group>
    <writer_hostname>node1</writer_hostname>
    <writer_clustername>cluster1-mb1</writer_clustername>
    <customer_data>CHECK_RESULTS=1718139884~</customer_data>
    <nls_product>CRS</nls_product>
    <nls_facility>CRS</nls_facility>
    <nls_id>2938</nls_id>
    <nls_field_count>1</nls_field_count>
    <nls_field1>ora.cvu</nls_field1>
    <nls_field1_type>25</nls_field1_type>
    <nls_field1_len>0</nls_field1_len>
    <nls_format>Resource '%s' has been modified.</nls_format>
    <nls_message>Resource 'ora.cvu' has been modified.</nls_message>
    <actid>14732093665106538/1942009/1</actid>
    <is_planned>1</is_planned>
    <onbehalfof_user>grid</onbehalfof_user>
    <onbehalfof_hostname>node1</onbehalfof_hostname>
    <entity_isoraentity>1</entity_isoraentity>
    <entity_type>resource</entity_type>
    <entity_name>ora.cvu</entity_name>
    <entity_hostname>node1</entity_hostname>
    <entity_clustername>cluster1-mb1</entity_clustername>
  </activity>
</activities>
特定の時刻のリソース・アクティビティを問い合せるには、次のようにします:
$ crsctl query calog -filter "timestamp=='2016-09-28 17:55:45.992000'"

2016-09-28 17:55:45.992000 : Resource 'ora.cvu' has been modified. : 14732093665106538/1942009/1 :

フィルタwriter_userおよびcustomer_dataを使用してリソース・アクティビティを問い合せるには、次のようにします:

$ crsctl query calog -filter "writer_user==root AND customer_data==
  'GEN_RESTART@SERVERNAME(node1)=StartCompleted~'" -fullfmt

または

$ crsctl query calog -filter "(writer_user==root) AND (customer_data==
  'GEN_RESTART@SERVERNAME(node1)=StartCompleted~')" -fullfmt
----ACTIVITY START----
timestamp               : 2016-09-15 17:42:57.517000
writer_process_id       : 6538
writer_process_name     : crsd.bin
writer_user             : root
writer_group            : root
writer_hostname         : node1
writer_clustername      : cluster1-mb1
customer_data           : GEN_RESTART@SERVERNAME(rwsbi08)=StartCompleted~
nls_product             : CRS
nls_facility            : CRS
nls_id                  : 2938
nls_field_count         : 1
nls_field1              : ora.testdb.db
nls_field1_type         : 25
nls_field1_len          : 0
nls_format              : Resource '%s' has been modified.
nls_message             : Resource 'ora.devdb.db' has been modified.
actid                   : 14732093665106538/659678/1
is_planned              : 1
onbehalfof_user         : oracle
onbehalfof_hostname     : node1
entity_isoraentity      : 1
entity_type             : resource
entity_name             : ora.testdb.db
entity_hostname         : node1
entity_clustername      : cluster1-mb1
----ACTIVITY END----
UTC+08:00の時刻"2016-11-15 22:53:08"の後に生成されたすべてのcalogを問い合せるには、次のようにします:
$ crsctl query calog -aftertime "2016-11-15 22:53:08+08:00"
UTC-08:00の時刻"2016-11-15 22:53:08"の後に生成されたすべてのcalogを問い合せるには、次のようにします:
$ crsctl query calog -aftertime "2016-11-15 22:53:08-08:00"
マイクロ秒を含めたタイムスタンプを指定してすべてのcalogを問い合せるには、次のようにします:
$ crsctl query calog -aftertime "2016-11-16 01:07:53.063000"

2016-11-16 01:07:53.558000 : Resource 'ora.cvu' has been modified. : 14792791129816600/2580/7 :
2016-11-16 01:07:53.562000 : Clean of 'ora.cvu' on 'rwsam02' succeeded : 14792791129816600/2580/8 :