22 Oracle Database Vaultの一般管理API
DBMS_MACADM PL/SQLパッケージ・プロシージャおよびCONFIGURE_DVスタンドアロン・プロシージャを使用すると、一般的なメンテナンス・タスクを実行できます。
- DBMS_MACADM一般システム・メンテナンス・プロシージャ
DBMS_MACADMPL/SQLパッケージの一般システム・メンテナンスのプロシージャは、ユーザーの認可またはOracle Database Vaultへの新しい言語の追加などのタスクを実行します。 - CONFIGURE_DV一般システム・メンテナンス・プロシージャ
CONFIGURE_DVプロシージャは、最初の2つのOracle Databaseユーザー・アカウントを構成します。このアカウントには、DV_OWNERロールとDV_ACCTMGRロールがそれぞれ付与されます。
22.1 DBMS_MACADM一般システム・メンテナンスのプロシージャ
DBMS_MACADM PL/SQLパッケージの一般システム・メンテナンスのプロシージャは、ユーザーの認可またはOracle Database Vaultへの新しい言語の追加などのタスクを実行します。
- ADD_NLS_DATAプロシージャ
ADD_NLS_DATAプロシージャは、Oracle Database Vaultに新しい言語を追加します。 - AUTH_DATAPUMP_CREATE_USERプロシージャ
AUTH_DATAPUMP_CREATE_USERプロシージャは、Oracle Data Pumpユーザーに対して、Oracle Data Pumpのインポート操作中のユーザーの作成を認可します。 - AUTH_DATAPUMP_GRANTプロシージャ
AUTH_DATAPUMP_GRANTプロシージャは、Oracle Data Pumpユーザーに対して、Oracle Data Pumpのインポート操作中のOracle Database Vaultで保護されたロールおよびシステム権限の付与を認可します。 - AUTHORIZE_DATAPUMP_USERプロシージャ
AUTHORIZE_DATAPUMP_USERプロシージャは、Oracle Database Vaultが有効な場合に、ユーザーがOracle Data Pump操作を実行することを認可します。 - AUTHORIZE_DBCAPTUREプロシージャ
AUTHORIZE_DBCAPTUREプロシージャは、Oracle Database Replayのワークロード取得操作を実行する認可をユーザーに付与します。 - AUTHORIZE_DBREPLAYプロシージャ
AUTHORIZE_DBREPLAYプロシージャは、Oracle Database Replayのワークロード・リプレイ操作を実行する認可をユーザーに付与します。 - AUTHORIZE_DDLプロシージャ
AUTHORIZE_DDLプロシージャは、指定したスキーマに対してデータ定義言語(DDL)文を実行する認可をユーザーに付与します。 - AUTHORIZE_DIAGNOSTIC_ADMINプロシージャ
AUTHORIZE_DIAGNOSTIC_ADMINプロシージャは、診断ビューおよび表を問い合せる認可をユーザーに付与します。 - AUTHORIZE_MAINTENANCE_USERプロシージャ
AUTHORIZE_MAINTENANCE_USERプロシージャは、Oracle Database Vault環境で情報ライフサイクル管理(ILM)操作を実行するための認可をユーザーに与えます。 - AUTHORIZE_PREPROCESSORプロシージャ
AUTHORIZE_PREPROCESSORプロシージャは、外部表からプリプロセッサ・プログラムを実行する認可をユーザーに付与します。 - AUTHORIZE_PROXY_USERプロシージャ
AUTHORIZE_PROXY_USERプロシージャは、プロキシ・ユーザーにデータベース認可がある場合、他のユーザー・アカウントをプロキシする認可をプロキシ・ユーザーに付与します。 - AUTHORIZE_SCHEDULER_USERプロシージャ
AUTHORIZE_SCHEDULER_USERプロシージャは、Oracle Database Vaultが有効な場合に、データベース・ジョブをスケジュールする権限をユーザーに付与します。 - AUTHORIZE_TTS_USERプロシージャ
AUTHORIZE_TTS_USERプロシージャは、Oracle Database Vaultが有効な場合に、表領域に対してOracle Data Pumpトランスポータブル表領域操作を実行するようにユーザーを認可します。 - DISABLE_DVプロシージャ
DISABLE_DVプロシージャは、Oracle Database Vaultを無効にします。 - DISABLE_DV_DICTIONARY_ACCTSプロシージャ
DISABLE_DV_DICTIONARY_ACCTSプロシージャでは、どのユーザーもDVSYSまたはDVFスキーマ・ユーザーとしてデータベースにログインできません。 - DISABLE_DV_PATCH_ADMIN_AUDITプロシージャ
DISABLE_DV_PATCH_ADMIN_AUDITプロシージャは、DV_PATCH_ADMINロールを持つユーザーによるアクションのレルム、コマンド・ルールおよびルール・セットの監査を無効にします。 - DISABLE_ORADEBUGプロシージャ
DISABLE_ORADEBUGプロシージャは、Oracle Database Vault環境でORADEBUGユーティリティの使用を無効にします。 - ENABLE_DVプロシージャ
ENABLE_DVプロシージャは、Oracle Database VaultおよびOracle Label Securityを有効にします。 - ENABLE_DV_PATCH_ADMIN_AUDITプロシージャ
ENABLE_DV_PATCH_ADMIN_AUDITプロシージャは、DV_PATCH_ADMINロールを持つユーザーによるアクションのレルム、コマンド・ルールおよびルール・セットの監査を有効にします。 - ENABLE_DV_DICTIONARY_ACCTSプロシージャ
ENABLE_DV_DICTIONARY_ACCTSプロシージャにより、ユーザーはDVSYSまたはDVFユーザーとしてデータベースにログインできます。 - ENABLE_ORADEBUGプロシージャ
ENABLE_ORADEBUGプロシージャは、Oracle Database Vault環境でORADEBUGユーティリティの使用を有効にします。 - UNAUTH_DATAPUMP_CREATE_USERプロシージャ
UNAUTH_DATAPUMP_CREATE_USERプロシージャは、Oracle Data Pumpユーザーから、Oracle Data Pumpのインポート操作中にユーザーを作成する認可を削除します。 - UNAUTH_DATAPUMP_GRANTプロシージャ
UNAUTH_DATAPUMP_GRANTプロシージャは、Oracle Data Pumpユーザーから、Oracle Data Pumpのインポート操作中にOracle Database Vaultで保護されたロールおよびシステム権限を付与する認可を削除します。 - UNAUTHORIZE_DATAPUMP_USERプロシージャ
UNAUTHORIZE_DATAPUMP_USERプロシージャは、AUTHORIZE_DATAPUMP_USERプロシージャによって付与された権限を取り消します。 - UNAUTHORIZE_DBCAPTUREプロシージャ
UNAUTHORIZE_DBCAPTUREプロシージャは、Oracle Database Replayのワークロード取得操作を実行する認可をユーザーから取り消します。 - UNAUTHORIZE_DBREPLAYプロシージャ
UNAUTHORIZE_DBREPLAYプロシージャは、Oracle Database Replayのワークロード・リプレイ操作を実行する認可をユーザーから取り消します。 - UNAUTHORIZE_DDLプロシージャ
UNAUTHORIZE_DDLプロシージャは、DBMS_MACDM.AUTHORIZE_DDLプロシージャを使用してDDL文を実行する認可を付与されたユーザーから認可を取り消します。 - UNAUTHORIZE_DIAGNOSTIC_ADMINプロシージャ
UNAUTHORIZE_DIAGNOSTIC_ADMINプロシージャは、DBMS_MACADM.AUTHORIZE_DIAGNOSTIC_ADMINプロシージャを使用して診断ビューおよび表の問合せの認可を付与されたユーザーから認可を取り消します。 - UNAUTHORIZE_MAINTENANCE_USERプロシージャ
UNAUTHORIZE_MAINTENANCE_USERプロシージャは、Oracle Database Vault環境で情報ライフサイクル管理(ILM)操作を実行するための認可を与えられたユーザーから権限を取り消します。 - UNAUTHORIZE_PREPROCESSORプロシージャ
UNAUTHORIZE_PREPROCESSORプロシージャは、外部表からプリプロセッサ・プログラムを実行する認可をユーザーから取り消します。 - UNAUTHORIZE_PROXY_USERプロシージャ
UNAUTHORIZE_PROXY_USERプロシージャは、DBMS_MACADM.AUTHORIZE_PROXY_USERプロシージャによってプロキシの認可を付与されたユーザーから認可を取り消します。 - UNAUTHORIZE_SCHEDULER_USERプロシージャ
UNAUTHORIZE_SCHEDULER_USERプロシージャは、AUTHORIZE_SCHEDULER_USERプロシージャによって付与された権限を取り消します。 - UNAUTHORIZE_TTS_USERプロシージャ
UNAUTHORIZE_TTS_USERプロシージャは、Oracle Data Pumpトランスポータブル表領域操作を実行する認可を以前に付与されたユーザーを認可から削除します。
22.1.1 ADD_NLS_DATAプロシージャ
ADD_NLS_DATAプロシージャは、Oracle Database Vaultに新しい言語を追加します。
構文
DBMS_MACADM.ADD_NLS_DATA( language IN VARCHAR );
パラメータ
表22-1 ADD_NLS_DATA
| パラメータ | 説明 |
|---|---|
|
|
次のいずれかの設定を入力します。(このパラメータでは大/小文字は区別されません。)
|
例
EXEC DBMS_MACADM.ADD_NLS_DATA('french');22.1.2 AUTH_DATAPUMP_CREATE_USERプロシージャ
AUTH_DATAPUMP_CREATE_USERプロシージャは、Oracle Data Pumpユーザーに対して、Oracle Data Pumpのインポート操作中のユーザーの作成を認可します。
このプロシージャは、impdpユーティリティにのみ適用されます。
構文
DBMS_MACADM.AUTH_DATAPUMP_CREATE_USER( uname IN VARCHAR2);
パラメータ
表22-2 AUTH_DATAPUMP_CREATE_USER
| パラメータ | 説明 |
|---|---|
|
|
インポート操作中にユーザーを作成する必要があるOracle Data Pumpユーザーの名前。 ユーザーの現在のステータスを検索するには、 |
例
EXEC DBMS_MACADM.AUTH_DATAPUMP_CREATE_USER('DP_MGR');22.1.3 AUTH_DATAPUMP_GRANTプロシージャ
AUTH_DATAPUMP_GRANTプロシージャは、Oracle Data Pumpユーザーに対して、Oracle Data Pumpのインポート操作中のOracle Database Vaultで保護されたロールおよびシステム権限の付与を認可します。
このプロシージャは、impdpユーティリティにのみ適用されます。この認可では、DV_OWNER、DV_ADMIN、DV_MONITORなど、Oracle Database Vaultのロールはカバーされないことに注意してください。
構文
DBMS_MACADM.AUTH_DATAPUMP_GRANT( uname IN VARCHAR2);
パラメータ
表22-3 AUTH_DATAPUMP_GRANT
| パラメータ | 説明 |
|---|---|
|
|
インポート操作中にロールおよび権限をユーザーに付与する必要があるOracle Data Pumpユーザーの名前。 ユーザーの現在のステータスを検索するには、 |
例
EXEC DBMS_MACADM.AUTH_DATAPUMP_GRANT('DP_MGR');22.1.4 AUTHORIZE_DATAPUMP_USERプロシージャ
AUTHORIZE_DATAPUMP_USERプロシージャは、Oracle Database Vaultが有効な場合に、ユーザーがOracle Data Pump操作を実行することを認可します。
expdpとimpdpの両方のユーティリティに適用されます。
Oracle Database Vault環境でOracle Data Pumpを使用するために必要なその他の認可のレベルなど、使用方法の詳細は、Database VaultにおけるOracle Data Pumpの通常操作をユーザーまたはロールに認可を参照してください。
構文
DBMS_MACADM.AUTHORIZE_DATAPUMP_USER( user_name IN VARCHAR2, schema_name IN VARCHAR2 DEFAULT NULL, table_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表22-4 AUTHORIZE_DATAPUMP_USER
| パラメータ | 説明 |
|---|---|
|
|
権限を付与するOracle Data Pumpユーザーの名前。 Oracle Data Pumpの使用権限( SELECT GRANTEE, GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE LIKE '%FULL%' |
|
|
Oracle Data Pumpユーザーがエクスポートまたはインポートする必要のあるデータベース・スキーマ名。このパラメータを省略すると、データベース内のすべてのスキーマをエクスポートおよびインポートするグローバル権限がユーザーに付与されます。この場合、ユーザーに |
|
|
|
例
EXEC DBMS_MACADM.AUTHORIZE_DATAPUMP_USER('DP_MGR');
EXEC DBMS_MACADM.AUTHORIZE_DATAPUMP_USER('DP_MGR', 'HR');
EXEC DBMS_MACADM.AUTHORIZE_DATAPUMP_USER('DP_MGR', 'HR', 'EMPLOYEES'); 22.1.5 AUTHORIZE_DBCAPTUREプロシージャ
AUTHORIZE_DBCAPTUREプロシージャは、Oracle Database Replayのワークロード取得操作を実行する認可をユーザーに付与します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_DBCAPTURE_AUTHデータ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.AUTHORIZE_DBCAPTURE( uname IN VARCHAR2);
パラメータ
表22-5 AUTHORIZE_DBCAPTURE
| パラメータ | 説明 |
|---|---|
|
|
Database Replayのワークロード取得認可を付与するユーザーの名前 |
例22-1 例
EXEC DBMS_MACADM.AUTHORIZE_DBCAPTURE('PFITCH');
22.1.6 AUTHORIZE_DBREPLAYプロシージャ
AUTHORIZE_DBREPLAYプロシージャは、Oracle Database Replayのワークロード・リプレイ操作を実行する認可をユーザーに付与します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_DBREPLAY_AUTHデータ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.AUTHORIZE_DBREPLAY( uname IN VARCHAR2);
パラメータ
表22-6 AUTHORIZE_DBREPLAY
| パラメータ | 説明 |
|---|---|
|
|
Database Replayのワークロード・リプレイ認可を付与するユーザーの名前 |
例22-2 例
EXEC DBMS_MACADM.AUTHORIZE_DBREPLAY('PFITCH');
22.1.7 AUTHORIZE_DDLプロシージャ
AUTHORIZE_DDLプロシージャは、指定したスキーマに対してデータ定義言語(DDL)文を実行する認可をユーザーに付与します。
DDLの認可により、権限受領者は、レルムを認可されたユーザー、またはOracle Database Vaultロールを付与されたユーザーに対してDDL操作を実行できます。ただし、DDL認可では、権限受領者がレルムで保護されたスキーマに対してDDL操作を実行することはできません。このような操作を有効化するには、レルムに対してユーザーを認可する必要があります。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_DDL_AUTHデータ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.AUTHORIZE_DDL( user_name IN VARCHAR2, schema_name IN VARCHAR2);
パラメータ
表22-7 AUTHORIZE_DDL
| パラメータ | 説明 |
|---|---|
|
|
DDL認可を付与するユーザーの名前。 |
|
|
ユーザーがDDL文を実行するデータベース・スキーマの名前。すべてのスキーマを指定するには |
例
次の例では、ユーザーpsmithはすべてのスキーマでDDL文を実行できます。
EXEC DBMS_MACADM.AUTHORIZE_DDL('psmith', '%');
この例では、ユーザーpsmithはHRスキーマでのみDDL文を実行できます。
EXEC DBMS_MACADM.AUTHORIZE_DDL('psmith', 'HR');22.1.8 AUTHORIZE_DIAGNOSTIC_ADMINプロシージャ
AUTHORIZE_DIAGNOSTIC_ADMINプロシージャは、診断ビューおよび表を問い合せる認可をユーザーに付与します。
これらのビューおよび表を次に示します。
| ビューおよび表V$ | ビューおよび表X$ |
|---|---|
|
|
|
|
|
|
|
|
|
この認可がないと、ユーザーがこれらの表およびビューを問い合せた場合、値は返されません。
構文
DBMS_MACADM.AUTHORIZE_DIAGNOSTIC_ADMIN( uname IN VARCHAR2);
パラメータ
表22-8 AUTHORIZE_DIAGNOSTIC_ADMIN
| パラメータ | 説明 |
|---|---|
|
|
権限を付与するユーザーの名前。 |
例
EXEC DBMS_MACADM.AUTHORIZE_DIAGNOSTIC_ADMIN('PFITCH'); 22.1.9 AUTHORIZE_MAINTENANCE_USERプロシージャ
AUTHORIZE_MAINTENANCE_USERプロシージャは、Oracle Database Vault環境で情報ライフサイクル管理(ILM)操作を実行するための認可をユーザーに与えます。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_MAINTENANCE_AUTHビューに問い合せます。
構文
DBMS_MACADM.AUTHORIZE_MAINTENANCE_USER( uname IN VARCHAR2, sname IN VARCHAR2 DEFAULT NULL, objname IN VARCHAR2 DEFAULT NULL, objtype IN VARCHAR2 DEFAULT NULL, action IN VARCHAR2 DEFAULT NULL);
パラメータ
表22-9 AUTHORIZE_MAINTENANCE_USER
| パラメータ | 説明 |
|---|---|
|
|
権限を付与するユーザーの名前 |
|
|
メンテナンス操作を実行するデータベース・スキーマの名前。すべてのスキーマを指定するには |
|
|
メンテナンス操作を実行する、 |
|
|
|
|
|
メンテナンス・アクション。情報ライフサイクル管理の場合は |
例
次の例では、ユーザーpsmithに、HR.EMPLOYEES表のILM機能を管理するためのDatabase Vault認可を与えることができます。
BEGIN DBMS_MACADM.AUTHORIZE_MAINTENANCE_USER ( uname => 'psmith', sname => 'HR', objname => 'EMPLOYEES', objtype => 'TABLE', action => 'ILM'); END; /
22.1.10 AUTHORIZE_PREPROCESSORプロシージャ
AUTHORIZE_PREPROCESSORプロシージャは、外部表からプリプロセッサ・プログラムを実行する認可をユーザーに付与します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_PREPROCESSOR_AUTHデータ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.AUTHORIZE_PREPROCESSOR( uname IN VARCHAR2);
パラメータ
表22-10 AUTHORIZE_PREPROCESSOR
| パラメータ | 説明 |
|---|---|
|
|
外部表からプリプロセッサ・プログラムを実行する認可を付与するユーザーの名前 |
例22-3 例
EXEC DBMS_MACADM.AUTHORIZE_PREPROCESSOR('PFITCH');
22.1.11 AUTHORIZE_PROXY_USERプロシージャ
AUTHORIZE_PROXY_USERプロシージャは、プロキシ・ユーザーにデータベース認可がある場合、他のユーザー・アカウントをプロキシする認可をプロキシ・ユーザーに付与します。
たとえば、CREATE SESSION権限は、有効なデータベース認可です。
AUTHORIZE_PROXY_USERは、特定のユーザーが別のユーザーのプロキシとして接続できるかどうかを制御しません。その部分はGRANT CONNECT THROUGHによって制御されます。これは、DV_ACCTMGRロールを持つユーザーのみが発行できます。そのかわり、AUTHORIZE_PROXY_USERは、ターゲット・ユーザーが持つすべてのDatabase Vault認可をプロキシ・ユーザーが継承できるかどうかを制御します。たとえば、プロキシ・ユーザーhr_proxy_userがユーザーHRとして正常に接続しているとします。この場合、hr_proxy_userはHRとして、HRがアクセス権を持つすべてのオブジェクトにアクセスできます。ただし、ターゲット・オブジェクトがDatabase Vaultによって保護され、かつ、それに対するアクセスがHRに認可されている場合は、hr_proxy_userにHRのプロキシ認可が付与されている場合にのみ、hr_proxy_userはそのオブジェクトにアクセスできます。hr_proxy_userにHRのプロキシ認可が付与されていない場合は、HRとして接続した後でも、hr_proxy_userはHRがアクセスを認可されているDatabase Vaultで保護されたオブジェクトにはアクセスできません。
AUTHORIZE_PROXY_USERを使用して認可を与えられているユーザーについて情報を確認するには、DBA_DV_PROXY_AUTHビューに問い合せます。
構文
DBMS_MACADM.AUTHORIZE_PROXY_USER( proxy_user IN VARCHAR2, user_name IN VARCHAR2);
パラメータ
表22-11 AUTHORIZE_PROXY_USER
| パラメータ | 説明 |
|---|---|
|
|
プロキシ・ユーザーの名前。 |
|
|
|
例
次の例では、プロキシ・ユーザーprestonはすべてのユーザーをプロキシできます。
EXEC DBMS_MACADM.AUTHORIZE_PROXY_USER('preston', '%');
この例では、プロキシ・ユーザーprestonはデータベース・ユーザーdkentのみをプロキシできます。
EXEC DBMS_MACADM.AUTHORIZE_PROXY_USER('preston', 'dkent');22.1.12 AUTHORIZE_SCHEDULER_USERプロシージャ
AUTHORIZE_SCHEDULER_USERプロシージャは、Oracle Database Vaultが有効な場合に、データベース・ジョブをスケジュールする権限をユーザーに付与します。
この権限は、データベース・ジョブのスケジュール権限を持つすべてのユーザーに適用されます。この権限には、CREATE JOB、CREATE ANY JOB、CREATE EXTERNAL JOB、EXECUTE ANY PROGRAM、EXECUTE ANY CLASS、MANAGE SCHEDULERが含まれます。Oracle Database Vault環境でデータベース・ジョブをスケジュールするために必要な権限レベルなど、使用方法の詳細は、「Oracle Database VaultでのOracle Schedulerの使用」を参照してください。
構文
DBMS_MACADM.AUTHORIZE_SCHEDULER_USER( user_name IN VARCHAR2, schema_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表22-12 AUTHORIZE_SCHEDULER_USER
| パラメータ | 説明 |
|---|---|
|
|
権限を付与するユーザーの名前。 ジョブのスケジュール権限を持つユーザーのリストを検索するには、 |
|
|
ジョブをスケジュールするデータベース・スキーマの名前。このパラメータを省略すると、データベース内のすべてのスキーマをスケジュールするグローバル権限がユーザーに付与されます。 |
例
次の例では、ユーザーJOB_MGRにすべてのスキーマでジョブを実行する権限を付与します。
EXEC DBMS_MACADM.AUTHORIZE_SCHEDULER_USER('JOB_MGR');
次の例では、ユーザーJOB_MGRにHRスキーマでのみジョブを実行する権限を付与します。
EXEC DBMS_MACADM.AUTHORIZE_SCHEDULER_USER('JOB_MGR', 'HR');22.1.13 AUTHORIZE_TTS_USERプロシージャ
AUTHORIZE_TTS_USERプロシージャは、Oracle Database Vaultが有効な場合に、表領域に対してOracle Data Pumpトランスポータブル表領域操作を実行するようにユーザーを認可します。
EXPDPとIMPDPの両方のユーティリティに適用されます。
Oracle Database Vault環境でOracle Data Pumpを使用してトランスポータブル操作を実行するために必要なその他の認可レベルなど、使用方法に関するすべての情報は、Database VaultにおけるOracle Data Pumpの通常操作をユーザーまたはロールに認可に記載されています。
構文
DBMS_MACADM.AUTHORIZE_TTS_USER( uname IN VARCHAR2, tsname IN VARCHAR2);
パラメータ
表22-13 AUTHORIZE_TTS_USER
| パラメータ | 説明 |
|---|---|
|
|
Oracle Data Pumpトランスポータブル表領域操作を実行するために認可するユーザーの名前。 ユーザーとその現在の権限のリストを検索するには、 |
|
|
表領域のリストを検索するには、 |
例
EXEC DBMS_MACADM.AUTHORIZE_TTS_USER('PSMITH', 'HR_TS');22.1.14 DISABLE_DVプロシージャ
DISABLE_DVプロシージャは、Oracle Database Vaultを無効にします。
このプロシージャの実行後、データベースを再起動する必要があります。
構文
DBMS_MACADM.DISABLE_DV;
パラメータ
なし
例
EXEC DBMS_MACADM.DISABLE_DV;
22.1.15 DISABLE_DV_DICTIONARY_ACCTSプロシージャ
DISABLE_DV_DICTIONARY_ACCTSプロシージャでは、どのユーザーもDVSYSまたはDVFスキーマ・ユーザーとしてデータベースにログインできません。
これらの2つのアカウントはデフォルトでロックされます。DV_OWNERロールを付与されているユーザーのみがこのプロシージャを実行できます。ユーザーがDVSYSおよびDVFにログインできるかどうかのステータスを確認するには、DBA_DV_DICTIONARY_ACCTSデータ・ディクショナリ・ビューに問い合せます。セキュリティをさらに強化するには、このプロシージャを実行して、DVSYSおよびDVFスキーマの保護を改善します。無効化はすぐに行われるため、このプロシージャの実行後にデータベースを再起動する必要はありません。
構文
DBMS_MACADM.DISABLE_DV_DICTIONARY_ACCTS;
パラメータ
なし
例
EXEC DBMS_MACADM.DISABLE_DV_DICTIONARY_ACCTS;
22.1.16 DISABLE_DV_PATCH_ADMIN_AUDITプロシージャ
DISABLE_DV_PATCH_ADMIN_AUDITプロシージャは、DV_PATCH_ADMINロールを持つユーザーによるアクションのレルム、コマンド・ルールおよびルール・セットの監査を無効にします。
このプロシージャは、失敗したアクションではなく、このユーザーの成功したアクションを無効にします。DV_PATCH_ADMINユーザーでデータベース・パッチ操作が完了した後、このプロシージャを実行する必要があります。監査が有効になっているかどうかを判断するには、DBA_DV_PATCH_AUDITデータ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.DISABLE_DV_PATCH_ADMIN_AUDIT;
パラメータ
なし
例
EXEC DBMS_MACADM.DISABLE_DV_PATCH_ADMIN_AUDIT;
22.1.17 DISABLE_ORADEBUGプロシージャ
DISABLE_ORADEBUGプロシージャは、Oracle Database Vault環境でORADEBUGユーティリティの使用を無効にします。
無効化はすぐに行われるため、このプロシージャの実行後にデータベースを再起動する必要はありません。ORADEBUGユーティリティをDatabase Vaultで利用できるかどうかのステータスを確認するには、DVYS.DBA_DV_ORADEBUGデータ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.DISABLE_ORADEBUG;
パラメータ
なし
例
EXEC DBMS_MACADM.DISABLE_ORADEBUG;
22.1.18 ENABLE_DVプロシージャ
ENABLE_DVプロシージャは、Oracle Database VaultおよびOracle Label Securityを有効にします。
アプリケーション・コンテナでDBMS_MACADM.ENABLE_DVを実行する場合は、アプリケーション・アクションの外部のアプリケーション・コンテナで実行する必要があります。
このプロシージャの実行後、データベースを再起動する必要があります。
構文
DBMS_MACADM.ENABLE_DV( strict_mode IN VARCHAR2 DEFAULT);
パラメータ
表22-14 ENABLE_DV
| パラメータ | 説明 |
|---|---|
|
|
マルチテナント環境では、次のいずれかのモードを指定します。
マルチテナント環境ですべてのPDBにこの設定を適用するには、CDBルートで 非マルチテナント環境では、このパラメータは省略します。 |
例
次の例では、Oracle Database Vaultを通常モードで有効にします。
EXEC DBMS_MACADM.ENABLE_DV;
この例では、マルチテナント環境で、厳密モードでOracle Database Vaultを有効にします。
EXEC DBMS_MACADM.ENABLE_DV (strict_mode => 'y');
22.1.19 ENABLE_DV_PATCH_ADMIN_AUDITプロシージャ
ENABLE_DV_PATCH_ADMIN_AUDITプロシージャは、DV_PATCH_ADMINロールを持つユーザーによるアクションのレルム、コマンド・ルールおよびルール・セットの監査を有効にします。
このプロシージャはパッチのアップグレード時にこれらのユーザーのアクションを監査するように設計されています。この監査が有効になっているかどうかを確認するには、DBA_DV_PATCH_AUDITデータ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.ENABLE_DV_PATCH_ADMIN_AUDIT;
パラメータ
なし
例
EXEC DBMS_MACADM.ENABLE_DV_PATCH_ADMIN_AUDIT;
22.1.20 ENABLE_DV_DICTIONARY_ACCTSプロシージャ
ENABLE_DV_DICTIONARY_ACCTSプロシージャにより、ユーザーはDVSYSまたはDVFユーザーとしてデータベースにログインできます。
デフォルトで、DVSYSおよびDVFアカウントはロックされています。
DV_OWNERロールを付与されているユーザーのみがこのプロシージャを実行できます。ユーザーがDVSYSおよびDVFにログインできるかどうかのステータスを確認するには、DBA_DV_DICTIONARY_ACCTSデータ・ディクショナリ・ビューに問い合せます。セキュリティをさらに強化するには、DVSYSおよびDVFスキーマの保護を改善する必要がある場合にこのプロシージャを実行するのみです。有効化はすぐに行われるため、このプロシージャの実行後にデータベースを再起動する必要はありません。
構文
DBMS_MACADM.ENABLE_DV_DICTIONARY_ACCTS;
パラメータ
なし
例
EXEC DBMS_MACADM.ENABLE_DV_DICTIONARY_ACCTS;
22.1.21 ENABLE_ORADEBUGプロシージャ
ENABLE_ORADEBUGプロシージャは、Oracle Database Vault環境でORADEBUGユーティリティの使用を有効にします。
有効化はすぐに行われるため、このプロシージャの実行後にデータベースを再起動する必要はありません。ORADEBUGユーティリティをDatabase Vaultで利用できるかどうかのステータスを確認するには、DVYS.DBA_DV_ORADEBUGデータ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.ENABLE_ORADEBUG;
パラメータ
なし
例
EXEC DBMS_MACADM.ENABLE_ORADEBUG;
22.1.22 UNAUTH_DATAPUMP_CREATE_USERプロシージャ
UNAUTH_DATAPUMP_CREATE_USERプロシージャは、Oracle Data Pumpユーザーから、Oracle Data Pumpのインポート操作中にユーザーを作成する認可を削除します。
このプロシージャは、impdpユーティリティにのみ適用されます。
構文
DBMS_MACADM.UNAUTH_DATAPUMP_CREATE_USER( uname IN VARCHAR2);
パラメータ
表22-15 UNAUTH_DATAPUMP_CREATE_USER
| パラメータ | 説明 |
|---|---|
|
|
認可を削除する必要があるOracle Data Pumpユーザーの名前。 ユーザーの現在のステータスを検索するには、 |
例
EXEC DBMS_MACADM.UNAUTH_DATAPUMP_CREATE_USER('DP_MGR');22.1.23 UNAUTH_DATAPUMP_GRANTプロシージャ
UNAUTH_DATAPUMP_GRANTプロシージャは、Oracle Data Pumpユーザーから、Oracle Data Pumpのインポート操作中にOracle Database Vaultで保護されたロールおよびシステム権限を付与する認可を削除します。
このプロシージャは、impdpユーティリティにのみ適用されます。
構文
DBMS_MACADM.UNAUTH_DATAPUMP_GRANT( uname IN VARCHAR2);
パラメータ
表22-16 UNAUTH_DATAPUMP_GRANT
| パラメータ | 説明 |
|---|---|
|
|
認可を削除する必要があるOracle Data Pumpユーザーの名前。 ユーザーの現在のステータスを検索するには、 |
例
EXEC DBMS_MACADM.UNAUTH_DATAPUMP_GRANT('DP_MGR');22.1.24 UNAUTHORIZE_DATAPUMP_USERプロシージャ
UNAUTHORIZE_DATAPUMP_USERプロシージャは、AUTHORIZE_DATAPUMP_USERプロシージャによって付与された権限を取り消します。
このプロシージャを実行する場合は、同等のAUTHORIZE_DATAPUMP_USERプロシージャと設定が完全に一致することを確認してください。
たとえば、次の2つのプロシージャはパラメータが一致するため、機能します。
EXEC DBMS_MACADM.AUTHORIZE_DATAPUMP_USER('DP_MGR');
EXEC DBMS_MACADM.UNAUTHORIZE_DATAPUMP_USER('DP_MGR');
しかし、次のプロシージャはパラメータが一致しないため、UNAUTHORIZE_DATAPUMP_USERプロシージャは機能しません。
EXEC DBMS_MACADM.AUTHORIZE_DATAPUMP_USER('JSMITH');
EXEC DBMS_MACADM.UNAUTHORIZE_DATAPUMP_USER('JSMITH', 'HR');構文
DBMS_MACADM.UNAUTHORIZE_DATAPUMP_USER( user_name IN VARCHAR2, schema_name IN VARCHAR2 DEFAULT NULL, table_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表22-17 UNAUTHORIZE_DATAPUMP_USER
| パラメータ | 説明 |
|---|---|
|
|
権限を取り消すOracle Data Pumpユーザーの名前。
SELECT * FROM DBA_DV_DATAPUMP_AUTH; |
|
|
Oracle Data Pumpユーザーがエクスポートまたはインポート権限を付与されているデータベース・スキーマ名。 |
|
|
|
例
EXEC DBMS_MACADM.UNAUTHORIZE_DATAPUMP_USER('JSMITH');
EXEC DBMS_MACADM.UNAUTHORIZE_DATAPUMP_USER('JSMITH', 'HR');
EXEC DBMS_MACADM.UNAUTHORIZE_DATAPUMP_USER('JSMITH', 'HR', 'SALARY');22.1.25 UNAUTHORIZE_DBCAPTUREプロシージャ
UNAUTHORIZE_DBCAPTUREプロシージャは、Oracle Database Replayのワークロード取得操作を実行する認可をユーザーから取り消します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_DBCAPTURE_AUTHデータ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.UNAUTHORIZE_DBCAPTURE( uname IN VARCHAR2);
パラメータ
表22-18 UNAUTHORIZE_DBCAPTURE
| パラメータ | 説明 |
|---|---|
|
|
Database Replayのワークロード取得認可を取り消すユーザーの名前 |
例22-4 例
EXEC DBMS_MACADM.UNAUTHORIZE_DBCAPTURE('PFITCH');
22.1.26 UNAUTHORIZE_DBREPLAYプロシージャ
UNAUTHORIZE_DBREPLAYプロシージャは、Oracle Database Replayのワークロード・リプレイ操作を実行する認可をユーザーから取り消します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_DBREPLAY_AUTHデータ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.UNAUTHORIZE_DBREPLAY( uname IN VARCHAR2);
パラメータ
表22-19 UNAUTHORIZE_DBREPLAY
| パラメータ | 説明 |
|---|---|
|
|
Database Replayのワークロード・リプレイ認可を取り消すユーザーの名前 |
例22-5 例
EXEC DBMS_MACADM.UNAUTHORIZE_DBREPLAY('PFITCH');
22.1.27 UNAUTHORIZE_DDLプロシージャ
UNAUTHORIZE_DDLプロシージャは、DBMS_MACDM.AUTHORIZE_DDLプロシージャを使用してDDL文を実行する認可を付与されたユーザーから認可を取り消します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_DDL_AUTHデータ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.UNAUTHORIZE_DDL( user_name IN VARCHAR2, schema_name IN VARCHAR2);
パラメータ
表22-20 UNAUTHORIZE_DDL
| パラメータ | 説明 |
|---|---|
|
|
DDL認可を取り消すユーザーの名前。 |
|
|
ユーザーがDDL文を実行するデータベース・スキーマの名前。すべてのスキーマを指定するには |
例
次の例では、すべてのスキーマについて、DDL文実行の認可をpsmithユーザーから取り消します。
EXEC DBMS_MACADM.UNAUTHORIZE_DDL('psmith', '%');
この例では、HRスキーマについてのみ、DDL文実行の認可をpsmithユーザーから取り消します。
EXEC DBMS_MACADM.UNAUTHORIZE_DDL('psmith', 'HR');22.1.28 UNAUTHORIZE_DIAGNOSTIC_ADMINプロシージャ
UNAUTHORIZE_DIAGNOSTIC_ADMINプロシージャは、DBMS_MACADM.AUTHORIZE_DIAGNOSTIC_ADMINプロシージャを使用して診断ビューおよび表の問合せの認可を付与されたユーザーから認可を取り消します。
これらのビューおよび表を次に示します。
| ビューおよび表V$ | ビューおよび表X$ |
|---|---|
|
|
|
|
|
|
|
|
|
この認可がないと、ユーザーがこれらの表およびビューを問い合せた場合、値は返されません。
構文
DBMS_MACADM.UNAUTHORIZE_DIAGNOSTIC_ADMIN( uname IN VARCHAR2);
パラメータ
表 22-21 UNAUTHORIZE_DIAGNOSTIC_ADMIN
| パラメータ | 説明 |
|---|---|
|
|
認可を取り消すユーザーの名前。 |
例
EXEC DBMS_MACADM.UNAUTHORIZE_DIAGNOSTIC_ADMIN('PFITCH'); 22.1.29 UNAUTHORIZE_MAINTENANCE_USERプロシージャ
UNAUTHORIZE_MAINTENANCE_USERプロシージャは、Oracle Database Vault環境で情報ライフサイクル管理(ILM)操作を実行するための認可を与えられたユーザーから権限を取り消します。
ILM認可の設定について情報を確認するには、DBA_DV_MAINTENANCE_AUTHビューに問い合せます。
このプロシージャを実行する場合は、同等のAUTHORIZE_MAINTENANCE_USERプロシージャと設定が完全に一致することを確認してください。
たとえば、次の2つのプロシージャは、パラメータ設定が一致するため機能します。
EXEC DBMS_MACADM.AUTHORIZE_MAINTENANCE_USER('psmith', 'OE', 'ORDERS', 'TABLE', 'ILM');
EXEC DBMS_MACADM.UNAUTHORIZE_MAINTENANCE_USER('psmith', 'OE', 'ORDERS', 'TABLE', 'ILM');しかしながら、次の2つの文は、設定が一致しないため失敗します。
EXEC DBMS_MACADM.AUTHORIZE_MAINTENANCE_USER('psmith', 'OE', 'ORDERS', 'TABLE', 'ILM');
EXEC DBMS_MACADM.UNAUTHORIZE_MAINTENANCE_USER('psmith', '%', '%', '%', 'ILM');構文
DBMS_MACADM.UNAUTHORIZE_MAINTENANCE_USER( uname IN VARCHAR2, sname IN VARCHAR2 DEFAULT NULL, objname IN VARCHAR2 DEFAULT NULL, objtype IN VARCHAR2 DEFAULT NULL, action IN VARCHAR2 DEFAULT NULL);
パラメータ
表22-22 UNAUTHORIZE_MAINTENANCE_USER
| パラメータ | 説明 |
|---|---|
|
|
認可を取り消すユーザーの名前 |
|
|
メンテナンス操作を実行するデータベース・スキーマの名前。すべてのスキーマを指定するには |
|
|
メンテナンス操作を実行する、 |
|
|
|
|
|
メンテナンス・アクション。情報ライフサイクル管理の場合は |
例
次の例では、Database Vaultユーザーpsmithが、どのHRスキーマ・オブジェクトでもILM操作を実行できなくなるよう、権限を取り消されます。
BEGIN DBMS_MACADM.UNAUTHORIZE_MAINTENANCE_USER ( uname => 'psmith', sname => 'HR', objname => 'EMPLOYEES', objtype => 'TABLE', action => 'ILM'); END; /
22.1.30 UNAUTHORIZE_PREPROCESSORプロシージャ
UNAUTHORIZE_PREPROCESSORプロシージャは、外部表からプリプロセッサ・プログラムを実行する認可をユーザーから取り消します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_PREPROCESSOR_AUTHデータ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.UNAUTHORIZE_PREPROCESSOR( uname IN VARCHAR2);
パラメータ
表22-23 UNAUTHORIZE_PREPROCESSOR
| パラメータ | 説明 |
|---|---|
|
|
外部表からプリプロセッサ・プログラムを実行する認可を取り消すユーザーの名前 |
例22-6 例
EXEC DBMS_MACADM.UNAUTHORIZE_PREPROCESSOR('PFITCH');
22.1.31 UNAUTHORIZE_PROXY_USERプロシージャ
UNAUTHORIZE_PROXY_USERプロシージャは、DBMS_MACADM.AUTHORIZE_PROXY_USERプロシージャによってプロキシの認可を付与されたユーザーから認可を取り消します。
構文
DBMS_MACADM.UNAUTHORIZE_PROXY_USER( proxy_user IN VARCHAR2, user_name IN VARCHAR2);
パラメータ
表22-24 UNAUTHORIZE_PROXY_USER
| パラメータ | 説明 |
|---|---|
|
|
認可を取り消すプロキシ・ユーザーの名前。 |
|
|
|
例
次の例では、すべてのユーザーをプロキシするプロキシの認可をユーザーprestonから取り消します。
DBMS_MACADM.UNAUTHORIZE_PROXY_USER('preston', '%');
この例では、データベース・ユーザーpsmithのみをプロキシするプロキシ認可をユーザーprestonから取り消します。
EXEC DBMS_MACADM.UNAUTHORIZE_PROXY_USER('preston', 'psmith');22.1.32 UNAUTHORIZE_SCHEDULER_USERプロシージャ
UNAUTHORIZE_SCHEDULER_USERプロシージャは、AUTHORIZE_SCHEDULER_USERプロシージャによって付与された権限を取り消します。
このプロシージャを実行する場合は、同等のAUTHORIZE_SCHEDULER_USERプロシージャと設定が完全に一致することを確認してください。たとえば、次の2つのプロシージャはパラメータが一致するため、機能します。
EXEC DBMS_MACADM.AUTHORIZE_SCHEDULER_USER('JOB_MGR');
EXEC DBMS_MACADM.UNAUTHORIZE_SCHEDULER_USER('JOB_MGR');
しかし、次のプロシージャはパラメータが一致しないため、UNAUTHORIZE_SCHEDULER_USERプロシージャは機能しません。
EXEC DBMS_MACADM.AUTHORIZE_SCHEDULER_USER('JOB_MGR');
EXEC DBMS_MACADM.UNAUTHORIZE_SCHEDULER_USER('JOB_MGR', 'HR');構文
DBMS_MACADM.UNAUTHORIZE_SCHEDULER_USER user_name IN VARCHAR2, schema_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表22-25 UNAUTHORIZE_SCHEDULER_USER
| パラメータ | 説明 |
|---|---|
|
|
権限を取り消す、ジョブ・スケジュール・ユーザーの名前。
SELECT * FROM DBA_DV_JOB_AUTH; |
|
|
ユーザーにジョブ・スケジュール権限が付与されているデータベース・スキーマの名前。 |
例
EXEC DBMS_MACADM.UNAUTHORIZE_SCHEDULER_USER('JOB_MGR');
EXEC DBMS_MACADM.UNAUTHORIZE_SCHEDULER_USER('JOB_MGR', 'HR');22.1.33 UNAUTHORIZE_TTS_USERプロシージャ
UNAUTHORIZE_TTS_USERプロシージャは、Oracle Data Pumpトランスポータブル表領域操作を実行する認可を以前に付与されたユーザーを認可から削除します。
構文
DBMS_MACADM.UNAUTHORIZE_TTS_USER uname IN VARCHAR2, tsname IN VARCHAR2);
パラメータ
表22-26 UNAUTHORIZE_TTS_USER
| パラメータ | 説明 |
|---|---|
|
|
Oracle Data Pumpトランスポータブル表領域操作を実行する認可対象から削除するユーザーの名前。 ユーザーとその現在の権限のリストを検索するには、 |
|
|
トランスポータブル表領域操作で使用される表領域の名前。 表領域のリストを検索するには、 |
例
EXEC DBMS_MACADM.UNAUTHORIZE_TTS_USER('PSMITH', 'HR_TS');22.2 CONFIGURE_DVの一般システム・メンテナンス・プロシージャ
CONFIGURE_DVプロシージャは、最初の2つのOracle Databaseユーザー・アカウントを構成します。このアカウントには、DV_OWNERロールとDV_ACCTMGRロールがそれぞれ付与されます。
この構成のステータスは、DBA_DV_STATUSデータ・ディクショナリ・ビューを問い合せることで確認できます。CONFIGURE_DVプロシージャを実行する前に、2つのユーザー・アカウントを作成し、そのアカウントにCREATE SESSION権限を付与します。アカウントはローカルまたは共通のいずれかになります。共通のユーザー・アカウントを作成する場合、これらのユーザーに付与されるDatabase Vaultロールは、現在のプラガブル・データベース(PDB)にのみ適用されます。CONFIGURE_DVプロシージャに対してこれらのユーザー・アカウントを参照します。
CONFIGURE_DVプロシージャは、SYSスキーマにあります。Oracleでは、前のリリースで作成した既存のOracle Database Vault構成スクリプトがこのリリースでも機能し続けるよう、シノニムDVSYS.CONFIGURE_DVが用意されています。
Oracle Database VaultをOracle Databaseに登録する準備ができたら、CONFIGURE_DVプロシージャを一度実行するのみで構いません。このプロシージャの実行後、utlrp.sqlスクリプトとDBMS_MACADM.ENABLE_DVを順に実行して、登録プロセスを完了する必要があります。セキュリティを強化するために、ここで作成する2つのアカウントをバックアップ・アカウントとして使用し、日常使用するアカウントを追加で作成することをお薦めします。詳細は、「バックアップOracle Database Vaultアカウント」を参照してください。
CONFIGURE_DVプロシージャを実行すると、DVSYSスキーマで表やパッケージの欠落などの問題が確認されます。問題が見つかった場合、ORA-47500「Database Vaultを構成できません。」エラーが生じます。このエラーが生じた場合、Oracle Database Vaultを削除して再インストールする必要があります。
同時に、CONFIGURE_DVプロシージャ、DBMS_MACADM.ENABLE_DVプロシージャ、およびutlrp.sqlスクリプトは、Oracle Database Configuration Assistant(DBCA)を使用してOracle Database VaultをOracle Databaseに登録する場合の代替となるコマンドラインになるように設計されています。
CONFIGURE_DVプロシージャはユーザーSYSとして実行する必要があります。「マルチテナント環境でのOracle DatabaseへのOracle Database Vaultの登録」では、使用するプロセスについて説明しています。
構文
CONFIGURE_DV dvowner_uname IN VARCHAR2, dvacctmgr_uname IN VARCHAR2;
パラメータ
表22-27 CONFIGURE_DV
| パラメータ | 説明 |
|---|---|
|
|
Database Vault所有者になるユーザーの名前。このユーザーには |
|
|
Database Vaultアカウント・マネージャになるユーザーの名前。このユーザーには |
例
CREATE USER dbv_owner IDENTIFIED BY password CONTAINER = CURRENT; CREATE USER dbv_acctmgr IDENTIFIED BY password CONTAINER = CURRENT; GRANT CREATE SESSION TO dbv_owner, dbv_acctmgr; BEGIN CONFIGURE_DV ( dvowner_uname => 'dbv_owner', dvacctmgr_uname => 'dbv_acctmgr'); END; /