~PDBに格納してRMANバックアップ情報を集中管理~
Oracle RMANは、バックアップやリストアに欠かせない強力なツールですが、リカバリ・カタログ(Recovery Catalog)を導入することで、複数DBを一元的に管理し、バックアップ履歴の永続保持なども可能になります。
この記事では、Oracle CDB構成環境でリカバリ・カタログをPDBに作成する手順を詳しく解説します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
✅ リカバリ・カタログはCDB$ROOTには作成しない!
CDB環境では、リカバリ・カタログは必ずPDBに作成する必要があります。CDB$ROOTにカタログユーザーを作成することはOracleの推奨される構成ではありません。
📌 前提環境
| 項目 | 内容 |
|---|---|
| カタログDB | CDB構成(ホスト名:catdb-host) |
| 使用するPDB | PDBRC |
| ディレクトリ | /u01/app/oracle/oradata/V19M/pdbrc |
| ユーザー名 | rman_user |
| 表領域名 | RMAN_TBS |
| パスワード | rman_pass(任意で変更) |
🧱 リカバリ・カタログ構築の流れ
① PDBRCの作成(必要に応じて)
② 表領域の作成
③ カタログユーザーの作成と権限付与
④ RMANでリカバリ・カタログを作成
⑤ ターゲットDBの登録
① PDBRCを作成(まだ存在しない場合)
まず、CDB$ROOTにて以下の手順でPDBRCを作成します。
-- CDB$ROOTにて実行
CREATE PLUGGABLE DATABASE PDBRC
ADMIN USER pdb_admin IDENTIFIED BY oracle
ROLES = (DBA)
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/V19M/pdbrc/system01.dbf' SIZE 500M AUTOEXTEND ON
FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/V19M/pdbseed/', '/u01/app/oracle/oradata/V19M/pdbrc/');
-- PDBをオープン
ALTER PLUGGABLE DATABASE PDBRC OPEN;
② PDBRCに接続し、表領域の作成
-- PDBRCに切り替え
ALTER SESSION SET CONTAINER = PDBRC;
-- 表領域作成
CREATE TABLESPACE RMAN_TBS
DATAFILE '/u01/app/oracle/oradata/V19M/pdbrc/rman_tbs01.dbf'
SIZE 100M AUTOEXTEND ON;
③ カタログ用ユーザー作成と権限付与
CREATE USER rman_user IDENTIFIED BY rman_pass
DEFAULT TABLESPACE RMAN_TBS
QUOTA UNLIMITED ON RMAN_TBS;
GRANT CONNECT, RESOURCE, RECOVERY_CATALOG_OWNER TO rman_user;
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> CREATE PLUGGABLE DATABASE PDBRC ★PDBRC作成
2 ADMIN USER pdb_admin IDENTIFIED BY oracle
3 ROLES = (DBA)
4 DEFAULT TABLESPACE users
5 DATAFILE '/u01/app/oracle/oradata/V19M/pdbrc/system01.dbf' SIZE 500M AUTOEXTEND ON
6 FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/V19M/pdbseed/', '/u01/app/oracle/oradata/V19M/pdbrc/');
プラガブル・データベースが作成されました。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
4 PDB02 READ WRITE NO
5 PDBRC MOUNTED
SQL> ALTER PLUGGABLE DATABASE PDBRC OPEN;
プラガブル・データベースが変更されました。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
4 PDB02 READ WRITE NO
5 PDBRC READ WRITE NO
SQL> ALTER SESSION SET CONTAINER = PDBRC;
セッションが変更されました。
SQL> show con_name
CON_NAME
------------------------------
PDBRC
SQL> CREATE TABLESPACE RMAN_TBS ★リカバリカタログ用表領域を作成
2 DATAFILE '/u01/app/oracle/oradata/V19M/pdbrc/rman_tbs01.dbf'
3 SIZE 100M AUTOEXTEND ON;
表領域が作成されました。
SQL> CREATE USER rman_user IDENTIFIED BY rman_pass ★カタログ用ユーザー作成
2 DEFAULT TABLESPACE RMAN_TBS
3 QUOTA UNLIMITED ON RMAN_TBS;
ユーザーが作成されました。
SQL> GRANT CONNECT, RESOURCE, RECOVERY_CATALOG_OWNER TO rman_user;
権限付与が成功しました。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
④ RMANでカタログを作成
$ rman catalog rman_user/rman_pass@pdbrc
RMAN> CREATE CATALOG;
出力例:
recovery catalog created
[oracle@v19single ~]$ rman catalog rman_user/rman_pass@pdbrc
Recovery Manager: Release 19.0.0.0.0 - Production on 木 5月 15 10:37:26 2025
Version 19.21.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
リカバリ・カタログ・データベースに接続されました。
RMAN> CREATE CATALOG;
リカバリ・カタログが作成されました。
⑤ ターゲットDBの登録
$ rman target / catalog rman_user/rman_pass@pdbrc
RMAN> REGISTER DATABASE;
出力例:
database registered in recovery catalog
[oracle@v19single ~]$ rman target / catalog rman_user/rman_pass@pdbrc
Recovery Manager: Release 19.0.0.0.0 - Production on 木 5月 15 10:38:16 2025
Version 19.21.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
ターゲット・データベース: V19M (DBID=1384470285)に接続されました
リカバリ・カタログ・データベースに接続されました。
RMAN> REGISTER DATABASE;
データベースがリカバリ・カタログに登録されました。
リカバリ・カタログの完全再同期を開始しています
完全再同期が完了しました
📝 tnsnames.oraの設定例
PDBRC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = catdb-host)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = pdbrc)
)
)
🗂 構成イメージ(テキスト図)
+----------------------------+
| ターゲットDB |
| CDB or 非CDB構成 |
| |
| RMAN実行環境 |
+------------+--------------+
|
| 接続(target /)
v
+------------+--------------+
| カタログDB(CDB構成) |
| └──PDBRC |
| └──RMAN_USER |
| └──RMAN_TBS |
| └──/u01/app/oracle/oradata/V19M/pdbrc/ |
+---------------------------+
✅ まとめ
- リカバリ・カタログはCDB$ROOTではなくPDBに作成する
- カタログ用PDBが存在しない場合は
CREATE PLUGGABLE DATABASEで作成 CREATE CATALOGでカタログを構築、REGISTER DATABASEでターゲットDB登録- 将来的に複数DB管理や履歴の永続保持が可能になる
[参考]
4 CDBの作成および構成




コメント