21 Oracle Database Vaultの一般管理API
DBMS_MACADM
PL/SQLパッケージ・プロシージャおよびCONFIGURE_DV
スタンドアロン・プロシージャを使用すると、一般的なメンテナンス・タスクを実行できます。
- DBMS_MACADM一般システム・メンテナンス・プロシージャ
DBMS_MACADM
PL/SQLパッケージの一般システム・メンテナンスのプロシージャは、ユーザーの認可またはOracle Database Vaultへの新しい言語の追加などのタスクを実行します。 - CONFIGURE_DV一般システム・メンテナンス・プロシージャ
CONFIGURE_DV
プロシージャは、最初の2つのOracle Databaseユーザー・アカウントを構成します。このアカウントには、DV_OWNER
ロールとDV_ACCTMGR
ロールがそれぞれ付与されます。
21.1 DBMS_MACADM一般システム・メンテナンスのプロシージャ
DBMS_MACADM
PL/SQLパッケージの一般システム・メンテナンスのプロシージャは、ユーザーの認可またはOracle Database Vaultへの新しい言語の追加などのタスクを実行します。
- ADD_APP_EXCEPTIONプロシージャ
ADD_APP_EXCEPTION
プロシージャにより、共通ユーザーまたはパッケージはローカル・スキーマにアクセスできるようになります。 - 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で保護されたロールおよびシステム権限の付与を認可します。 - AUTH_DATAPUMP_GRANT_ROLEプロシージャ
AUTH_DATAPUMP_GRANT_ROLE
プロシージャは、Oracle Data Pumpユーザーに対して、Oracle Data Pumpのインポート操作中の特定のロールの付与を認可します。 - AUTH_DATAPUMP_GRANT_SYSPRIVプロシージャ
AUTH_DATAPUMP_GRANT_SYSPRIV
プロシージャは、Oracle Data Pumpユーザーに対して、Oracle Data Pumpのインポート操作中のシステム権限の付与を認可します。 - 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トランスポータブル表領域操作を実行するようにユーザーを認可します。 - DELETE_APP_EXCEPTIONプロシージャ
DELETE_APP_EXCEPTION
プロシージャは、Database Vault操作の制御の例外リストから共通ユーザーまたは共通ユーザーのパッケージを削除します。 - DISABLE_APP_PROTECTIONプロシージャ
DISABLE_APP_PROTECTION
プロシージャは、Database Vault操作の制御を無効にします。 - 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_APP_PROTECTIONプロシージャ
ENABLE_APP_PROTECTION
プロシージャは、Database Vault操作の制御を有効にします。 - ENABLE_DVプロシージャ
ENABLE_DV
プロシージャは、Oracle Database VaultおよびOracle Label Securityを有効にします。 - ENABLE_DV_DICTIONARY_ACCTSプロシージャ
ENABLE_DV_DICTIONARY_ACCTS
プロシージャにより、ユーザーはDVSYS
またはDVF
ユーザーとしてデータベースにログインできます。 - ENABLE_DV_PATCH_ADMIN_AUDITプロシージャ
ENABLE_DV_PATCH_ADMIN_AUDIT
プロシージャは、DV_PATCH_ADMIN
ロールを持つユーザーによるアクションのレルム、コマンド・ルールおよびルール・セットの監査を有効にします。 - 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で保護されたロールおよびシステム権限を付与する認可を削除します。 - UNAUTH_DATAPUMP_GRANT_ROLEプロシージャ
UNAUTH_DATAPUMP_GRANT_ROLE
プロシージャは、Oracle Data Pumpユーザーから、Oracle Data Pumpのインポート操作中に特定のロールを付与する認可を削除します。 - UNAUTH_DATAPUMP_GRANT_SYSPRIVプロシージャ
UNAUTH_DATAPUMP_GRANT_SYSPRIV
プロシージャは、Oracle Data Pumpユーザーから、Oracle Data Pumpのインポート操作中にシステム権限を付与する認可を削除します。 - 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トランスポータブル表領域操作を実行する認可を以前に付与されたユーザーを認可から削除します。
21.1.1 ADD_APP_EXCEPTIONプロシージャ
ADD_APP_EXCEPTION
プロシージャにより、共通ユーザーまたはパッケージはローカル・スキーマにアクセスできるようになります。
共通ユーザーに対してプラガブル・データベース(PDB)のローカル・データへのアクセスを自動的に制限するようにDatabase Vault操作の制御を構成する場合は、この手順を使用します。この手順はコンテナ全体に適用されるため、CDBルートから実行する必要があります。例外がパッケージに対するものである場合、指定したパッケージの所有者の文はローカル・スキーマにアクセスできます。
構文
DBMS_MACADM.ADD_APP_EXCEPTION( owner IN VARCHAR2, package_name IN VARCHAR2);
パラメータ
表21-1 ADD_APP_EXCEPTION
パラメータ | 説明 |
---|---|
|
例外として追加するユーザーの名前 使用可能な共通ユーザーのリストを検索するには、 |
|
ユーザー・アカウント全体ではなくパッケージを指定する場合に例外として追加するパッケージの名前。このパッケージは、 |
例
EXEC DBMS_MACADM.ADD_APP_EXCEPTION ('C##HR_ADMIN', '%'); --Applies to the user c##hr_admin EXEC DBMS_MACADM.ADD_APP_EXCEPTION('C##HR_ADMIN', 'validateHRdata'); --Applies to the package validateHRdata
21.1.2 ADD_NLS_DATAプロシージャ
ADD_NLS_DATA
プロシージャは、Oracle Database Vaultに新しい言語を追加します。
構文
DBMS_MACADM.ADD_NLS_DATA( language IN VARCHAR );
パラメータ
表21-2 ADD_NLS_DATA
パラメータ | 説明 |
---|---|
|
次のいずれかの設定を入力します。(このパラメータでは大/小文字は区別されません。)
|
例
EXEC DBMS_MACADM.ADD_NLS_DATA('french');
21.1.3 AUTH_DATAPUMP_CREATE_USERプロシージャ
AUTH_DATAPUMP_CREATE_USER
プロシージャは、Oracle Data Pumpユーザーに対して、Oracle Data Pumpのインポート操作中のユーザーの作成を認可します。
このプロシージャは、impdp
ユーティリティにのみ適用されます。
構文
DBMS_MACADM.AUTH_DATAPUMP_CREATE_USER( uname IN VARCHAR2);
パラメータ
表21-3 AUTH_DATAPUMP_CREATE_USER
パラメータ | 説明 |
---|---|
|
インポート操作中にユーザーを作成する必要があるOracle Data Pumpユーザーの名前。 ユーザーの現在のステータスを検索するには、 |
例
EXEC DBMS_MACADM.AUTH_DATAPUMP_CREATE_USER('DP_MGR');
21.1.4 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);
パラメータ
表21-4 AUTH_DATAPUMP_GRANT
パラメータ | 説明 |
---|---|
|
インポート操作中にロールおよび権限をユーザーに付与する必要があるOracle Data Pumpユーザーの名前。 ユーザーの現在のステータスを検索するには、 |
例
EXEC DBMS_MACADM.AUTH_DATAPUMP_GRANT('DP_MGR');
21.1.5 AUTH_DATAPUMP_GRANT_ROLEプロシージャ
AUTH_DATAPUMP_GRANT_ROLE
プロシージャは、Oracle Data Pumpユーザーに対して、Oracle Data Pumpのインポート操作中の特定のロールの付与を認可します。
このプロシージャは、impdp
ユーティリティにのみ適用されます。
構文
DBMS_MACADM.AUTH_DATAPUMP_GRANT_ROLE( uname IN VARCHAR2, role IN VARCHAR2 DEFAULT %);
パラメータ
表21-5 AUTH_DATAPUMP_GRANT_ROLE
パラメータ | 説明 |
---|---|
|
インポート操作中に特定のロールをユーザーに付与する必要があるOracle Data Pumpユーザーの名前。 ユーザーの現在のステータスを検索するには、 |
|
ユーザーに付与するロール。 |
例
EXEC DBMS_MACADM.AUTH_DATAPUMP_GRANT_ROLE('DP_MGR', 'DBA');
21.1.6 AUTH_DATAPUMP_GRANT_SYSPRIVプロシージャ
AUTH_DATAPUMP_GRANT_SYSPRIV
プロシージャは、Oracle Data Pumpユーザーに対して、Oracle Data Pumpのインポート操作中のシステム権限の付与を認可します。
プロシージャは、IMPDP
ユーティリティにのみ適用されます。
構文
DBMS_MACADM.AUTH_DATAPUMP_GRANT_SYSPRIV( uname IN VARCHAR2);
パラメータ
表21-6 AUTH_DATAPUMP_GRANT_SYSPRIV
パラメータ | 説明 |
---|---|
|
ユーザーの現在のステータスを検索するには、 |
例
EXEC DBMS_MACADM.AUTH_DATAPUMP_GRANT_SYSPRIV('DP_MGR');
21.1.7 AUTHORIZE_DATAPUMP_USERプロシージャ
AUTHORIZE_DATAPUMP_USER
プロシージャは、Oracle Database Vaultが有効な場合に、ユーザーがOracle Data Pump操作を実行することを認可します。
expdp
とimpdp
の両方のユーティリティに適用されます。
構文
DBMS_MACADM.AUTHORIZE_DATAPUMP_USER( user_name IN VARCHAR2, schema_name IN VARCHAR2 DEFAULT NULL, table_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表21-7 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');
21.1.8 AUTHORIZE_DBCAPTUREプロシージャ
AUTHORIZE_DBCAPTURE
プロシージャは、Oracle Database Replayのワークロード取得操作を実行する認可をユーザーに付与します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_DBCAPTURE_AUTH
データ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.AUTHORIZE_DBCAPTURE( uname IN VARCHAR2);
パラメータ
表21-8 AUTHORIZE_DBCAPTURE
パラメータ | 説明 |
---|---|
|
Database Replayのワークロード取得認可を付与するユーザーの名前 |
例21-1 例
EXEC DBMS_MACADM.AUTHORIZE_DBCAPTURE('PFITCH');
21.1.9 AUTHORIZE_DBREPLAYプロシージャ
AUTHORIZE_DBREPLAY
プロシージャは、Oracle Database Replayのワークロード・リプレイ操作を実行する認可をユーザーに付与します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_DBREPLAY_AUTH
データ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.AUTHORIZE_DBREPLAY( uname IN VARCHAR2);
パラメータ
表21-9 AUTHORIZE_DBREPLAY
パラメータ | 説明 |
---|---|
|
Database Replayのワークロード・リプレイ認可を付与するユーザーの名前 |
例21-2 例
EXEC DBMS_MACADM.AUTHORIZE_DBREPLAY('PFITCH');
21.1.10 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);
パラメータ
表21-10 AUTHORIZE_DDL
パラメータ | 説明 |
---|---|
|
DDL認可を付与するユーザーの名前。 |
|
ユーザーがDDL文を実行するデータベース・スキーマの名前。すべてのスキーマを指定するには |
例
次の例では、ユーザーpsmith
はすべてのスキーマでDDL文を実行できます。
EXEC DBMS_MACADM.AUTHORIZE_DDL('psmith', '%');
この例では、ユーザーpsmith
はHR
スキーマでのみDDL文を実行できます。
EXEC DBMS_MACADM.AUTHORIZE_DDL('psmith', 'HR');
21.1.11 AUTHORIZE_DIAGNOSTIC_ADMINプロシージャ
AUTHORIZE_DIAGNOSTIC_ADMIN
プロシージャは、診断ビューおよび表を問い合せる認可をユーザーに付与します。
これらのビューおよび表を次に示します。
ビューおよび表V$ | ビューおよび表X$ |
---|---|
|
|
|
|
|
|
この認可がないと、ユーザーがこれらの表およびビューを問い合せた場合、値は返されません。
構文
DBMS_MACADM.AUTHORIZE_DIAGNOSTIC_ADMIN( uname IN VARCHAR2);
パラメータ
表21-11 AUTHORIZE_DIAGNOSTIC_ADMIN
パラメータ | 説明 |
---|---|
|
権限を付与するユーザーの名前。 |
例
EXEC DBMS_MACADM.AUTHORIZE_DIAGNOSTIC_ADMIN('PFITCH');
21.1.12 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);
パラメータ
表21-12 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; /
21.1.13 AUTHORIZE_PREPROCESSORプロシージャ
AUTHORIZE_PREPROCESSOR
プロシージャは、外部表からプリプロセッサ・プログラムを実行する認可をユーザーに付与します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_PREPROCESSOR_AUTH
データ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.AUTHORIZE_PREPROCESSOR( uname IN VARCHAR2);
パラメータ
表21-13 AUTHORIZE_PREPROCESSOR
パラメータ | 説明 |
---|---|
|
外部表からプリプロセッサ・プログラムを実行する認可を付与するユーザーの名前 |
例21-3 例
EXEC DBMS_MACADM.AUTHORIZE_PREPROCESSOR('PFITCH');
21.1.14 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);
パラメータ
表21-14 AUTHORIZE_PROXY_USER
パラメータ | 説明 |
---|---|
|
プロキシ・ユーザーの名前。 |
|
|
例
次の例では、プロキシ・ユーザーpreston
はすべてのユーザーをプロキシできます。
EXEC DBMS_MACADM.AUTHORIZE_PROXY_USER('preston', '%');
この例では、プロキシ・ユーザーpreston
はデータベース・ユーザーdkent
のみをプロキシできます。
EXEC DBMS_MACADM.AUTHORIZE_PROXY_USER('preston', 'dkent');
21.1.15 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
が含まれます。
構文
DBMS_MACADM.AUTHORIZE_SCHEDULER_USER( user_name IN VARCHAR2, schema_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表21-15 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');
21.1.16 AUTHORIZE_TTS_USERプロシージャ
AUTHORIZE_TTS_USER
プロシージャは、Oracle Database Vaultが有効な場合に、表領域に対してOracle Data Pumpトランスポータブル表領域操作を実行するようにユーザーを認可します。
EXPDP
とIMPDP
の両方のユーティリティに適用されます。
構文
DBMS_MACADM.AUTHORIZE_TTS_USER( uname IN VARCHAR2, tsname IN VARCHAR2);
パラメータ
表21-16 AUTHORIZE_TTS_USER
パラメータ | 説明 |
---|---|
|
Oracle Data Pumpトランスポータブル表領域操作を実行するために認可するユーザーの名前。 ユーザーとその現在の権限のリストを検索するには、 |
|
表領域のリストを検索するには、 |
例
EXEC DBMS_MACADM.AUTHORIZE_TTS_USER('PSMITH', 'HR_TS');
21.1.17 DELETE_APP_EXCEPTIONプロシージャ
DELETE_APP_EXCEPTION
プロシージャは、Database Vault操作の制御の例外リストから共通ユーザーまたは共通ユーザーのパッケージを削除します。
例外リストを使用すると、ユーザーまたはパッケージがローカルPDBデータにアクセスできます。例外リストからユーザーまたはパッケージを削除すると、ユーザーまたはパッケージがPDBローカル・データからブロックされます。
構文
DBMS_MACADM.DELETE_APP_EXCEPTION( owner IN VARCHAR2, package_name IN VARCHAR2);
パラメータ
表21-17 DELETE_APP_EXCEPTION
パラメータ | 説明 |
---|---|
|
例外になることから削除するユーザーの名前 |
|
例外になることから削除するパッケージの名前 |
例
EXEC DBMS_MACADM.DELETE_APP_EXCEPTION ('C##HR_ADMIN'); --Applies to the user c##hr_admin EXEC DBMS_MACADM.DELETE_APP_EXCEPTION('C##HR_ADMIN', 'validateHRdata'); --Applies to the package validateHRdata
21.1.18 DISABLE_APP_PROTECTIONプロシージャ
DISABLE_APP_PROTECTION
プロシージャは、Database Vault操作の制御を無効にします。
構文
DBMS_MACADM.DISABLE_APP_PROTECTION( pdb_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表21-18 DISABLE_APP_PROTECTION
パラメータ | 説明 |
---|---|
|
Database Vault操作制御を無効にするプラガブル・データベース(PDB)の名前。この設定を省略すると、CDB環境内のすべてのPDBに適用されます。 使用可能なPDBのリストを検索するには、 |
例
EXEC DBMS_MACADM.DISABLE_APP_PROTECTION; --Applies to all PDBs EXEC DBMS_MACADM.DISABLE_APP_PROTECTION('hr_pdb'); --Applies to a specific PDB
関連トピック
21.1.19 DISABLE_DVプロシージャ
DISABLE_DV
プロシージャは、Oracle Database Vaultを無効にします。
このプロシージャの実行後、データベースを再起動する必要があります。
構文
DBMS_MACADM.DISABLE_DV;
パラメータ
なし
例
EXEC DBMS_MACADM.DISABLE_DV;
21.1.20 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;
21.1.21 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;
21.1.22 DISABLE_ORADEBUGプロシージャ
DISABLE_ORADEBUG
プロシージャは、Oracle Database Vault環境でORADEBUG
ユーティリティの使用を無効にします。
無効化はすぐに行われるため、このプロシージャの実行後にデータベースを再起動する必要はありません。ORADEBUG
ユーティリティをDatabase Vaultで利用できるかどうかのステータスを確認するには、DVYS.DBA_DV_ORADEBUG
データ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.DISABLE_ORADEBUG;
パラメータ
なし
例
EXEC DBMS_MACADM.DISABLE_ORADEBUG;
21.1.23 ENABLE_APP_PROTECTIONプロシージャ
ENABLE_APP_PROTECTION
プロシージャは、Database Vault操作の制御を有効にします。
構文
DBMS_MACADM.ENABLE_APP_PROTECTION( pdb_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表21-19 ENABLE_APP_PROTECTION
パラメータ | 説明 |
---|---|
|
無効になった後、1つのPDBでDatabase Vault操作の制御を再度有効にできるようになります。デフォルトでは、 使用可能なPDBのリストを検索するには、 |
例
EXEC DBMS_MACADM.ENABLE_APP_PROTECTION; --Applies to all PDBs EXEC DBMS_MACADM.ENABLE_APP_PROTECTION('hr_pdb'); --Applies to a specific PDB
関連トピック
21.1.24 ENABLE_DVプロシージャ
ENABLE_DV
プロシージャは、Oracle Database VaultおよびOracle Label Securityを有効にします。
アプリケーション・コンテナでDBMS_MACADM.ENABLE_DV
を実行する場合は、アプリケーション・アクションの外部のアプリケーション・コンテナで実行する必要があります。
このプロシージャの実行後、データベースを再起動する必要があります。
構文
DBMS_MACADM.ENABLE_DV( strict_mode IN VARCHAR2 DEFAULT);
パラメータ
表21-20 ENABLE_DV
パラメータ | 説明 |
---|---|
|
マルチテナント環境では、次のいずれかのモードを指定します。
マルチテナント環境ですべてのPDBにこの設定を適用するには、CDBルートで 非マルチテナント環境では、このパラメータは省略します。 |
例
次の例では、Oracle Database Vaultを通常モードで有効にします。
EXEC DBMS_MACADM.ENABLE_DV;
この例では、マルチテナント環境で、厳密モードでOracle Database Vaultを有効にします。
EXEC DBMS_MACADM.ENABLE_DV (strict_mode => 'y');
21.1.25 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;
21.1.26 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;
21.1.27 ENABLE_ORADEBUGプロシージャ
ENABLE_ORADEBUG
プロシージャは、Oracle Database Vault環境でORADEBUG
ユーティリティの使用を有効にします。
有効化はすぐに行われるため、このプロシージャの実行後にデータベースを再起動する必要はありません。ORADEBUG
ユーティリティをDatabase Vaultで利用できるかどうかのステータスを確認するには、DVYS.DBA_DV_ORADEBUG
データ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.ENABLE_ORADEBUG;
パラメータ
なし
例
EXEC DBMS_MACADM.ENABLE_ORADEBUG;
21.1.28 UNAUTH_DATAPUMP_CREATE_USERプロシージャ
UNAUTH_DATAPUMP_CREATE_USER
プロシージャは、Oracle Data Pumpユーザーから、Oracle Data Pumpのインポート操作中にユーザーを作成する認可を削除します。
このプロシージャは、impdp
ユーティリティにのみ適用されます。
構文
DBMS_MACADM.UNAUTH_DATAPUMP_CREATE_USER( uname IN VARCHAR2);
パラメータ
表21-21 UNAUTH_DATAPUMP_CREATE_USER
パラメータ | 説明 |
---|---|
|
認可を削除する必要があるOracle Data Pumpユーザーの名前。 ユーザーの現在のステータスを検索するには、 |
例
EXEC DBMS_MACADM.UNAUTH_DATAPUMP_CREATE_USER('DP_MGR');
21.1.29 UNAUTH_DATAPUMP_GRANTプロシージャ
UNAUTH_DATAPUMP_GRANT
プロシージャは、Oracle Data Pumpユーザーから、Oracle Data Pumpのインポート操作中にOracle Database Vaultで保護されたロールおよびシステム権限を付与する認可を削除します。
このプロシージャは、impdp
ユーティリティにのみ適用されます。
構文
DBMS_MACADM.UNAUTH_DATAPUMP_GRANT( uname IN VARCHAR2);
パラメータ
表21-22 UNAUTH_DATAPUMP_GRANT
パラメータ | 説明 |
---|---|
|
認可を削除する必要があるOracle Data Pumpユーザーの名前。 ユーザーの現在のステータスを検索するには、 |
例
EXEC DBMS_MACADM.UNAUTH_DATAPUMP_GRANT('DP_MGR');
21.1.30 UNAUTH_DATAPUMP_GRANT_ROLEプロシージャ
UNAUTH_DATAPUMP_GRANT_ROLE
プロシージャは、Oracle Data Pumpユーザーから、Oracle Data Pumpのインポート操作中に特定のロールを付与する認可を削除します。
このプロシージャは、impdp
ユーティリティにのみ適用されます。
構文
DBMS_MACADM.UNAUTH_DATAPUMP_GRANT_ROLE( uname IN VARCHAR2, role IN VARCHAR2 DEFAULT %);
パラメータ
表21-23 UNAUTH_DATAPUMP_GRANT_ROLE
パラメータ | 説明 |
---|---|
|
認可を削除する必要があるOracle Data Pumpユーザーの名前。 ユーザーの現在のステータスを検索するには、 |
|
ユーザーにインポート操作中の付与が認可されているロール。 |
例
EXEC DBMS_MACADM.UNAUTH_DATAPUMP_GRANT_ROLE('DP_MGR', 'DBA');
21.1.31 UNAUTH_DATAPUMP_GRANT_SYSPRIVプロシージャ
UNAUTH_DATAPUMP_GRANT_SYSPRIV
プロシージャは、Oracle Data Pumpユーザーから、Oracle Data Pumpのインポート操作中にシステム権限を付与する認可を削除します。
このプロシージャは、impdp
ユーティリティのみに適用されます。
構文
DBMS_MACADM.UNAUTH_DATAPUMP_GRANT_SYSPRIV( uname IN VARCHAR2);
パラメータ
表21-24 UNAUTH_DATAPUMP_GRANT_SYSPRIV
パラメータ | 説明 |
---|---|
|
認可を削除する必要があるOracle Data Pumpユーザーの名前。 ユーザーの現在のステータスを検索するには、 |
例
EXEC DBMS_MACADM.UNAUTH_DATAPUMP_GRANT_SYSPRIV('DP_MGR');
21.1.32 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);
パラメータ
表21-25 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');
21.1.33 UNAUTHORIZE_DBCAPTUREプロシージャ
UNAUTHORIZE_DBCAPTURE
プロシージャは、Oracle Database Replayのワークロード取得操作を実行する認可をユーザーから取り消します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_DBCAPTURE_AUTH
データ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.UNAUTHORIZE_DBCAPTURE( uname IN VARCHAR2);
パラメータ
表21-26 UNAUTHORIZE_DBCAPTURE
パラメータ | 説明 |
---|---|
|
Database Replayのワークロード取得認可を取り消すユーザーの名前 |
例21-4 例
EXEC DBMS_MACADM.UNAUTHORIZE_DBCAPTURE('PFITCH');
21.1.34 UNAUTHORIZE_DBREPLAYプロシージャ
UNAUTHORIZE_DBREPLAY
プロシージャは、Oracle Database Replayのワークロード・リプレイ操作を実行する認可をユーザーから取り消します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_DBREPLAY_AUTH
データ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.UNAUTHORIZE_DBREPLAY( uname IN VARCHAR2);
パラメータ
表21-27 UNAUTHORIZE_DBREPLAY
パラメータ | 説明 |
---|---|
|
Database Replayのワークロード・リプレイ認可を取り消すユーザーの名前 |
例21-5 例
EXEC DBMS_MACADM.UNAUTHORIZE_DBREPLAY('PFITCH');
21.1.35 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);
パラメータ
表21-28 UNAUTHORIZE_DDL
パラメータ | 説明 |
---|---|
|
DDL認可を取り消すユーザーの名前。 |
|
ユーザーがDDL文を実行するデータベース・スキーマの名前。すべてのスキーマを指定するには |
例
次の例では、すべてのスキーマについて、DDL文実行の認可をpsmith
ユーザーから取り消します。
EXEC DBMS_MACADM.UNAUTHORIZE_DDL('psmith', '%');
この例では、HR
スキーマについてのみ、DDL文実行の認可をpsmith
ユーザーから取り消します。
EXEC DBMS_MACADM.UNAUTHORIZE_DDL('psmith', 'HR');
21.1.36 UNAUTHORIZE_DIAGNOSTIC_ADMINプロシージャ
UNAUTHORIZE_DIAGNOSTIC_ADMIN
プロシージャは、DBMS_MACADM.AUTHORIZE_DIAGNOSTIC_ADMIN
プロシージャを使用して診断ビューおよび表の問合せの認可を付与されたユーザーから認可を取り消します。
これらのビューおよび表を次に示します。
ビューおよび表V$ | ビューおよび表X$ |
---|---|
|
|
|
|
|
|
この認可がないと、ユーザーがこれらの表およびビューを問い合せた場合、値は返されません。
構文
DBMS_MACADM.UNAUTHORIZE_DIAGNOSTIC_ADMIN( uname IN VARCHAR2);
パラメータ
表 21-29 UNAUTHORIZE_DIAGNOSTIC_ADMIN
パラメータ | 説明 |
---|---|
|
認可を取り消すユーザーの名前。 |
例
EXEC DBMS_MACADM.UNAUTHORIZE_DIAGNOSTIC_ADMIN('PFITCH');
21.1.37 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);
パラメータ
表21-30 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; /
21.1.38 UNAUTHORIZE_PREPROCESSORプロシージャ
UNAUTHORIZE_PREPROCESSOR
プロシージャは、外部表からプリプロセッサ・プログラムを実行する認可をユーザーから取り消します。
この認可を与えられているユーザーについて情報を確認するには、DBA_DV_PREPROCESSOR_AUTH
データ・ディクショナリ・ビューに問い合せます。
構文
DBMS_MACADM.UNAUTHORIZE_PREPROCESSOR( uname IN VARCHAR2);
パラメータ
表21-31 UNAUTHORIZE_PREPROCESSOR
パラメータ | 説明 |
---|---|
|
外部表からプリプロセッサ・プログラムを実行する認可を取り消すユーザーの名前 |
例21-6 例
EXEC DBMS_MACADM.UNAUTHORIZE_PREPROCESSOR('PFITCH');
21.1.39 UNAUTHORIZE_PROXY_USERプロシージャ
UNAUTHORIZE_PROXY_USER
プロシージャは、DBMS_MACADM.AUTHORIZE_PROXY_USER
プロシージャによってプロキシの認可を付与されたユーザーから認可を取り消します。
構文
DBMS_MACADM.UNAUTHORIZE_PROXY_USER( proxy_user IN VARCHAR2, user_name IN VARCHAR2);
パラメータ
表21-32 UNAUTHORIZE_PROXY_USER
パラメータ | 説明 |
---|---|
|
認可を取り消すプロキシ・ユーザーの名前。 |
|
|
例
次の例では、すべてのユーザーをプロキシするプロキシの認可をユーザーpreston
から取り消します。
DBMS_MACADM.UNAUTHORIZE_PROXY_USER('preston', '%');
この例では、データベース・ユーザーpsmith
のみをプロキシするプロキシ認可をユーザーpreston
から取り消します。
EXEC DBMS_MACADM.UNAUTHORIZE_PROXY_USER('preston', 'psmith');
21.1.40 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);
パラメータ
表21-33 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');
21.1.41 UNAUTHORIZE_TTS_USERプロシージャ
UNAUTHORIZE_TTS_USER
プロシージャは、Oracle Data Pumpトランスポータブル表領域操作を実行する認可を以前に付与されたユーザーを認可から削除します。
構文
DBMS_MACADM.UNAUTHORIZE_TTS_USER uname IN VARCHAR2, tsname IN VARCHAR2);
パラメータ
表21-34 UNAUTHORIZE_TTS_USER
パラメータ | 説明 |
---|---|
|
Oracle Data Pumpトランスポータブル表領域操作を実行する認可対象から削除するユーザーの名前。 ユーザーとその現在の権限のリストを検索するには、 |
|
トランスポータブル表領域操作で使用される表領域の名前。 表領域のリストを検索するには、 |
例
EXEC DBMS_MACADM.UNAUTHORIZE_TTS_USER('PSMITH', 'HR_TS');
21.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データベースでOracle Database Vaultを構成して有効化する準備が整ったら、CONFIGURE_DV
プロシージャを1度実行するのみで構いません。このプロシージャの実行後、utlrp.sql
スクリプトとDBMS_MACADM.ENABLE_DV
を順に実行して、登録プロセスを完了する必要があります。セキュリティを強化するために、ここで作成する2つのアカウントをバックアップ・アカウントとして使用し、日常使用するアカウントを追加で作成することをお薦めします。詳細は、「バックアップOracle Database Vaultアカウント」を参照してください。
CONFIGURE_DV
の実行後に、入力した設定を変更する場合、ユーザーまたはDV_OWNER
ロールを持つ他のユーザーはDatabase Vaultを無効にしてから、SYSDBA
またはSYSOPER
管理権限を持つ管理者にデータベースの再起動を依頼する必要があります。マルチテナント環境で作業している場合、通常、ユーザーSYS
として、CONTAINER
句をALL
に設定してDV_OWNER
ユーザーにDV_OWNER
ロールを付与します。
CONFIGURE_DV
プロシージャを実行すると、DVSYS
スキーマで表やパッケージの欠落などの問題が確認されます。問題が見つかった場合、ORA-47500「Database Vaultを構成できません。」
エラーが生じます。この場合、CDB$ROOT
および関連するPDBでcatmac.sql
を実行して、Oracle Database Vaultを再インストールできます。
同時に、CONFIGURE_DV
プロシージャ、DBMS_MACADM.ENABLE_DV
プロシージャおよびutlrp.sql
スクリプトは、Oracle Database Configuration Assistant(DBCA)を使用してOracle DatabaseでOracle Database Vaultを構成して有効化する場合の代替となるコマンドラインになるように設計されています。
OracleデータベースでOracle Database Vaultを構成して有効化する場合は、CONFIGURE_DV
プロシージャをユーザーSYS
として実行する必要があります。
構文
CONFIGURE_DV dvowner_uname IN VARCHAR2, dvacctmgr_uname IN VARCHAR2, force_local_dvowner IN BOOLEAN;
パラメータ
表21-35 CONFIGURE_DV
パラメータ | 説明 |
---|---|
|
Database Vault所有者になるユーザーの名前。このユーザーには |
|
Database Vaultアカウント・マネージャになるユーザーの名前。このユーザーには |
force_local_dvowner |
マルチテナント環境では、CDBルートまたはアプリケーション・ルートの
|
例
CREATE USER c##dbv_owner_root_backup IDENTIFIED BY password CONTAINER = CURRENT; CREATE USER c##dbv_acctmgr_root_backup IDENTIFIED BY password CONTAINER = CURRENT; GRANT CREATE SESSION TO c##dbv_owner_root_backup, c##dbv_acctmgr_root_backup; BEGIN CONFIGURE_DV ( dvowner_uname => 'c##dbv_owner_root_backup', dvacctmgr_uname => 'c##adbv_acctmgr_root_backup', force_local_dvowner => TRUE); END; /