2.12 CREATE CATALOG
目的
CREATE CATALOG
コマンドを使用すると、ベース・リカバリ・カタログを作成できます。仮想プライベート・カタログは、仮想プライベート・カタログ所有者にカタログ権限が付与されるときに自動的に作成されます。
-
ベース・リカバリ・カタログは、一連のターゲット・データベースのRMANメタデータを含むデータベース・スキーマです。
-
仮想プライベート・カタログは、ベース・リカバリ・カタログのサブセットへのユーザー・アクセスを制限する一連のセキュリティ・ポリシーです。
関連項目:
-
リカバリ・カタログの作成方法は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
-
リカバリ・カタログと、RMAN環境の他のコンポーネントの互換性の要件については、「RMANの互換性」を参照してください
前提条件
このコマンドは、RMANプロンプトでのみ実行してください。RMANをCATALOG
コマンドライン・オプションまたはCONNECT
CATALOG
コマンドを通じてリカバリ・カタログ・データベースに接続し、カタログ・データベースをオープンする必要があります。ターゲット・データベースへの接続は不要です。
ベース・リカバリ・カタログのリカバリ・カタログ所有者は、RECOVERY_CATALOG_OWNER
ロールを付与されている必要があります。リカバリ・カタログは、リカバリ・カタログ所有者のデフォルト表領域に作成されます。
注意:
Oracle Database 12cリリース1 (12.1.0.2)以降、リカバリ・カタログ・データベースはEnterprise Editionを使用する必要があります。
仮想プライベート・カタログを所有するデータベース・ユーザーには、CREATE SESSION
権限を付与する必要があります。Oracle Database 12cリリース1 (12.1.0.2)以降、仮想プライベート・カタログはOracle Database Enterprise Editionを使用する場合のみ作成できます。
仮想プライベート・カタログを作成する場合は、ベース・リカバリ・カタログの所有者がRMANのGRANT
コマンドを使用して、CATALOG
またはREGISTER
のいずれかの権限をこのユーザーに付与している必要があります(例2-71を参照)。
Oracle Database 10gリリース以前のRMANクライアントの場合は、RMANクライアントが仮想カタログに接続する際の制約について、CONNECT
CATALOG
の説明を参照してください。
使用上の注意
リカバリ・カタログは、通常リカバリ・カタログ専用に作成されたデータベースに作成します。SYS
またはSYSBACKUP
のような特権的なスキーマで、リカバリ・カタログを作成しないでください。
リカバリ・カタログは、1つ作成して、中央管理されているRMANリポジトリとして、複数のデータベースで使用するようにしてください。そのため、このカタログは、ベース・リカバリ・カタログと呼ばれます。
ベース・リカバリ・カタログ所有者は、GRANT
やREVOKE
を使用して、他のデータベース・ユーザーからのカタログへのアクセスを制限できます。制限を受けるユーザーでも、自分専用のメタデータ(仮想プライベート・カタログと呼ばれます)への完全な読み/書き両用アクセス権を持っています。RMANメタデータは、仮想プライベート・カタログ所有者のスキーマに格納されます。ベース・リカバリ・カタログ所有者は、それぞれの仮想カタログ・ユーザーがアクセスできる内容を制御します。
例
例2-70 リカバリ・カタログの作成とデータベースの登録
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-71 仮想プライベート・カタログの作成
例2-70に示すように、リカバリ・カタログを作成し、データベースを登録してあるとします。ここで、データベース・ユーザー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;