データベース・サービス・イベント

データベース・サービス・イベント機能の実装により、DBシステム上のOracle Databaseまたはその他のコンポーネントのヘルスの問題に関する通知を受けることができます。

Oracle DatabaseまたはOracle Clusterwareが正常でなくなったり、様々なシステム・コンポーネントでDBシステムの領域が不足したりする可能性があります。顧客にはこの状況は通知されません。データベース・サービス・イベント機能の実装では、既存のOCIイベント・サービスおよび通知メカニズムをテナンシで利用することで、データ・プレーンの操作および条件のイベントに加え、顧客に対する通知が生成されます。その後、顧客はトピックを作成し、電子メール、ファンクションまたはストリームを使用してこれらのトピックにサブスクライブできます。

ノート:

DBシステムのイベント・フローは、Oracle Trace File Analyzer (TFA)およびOracle Database Cloud Service (DBCS)エージェントに依存します。これらのコンポーネントが稼働していることを確認してください。

データベース・サービス・イベントに関する通知の受信

データベース・サービス・イベントにサブスクライブして通知を受け取ります。通知を受信し、データベース・サービス・イベントにサブスクライブし、Oracle Notification Serviceを使用して通知を受け取るには、通知の概要を参照してください。Oracle Cloud Infrastructure Eventsの詳細は、イベントの概要を参照してください。

イベント・サービス - イベント・タイプ

  • データベース - クリティカル
  • DBノード - クリティカル
  • DBノード - エラー
  • DBノード - 警告
  • DBノード - 情報
  • DBシステム - クリティカル

データベース・サービス・イベント・タイプ

次の表に、データベース・サービスで生成されるイベント・タイプをリストします。

ノート:

  • クリティカル・イベントは、データベースまたはその他の重要なコンポーネントを中断する様々なクリティカルな条件およびエラーによってトリガーされます。たとえば、データベース、データベース・ノードおよびDBシステムのデータベース応答のないエラーおよび可用性エラーは、リソースが使用できなくなった時期を示します。
  • 情報イベントは、データベースおよびその他のクリティカル・コンポーネントが想定どおりに機能したときにトリガーされます。たとえば、CRS、CDB、クライアントまたはSCANリスナーが正常に停止したり、これらのコンポーネントが起動すると、重大度がINFOのイベントが作成されます。
  • しきい値制限により、同様なインシデント・イベントに対して顧客が受信する通知の数を減らすと同時に、顧客がインシデント・イベントを確実に受信し、適切な時期に通知されるようにします。

データベース・サービス・イベント

ノート:

Oracleは、次に示すイベントに加えて、追加のイベントを分析して、最高レベルのサービス運用を提供し、サービスの高可用性を保証するためのサポートを提供します。

表- データベース・サービス・イベント

フレンドリ名 イベント名 説明 改善策 イベント・タイプ しきい値
リソース使用率 - ディスク使用率 HEALTH.DB_GUEST.FILESYSTEM.FREE_SPACE

このイベントは、次のファイル・システムに対するオペレーティング・システムのdf(1)コマンドによって特定されるVMゲスト・ファイル・システムの空き領域が10%未満になるとレポートされます:

  • /
  • /u01
  • /u02
  • /var (X8M以上のみ)
  • /tmp (X8M以上のみ)
HEALTH-DB_GUEST-FILESYSTEM-FREE_SPACE com.oraclecloud.databaseservice.dbnode.critical クリティカルのしきい値: 90%
CRSステータスの起動/停止 AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN Cluster Ready Service (CRS)が停止していることが検出されると、CRITICALタイプのイベントが作成されます。 AVAILABILITY-DB_GUEST-CRS_INSTANCE.DOWN com.oraclecloud.databaseservice.dbnode.critical (.DOWNであり、"user_action"でない場合) NA
AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN_CLEARED CRS停止のイベントがクリアされたことが確認されると、INFORMATIONタイプのイベントが作成されます。 NA com.oraclecloud.databaseservice.dbnode.information (.DOWN_CLEAREDの場合) NA
AVAILABILITY.DB_GUEST.CRS_INSTANCE.EVICTION CRITICALタイプのイベントが作成されます。 AVAILABILITY-DB_GUEST-CRS_INSTANCE-EVICTION com.oraclecloud.databaseservice.dbnode.critical NA
SCANリスナーの起動/停止 AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN

SCANリスナーが停止すると、DOWNイベントが作成されます。サーバー制御ユーティリティ(srvctl)またはリスナー制御(lsnrctl)コマンドなどを使用したユーザー・アクションや、これらのコマンドを使用するGrid Infrastructureソフトウェア更新の実行などのOracle Cloudメンテナンス・アクションによってSCANリスナーが停止した場合、このイベントはINFORMATIONタイプになります。SCANリスナーが予期せず停止した場合、このイベントはCRITICALタイプになります。SCANリスナーが起動すると、対応するDOWN_CLEAREDイベントが作成されます。

クラスタごとに、LISTENER_SCAN[1,2,3]という3つのSCANリスナーがあります。

AVAILABILITY-DB_CLUSTER-SCAN_LISTENER-DOWN com.oraclecloud.databaseservice.dbnode.critical (.DOWNであり、"user_action"でない場合) NA
AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN_CLEARED SCANリスナー停止のイベントがクリアされたことが確認されると、INFORMATIONタイプのイベントが作成されます。 NA com.oraclecloud.databaseservice.dbnode.information (.DOWN_CLEAREDの場合) NA
ネット・リスナーの起動/停止 AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN

クライアント・リスナーが停止すると、DOWNイベントが作成されます。サーバー制御ユーティリティ(srvctl)またはリスナー制御(lsnrctl)コマンドなどを使用したユーザー・アクションや、これらのコマンドを使用するGrid Infrastructureソフトウェア更新の実行などのOracle Cloudメンテナンス・アクションによってクライアント・リスナーが停止した場合、このイベントはINFORMATIONタイプになります。クライアント・リスナーが予期せず停止した場合、このイベントはCRITICALタイプになります。クライアント・リスナーが起動すると、対応するDOWN_CLEAREDイベントが作成されます。

ノードごとに、それぞれLISTENERという1つのクライアント・リスナーがあります。

AVAILABILITY-DB_GUEST-CLIENT_LISTENER.DOWN com.oraclecloud.databaseservice.database.critical (.DOWNであり、"user_action"でない場合) NA
AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN_CLEARED クライアント・リスナー停止のイベントがクリアされたことが確認されると、INFORMATIONタイプのイベントが作成されます。 NA com.oraclecloud.databaseservice.database.information (.DOWN_CLEAREDの場合) NA
CDBの起動/停止 AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN データベース・インスタンスが停止すると、DOWNイベントが作成されます。SQL*Plus (sqlplus)またはサーバー制御ユーティリティ(srvctl)コマンドなどを使用したユーザー・アクションや、これらのコマンドを使用するデータベース・ホーム・ソフトウェア更新の実行などのOracle Cloudメンテナンス・アクションによってデータベース・インスタンスが停止した場合、このイベントはINFORMATIONタイプになります。データベース・インスタンスが予期せず停止した場合、このイベントはCRITICALタイプになります。データベース・インスタンスが起動すると、対応するDOWN_CLEAREDイベントが作成されます。 AVAILABILITY-DB_GUEST-CDB_INSTANCE-DOWN com.oraclecloud.databaseservice.database.critical (.DOWNであり、"user_action"でない場合) NA
AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN_CLEARED CDB停止のイベントがクリアされたことが確認されると、INFORMATIONタイプのイベントが作成されます。 NA com.oraclecloud.databaseservice.database.information (.DOWN_CLEAREDの場合) NA
クリティカルDBエラー HEALTH.DB_CLUSTER.CDB.CORRUPTION プライマリまたはスタンバイ・データベースでデータベースの破損が検出されました。データベースのalert.logは、物理ブロック破損、論理ブロック破損、または書込みの欠落による論理ブロック破損を示す特定のエラーについて解析されます。 HEALTH-DB_CLUSTER-CDB-CORRUPTION com.oraclecloud.databaseservice.database.critical NA
その他のDBエラー HEALTH.DB_CLUSTER.CDB.ARCHIVER_HANG CDBがアクティブなオンラインREDOログをアーカイブできない場合、またはアクティブなオンラインREDOログをログ・アーカイブ保存先に迅速にアーカイブできない場合、CRITICALタイプのイベントが作成されます。 HEALTH-DB_CLUSTER-CDB-ARCHIVER_HANG com.oraclecloud.databaseservice.database.critical NA
HEALTH.DB_CLUSTER.CDB.DATABASE_HANG CRITICALタイプのイベントは、プロセスまたはセッションがCDBで応答しなくなったときに作成されます。 HEALTH-DB_CLUSTER-CDB-DATABASE_HANG com.oraclecloud.databaseservice.database.critical NA
バックアップの失敗 HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE v$rman_statusビューにFAILEDステータスがレポートされたCDBバックアップがある場合、CRITICALタイプのイベントが作成されます。 HEALTH-DB_CLUSTER-CDB-BACKUP_FAILURE com.oraclecloud.databaseservice.database.critical NA
HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE_CLEARED INFORMATIONタイプのイベントが作成されます。 NA com.oraclecloud.databaseservice.database.information NA
ディスク・グループ使用率 HEALTH.DB_CLUSTER.DISK_GROUP.FREE_SPACE ASMディスク・グループの領域使用率が90%以上に達すると、CRITICALタイプのイベントが作成されます。ASMディスク・グループの領域使用率が90%未満になると、INFORMATIONタイプのイベントが作成されます。 HEALTH-DB_CLUSTER-DISK_GROUP-FREE_SPACE

com.oraclecloud.databaseservice.dbsystem.critical

com.oraclecloud.databaseservice.dbsystem.information (90%未満の場合)

使用率が70%、80%、90%および100%に達すると、対応する重大度の4、3、2および1を使用して通知が送信されます。

特定のイベントに対する自動診断収集の一時的制限

tfactl blackoutコマンドを使用して、自動診断収集を一時的に抑制します。

ターゲットに対してブラックアウトを設定すると、Oracle Trace File Analyzerがスキャン中にそのターゲットのアラート・ログ内でイベントを検出した場合、自動診断収集は停止されます。デフォルトでは、ブラックアウトは24時間有効です。

自動診断収集は、ORA-00600のみ、または特定の引数を持つORA-00600のみを対象とするなど、詳細レベルで制限することもできます。

構文

tfactl blackout add|remove|print
    -targettype host|crs|asm|asmdg|database|dbbackup|db_dataguard|
        db_tablespace|pdb_tablespace|pdb|listener|service|os
    -target all|name
    [-container name]
    [-pdb pdb_name]
    -event all|"event_str1,event_str2"|availability
    [-timeout nm|nh|nd|none]
    [-c|-local|-nodes "node1,node2"]
    [-reason "reason for blackout"]
    [-docollection]

Parameters

表- パラメータ

パラメータ 説明
add|remove|print| ブラックアウト条件を追加、削除または出力します。

-targettype type

ターゲット・タイプ: host|crs|asm|asmdg|database|dbbackup|db_dataguard|

db_tablespace|pdb_tablespace|pdb|listener|service|os

指定したターゲット・タイプのみにブラックアウトを制限します。

host: ノード全体がブラックアウトの対象です。ホストのブラックアウトがある場合、テレメトリJSONでtrueと表示されるすべてのブラックアウト要素にブラックアウトの理由があります。

crs: Oracle Clusterwareリソースの可用性、またはOracle Clusterwareログ内のイベントをブラックアウトします。

asm: このマシン上のOracle Automatic Storage Management (Oracle ASM)の可用性、またはOracle ASMアラート・ログ内のイベントをブラックアウトします。

asmdg: Oracle ASMディスク・グループをブラックアウトします。

database: Oracle Database、Oracle Databaseバックアップ、表領域などの可用性、またはOracle Databaseアラート・ログ内のイベントをブラックアウトします。

dbbackup: Oracle Databaseバックアップ・イベント(CDBまたはアーカイブ・バックアップなど)をブラックアウトします。

db_dataguard: Oracle Data Guardイベントをブラックアウトします。

db_tablespace: Oracle Database表領域イベント(コンテナ・データベース)をブラックアウトします。

pdb_tablespace: Oracleプラガブル・データベース表領域イベント(プラガブル・データベース)をブラックアウトします。

pdb: Oracleプラガブル・データベース・イベントをブラックアウトします。

listener: リスナーの可用性をブラックアウトします。

service: サービスの可用性をブラックアウトします。

os: 1つ以上のオペレーティング・システム・レコードをブラックアウトします。

-target all|name

ブラックアウトのターゲットを指定します。ターゲットのカンマ区切りリストを指定できます。

デフォルトでは、ターゲットはallに設定されます。

-container name ブラックアウトが有効になるデータベース・コンテナ名(db_unique_name)を指定します(PDB、DB_TABLESPACEおよびPDB_TABLESPACEの場合)。
-pdb pdb_name ブラックアウトが有効になるPDBを指定します(PDB_TABLESPACEの場合のみ)。
-events all|"str1,str2"

自動収集をトリガーしないか、テレメトリJSONでブラックアウトとしてマークされる可用性イベント(イベント文字列)にのみブラックアウトを制限します。

all: 指定したターゲットのすべてをブラックアウトします。

文字列: 行の一部に指定した文字列が含まれているインシデントをブラックアウトします。

文字列のカンマ区切りリストを指定します。

-timeout nh|nd|none タイムアウトするまでの時間数または日数でブラックアウトの期間を指定します。デフォルトでは、タイムアウトは24時間(24h)に設定されます。
-c|-local

ブラックアウトをcluster-wideに設定するか、localに設定するかを指定します。

デフォルトでは、ブラックアウトはlocalに設定されます。

-reason comment ブラックアウトのわかりやすい理由を指定します。
-docollection このターゲットにブラックアウトが設定されている場合でも自動診断収集を実行するには、このオプションを使用します。

tfactl blackoutコマンドの使用例を次に示します。

ターゲット・タイプ: database、ターゲット: mydbでイベント: ORA-00600をブラックアウトするには

tfactl blackout add -targettype database -target mydb -event "ORA-00600"

ターゲット・タイプ: database、ターゲット: allでイベント: ORA-04031をブラックアウトするには

tfactl blackout add -targettype database -target all -event "ORA-04031" -timeout 1h

ターゲット・タイプ: dbbackup、ターゲット: mydbでDBバックアップ・イベントをブラックアウトするには

tfactl blackout add -targettype dbbackup -target mydb

ターゲット・タイプ: db_dataguard、ターゲット: mydbでDB Data Guardイベントをブラックアウトするには

tfactl blackout add -targettype db_dataguard -target mydb -timeout 30m

ターゲット・タイプ: db_tablespace、ターゲット: system、コンテナ: mydbでDB表領域イベントをブラックアウトするには

tfactl blackout add -targettype db_tablespace -target system -container mydb -timeout 30m

ターゲット・タイプ: host、ターゲット: allALLのイベントをブラックアウトするには

tfactl blackout add -targettype host -event all -target all -timeout 1h 
    -reason "Disabling all events during patching"

ブラックアウトの詳細を出力するには:

tfactl blackout print
.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
|                                                                                myhostname                                                                                     |
+---------------+---------------------+-----------+------------------------------+------------------------------+--------+---------------+--------------------------------------+
| Target Type   | Target              | Events    | Start Time                   | End Time                     | Status | Do Collection | Reason                               |
+---------------+---------------------+-----------+------------------------------+------------------------------+--------+---------------+--------------------------------------+
| HOST          | ALL                 | ALL       | Thu Mar 24 16:48:39 UTC 2022 | Thu Mar 24 17:48:39 UTC 2022 | ACTIVE | false         | Disabling all events during patching |
| DATABASE      | MYDB                | ORA-00600 | Thu Mar 24 16:39:03 UTC 2022 | Fri Mar 25 16:39:03 UTC 2022 | ACTIVE | false         | NA                                   |
| DATABASE      | ALL                 | ORA-04031 | Thu Mar 24 16:39:54 UTC 2022 | Thu Mar 24 17:39:54 UTC 2022 | ACTIVE | false         | NA                                   |
| DB_DATAGUARD  | MYDB                | ALL       | Thu Mar 24 16:41:38 UTC 2022 | Thu Mar 24 17:11:38 UTC 2022 | ACTIVE | false         | NA                                   |
| DBBACKUP      | MYDB                | ALL       | Thu Mar 24 16:40:47 UTC 2022 | Fri Mar 25 16:40:47 UTC 2022 | ACTIVE | false         | NA                                   |
| DB_TABLESPACE | SYSTEM_CDBNAME_MYDB | ALL       | Thu Mar 24 16:45:56 UTC 2022 | Thu Mar 24 17:15:56 UTC 2022 | ACTIVE | false         | NA                                   |
'---------------+---------------------+-----------+------------------------------+------------------------------+--------+---------------+--------------------------------------'

ターゲット・タイプ: database、ターゲット: mydbでイベント: ORA-00600のブラックアウトを削除するには

tfactl blackout remove -targettype database -event "ORA-00600" -target mydb

ターゲット・タイプ: dbbackup、ターゲット: mydbでDBバックアップ・イベントのブラックアウトを削除するには

tfactl blackout remove -targettype dbbackup -target mydb

ターゲット・タイプ: db_tablespace、ターゲット: system、コンテナ: mydbでDB表領域イベントのブラックアウトを削除するには

tfactl blackout remove -targettype db_tablespace -target system -container mydb

ターゲット・タイプ: all、ターゲット: allでホスト・イベントのブラックアウトを削除するには

tfactl blackout remove -targettype host -event all -target all

Oracle Trace File Analyzerの管理

Oracle Trace File Analyzerの実行ステータスを確認するには、rootまたはroot以外のユーザーとしてtfactl statusコマンドを実行します:

tfactl status
.----------------------------------------------------------------------------------------------.
| Host  | Status of TFA | PID    | Port | Version    | Build ID             | Inventory Status |
+-------+---------------+--------+------+------------+----------------------+------------------+
| node1 | RUNNING       | 41312  | 5000 | 22.1.0.0.0 | 22100020220310214615 | COMPLETE         |
| node2 | RUNNING       | 272300 | 5000 | 22.1.0.0.0 | 22100020220310214615 | COMPLETE         |
'----------------------------------------------------------------------------------------------'

ローカル・ノードでOracle Trace File Analyzerデーモンを起動するには、rootユーザーとしてtfactl startコマンドを実行します:

tfactl start
Starting TFA..
Waiting up to 100 seconds for TFA to be started..
. . . . .
Successfully started TFA Process..
. . . . .
TFA Started and listening for commands

ローカル・ノードでOracle Trace File Analyzerデーモンを停止するには、rootユーザーとしてtfactl stopコマンドを実行します:

tfactl stop
Stopping TFA from the Command Line
Nothing to do !
Please wait while TFA stops
Please wait while TFA stops
TFA-00002 Oracle Trace File Analyzer (TFA) is not running
TFA Stopped Successfully
Successfully stopped TFA..

データベース・サービス・エージェントの管理

/opt/oracle/dcs/log/dcs-agent.logファイルを表示して、エージェントの問題を識別します。

データベース・サービス・エージェントのステータスを確認するには、systemctl statusコマンドを実行します:

systemctl status dbcsagent.service
dbcsagent.service
Loaded: loaded (/usr/lib/systemd/system/dbcsagent.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2022-04-01 13:40:19 UTC; 6min ago
Process: 9603 ExecStopPost=/bin/bash -c kill `ps -fu opc |grep "java.*dbcs-agent.*jar" |
    awk '{print $2}' ` (code=exited, status=0/SUCCESS)
Main PID: 10055 (sudo)
CGroup: /system.slice/dbcsagent.service
‣ 10055 sudo -u opc /bin/bash -c umask 077; /bin/java -Doracle.security.jps.config=/opt/oracle/...

エージェントが実行されていない場合に起動するには、rootユーザーとしてsystemctl startコマンドを実行します:

systemctl start dbcsagent.service