日本語PDF

21 Oracle Database Vaultの一般管理API

DBMS_MACADM PL/SQLパッケージ・プロシージャおよびCONFIGURE_DVスタンドアロン・プロシージャを使用すると、一般的なメンテナンス・タスクを実行できます。

21.1 DBMS_MACADM一般システム・メンテナンスのプロシージャ

DBMS_MACADM PL/SQLパッケージの一般システム・メンテナンスのプロシージャは、ユーザーの認可またはOracle Database Vaultへの新しい言語の追加などのタスクを実行します。

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

パラメータ 説明

owner

例外として追加するユーザーの名前

使用可能な共通ユーザーのリストを検索するには、DBA_USERSデータ・ディクショナリ・ビューのUSERNAMEおよびCOMMON列を問い合せます。

package_name

ユーザー・アカウント全体ではなくパッケージを指定する場合に例外として追加するパッケージの名前。このパッケージは、ownerパラメータで指定したユーザーが所有する必要があります。特定のパッケージではなく、スキーマ全体の例外を作成する場合、package_nameパラメータに'%'を指定します。

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

パラメータ 説明

language

次のいずれかの設定を入力します。(このパラメータでは大/小文字は区別されません。)

  • ENGLISH

  • GERMAN

  • SPANISH

  • FRENCH

  • ITALIAN

  • JAPANESE

  • KOREAN

  • BRAZILIAN PORTUGUESE

  • SIMPLIFIED CHINESE

  • TRADITIONAL CHINESE

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

パラメータ 説明

uname

インポート操作中にユーザーを作成する必要があるOracle Data Pumpユーザーの名前。

ユーザーの現在のステータスを検索するには、DBA_DV_DATAPUMP_AUTHデータ・ディクショナリ・ビューを問い合せます。

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_OWNERDV_ADMINDV_MONITORなど、Oracle Database Vaultのロールはカバーされないことに注意してください。

構文

DBMS_MACADM.AUTH_DATAPUMP_GRANT(
  uname      IN VARCHAR2);

パラメータ

表21-4 AUTH_DATAPUMP_GRANT

パラメータ 説明

user_name

インポート操作中にロールおよび権限をユーザーに付与する必要があるOracle Data Pumpユーザーの名前。

ユーザーの現在のステータスを検索するには、DBA_DV_DATAPUMP_AUTHデータ・ディクショナリ・ビューを問い合せます。

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

パラメータ 説明

uname

インポート操作中に特定のロールをユーザーに付与する必要があるOracle Data Pumpユーザーの名前。

ユーザーの現在のステータスを検索するには、DBA_DV_DATAPUMP_AUTHデータ・ディクショナリ・ビューを問い合せます。

role

ユーザーに付与するロール。DV_OWNERDV_ADMINDV_MONITORなど、Oracle Database Vaultのロールは指定しないでください。この値を省略するか、%を指定すると、インポート操作中にユーザーには(Oracle Database Vaultのロール以外の)ロールの付与が認可されます。ユーザーがDBMS_MACADM.AUTH_DATAPUMP_GRANTプロシージャで認可されている場合、またはユーザーに特定のロールを付与する権限がある場合、ユーザーは引き続きこれらのロールを付与できます。

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

パラメータ 説明

uname

IMPDP操作中にユーザーにシステム権限を付与する必要があるOracle Data Pumpユーザーの名前。

ユーザーの現在のステータスを検索するには、DBA_DV_DATAPUMP_AUTHデータ・ディクショナリ・ビューを問い合せます。

EXEC DBMS_MACADM.AUTH_DATAPUMP_GRANT_SYSPRIV('DP_MGR');

21.1.7 AUTHORIZE_DATAPUMP_USERプロシージャ

AUTHORIZE_DATAPUMP_USERプロシージャは、Oracle Database Vaultが有効な場合に、ユーザーがOracle Data Pump操作を実行することを認可します。

expdpimpdpの両方のユーティリティに適用されます。

構文

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

パラメータ 説明

user_name

権限を付与するOracle Data Pumpユーザーの名前。

Oracle Data Pumpの使用権限(EXP_FULL_DATABASEおよびIMP_FULL_DATABASEロール)を持つユーザーのリストを検索するには、次のようにDBA_ROLE_PRIVSデータ・ディクショナリ・ビューに問い合せます。

SELECT GRANTEE, GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE LIKE '%FULL%'

schema_name

Oracle Data Pumpユーザーがエクスポートまたはインポートする必要のあるデータベース・スキーマ名。このパラメータを省略すると、データベース内のすべてのスキーマをエクスポートおよびインポートするグローバル権限がユーザーに付与されます。この場合、ユーザーにDV_OWNERロールが付与されていることを確認します。

table_name

schema_nameパラメータで指定されたスキーマ内の表の名前。このパラメータを省略した場合、指定したユーザーは、schema_nameパラメータで指定されたスキーマ内のすべての表をエクスポートおよびインポートできます。

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

パラメータ 説明

uname

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

パラメータ 説明

uname

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

パラメータ 説明

user_name

DDL認可を付与するユーザーの名前。

schema_name

ユーザーがDDL文を実行するデータベース・スキーマの名前。すべてのスキーマを指定するには%を入力します。

次の例では、ユーザーpsmithはすべてのスキーマでDDL文を実行できます。

EXEC DBMS_MACADM.AUTHORIZE_DDL('psmith', '%');

この例では、ユーザーpsmithHRスキーマでのみDDL文を実行できます。

EXEC DBMS_MACADM.AUTHORIZE_DDL('psmith', 'HR');

21.1.11 AUTHORIZE_DIAGNOSTIC_ADMINプロシージャ

AUTHORIZE_DIAGNOSTIC_ADMINプロシージャは、診断ビューおよび表を問い合せる認可をユーザーに付与します。

これらのビューおよび表を次に示します。

ビューおよび表V$ ビューおよび表X$

V$DIAG_OPT_TRACE_RECORDS

X$DBGTFOPTT

V$DIAG_SESS_OPT_TRACE_RECORDS

X$DBGTFSOPTT

V$DIAG_TRACE_FILE_CONTENTS

X$DBGTFVIEW

この認可がないと、ユーザーがこれらの表およびビューを問い合せた場合、値は返されません。

構文

DBMS_MACADM.AUTHORIZE_DIAGNOSTIC_ADMIN(
  uname      IN VARCHAR2);

パラメータ

表21-11 AUTHORIZE_DIAGNOSTIC_ADMIN

パラメータ 説明

uname

権限を付与するユーザーの名前。

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

パラメータ 説明

uname

権限を付与するユーザーの名前

sname

メンテナンス操作を実行するデータベース・スキーマの名前。すべてのスキーマを指定するには%を入力します。

objname

メンテナンス操作を実行する、snameパラメータで指定されているスキーマ内のオブジェクトの名前(表の名前など)。

objtype

tableindextablespaceなど、objnameオブジェクトのタイプ。

action

メンテナンス・アクション。情報ライフサイクル管理の場合はilmと入力します。

次の例では、ユーザー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

パラメータ 説明

uname

外部表からプリプロセッサ・プログラムを実行する認可を付与するユーザーの名前

例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_userHRとして、HRがアクセス権を持つすべてのオブジェクトにアクセスできます。ただし、ターゲット・オブジェクトがDatabase Vaultによって保護され、かつ、それに対するアクセスがHRに認可されている場合は、hr_proxy_userHRのプロキシ認可が付与されている場合にのみ、hr_proxy_userはそのオブジェクトにアクセスできます。hr_proxy_userHRのプロキシ認可が付与されていない場合は、HRとして接続した後でも、hr_proxy_userHRがアクセスを認可されている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

パラメータ 説明

proxy_user

プロキシ・ユーザーの名前。

user_name

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 JOBCREATE ANY JOBCREATE EXTERNAL JOBEXECUTE ANY PROGRAMEXECUTE ANY CLASSMANAGE SCHEDULERが含まれます。

構文

DBMS_MACADM.AUTHORIZE_SCHEDULER_USER(
  user_name      IN VARCHAR2,
  schema_name    IN VARCHAR2 DEFAULT NULL);

パラメータ

表21-15 AUTHORIZE_SCHEDULER_USER

パラメータ 説明

user_name

権限を付与するユーザーの名前。

ジョブをスケジュールする権限(CREATE JOBおよびCREATE ANY JOBなど)を持つユーザーのリストを検索するには、DBA_SYS_PRIVSデータ・ディクショナリ・ビューのGRANTEE列およびPRIVILEGE列を問い合せます。

schema_name

ジョブをスケジュールするデータベース・スキーマの名前。このパラメータを省略すると、データベース内のすべてのスキーマをスケジュールするグローバル権限がユーザーに付与されます。

次の例では、ユーザーJOB_MGRにすべてのスキーマでジョブを実行する権限を付与します。

EXEC DBMS_MACADM.AUTHORIZE_SCHEDULER_USER('JOB_MGR');

次の例では、ユーザーJOB_MGRHRスキーマでのみジョブを実行する権限を付与します。

EXEC DBMS_MACADM.AUTHORIZE_SCHEDULER_USER('JOB_MGR', 'HR');

21.1.16 AUTHORIZE_TTS_USERプロシージャ

AUTHORIZE_TTS_USERプロシージャは、Oracle Database Vaultが有効な場合に、表領域に対してOracle Data Pumpトランスポータブル表領域操作を実行するようにユーザーを認可します。

EXPDPIMPDPの両方のユーティリティに適用されます。

構文

DBMS_MACADM.AUTHORIZE_TTS_USER(
  uname      IN VARCHAR2,
  tsname     IN VARCHAR2);

パラメータ

表21-16 AUTHORIZE_TTS_USER

パラメータ 説明

uname

Oracle Data Pumpトランスポータブル表領域操作を実行するために認可するユーザーの名前。

ユーザーとその現在の権限のリストを検索するには、DBA_SYS_PRIVSデータ・ディクショナリ・ビューに問い合せます。

tsname

unameユーザーがトランスポータブル表領域操作を実行する表領域の名前。

表領域のリストを検索するには、DBA_TABLESPACESデータ・ディクショナリ・ビューに問い合せます。

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

パラメータ 説明

owner

例外になることから削除するユーザーの名前

package_name

例外になることから削除するパッケージの名前

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

パラメータ 説明

pdb_name

Database Vault操作制御を無効にするプラガブル・データベース(PDB)の名前。この設定を省略すると、CDB環境内のすべてのPDBに適用されます。

使用可能なPDBのリストを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。

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

パラメータ 説明

pdb_name

無効になった後、1つのPDBでDatabase Vault操作の制御を再度有効にできるようになります。デフォルトでは、pdb_name設定を省略してから、すべてのPDBで操作の制御を有効にします。

使用可能なPDBのリストを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。

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

パラメータ 説明

strict_mode

マルチテナント環境では、次のいずれかのモードを指定します。

  • nは、通常モードを指定します。このモードでは、PDBでDatabase Vaultを有効または無効にできます。(デフォルト)

  • yは、厳密モードを指定します。このモードでは、Database Vaultが有効になっていないPDBが、それらのDatabase Vaultを有効にしてそれらのPDBを再起動するまで制限モードになります。

マルチテナント環境ですべてのPDBにこの設定を適用するには、CDBルートでDBMS_MACADM.ENABLE_DVプロシージャを実行します。アプリケーション・コンテナ内のすべてのPDBにそれを適用するには、アプリケーション・ルートでプロシージャを実行します。

非マルチテナント環境では、このパラメータは省略します。

次の例では、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

パラメータ 説明

uname

認可を削除する必要があるOracle Data Pumpユーザーの名前。

ユーザーの現在のステータスを検索するには、DBA_DV_DATAPUMP_AUTHデータ・ディクショナリ・ビューを問い合せます。

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

パラメータ 説明

user_name

認可を削除する必要があるOracle Data Pumpユーザーの名前。

ユーザーの現在のステータスを検索するには、DBA_DV_DATAPUMP_AUTHデータ・ディクショナリ・ビューを問い合せます。

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

パラメータ 説明

uname

認可を削除する必要があるOracle Data Pumpユーザーの名前。

ユーザーの現在のステータスを検索するには、DBA_DV_DATAPUMP_AUTHデータ・ディクショナリ・ビューを問い合せます。

role

ユーザーにインポート操作中の付与が認可されているロール。DV_OWNERDV_ADMINDV_MONITORなど、Oracle Database Vaultのロールは指定しないでください。この値を省略すると、ユーザーにはインポート中のロールの付与は認可されません。

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

パラメータ 説明

uname

認可を削除する必要があるOracle Data Pumpユーザーの名前。

ユーザーの現在のステータスを検索するには、DBA_DV_DATAPUMP_AUTHデータ・ディクショナリ・ビューを問い合せます。

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

パラメータ 説明

user_name

権限を取り消すOracle Data Pumpユーザーの名前。

AUTHORIZE_DATAPUMP_USERプロシージャのユーザーと認可のリストを確認するには、次のようにDBA_DV_DATAPUMP_AUTHデータ・ディクショナリ・ビューに問い合せます。

SELECT * FROM DBA_DV_DATAPUMP_AUTH;

schema_name

Oracle Data Pumpユーザーがエクスポートまたはインポート権限を付与されているデータベース・スキーマ名。

table_name

schema nameパラメータで指定されたスキーマ内の表の名前。

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

パラメータ 説明

uname

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

パラメータ 説明

uname

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

パラメータ 説明

user_name

DDL認可を取り消すユーザーの名前。

schema_name

ユーザーが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$

V$DIAG_OPT_TRACE_RECORDS

X$DBGTFOPTT

V$DIAG_SESS_OPT_TRACE_RECORDS

X$DBGTFSOPTT

V$DIAG_TRACE_FILE_CONTENTS

X$DBGTFVIEW

この認可がないと、ユーザーがこれらの表およびビューを問い合せた場合、値は返されません。

構文

DBMS_MACADM.UNAUTHORIZE_DIAGNOSTIC_ADMIN(
  uname      IN VARCHAR2);

パラメータ

表 21-29 UNAUTHORIZE_DIAGNOSTIC_ADMIN

パラメータ 説明

uname

認可を取り消すユーザーの名前。

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

パラメータ 説明

uname

認可を取り消すユーザーの名前

sname

メンテナンス操作を実行するデータベース・スキーマの名前。すべてのスキーマを指定するには%を入力します。

objname

メンテナンス操作を実行する、snameパラメータで指定されているスキーマ内のオブジェクトの名前(表の名前など)。

objtype

tableindextablespaceなど、objnameオブジェクトのタイプ。

action

メンテナンス・アクション。情報ライフサイクル管理の場合はilmと入力します。

次の例では、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

パラメータ 説明

uname

外部表からプリプロセッサ・プログラムを実行する認可を取り消すユーザーの名前

例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

パラメータ 説明

proxy_user

認可を取り消すプロキシ・ユーザーの名前。

user_name

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

パラメータ 説明

user_name

権限を取り消す、ジョブ・スケジュール・ユーザーの名前。

AUTHORIZE_SCHEDULER_USERプロシージャのユーザーと認可のリストを確認するには、次のようにDBA_DV_JOB_AUTHデータ・ディクショナリ・ビューに問い合せます。

SELECT * FROM DBA_DV_JOB_AUTH;

schema_name

ユーザーにジョブ・スケジュール権限が付与されているデータベース・スキーマの名前。

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

パラメータ 説明

uname

Oracle Data Pumpトランスポータブル表領域操作を実行する認可対象から削除するユーザーの名前。

ユーザーとその現在の権限のリストを検索するには、DBA_SYS_PRIVSデータ・ディクショナリ・ビューに問い合せます。

tsname

トランスポータブル表領域操作で使用される表領域の名前。

表領域のリストを検索するには、DBA_TABLESPACESデータ・ディクショナリ・ビューに問い合せます。

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

パラメータ 説明

dvowner_uname

Database Vault所有者になるユーザーの名前。このユーザーにはDV_OWNERロールが付与されます。

dvacctmgr_uname

Database Vaultアカウント・マネージャになるユーザーの名前。このユーザーにはDV_ACCTMGRロールが付与されます。この設定を省略した場合、dvowner_unameパラメータで指定されるユーザーがDatabase Vaultアカウント・マネージャになり、このユーザーにDV_ACCTMGRロールが付与されます。

force_local_dvowner

マルチテナント環境では、CDBルートまたはアプリケーション・ルートのDV_OWNER (dvowner_unnameユーザー)にのみ適用されます。PDBで作成されたユーザーには適用されません。

  • TRUEを指定すると、dvowner_unnameユーザーのDV_OWNERロール権限がルートに対してローカルになるように制限されます。
  • デフォルト設定であるFALSEによって、dvowner_unnameユーザーはルートに関連付けられているすべてのコンテナに対してDV_OWNER権限を持つことができるようになります。

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;
/