アップグレード・タスクを実行する際、または誤った構成を修正する際には、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 Data OptionやOracle interMediaなど)のいずれかをDatabase Configuration Assistant(DBCA)を使用してインストールする必要がある場合。
サード・パーティ製品のインストール、Oracle製品のインストール、またはOracle Database Vaultが稼働している場合はインストールできないOracleパッチの更新を実行する場合。
Oracle Database Vault監査証跡をアーカイブする必要がある場合。
Oracle Database Vaultがすでに有効になっているか無効になっているかは、V$OPTIONS
表に問い合せれば確認できます。この表にはどのユーザーでも問い合せられます。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を無効にしても、Oracle Database VaultのAPIファンクションは実行できます。また、Oracle Database Vaultを無効にしても、ANY 権限を使用できます。 |
UNIXシステムでOracle Database Vaultを無効にするには、次の手順に従います。
ソフトウェア・プロセスをオフにします。環境変数ORACLE_HOME
、ORACLE_SID
およびPATH
が正しく設定されていることを確認してください。
dbconsole
プロセスが実行中の場合は、停止します。単一インスタンス・インストールとOracle Real Application Clustersインストールのいずれの場合も、次のコマンドを使用します。
$ emctl stop dbconsole
単一インスタンス・インストールの場合は、次のようにデータベース・インスタンスを停止します。
$ sqlplus "sys / as sysoper"
Enter password: password
SQL> SHUTDOWN NORMAL
SQL> EXIT
Oracle Real Application Clustersインストール場合は、次のように各データベース・インスタンスを停止します。
$ srvctl stop database -d db_name
データベースに接続できなければ、次の手順に進みます。
Oracle実行可能ファイルに再度リンクして、Oracle Database Vaultオプションをオフにします。
$ cd $ORACLE_HOME/rdbms/lib $ make -f ins_rdbms.mk dv_off $ cd $ORACLE_HOME/bin $ relink oracle
RACインストールの場合は、これらのコマンドをすべてのノードに対して実行します。
SQL*Plusで、データベースを起動します。
単一インスタンス・データベース・インストールの場合:
$ sqlplus "sys / as sysoper"
Enter password: password
SQL> STARTUP
RACインストールの場合:
$ srvctl start database -d db_name
Oracle Database Vaultの無効化が必要な理由が、パスワード(特に手順5で説明されている管理者アカウントのパスワード)を忘れたためだった場合は、SYS
またはSYSTEM
として接続してからパスワードを再設定します。
たとえば、次のようになります。
SQL> CONNECT SYSTEM Enter password: password Connected. SQL> ALTER USER DBVOWNER IDENTIFIED BY password;
コマンド・プロンプトで、dvca -action disable
オプションを使用して、Oracle Database Vault Configuration Assistant(DVCA)を実行します。
dvca -action disable
の構文は、次のとおりです。
dvca -action disable -service service_name -instance Oracle_instance_name -dbname database_name -sys_passwd SYS_password -owner_account DV_owner_account_name -owner_passwd DV_owner_account_password [-logfile ./dvca.log] [-nodecrypt] [-racnode node]
ここでは、次のようになります。
-action
は、実行するアクションです。この場合、アクションはdisable
です。
-service
は、データベース指定子の名前です。指定子には、接続記述子またはネット・サービス名を使用できます。データベース指定子の詳細は、『Oracle Database JDBC開発者ガイドおよびリファレンス』を参照してください。
-instance
は、データベース・インスタンスの名前です。
-dbname
はデータベース名です。
-sys_passwd
はSYS
パスワードです。コマンドラインでクリアテキスト・パスワードを使用する場合は、nodecrypt
オプションを指定する必要があります。パスワードを省略すると、DVCAによってパスワードの入力を求められます。できれば、最初はパスワードを省略し、入力を求められたらそれに応じてパスワードを入力してください。
-owner_account
は、Oracle Database Vault所有者アカウントの名前です。
-owner_passwd
は、Oracle Database Vault所有者アカウントのパスワードです。コマンドラインでクリアテキスト・パスワードを使用する場合は、nodecrypt
オプションを指定する必要があります。パスワードを省略すると、DVCAによってパスワードの入力を求められます。できれば、最初はパスワードを省略し、入力を求められたらそれに応じてパスワードを入力してください。
-logfile
は、ログ・ファイルの名前と場所を指定するためのオプションのフラグです。絶対パスを入力することも、$ORACLE_HOME
/bin
ディレクトリからの相対パスを入力することもできます。
-silent
は、コマンドライン・モードで実行するためのオプションです。DVCAをxtermウィンドウで実行しない場合、このオプションが必要です。
-nodecrypt
は、プレーン・テキスト・パスワードを読み取るためのオプションです。
-lockout
は、SYSDBA
オペレーティング・システム認証を無効にするために使用するフラグです。
たとえば、次のようになります。
dvca -action disable -oh $ORACLE_HOME -service conn_alias -instance orcl -dbname orcl -owner_account dbvowner -logfile dvcalog.txt Enter SYS password: sys_password Enter owner password: owner_password
SYSDBA
権限を使用して、SYS
として接続し、次のALTER TRIGGER
文を実行します。
SQL> CONNECT SYS / AS SYSDBA
Enter password: password
SQL> ALTER TRIGGER LBACSYS.LBAC$LOGON ENABLE;
WindowsシステムでOracle Database Vaultを無効にするには、次の手順に従います。
データベース・サービスを停止します。
「コントロール パネル」の「管理ツール」で、「サービス」ユーティリティを選択します。「標準」タブを選択し、次のサービスを右クリックしてメニューから「停止」を選択します。
OracleServiceSID
OracleHOMETNSListener
ORACLE_HOME
\bin
で、oradv
release_number
.dll
ファイルの名前をoradv10_backup.dll
またはoradv11_backup.dll
などに変更します。
データベース・サービスを再起動します。
「コントロール パネル」の「管理ツール」で、「サービス」ユーティリティを選択します。「標準」タブを選択し、次のサービスを右クリックしてメニューから「開始」を選択します。
OracleServiceSID
OracleHOMETNSListener
RACシステムの場合は、データベースがインストールされているノードごとに、これらの手順を繰り返します。
Oracle Database Vaultの無効化が必要な理由が、パスワード(特に手順6で説明されている管理者アカウントのパスワード)を忘れたためだった場合は、SYS
またはSYSTEM
としてSQL*Plusにログインしてからパスワードを再設定します。
たとえば、次のようになります。
sqlplus SYSTEM Enter password: password SQL> ALTER USER DBVOWNER IDENTIFIED BY password;
コマンド・プロンプトで、dvca -action disable
オプションを使用して、Oracle Database Vault Configuration Assistant(DVCA)を実行します。
dvca -action disableの構文は、次のとおりです。
dvca -action disable -service service_name -instance Oracle_instance_name -dbname database_name -sys_passwd SYS_password -owner_account DV_owner_account_name -owner_passwd DV_owner_account_password [-logfile ./dvca.log] [-nodecrypt] [-racnode node]
ここでは、次のようになります。
-action
は、実行するアクションです。この場合、アクションはdisableです。
-service
は、データベース指定子の名前です。指定子には、接続記述子またはネット・サービス名を使用できます。データベース指定子の詳細は、『Oracle Database JDBC開発者ガイドおよびリファレンス』を参照してください。
-instance
は、データベース・インスタンスの名前です。
-dbname
はデータベース名です。
-sys_passwd
はSYS
パスワードです。コマンドラインでクリアテキスト・パスワードを使用する場合は、nodecrypt
オプションを指定する必要があります。パスワードを省略すると、DVCAによってパスワードの入力を求められます。できれば、最初はパスワードを省略し、入力を求められたらそれに応じてパスワードを入力してください。
-owner_account
は、Oracle Database Vault所有者アカウントの名前です。
-owner_passwd
は、Oracle Database Vault所有者アカウントのパスワードです。コマンドラインでクリアテキスト・パスワードを使用する場合は、nodecrypt
オプションを指定する必要があります。パスワードを省略すると、DVCAによってパスワードの入力を求められます。できれば、最初はパスワードを省略し、入力を求められたらそれに応じてパスワードを入力してください。
-logfile
は、ログ・ファイルの名前と場所を指定するためのオプションのフラグです。絶対パスを入力することも、$ORACLE_HOME
/bin
ディレクトリからの相対パスを入力することもできます。
-silent
は、コマンドライン・モードで実行するためのオプションです。DVCAをxtermウィンドウで実行しない場合、このオプションが必要です。
-nodecrypt
は、プレーン・テキスト・パスワードを読み取るためのオプションです。
-lockout
は、SYSDBA
オペレーティング・システム認証を無効にするために使用するフラグです。
たとえば、次のようになります。
dvca -action disable -oh c:\oracle\product\db_1 -service conn_alias -instance orcl -dbname orcl -owner_account dbvowner -logfile dvcalog.txt Enter SYS password: sys_password Enter owner password: owner_password
SYSDBA
権限を使用して、SYS
として接続し、次のALTER TRIGGER
文を実行します。
SQL> CONNECT SYS / AS SYSDBA
Enter password: password
SQL> ALTER TRIGGER LBACSYS.LBAC$LOGON ENABLE;
Oracle Database Vaultを無効にしたまま、必要に応じて、データベースを再起動して次のタスクを実行できます。次のようなアクティビティを実行できます。
Oracle Database VaultのPL/SQLパッケージおよびファンクションを使用します。 たとえば、ログインまたはCONNECTルール・セットのエラーを修正するには、DBMS_MACADM
パッケージまたはOracle Database Vault Administratorインタフェースを使用します。
注意: Oracle Database Vault Administratorを使用する場合は、dbconsole プロセスを起動する必要があります。dbconsole プロセスのステータスは、Database Vault AdministratorをデプロイしたOracleホームの$ORACLE_HOME/bin ディレクトリから次のコマンドを入力して確認します。
./emctl status dbconsole
./emctl start dbconsole |
パスワードの作成または変更、アカウントのロックまたはロック解除などのタスクを実行するには、SYSTEMアカウントまたはSYSアカウントを使用します。 通常のデータベース・アカウントと管理ユーザー・アカウントを変更する以外に、DV_ADMIN
ロールまたはDV_ACCTMGR
ロールを付与されているユーザーなどの、Oracle Database Vault固有のアカウントのパスワードとロック・ステータスを変更できます。(以降この問題を回避するためのガイドラインについては、「Oracle Database Vaultアカウント」の下のヒントを参照してください。)
インストール、アップグレード、またはセキュリティ保護を無効にする必要のあるその他のタスクを実行します。 Oracle Database Vault Configuration Assistant(DVCA)を実行する必要がある場合は、Oracle Databaseリスナーが稼働していることを確認してください。リスナーを起動するには、$ORACLE_HOME/bin
ディレクトリから次のコマンドを実行します。
$ ./lsnrctl start
この項の内容は次のとおりです。
UNIXシステムでOracle Database Vaultを有効にするには、次の手順に従います。
コマンド・プロンプトでDVCAを使用して、Oracle Database Vaultを再度有効にします。
たとえば、次のようになります。
dvca -action enable -oh $ORACLE_HOME -service conn_alias -instance orcl -dbname orcl -owner_account dbvowner -logfile dvcalog.txt Enter SYS password: sys_password Enter owner password: owner_password
DVCA構文の詳細は、「UNIXシステムでのOracle Database Vaultの無効化」の手順5を参照してください。
ソフトウェア・プロセスをオフにします。環境変数ORACLE_HOME
、ORACLE_SID
およびPATH
が正しく設定されていることを確認してください。
dbconsole
プロセスが実行中の場合は、停止します。単一インスタンス・インストールとRACインストールのいずれの場合も、次のコマンドを使用します。
$ emctl stop dbconsole
データベース・インスタンスを停止します。
単一インスタンス・インストールの場合:
$ sqlplus "sys / as sysoper"
Enter password: password
SQL> SHUTDOWN NORMAL
SQL> EXIT
RACインストールの場合:
$ srvctl stop database -d db_name
Oracle実行可能ファイルに再度リンクして、Oracle Database Vaultオプションをオンにします。
$ cd $ORACLE_HOME/rdbms/lib $ make -f ins_rdbms.mk dv_on $ cd $ORACLE_HOME/bin $ relink oracle
RACインストールの場合は、これらのコマンドをすべてのノードに対して実行します。
SQL*Plusで、データベースを起動します。
単一インスタンス・データベース・インストールの場合:
$ sqlplus "sys / as sysoper"
Enter password: password
SQL> STARTUP
SQL> EXIT
RACインストールの場合:
$ srvctl start database -d db_name
WindowsシステムでOracle Database Vaultを有効にするには、次の手順に従います。
コマンド・プロンプトでDVCAを使用して、Oracle Database Vaultを再度有効にします。
たとえば、次のようになります。
dvca -action enable -oh c:\oracle\product\db_1 -service conn_alias -instance orcl -dbname orcl -owner_account dbvowner -logfile dvcalog.txt Enter SYS password: sys_password Enter owner password: owner_password
DVCA構文の詳細は、「WindowsシステムでのOracle Database Vaultの無効化」の手順6を参照してください。
データベース・サービスを停止します。
「コントロール パネル」の「管理ツール」で、「サービス」ユーティリティを選択します。「標準」タブを選択し、次のサービスを右クリックしてメニューから「停止」を選択します。
OracleServiceSID
OracleHOMETNSListener
ORACLE_HOME
\bin
で、oradv
release_number
.dll
ファイルのバックアップに元の名前を付けます。
たとえば、バックアップにoradv10_backup.dll
と名前を付けていた場合は、oradv10.dll
に戻します。
データベース・サービスを再起動します。
「コントロール パネル」の「管理ツール」で、「サービス」ユーティリティを選択します。「標準」タブを選択し、次のサービスを右クリックしてメニューから「開始」を選択します。
OracleServiceSID
OracleHOMETNSListener
RACシステムの場合は、データベースがインストールされているノードごとに、これらの手順を繰り返します。