Oracle DatabaseにおけるRMAN(Recovery Manager)のリカバリカタログは、バックアップ情報を集中管理するための重要な機能です。本記事では、以下の3つの操作について詳細に解説します。
- ターゲットデータベースの登録解除(不要なデータベースを削除する方法)
- リカバリカタログの再同期化(バックアップ情報を最新化する方法)
- ストアドスクリプトの管理と実行(RMANの運用を簡素化)
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
1. ターゲットデータベースの登録解除
リカバリカタログから不要なターゲットデータベースを削除するには、UNREGISTER DATABASE コマンドを使用します。この操作を行うと、リカバリカタログ内のすべての関連バックアップ情報も削除されるため注意が必要です。
実行手順
1.RMANにリカバリカタログへ接続します。
rman TARGET / CATALOG rman_user/password@catdb
2.LIST INCARNATION コマンドを実行し、登録済みデータベースを確認します。
LIST INCARNATION OF DATABASE;
3.UNREGISTER DATABASE コマンドを実行し、ターゲットデータベースを削除します。
UNREGISTER DATABASE;
特定のターゲットデータベースのみ削除する場合
データベースが複数登録されている場合は、DBIDを指定して削除可能です。
UNREGISTER DATABASE NOPROMPT;
NOPROMPT を付与すると確認プロンプトなしで削除できます。
[oracle@restart ~]$ rman target / catalog rcuser/oracle@rcatalog
Recovery Manager: Release 19.0.0.0.0 - Production on 木 2月 13 00:17:26 2025
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
ターゲット・データベース: V19 (DBID=2960846808)に接続されました
リカバリ・カタログ・データベースに接続されました。
RMAN> LIST INCARNATION OF DATABASE;
データベース・インカネーション・リスト
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 16 V19 2960846808 PARENT 1 19-04-17
1 2 V19 2960846808 CURRENT 1920977 24-01-05
RMAN> UNREGISTER DATABASE;
データベース名は"V19"、DBIDは2960846808です
データベースを登録解除しますか(YESまたはNOを入力してください)。 yes
データベースはリカバリ・ログから登録解除されました
RMAN> LIST INCARNATION OF DATABASE;
RMAN>
2. リカバリカタログの再同期化
リカバリカタログの情報を最新の状態に更新するには、RESYNC CATALOG コマンドを使用します。この操作を定期的に行うことで、リカバリカタログが最新のバックアップ情報を保持できます。
実行手順
1.RMANに接続します。
rman TARGET / CATALOG rman_user/password@catdb
2.RESYNC CATALOG コマンドを実行します。
RESYNC CATALOG;
リカバリカタログの同期が完了すると、バックアップ情報やリカバリ可能なSCNが最新のものに更新されます。
[oracle@restart ~]$ rman target / catalog rcuser/oracle@rcatalog
Recovery Manager: Release 19.0.0.0.0 - Production on 木 2月 13 00:20:06 2025
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
ターゲット・データベース: V19 (DBID=2960846808)に接続されました
リカバリ・カタログ・データベースに接続されました。
RMAN> RESYNC CATALOG;
リカバリ・カタログの完全再同期を開始しています
完全再同期が完了しました
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
3. ストアドスクリプトの管理と実行
ストアドスクリプトはリカバリカタログを使用している場合にのみ利用可能です。制御ファイルベースのRMAN構成ではストアドスクリプトを保存することはできません。
RMANでは、よく使用するバックアップやリカバリのコマンドをストアドスクリプトとして保存し、簡単に実行できます。これにより、作業の一貫性が向上し、手作業のミスを減らせます。
ストアドスクリプトの作成
1.RMANに接続します。
rman TARGET / CATALOG rman_user/password@catdb
2.CREATE SCRIPT コマンドでスクリプトを作成します。
CREATE SCRIPT full_backup { BACKUP DATABASE PLUS ARCHIVELOG; }
[oracle@restart ~]$ rman target / catalog rcuser/oracle@rcatalog
Recovery Manager: Release 19.0.0.0.0 - Production on 木 2月 13 00:25:44 2025
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
ターゲット・データベース: V19 (DBID=2960846808)に接続されました
リカバリ・カタログ・データベースに接続されました。
RMAN> CREATE SCRIPT full_backup { BACKUP DATABASE PLUS ARCHIVELOG; }
スクリプトfull_backupが作成されました
ストアドスクリプトの実行
保存したスクリプトを実行するには、以下のコマンドを使用します。
RUN { EXECUTE SCRIPT full_backup; }
[oracle@restart ~]$ rman target / catalog rcuser/oracle@rcatalog
Recovery Manager: Release 19.0.0.0.0 - Production on 木 2月 13 00:26:53 2025
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
ターゲット・データベース: V19 (DBID=2960846808)に接続されました
リカバリ・カタログ・データベースに接続されました。
RMAN> RUN { EXECUTE SCRIPT full_backup; } ★ストアドスクリプトの実行
実行スクリプト: full_backup
backupを25-02-13で開始しています
現在のログがアーカイブされました。
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=105 デバイス・タイプ=DISK
チャネルORA_DISK_1: アーカイブ・ログ・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにアーカイブ・ログを指定しています
入力アーカイブ・ログ・スレッド=1 順序=5 レコードID=1 スタンプ=1192924878
入力アーカイブ・ログ・スレッド=1 順序=6 レコードID=2 スタンプ=1192926425
チャネルORA_DISK_1: ピース1 (25-02-13)を起動します
チャネルORA_DISK_1: ピース1 (25-02-13)が完了しました
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/013hl76t_1_1 タグ=TAG20250213T002709 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:07
backupを25-02-13で終了しました
backupを25-02-13で開始しています
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00001 名前=+DATA/V19/DATAFILE/system.257.1157469475
入力データファイル ファイル番号=00003 名前=+DATA/V19/DATAFILE/sysaux.258.1157469511
入力データファイル ファイル番号=00004 名前=+DATA/V19/DATAFILE/undotbs1.259.1157469525
入力データファイル ファイル番号=00007 名前=+DATA/V19/DATAFILE/users.260.1157469527
チャネルORA_DISK_1: ピース1 (25-02-13)を起動します
チャネルORA_DISK_1: ピース1 (25-02-13)が完了しました
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/023hl778_1_1 タグ=TAG20250213T002717 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:25
backupを25-02-13で終了しました
backupを25-02-13で開始しています
現在のログがアーカイブされました。
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: アーカイブ・ログ・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにアーカイブ・ログを指定しています
入力アーカイブ・ログ・スレッド=1 順序=7 レコードID=3 スタンプ=1192926465
チャネルORA_DISK_1: ピース1 (25-02-13)を起動します
チャネルORA_DISK_1: ピース1 (25-02-13)が完了しました
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/033hl784_1_1 タグ=TAG20250213T002748 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:01
backupを25-02-13で終了しました
Control File and SPFILE Autobackupを25-02-13で開始しています
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/c-2960846808-20250213-00 コメント=NONE
Control File and SPFILE Autobackupを25-02-13で終了しました
ストアドスクリプトの一覧表示
作成済みのスクリプトを確認するには、次のコマンドを使用します。
LIST SCRIPT NAMES;
RMAN>LIST SCRIPT NAMES;
リカバリ・カタログ内のストアド・スクリプトのリスト
ターゲット・データベースV19のスクリプト
スクリプト名
説明
-----------------------------------------------------------------------
full_backup
ストアドスクリプトの削除
不要になったスクリプトは、次のコマンドで削除可能です。
DELETE SCRIPT full_backup;
RMAN> DELETE SCRIPT full_backup;
スクリプト: full_backupは削除されました。
RMAN> LIST SCRIPT NAMES;
リカバリ・カタログ内のストアド・スクリプトのリスト
リカバリ・カタログにスクリプトがありません
ストアドスクリプトの活用例
- 定期的なフルバックアップ
- 増分バックアップのスケジュール化
- 特定のデータファイルのみのバックアップ
これにより、運用の効率化と一貫性の確保が可能になります。
まとめ
本記事では、リカバリカタログの管理における重要な操作について詳しく解説しました。
- ターゲットデータベースの登録解除:
UNREGISTER DATABASEを使用 - リカバリカタログの再同期化:
RESYNC CATALOGで最新の状態を維持 - ストアドスクリプトの管理:スクリプトを作成し、効率的にバックアップ
これらの操作を適切に活用することで、データベースのバックアップ管理がより簡単かつ安全になります。
[参考]
Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 19c




コメント