アップグレード・タスクを実行する際、または誤った構成を修正する際には、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で、oradvrelease_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で、oradvrelease_number.dllファイルのバックアップに元の名前を付けます。
たとえば、バックアップにoradv10_backup.dllと名前を付けていた場合は、oradv10.dllに戻します。
データベース・サービスを再起動します。
「コントロール パネル」の「管理ツール」で、「サービス」ユーティリティを選択します。「標準」タブを選択し、次のサービスを右クリックしてメニューから「開始」を選択します。
OracleServiceSID
OracleHOMETNSListener
RACシステムの場合は、データベースがインストールされているノードごとに、これらの手順を繰り返します。