アップグレード・タスクを実行する際、または誤った構成を修正する際には、Oracle Database Vaultを無効にする必要があります。修正タスクが終了したら、Oracle Database Vaultを再度有効にできます。
注意: Oracle Database Vaultを無効にすると、インストール時に既存のユーザーおよびロールから取り消された権限が有効のままになることに注意してください。取り消される権限のリストは、「既存のユーザーおよびロールから取り消される権限」を参照してください。 |
次の場合に、Oracle Database Vaultを無効にする必要があります。
Oracle Database Vaultユーザー・アカウントが不注意からロックされてしまった場合、またはパスワードを忘れてしまった場合。(以後、この問題を回避するためのガイドラインについては、「Oracle Database Vaultアカウント」のヒントを参照してください。)
CONNECT
ロールに関連付けられたルール・セットが誤って構成されている場合。その結果、この問題を修正できるDV_OWNER
またはDV_ADMIN
ロールを持つアカウントも含め、すべてのアカウントについてデータベース・ログインが失敗します。
Oracle Databaseのオプションの製品または機能(Oracle SpatialやOracle Multimediaなど)のいずれかをDatabase Configuration Assistant(DBCA)を使用してインストールする必要がある場合。
サード・パーティ製品のインストール、Oracle製品のインストール、またはOracle Database Vaultが稼働している場合はインストールできないOracleパッチの更新を実行する場合。
Oracle Database Vault監査証跡をアーカイブする必要がある場合。
Oracle Database Vaultが有効か無効かは、V$OPTION
データ・ディクショナリ・ビューに問い合せることで確認できます。どのユーザーでもこのビューに問い合せることができます。Oracle Database Vaultが有効な場合、問合せはTRUE
を返します。それ以外の場合はFALSE
を返します。
PARAMETER
列の値は大/小文字を区別します。次に例を示します。
SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';
Oracle Database Vaultが有効な場合、次の出力結果が表示されます。
PARAMETER VALUE ----------------------------- ----------------------- Oracle Database Vault TRUE
Oracle Database Vaultを無効にする手順:
データベース、Database Controlコンソール・プロセスおよびリスナーを停止します。
UNIXの場合: 環境変数ORACLE_HOME
、ORACLE_SID
およびPATH
が正しく設定されていることを確認します。SYSOPER
権限を持つユーザーSYS
としてSQL*Plusにログインし、データベースを停止します。次に、コマンドラインからDatabase Controlコンソール・プロセスとリスナーを停止します。
次に例を示します。
sqlplus sys as sysoper Enter password: password SQL> SHUTDOWN IMMEDIATE SQL> EXIT $ emctl stop dbconsole $ lsnrctl stop [listener_name]
Oracle RACインスタンスの場合は、各データベース・インスタンスを次のように停止します。
$ srvctl stop database -d db_name
Windowsの場合: [コントロール パネル] のサービス・ツールからデータベース、Database Controlコンソール・プロセスおよびリスナーを停止します。Oracle Databaseサービスの名前はOracle
で始まります。
Oracle Database Vaultを次のように無効にします。
UNIXの場合: 次のコマンドを実行します。
$ cd $ORACLE_HOME/rdbms/lib $ make -f ins_rdbms.mk dv_off ioracle
データベースでOracle ExadataストレージにIPCプロトコルを使用している場合は、次のコマンドを使用してDatabase Vaultを無効にします。
$ cd $ORACLE_HOME/rdbms/lib $ make –f ins_rdbms.mk dv_off ipc_rds ioracle
Windowsの場合: ORACLE_HOME
\bin
ディレクトリで、oradvll.dll
ファイルの名前をoradvll.dll.dbl
などの別の名前に変更します。
データベース、Database Controlコンソール・プロセスおよびリスナーを再起動します。
UNIXの場合: SYSOPER
権限を持つユーザーSYS
としてSQL*Plusにログインし、データベースを再起動します。次に、コマンドラインからDatabase Controlプロセスとリスナーを再起動します。
次に例を示します。
sqlplus sys as sysoper Enter password: password SQL> STARTUP SQL> EXIT $ emctl start dbconsole $ lsnrctl start [listener_name]
Oracle RACインストールの場合は、次のように各データベース・インスタンスを再起動します。
$ srvctl start database -d db_name
Windowsの場合: [コントロール パネル] のサービス・ツールからデータベース、Database Controlコンソール・プロセスおよびリスナーを再起動します。Oracle Databaseサービスの名前はOracle
で始まります。
Oracle RACインストールの場合は、データベースがインストールされているノードごとに、これらの手順を繰り返します。
この段階で、Oracle Database Vaultは無効になっています。次のようなアクティビティを実行できます。
Oracle Database VaultのPL/SQLパッケージおよびファンクションを使用します。たとえば、ログインまたはCONNECT
ルール・セットのエラーを修正するには、DBMS_MACADM
PL/SQLパッケージまたはOracle Database Vault Administratorインタフェースを使用します。
パスワードの作成または変更、あるいはアカウントのロックおよびロック解除などのタスクを実行するために、SYSTEMアカウントまたはSYSアカウントを使用します。通常のデータベースおよび管理ユーザー・アカウントの変更に加えて、DV_ADMIN
またはDV_ACCTMGR
ロールを付与されているユーザーなど、任意のOracle Database Vault固有のアカウントのパスワードおよびロック・ステータスを変更できます。(以後、この問題を回避するためのガイドラインについては、「Oracle Database Vaultアカウント」のヒントを参照してください。)
インストール、アップグレード、またはセキュリティ保護を無効にする必要のあるその他のタスクを実行します。
Oracle Database Vaultを有効にする手順:
データベース、Database Controlコンソール・プロセスおよびリスナーを停止します。
UNIXの場合: 環境変数ORACLE_HOME
、ORACLE_SID
およびPATH
が正しく設定されていることを確認します。SYSOPER
権限を持つユーザーSYS
としてSQL*Plusにログインし、データベースを停止します。次に、コマンドラインからDatabase Controlコンソール・プロセスとリスナーを停止します。
次に例を示します。
sqlplus sys as sysoper Enter password: password SQL> SHUTDOWN IMMEDIATE SQL> EXIT $ emctl stop dbconsole $ lsnrctl stop [listener_name]
Oracle RACインスタンスの場合は、各データベース・インスタンスを次のように停止します。
$ srvctl stop database -d db_name
Windowsの場合: [コントロール パネル] のサービス・ツールからデータベース、Database Controlコンソール・プロセスおよびリスナーを停止します。Oracle Databaseサービスの名前はOracle
で始まります。
Oracle Database Vaultを次のように有効にします。
UNIXの場合: 次のコマンドを実行します。make
コマンドでは、Oracle Database Vault(dv_on
)とOracle Label Security(lbac_on
)の両方が有効になります。Database Vaultを使用するには、Oracle Label Securityを有効にする必要があります。
$ cd $ORACLE_HOME/rdbms/lib $ make -f ins_rdbms.mk dv_on lbac_on ioracle
Oracle ExadataストレージにIPCプロトコルを使用する場合は、次のコマンドを使用してDatabase VaultおよびLabel Securityを有効にします。
$ cd $ORACLE_HOME/rdbms/lib $ make –f ins_rdbms.mk dv_on lbac_on ipc_rds ioracle
Windowsの場合: ORACLE_HOME
\bin
ディレクトリで、oradvll.dll
ファイルのバックアップ・コピーの名前(例: oradv11.dll.dbl
)をoradvll.dll
に変更します。Oracle Label Securityの実行可能ファイルの名前がoralbacll.dll
になっている(oralbacll.dll.dbl
や別のバックアップ名ではない)ことを確認します。Database Vaultを使用するには、Oracle Label Securityを有効にする必要があります。
データベース、Database Controlコンソール・プロセスおよびリスナーを再起動します。
UNIXの場合: SYSOPER
権限を持つユーザーSYS
としてSQL*Plusにログインし、データベースを再起動します。次に、コマンドラインからDatabase Controlコンソール・プロセスとリスナーを再起動します。
次に例を示します。
sqlplus sys as sysoper Enter password: password SQL> STARTUP SQL> EXIT $ emctl start dbconsole $ lsnrctl start [listener_name]
Oracle RACインストールの場合は、次のように各データベース・インスタンスを再起動します。
$ srvctl start database -d db_name
Windowsの場合: [コントロール パネル] のサービス・ツールからデータベース、Database Controlコンソール・プロセスおよびリスナーを再起動します。Oracle Databaseサービスの名前はOracle
で始まります。
Oracle RACインストールの場合は、データベースがインストールされているノードごとに、これらの手順を繰り返します。