用途
CREATE CATALOG
コマンドを使用すると、リカバリ・カタログを作成できます。
リカバリ・カタログは、ベース・リカバリ・カタログまたは仮想プライベート・カタログにすることができます。
ベース・リカバリ・カタログは、一連のターゲット・データベースのRMANメタデータを含むデータベース・スキーマです。
仮想プライベート・カタログは、ベース・リカバリ・カタログのサブセットにユーザーがアクセスするための一連のシノニムとビューです。
関連項目:
|
前提条件
このコマンドは、RMANプロンプトでのみ実行してください。RMANをCATALOG
コマンドライン・オプションまたはCONNECT
CATALOG
コマンドを通じてリカバリ・カタログ・データベースに接続し、カタログ・データベースをオープンする必要があります。ターゲット・データベースへの接続は不要です。
カタログがベース・リカバリ・カタログまたは仮想プライベート・カタログのいずれの場合でも、リカバリ・カタログの所有者には、RECOVERY_CATALOG_OWNER
ロールが付与されている必要があります。また、このユーザーには、リカバリ・カタログ表が格納される表領域に対する権限も付与されている必要があります。リカバリ・カタログは、リカバリ・カタログ所有者のデフォルト表領域に作成されます。
仮想プライベート・カタログを作成する場合は、ベース・リカバリ・カタログの所有者がRMANのGRANT
コマンドを使用して、CATALOG
またはREGISTER
のいずれかの権限をこのユーザーに付与している必要があります(例2-59を参照)。
Oracle Database 10gリリース以前のRMANクライアントの場合は、RMANクライアントが仮想カタログに接続する際の制約について、
CONNECT CATALOGの説明を参照してください。
使用上の注意
リカバリ・カタログは、通常リカバリ・カタログ専用に作成されたデータベースに作成します。リカバリ・カタログをSYS
スキーマに作成することはお薦めしません。
リカバリ・カタログは、1つ作成して、中央管理されているRMANリポジトリとして、複数のデータベースで使用するようにしてください。そのため、このカタログは、ベース・リカバリ・カタログと呼ばれます。
ベース・リカバリ・カタログ所有者は、GRANT
やREVOKE
を使用して、他のデータベース・ユーザーからのカタログへのアクセスを制限できます。制限を受けるユーザーでも、自分専用のメタデータ(仮想プライベート・カタログと呼ばれます)への完全な読み/書き両用アクセス権を持っています。RMANメタデータは、仮想プライベート・カタログ所有者のスキーマに格納されます。ベース・リカバリ・カタログ所有者は、それぞれの仮想カタログ・ユーザーがアクセスできる内容を制御します。
10.2以前のリリースのRMANで仮想カタログを使用する場合は、追加手順の実行も必要です。仮想プライベート・カタログを使用する前に、リカバリ・カタログ・データベースに仮想カタログ所有者として接続し、次のPL/SQLプロシージャを実行してください(base_catalog_owner
は、ベース・リカバリ・カタログを所有するデータベース・ユーザーです)。
base_catalog_owner.DBMS_RCVCAT.CREATE_VIRTUAL_CATALOG
関連項目: RECOVERY_CATALOG_OWNERロールの詳細は、『Oracle Database管理者ガイド』 を参照してください。 |
例2-58 リカバリ・カタログの作成とデータベースの登録
SQL*Plusを起動し、管理者権限でリカバリ・カタログcatdb
に接続するとします。次のようにCREATE USER
文を実行して、パスワードをユーザー指定のパスワードで置き換えます(安全なパスワードの作成の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照)。SQL文では、データベースcatdb
にユーザーcatowner
が作成され、そのcatowner
ユーザーにRECOVERY_CATALOG_OWNER
ロールが付与されます。
SQL> CREATE USER catowner IDENTIFIED BY password
2 DEFAULT TABLESPACE cattbs
3 QUOTA UNLIMITED ON cattbs;
SQL> GRANT recovery_catalog_owner TO catowner;
SQL> EXIT
次に、RMANを起動し、次のRMANコマンドを実行して、catowner
としてリカバリ・カタログ・データベースに接続し、リカバリ・カタログを作成します。
RMAN> CONNECT CATALOG catowner@catdb
recovery catalog database Password: password
connected to recovery catalog database
RMAN> CREATE CATALOG;
同じRMANセッションで、オペレーティング・システム認証を使用してターゲット・データベースに接続し、REGISTER DATABASE
コマンドを使用して、カタログにこのデータベースを登録します。
RMAN> CONNECT TARGET / RMAN> REGISTER DATABASE; RMAN> EXIT
例2-59 仮想プライベート・カタログの作成
例2-58に示すように、リカバリ・カタログを作成し、データベースを登録してあるとします。ここで、データベース・ユーザーvpc1
に仮想プライベート・カタログを作成することにします。SQL*Plusを起動し、管理者権限でリカバリ・カタログ・データベースcatdb
に接続します。vpc1
ユーザーを作成し、次のようにリカバリ・カタログの所有権を付与して、パスワードをユーザー指定のパスワードで置き換えます(安全なパスワードの作成の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照)。
SQL> CREATE USER vpc1 IDENTIFIED BY password
2 DEFAULT TABLESPACE vpcusers
3 QUOTA UNLIMITED ON vpcusers;
SQL> GRANT recovery_catalog_owner TO vpc1;
SQL> EXIT
次に、RMANを起動し、カタログ所有者catowner
としてリカバリ・カタログ・データベースに接続します。デフォルトでは、仮想カタログ所有者はベース・リカバリ・カタログにアクセスできません。GRANT
コマンドを使用して、仮想プライベート・カタログにvpc1
へのアクセス権を付与し、(データベースprod2
ではなく)データベースprod1
に対してRMANが操作できるようにします。
RMAN> CONNECT CATALOG catowner@catdb
recovery catalog database Password: password
connected to recovery catalog database
RMAN> GRANT CATALOG FOR DATABASE prod1 TO vpc1;
RMAN> EXIT;
この時点で、仮想プライベート・カタログvpc1
を使用するバックアップ・オペレータは、仮想カタログの作成準備ができています。次の例では、バックアップ・オペレータがリカバリ・カタログ・データベースにvpc1
として接続し、vpc1
の仮想プライベート・カタログを作成します。
RMAN> CONNECT CATALOG vpc1@catdb
recovery catalog database Password: password
connected to recovery catalog database
RMAN> CREATE VIRTUAL CATALOG;
RMAN> EXIT;
仮想カタログは最終的にOracle Database 10gターゲット・データベースで使用する予定なので、このオペレータは、PL/SQLプロシージャCREATE_VIRTUAL_CATALOG
を実行してから、仮想カタログを使用する必要があります(「使用上の注意」を参照)。次の例では、バックアップ・オペレータが次のようにリカバリ・カタログ・データベースにvpc1
として接続し、PL/SQLプロシージャを実行します。
SQL> CONNECT vpc1@catdb
Enter password: password
Connected.
SQL> BEGIN
2 catowner.DBMS_RCVCAT.CREATE_VIRTUAL_CATALOG;
3 END;
4 /