本記事は JPOUG Advent Calendar 2024 17 日目の記事となります。JPOUG Advent Calender 2024 16 日目の記事は「けんぼー」さんの SELECTなのに更新処理?!~遅延ブロッククリーンアウトの動きに迫る~ でした。
V$RMAN_OUTPUT ビュー
V\$RMAN_OUTPUT ビューは RMAN の操作により出力されたメッセージを格納し、検索することができます。V$RMAN_OUTPUT ビューは以下の列構成になっています。
列名 | データ型 | 説明 |
---|---|---|
SID | NUMBER | RMAN 操作セッションのID |
RECID | NUMBER | V$RMAN_STATUS 行のレコードID |
STAMP | NUMBER | V$RMAN_STATUS 行のタイムスタンプ |
SESSION_RECID | NUMBER | セッションのレコード ID |
SESSION_STAMP | NUMBER | セッションのタイムスタンプ |
OUTPUT | NUMBER | レポートされたメッセージ |
RMAN_STATUS_RECID | NUMBER | 所有 V$RMAN_STATUS レコード ID |
RMAN_STATUS_STAMP | NUMBER | 所有 V$RMAN_STATUS スタンプ |
SESSION_KEY | NUMBER | セッション識別子 |
GUID | NUMBER | PDB の GUID |
CON_ID | NUMBER | コンテナの ID |
RMAN OUTPUT 設定
Oracle Database 12c (12.1) から RMAN 構成パラメーターに「RMAN OUTPUT」が追加されました。デフォルト値は「TO KEEP 7 DAYS」です。このパラメーターは V$RMAN_OUTPUT ビューにデータを保存する日数を指定します。
RMAN> SHOW RMAN OUTPUT;
リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています
db_unique_name O19PのデータベースにおけるRMAN構成パラメータ:
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
V$RMAN_OUTPUT ビューの検索
V\$RMAN_OUTPUT ビューに対する検索処理の実行計画を取得すると、ビューの実体は X$KRBMROT テーブルであることがわかります。
SQL> SELECT COUNT(*) FROM V$RMAN_OUTPUT;
COUNT(*)
----------
25
実行計画
----------------------------------------------------------
Plan hash value: 169197109
-------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)|
-------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 0 (0)|
| 1 | SORT AGGREGATE | | 1 | |
|* 2 | FILTER | | | |
| 3 | FIXED TABLE FULL| X$KRBMROT | 1 | |
-------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter(USERENV('INSTANCE') IS NOT NULL)
RAC 構成の場合
複数ノードで構成される Real Application Clusters (RAC) の場合、V$RMAN_OUTPUT ビューは、各インスタンスで実行された RMAN コマンドの結果を別々に出力します。以下の例では RAC を構成するインスタンス#1 では SHOW ALL コマンドの実行結果が出力されていますが、インスタンス#2 では SHOW RETENTION POLICY コマンドの結果のみ出力されています。
SQL> SELECT OUTPUT FROM V$RMAN_OUTPUT ORDER BY STAMP;
OUTPUT
--------------------------------------------------------------------------------
ターゲット・データベース: O19V (DBID=563570684)に接続されました
db_unique_name O19VのデータベースにおけるRMAN構成パラメータ:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用 しています
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/19.0.0/dbhome_1/dbs/snapcf_o19v1.f'; # default
SQL> SELECT OUTPUT FROM V$RMAN_OUTPUT ORDER BY STAMP;
OUTPUT
--------------------------------------------------------------------------------
ターゲット・データベース: O19V (DBID=563570684)に接続されました
リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用 しています
db_unique_name O19VのデータベースにおけるRMAN構成パラメータ:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
Data Guard スタンバイの場合
Data Guard 構成のプライマリ・データベースとスタンバイ・データベースでは、V\$RMAN_OUTPUT ビューの内容は異なります。それぞれのデータベースで操作された RMAN コマンドの履歴が出力されます。以下の例では、プライマリ・データベースで V$RMAN_OUTPUT ビューを検索した場合には接続ログしか出力されませんが、スタンバイ・データベースで検索した場合は設定変更のログと設定エラーのログが出力されます。
SQL> SELECT OUTPUT FROM V$RMAN_OUTPUT ORDER BY STAMP;
OUTPUT
--------------------------------------------------------------------------------
ターゲット・データベース: O19P (DBID=2302801788)に接続されました
OUTPUT
--------------------------------------------------------------------------------
ターゲット・データベース: O19P (DBID=2302801788、未オープン)に接続され ました
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: configureコマンドが03/14/2024 14:48:20で失敗しました
リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用 しています
RMAN-05021: この構成はBACKUPまたはSTANDBY制御ファイル用に変更できません
新しいRMAN構成パラメータ:
CONFIGURE BACKUP OPTIMIZATION ON;
新しいRMAN構成パラメータが格納できました
その他の RMAN 関連ビュー
RMAN に関するビューは V$RMAN_OUTPUT 以外にも複数あります。詳細はマニュアル「Oracle Database データベース・リファレンス」を参照してください。
ビュー名 | 内容 | 備考 |
---|---|---|
V$RMAN_BACKUP_JOB_DETAIS | バックアップジョブの詳細情報 | |
V$RMAN_BACKUP_SUBJOB_DETAILS | バックアップジョブのマージ情報 | |
V$BACKUP_TYPE | バックアップタイプの情報 | |
V$RMAN_COMPRESSION_ALGOTITHM | サポートされた圧縮アルゴリズム | |
V$RMAN_CONFIGURATION | CONFIGURE 設定情報 | |
V$RMAN_ENCRYPTION_ALGORITHMS | 暗号化アルゴリズム | |
V$RMAN_STATUS | 実行中または完了したバックヤップジョブのステータス |