データベース・サービス・イベント
データベース・サービス・イベント機能の実装により、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"ではなく"DOWN" |
NA |
| CRSステータスの起動/停止 | AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN_CLEARED |
CRS停止のイベントがクリアされたことが確認されると、INFORMATIONタイプのイベントが作成されます。 | NA | com.oraclecloud.databaseservice.dbnode.information (.DOWN_CLEAREDの場合) |
NA |
| CRSステータスの起動/停止 | 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"ではなく"DOWN" |
NA |
| SCANリスナーの起動/停止 | 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"ではなく"DOWN" |
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"ではなく"DOWN" |
NA |
| CDBの起動/停止 | 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 |
| その他のDBエラー | HEALTH.DB_CLUSTER.CDB.DATABASE_HANG |
プロセスまたはセッションがCDBで応答しなくなると、CRITICALタイプのイベントが作成されます。 | 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.criticalcom.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]
パラメータ:
| パラメータ | 摘要 |
|---|---|
add|remove|print| |
ブラックアウト条件を追加、削除または出力します。 |
-targettype typeTarget type: host|crs|asm|asmdg|database|dbbackup|db_dataguard|db_tablespace|pdb_tablespace|pdb|listener|service|os |
ブラックアウトを指定されたターゲット・タイプのみに制限します。host: ノード全体がブラックアウト中です。If there is host blackout, then every blackout element that’s shown true in the Telemetry JSON will have the reason for the blackout.crs: Blackout the availability of the Oracle Clusterware resource or events in the Oracle Clusterware logs.asm: Blackout the availability of Oracle Automatic Storage Management (Oracle ASM) on this machine or events in the Oracle ASM alert logs.asmdg: Blackout an Oracle ASM disk group.database: Blackout the availability of an Oracle Database, Oracle Database backup, tablespace, and so on, or events in the Oracle Database alert logs.dbbackup: Blackout Oracle Database backup events (such as CDB or archive backups).db_dataguard: Blackout Oracle Data Guard events.db_tablespace: Blackout Oracle Database tablespace events (container database).pdb_tablespace: Blackout Oracle pluggable database tablespace events (pluggable database).pdb: Blackout Oracle pluggable database events.listener: Blackout the availability of a listener.service: Blackout the availability of a service.os: Blackout one or more operating system records. |
-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: 指定したターゲットのすべてをブラックアウトします。string: 行の一部に指定した文字列が含まれているインシデントをブラックアウトします。 文字列のカンマ区切りリストを指定します。 |
-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、ターゲット: allでALLのイベントをブラックアウトするには
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