プライマリ・コンテンツに移動
Oracle® Databaseバックアップおよびリカバリ・リファレンス
12cリリース1 (12.1)
B71298-08
目次へ移動
目次
索引へ移動
索引

前
次

GRANT

用途

GRANTコマンドを使用すると、仮想プライベート・カタログ・スキーマに対する権限をデータベース・ユーザーに割り当てることができます。デフォルトでは、仮想カタログのユーザーはベース・リカバリ・カタログにアクセスできません。

前提条件

このコマンドは、RMANプロンプトで実行してください。

CREATE CATALOGを使用してベース・リカバリ・カタログが作成されていなければ、GRANTで仮想プライベート・カタログの権限を割り当てることはできません。

使用上の注意

ベース・リカバリ・カタログを作成し、そこにすべてのデータベースのメタデータを格納することをお薦めします。その後に、仮想プライベート・カタログ・スキーマを所有するOracle Databaseユーザーを作成できます。Oracle Database 12cリリース1 (12.1.0.1)では、仮想プライベート・カタログ・ユーザーはRECOVERY_CATALOG_OWNERロールを付与されている必要があります。Oracle Database 12cリリース1 (12.1.0.2)では、仮想プライベート・カタログ・ユーザーはCREATE SESSION権限のみ必要です。

RMANをベース・リカバリ・カタログに接続し、GRANTコマンドを使用して、リカバリ・カタログ権限を仮想カタログの所有者に割り当てます。その後、CREATE VIRTUAL CATALOGを実行して、このユーザーの仮想カタログ・スキーマを作成します。REVOKEを使用すると、カタログ権限を取り消すことができます。

同じデータベース上でCATALOG権限を持つユーザー間の関係

ここで、GRANTの使用方法を説明します。データベースprod1およびprod2が、ベース・リカバリ・カタログに登録されているとします。ベース・リカバリ・カタログにSYSBACKUPまたはSYSDBA権限を持つユーザーとしてログインしている状態で、仮想プライベート・カタログの2人のユーザー(VPC1およびVPC2)を作成します。この両方のユーザーに、データベースPROD1に対するCATALOG FOR DATABASEアクセス権を付与します(PROD2については付与しません)。

この例では、ベース・リカバリ・カタログの所有者によって作成されたPROD1のバックアップのメタデータには、VPC1VPC2の両方がアクセスできます。相互に作成したPROD1のバックアップのメタデータには、両方のユーザーがアクセスできます。データベースPROD2のバックアップ・メタデータには、VPC1VPC2の両方ともアクセスできません。

GRANT REGISTERとGRANT CATALOG間の関係

REGISTER DATABASEをユーザーに付与すると、RMANでは、このユーザーが登録したすべてのデータベースに対して暗黙的にリカバリのCATALOG FOR DATABASE権限が付与されます。あるユーザー(VIRTCATなど)のREGISTER DATABASE権限のみに対してREVOKEを実行した場合、virtcatが登録したデータベース(PRODなど)のCATALOG FOR DATABASE権限が暗黙的に取り消されることはありません。CATALOG FOR DATABASE権限にはprodの登録権限が含まれているため、virtcatは、prodの登録解除と登録を継続できます。VIRTCATprodに対して操作(再登録など)を実行しないようにするには、VIRTCATに対してREVOKE ALL PRIVILEGESを実行します。

セマンティクス

構文要素 説明
CATALOG FOR DATABASE [database_name | integer] TO userid

指定したデータベースのリカバリ・カタログへのアクセス権を指定したユーザーに付与します。

注意: 指定したデータベースで付与されるカタログ操作には、そのデータベースの登録と登録解除が含まれます。

データベースは、データベース名またはDBIDで指定します。名前を指定したとき、その名前のデータベースがカタログに複数登録されていると、RMANによりエラーが戻されます。その場合は、DBIDでデータベースを指定してください。

リカバリ・カタログに登録済のデータベースへのアクセス権を付与するには、GRANT CATALOGコマンドを使用する必要があります。また、カタログに未登録のターゲット・データベースに対するアクセス権も付与できます。こうして、仮想プライベート・カタログのユーザーがデータベースを登録することが可能になります。アクセス権を付与する場合は、未登録のデータベースのDBIDを使用する必要があります。

REGISTER DATABASE TO userid

指定したユーザーに、リカバリ・カタログで現在認識されていないデータベースをREGISTER DATABASEで登録する権限を付与します。

REGISTER DATABASEをユーザーに付与すると、RMANでは、このユーザーが登録したすべてのデータベースに対して暗黙的にリカバリのCATALOG FOR DATABASE権限が付与されます。データベースのCATALOG FOR DATABASE権限には、そのデータベースの登録と登録解除が含まれます。

たとえば、ユーザーvirtcatREGISTER DATABASEが付与され、このユーザーがカタログにデータベースprodを登録するとします。RMANは、暗黙的にprodに対するリカバリのCATALOG FOR DATABASE権限をvirtcatに付与します。

例2-100 仮想プライベート・カタログの権限の付与

データベース・ユーザーRCOがデータベースCATDBにベース・リカバリ・カタログを所有しているとします。このベース・リカバリ・カタログには、データ・センター内の数多くのデータベースのRMANメタデータが格納されています。目標は、データ・センターの2人のバックアップ・オペレータのために、仮想プライベート・カタログを作成することです。データベース・バージョンはOracle Database 12cリリース1 (12.1.0.2)です。

SQL*Plusを起動し、SYSとしてCATDBデータベースに接続します。次に、CREATE USER文を使用して、CATDB上にBCKOP2およびBCKOP3ユーザーを作成します。次のようにして、これらのユーザーにCREATE SESSION権限を付与できます。

SQL> GRANT CREATE SESSION TO bckop2, bckop3;
SQL> EXIT

次に、RMANクライアントを起動し、ユーザーRCOとしてリカバリ・カタログ・データベースに接続します。RMANのGRANTコマンドを使用して、BCKOP2に、自分の仮想プライベート・カタログにすべてのデータベースを登録する権限を与えますが、BCKOP3には、データ・センター内のデータベースのサブセットのみへのアクセス権を与えます。

RMAN> CONNECT CATALOG rco@catdb

recovery catalog database Password: password
connected to recovery catalog database

RMAN> GRANT REGISTER DATABASE TO bckop2;
RMAN> GRANT CATALOG FOR DATABASE prod TO bckop3;
RMAN> GRANT CATALOG FOR DATABASE prodb TO bckop3;
RMAN> EXIT;

新しいRMANセッションを起動し、ユーザーBCKOP2として接続します。初回接続時に、RMANで仮想プライベート・カタログが自動的に作成されます。仮想カタログを作成するたびに、RMANを終了して再起動する必要があります。

RMAN> CONNECT CATALOG bckop2@catdb

recovery catalog database Password: password
connected to recovery catalog database


RMAN> EXIT;

新しいRMANセッションを起動し、ユーザーBCKOP3として接続して、このユーザーに関連付けられている仮想プライベート・カタログを作成します。

RMAN> CONNECT CATALOG bckop3@catdb

recovery catalog database Password: password
connected to recovery catalog database

RMAN> EXIT;

次の例では、バックアップ・オペレータDBA1が、CATDBBCKOP3スキーマにある自分の仮想プライベート・カタログを使用して、ターゲット・データベースのバックアップのメタデータを格納します。

RMAN> CONNECT TARGET /
RMAN> CONNECT CATALOG bckop3@catdb

recovery catalog database Password: password
connected to recovery catalog database

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;