2.24 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
のバックアップのメタデータには、VPC1
とVPC2
の両方がアクセスできます。相互に作成したPROD1
のバックアップのメタデータには、両方のユーザーがアクセスできます。データベースPROD2
のバックアップ・メタデータには、VPC1
とVPC2
の両方ともアクセスできません。
GRANT REGISTERとGRANT CATALOG間の関係
REGISTER DATABASE
をユーザーに付与すると、このユーザーが登録したすべてのデータベースに対して暗黙的にリカバリのCATALOG FOR DATABASE
権限が付与されます。あるユーザー(VIRTCAT
など)のREGISTER DATABASE
権限のみに対してREVOKE
を実行した場合、virtcat
が登録したデータベース(PROD
など)のCATALOG FOR DATABASE
権限が暗黙的に取り消されることはありません。CATALOG FOR DATABASE
権限にはprod
の登録権限が含まれているため、virtcat
は、prod
の登録解除と登録を継続できます。VIRTCAT
がprod
に対して操作(再登録など)を実行しないようにするには、VIRTCAT
に対してREVOKE ALL PRIVILEGES
を実行します。
セマンティクス
構文要素 | 説明 |
---|---|
CATALOG FOR DATABASE [ database_name | integer ] TO userid |
指定したデータベースのリカバリ・カタログへのアクセス権を指定したユーザーに付与します。 注意: 指定したデータベースで付与されるカタログ操作には、そのデータベースの登録と登録解除が含まれます。 データベースは、データベース名またはDBIDで指定します。名前を指定したとき、その名前のデータベースがカタログに複数登録されていると、RMANによりエラーが戻されます。その場合は、DBIDでデータベースを指定してください。 リカバリ・カタログに登録済のデータベースへのアクセス権を付与するには、 |
CATALOG FOR PLUGGABLE DATABASE [ database_name | GUID guid_name ] TO userid |
指定したプラガブル・データベース(PDB)のリカバリ・カタログへのアクセス権を、指定したユーザーに付与します。 PDB名またはPDB GUIDのいずれかを使用して、PDBを指定します。PDB名を指定したとき、その名前のPDBがリカバリ・カタログに複数登録されていると、RMANによりエラーが戻されます。この場合は、PDBのGUIDを指定します。 注意: 指定したデータベースで付与されるカタログ操作には、そのデータベースの登録と登録解除が含まれます。 |
REGISTER DATABASE TO userid |
指定したユーザーに、リカバリ・カタログで現在認識されていないデータベースを
たとえば、ユーザー |
例
例2-102 仮想プライベート・カタログの権限の付与
データベース・ユーザー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
が、CATDB
のBCKOP3
スキーマにある自分の仮想プライベート・カタログを使用して、ターゲット・データベースのバックアップのメタデータを格納します。
RMAN> CONNECT TARGET /
RMAN> CONNECT CATALOG bckop3@catdb
recovery catalog database Password: password
connected to recovery catalog database
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
例2-103 PDBの権限の付与
データベースcatdb
のリカバリ・カタログの所有者がrco
で、VPCユーザーvpc1
であるとします。PDB mypdb
へのアクセスをvpc1
に付与する必要があります。
rco
に接続します。RMAN> CONNECT CATALOG rco@catdb
recovery catalog database Password: password
connected to recovery catalog database
次のコマンドを使用して、PDB mypdb
のアクセス・メタデータに対する権限をVPCユーザーvpc1
に付与します。
RMAN> GRANT CATALOG FOR PLUGGABLE DATABASE mypdb TO vpc1;