22 Oracle Database Vaultの一般管理API

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

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

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

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

パラメータ 説明

language

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

  • ENGLISH

  • GERMAN

  • SPANISH

  • FRENCH

  • ITALIAN

  • JAPANESE

  • KOREAN

  • BRAZILIAN PORTUGUESE

  • SIMPLIFIED CHINESE

  • TRADITIONAL CHINESE

EXEC DBMS_MACADM.ADD_NLS_DATA('french');

22.1.2 AUTHORIZE_DATAPUMP_USERプロシージャ

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

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

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-2 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'); 

22.1.3 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-3 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');

22.1.4 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);

パラメータ

表22-4 AUTHORIZE_DIAGNOSTIC_ADMIN

パラメータ 説明

uname

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

EXEC DBMS_MACADM.AUTHORIZE_DIAGNOSTIC_ADMIN('PFITCH'); 

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

22.1.6 AUTHORIZE_PROXY_USERプロシージャ

AUTHORIZE_PROXY_USERプロシージャは、プロキシ・ユーザーにデータベース認可がある場合、他のユーザー・アカウントをプロキシする認可をプロキシ・ユーザーに付与します。

たとえば、CREATE SESSION権限は、有効なデータベース認可です。

この認可を与えられているユーザーについて情報を確認するには、DBA_DV_PROXY_AUTHビューに問い合せます。

構文

DBMS_MACADM.AUTHORIZE_PROXY_USER(
  proxy_user   IN VARCHAR2,
  user_name    IN VARCHAR2);

パラメータ

表22-6 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');

22.1.7 AUTHORIZE_SCHEDULER_USERプロシージャ

AUTHORIZE_SCHEDULER_USERプロシージャは、Oracle Database Vaultが有効な場合に、データベース・ジョブをスケジュールする権限をユーザーに付与します。

この権限は、データベース・ジョブのスケジュール権限を持つすべてのユーザーに適用されます。この権限には、CREATE JOBCREATE ANY JOBCREATE EXTERNAL JOBEXECUTE ANY PROGRAMEXECUTE ANY CLASSMANAGE 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-7 AUTHORIZE_SCHEDULER_USER

パラメータ 説明

user_name

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

ジョブのスケジュール権限を持つユーザーのリストを検索するには、DBA_SYS_PRIVSデータ・ディクショナリ・ビューに問い合せます。「ジョブ・スケジュール管理者へのDatabase Vaultに対する権限の付与」のステップ2を参照してください。

schema_name

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

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

EXEC DBMS_MACADM.AUTHORIZE_SCHEDULER_USER('JOB_MGR');

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

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

22.1.8 AUTHORIZE_TTS_USERプロシージャ

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

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

「Database VaultにおけるOracle Data Pumpの通常操作をユーザーに認可」では、Oracle Database Vault環境でOracle Data Pumpを使用してトランスポータブル操作を実行するために必要なその他の認可のレベルなど、使用方法に関するすべての情報を説明しています。

構文

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

パラメータ

表22-8 AUTHORIZE_TTS_USER

パラメータ 説明

uname

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

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

tsname

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

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

EXEC DBMS_MACADM.AUTHORIZE_TTS_USER('PSMITH', 'HR_TS');

22.1.9 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-9 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');

22.1.10 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-10 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');

22.1.11 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);

パラメータ

表22-11 UNAUTHORIZE_DIAGNOSTIC_ADMIN

パラメータ 説明

uname

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

EXEC DBMS_MACADM.UNAUTHORIZE_DIAGNOSTIC_ADMIN('PFITCH'); 

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

22.1.13 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-13 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');

22.1.14 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-14 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');

22.1.15 UNAUTHORIZE_TTS_USERプロシージャ

UNAUTHORIZE_TTS_USERプロシージャは、Oracle Data Pumpトランスポータブル表領域操作を実行する認可を以前に付与されたユーザーを認可から削除します。

構文

DBMS_MACADM.UNAUTHORIZE_TTS_USER
  uname      IN VARCHAR2,
  tsname     IN VARCHAR2);

パラメータ

表22-15 UNAUTHORIZE_TTS_USER

パラメータ 説明

uname

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

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

tsname

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

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

EXEC DBMS_MACADM.UNAUTHORIZE_TTS_USER('PSMITH', 'HR_TS');

22.1.16 DISABLE_DVプロシージャ

DISABLE_DVプロシージャは、Oracle Database Vaultを無効にします。

このプロシージャの実行後、データベースを再起動する必要があります。

構文

DBMS_MACADM.DISABLE_DV;

パラメータ

なし

EXEC DBMS_MACADM.DISABLE_DV;

22.1.17 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.18 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.19 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.20 ENABLE_DVプロシージャ

ENABLE_DVプロシージャは、Oracle Database VaultおよびOracle Label Securityを有効にします。

アプリケーション・コンテナでDBMS_MACADM.ENABLE_DVを実行する場合は、アプリケーション・アクションの外部のアプリケーション・コンテナで実行する必要があります。

このプロシージャの実行後、データベースを再起動する必要があります。

構文

DBMS_MACADM.ENABLE_DV(
 strict_mode  IN VARCHAR2 DEFAULT);

パラメータ

表22-16 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');

22.1.21 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.22 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.23 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.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-17 CONFIGURE_DV

パラメータ 説明

dvowner_uname

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

dvacctmgr_uname

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

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