用途
CREATE CATALOG
コマンドを使用すると、リカバリ・カタログを作成できます。
リカバリ・カタログは、ベース・リカバリ・カタログ または仮想プライベート・カタログにすることができます。Oracle Database 12cリリース1 (12.1.0.1)では、CREATE VIRTUAL CATALOG
コマンドを明示的に使用して仮想プライベート・カタログを作成する必要があります。Oracle Database 12cリリース1 (12.1.0.2)では、仮想プライベート・カタログは、仮想プライベート・カタログ所有者にカタログ権限が付与されるときに自動的に作成されます。
ベース・リカバリ・カタログは、一連のターゲット・データベースのRMANメタデータを含むデータベース・スキーマです。
仮想プライベート・カタログは、ベース・リカバリ・カタログのサブセットへのユーザー・アクセスを制限する一連のセキュリティ・ポリシーです。
関連項目:
リカバリ・カタログの作成方法は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
リカバリ・カタログと、RMAN環境の他のコンポーネントの互換性の要件については、「RMANの互換性」を参照してください
前提条件
このコマンドは、RMANプロンプトでのみ実行してください。RMANをCATALOG
コマンドライン・オプションまたはCONNECT
CATALOG
コマンドを通じてリカバリ・カタログ・データベースに接続し、カタログ・データベースをオープンする必要があります。ターゲット・データベースへの接続は不要です。
ベース・リカバリ・カタログのリカバリ・カタログ所有者は、RECOVERY_CATALOG_OWNER
ロールを付与されている必要があります。リカバリ・カタログは、リカバリ・カタログ所有者のデフォルト表領域に作成されます。
注意:
Oracle Database 12cリリース1 (12.1.0.2)以降、リカバリ・カタログ・データベースはEnterprise Editionを使用する必要があります。
Oracle Database 12cリリース1 (12.1.0.1)では、仮想プライベート・カタログを所有するデータベース・ユーザーはRECOVERY_CATALOG_OWNER
ロールを付与されている必要があります。また、このユーザーには、リカバリ・カタログ表が格納される表領域に対する権限も付与されている必要があります。Oracle Database 12cリリース1 (12.1.0.2)では、仮想プライベート・カタログを所有するデータベース・ユーザーにCREATE SESSION
権限を付与するだけで十分です。Oracle Database 12cリリース1 (12.1.0.2)以降、仮想プライベート・カタログはOracle Database Enterprise Editionを使用する場合のみ作成できます。
仮想プライベート・カタログを作成する場合は、ベース・リカバリ・カタログの所有者がRMANのGRANT
コマンドを使用して、CATALOG
またはREGISTER
のいずれかの権限をこのユーザーに付与している必要があります(例2-69を参照)。
Oracle Database 10gリリース以前のRMANクライアントの場合は、RMANクライアントが仮想カタログに接続する際の制約について、
CONNECT CATALOGの説明を参照してください。
使用上の注意
リカバリ・カタログは、通常リカバリ・カタログ専用に作成されたデータベースに作成します。SYS
またはSYSBACKUP
のような特権的なスキーマで、リカバリ・カタログを作成しないでください。
リカバリ・カタログは、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管理者ガイド』を参照してください。
セマンティクス
構文要素 | 説明 |
---|---|
|
仮想プライベート・カタログを既存のリカバリ・カタログ内に作成します。 このコマンドは、RMANをリカバリ・カタログ・データベースに仮想カタログ・ユーザーとして接続した後で実行してください。 注意: 仮想プライベート・カタログのメカニズムはすべて、リカバリ・カタログ・スキーマ自体にあります。セキュリティは、RMANクライアントではなく、カタログ・データベースから提供されます。 |
例
例2-68 リカバリ・カタログの作成とデータベースの登録
SQL*Plusを起動し、管理者権限でリカバリ・カタログcatdb
に接続するとします。次のようにCREATE USER
文を実行して、パスワードをユーザー指定のパスワードで置き換えます(安全なパスワードの作成の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照)。SQL文はデータベースcatdb
にユーザーrco
を作成し、rco
ユーザーにRECOVERY_CATALOG_OWNER
ロールを付与します。
SQL> CREATE USER rco IDENTIFIED BY password
2 DEFAULT TABLESPACE cattbs
3 QUOTA UNLIMITED ON cattbs;
SQL> GRANT recovery_catalog_owner TO rco;
SQL> EXIT
次に、RMANを起動し、次のRMANコマンドを実行して、rco
としてリカバリ・カタログ・データベースに接続し、リカバリ・カタログを作成します。
RMAN> CONNECT CATALOG rco@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-69 仮想プライベート・カタログの作成
例2-68に示すように、リカバリ・カタログを作成し、データベースを登録してあるとします。ここで、データベース・ユーザーvpc1
に仮想プライベート・カタログを作成することにします。データベース・バージョンはOracle Database 12cリリース1 (12.1.0.2)です。SQL*Plusを起動し、管理者権限でリカバリ・カタログ・データベースcatdb
に接続します。vpc1
ユーザーを作成し、次のようにリカバリ・カタログの所有権を付与して、パスワードをユーザー指定のパスワードで置き換えます(安全なパスワードの作成の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照)。
SQL> CREATE USER vpc1 IDENTIFIED BY password
2 DEFAULT TABLESPACE vpcusers;
SQL> GRANT CREATE SESSION TO vpc1;
SQL> EXIT
次に、RMANを起動し、カタログ所有者rco
としてリカバリ・カタログ・データベースに接続します。デフォルトでは、仮想カタログ所有者はベース・リカバリ・カタログにアクセスできません。GRANT
コマンドを使用して、仮想プライベート・カタログにvpc1
へのアクセス権を付与し、(データベースprod2
ではなく)データベースprod1
に対してRMANが操作できるようにします。
RMAN> CONNECT CATALOG rco@catdb
recovery catalog database Password: password
connected to recovery catalog database
RMAN> GRANT CATALOG FOR DATABASE prod1 TO vpc1;
RMAN> EXIT;
この時点で、仮想プライベート・カタログvpc1
を使用するバックアップ・オペレータは、仮想カタログの作成準備ができています。次の例では、バックアップ・オペレータがリカバリ・カタログ・データベースにvpc1
として接続し、データベースprod1をvpc1
に登録します。
仮想プライベート・カタログは、仮想プライベート・カタログ所有者にカタログ権限が付与されるときに自動的に作成されます。
RMAN> CONNECT CATALOG vpc1@catdb
recovery catalog database Password: password
connected to recovery catalog database
RMAN> REGISTER DATABASE prod1;
RMAN> EXIT;
このオペレータは、最終的にOracle Database 10gターゲット・データベースで仮想カタログを使用する予定なので、オペレータはPL/SQLプロシージャCREATE_VIRTUAL_CATALOG
を実行してから、仮想カタログを使用する必要があります(「使用上の注意」を参照)。次の例では、バックアップ・オペレータが次のようにリカバリ・カタログ・データベースにvpc1
として接続し、PL/SQLプロシージャを実行します。
SQL> CONNECT vpc1@catdb
Enter password: password
Connected.
SQL> BEGIN
2 rco.DBMS_RCVCAT.CREATE_VIRTUAL_CATALOG;
3 END;
4 /