Skip Headers
Oracle® Database Vault Administrator's Guide
10g Release 2 (10.2)

Part Number B25166-10
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

B Enabling and Disabling Oracle Database Vault

This appendix contains:

When You Must Disable Oracle Database Vault

You may need to disable Oracle Database Vault to perform upgrade tasks or correct erroneous configurations. You can reenable Oracle Database Vault after you complete the corrective tasks.

Note:

Be aware that if you disable Oracle Database Vault, the privileges that were revoked from existing users and roles during installation remain in effect. See "Privileges That Are Revoked or Prevented from Existing Users and Roles" for a listing of the revoked privileges.

The following situations require you to disable Oracle Database Vault:

Checking if Oracle Database Vault Is Enabled or Disabled

You can check if Oracle Database Vault has already been enabled or disabled by querying the V$OPTIONS table. Any user can query this table. If Oracle Database Vault is enabled, the query returns TRUE. Otherwise, it returns FALSE.

Remember that the PARAMETER column value is case sensitive. For example:

SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';

If Oracle Database Vault is enabled, the following output appears:

PARAMETER                     VALUE
----------------------------- -----------------------
Oracle Database Vault         TRUE

Step 1: Disable Oracle Database Vault

Follow these steps to disable Oracle Database Vault on UNIX systems:

  1. Turn off the software processes. Make sure that the environment variables, ORACLE_HOME, ORACLE_SID, and PATH are correctly set.

    For single-instance installations, shut down the database instance:

    $ sqlplus "SYS / AS SYSOPER"
    Enter password: password
    
    SQL> SHUTDOWN IMMEDIATE
    SQL> EXIT
    

    For Oracle Real Application Clusters (RAC) installations, shut down each database instance as follows:

    $ srvctl stop database -d db_name -c "sys/sys_passwd as sysoper"
    

    If you cannot connect to the database, then proceed to the next step.

  2. Relink the Oracle executable to turn off the Oracle Database Vault option:

    $ cd $ORACLE_HOME/rdbms/lib
    $ make -f ins_rdbms.mk dv_off
    $ cd $ORACLE_HOME/bin
    $ relink oracle
    

    For RAC installations, run these commands on all nodes.

  3. In SQL*Plus, start the database.

    For single-instance database installations:

    $ sqlplus "SYS / AS SYSOPER"
    Enter password: password
    
    SQL> STARTUP
    SQL> EXIT
    

    For RAC installations:

    $ srvctl start database -d db_name -c "sys/sys_passwd as sysoper"
    
  4. Connect as SYS using the SYSDBA privilege, and then run the following ALTER TRIGGER statements:

    SQL> CONNECT SYS / AS SYSDBA
    Enter password: password
    
    SQL> ALTER TRIGGER DVSYS.DV_BEFORE_DDL_TRG DISABLE;
    SQL> ALTER TRIGGER DVSYS.DV_AFTER_DDL_TRG DISABLE;
    

Note:

After you disable Oracle Database Vault, you still can run the Oracle Database Vault API functions. Note also that after you disable Oracle Database Vault, the ANY privileges are available.

This section contains the following topics:

Note:

After you disable Oracle Database Vault, you still can run the Oracle Database Vault API functions. Note also that after you disable Oracle Database Vault, the ANY privileges are available.

Disabling Oracle Database Vault on UNIX Systems

Follow these steps to disable Oracle Database Vault on UNIX systems:

  1. Turn off the software processes. Make sure that the environment variables, ORACLE_HOME, ORACLE_SID, and PATH are correctly set.

    Stop the dbconsole process in case it is running. For both single-instance and Oracle Real Application Clusters installations, use the following command:

    $ emctl stop dbconsole
    

    For single-instance installations, shut down the database instance:

    $ sqlplus "sys / as sysoper"
    Enter password: password
    
    SQL> SHUTDOWN NORMAL
    SQL> EXIT
    

    For Oracle Real Application Clusters (RAC) installations, shut down each database instance as follows:

    $ srvctl stop database -d db_name
    

    If you cannot connect to the database, then proceed to the next step.

  2. Relink the Oracle executable to turn off the Oracle Database Vault option:

    $ cd $ORACLE_HOME/rdbms/lib
    $ make -f ins_rdbms.mk dv_off
    $ cd $ORACLE_HOME/bin
    $ relink oracle
    

    For RAC installations, run these commands on all nodes.

  3. In SQL*Plus, start the database.

    For single-instance database installations:

    $ sqlplus "sys / as sysoper"
    Enter password: password
    
    SQL> STARTUP
    

    For RAC installations:

    $ srvctl start database -d db_name 
    
  4. If the reason you needed to disable Oracle Database Vault was because of forgotten passwords (particularly for the administrator accounts mentioned in Step 5), then connect as SYS or SYSTEM and then reset the password.

    For example:

    SQL> CONNECT SYSTEM
    Enter password: password
    Connected.
    SQL> ALTER USER DBVOWNER IDENTIFIED BY password;
    
  5. At a command prompt, run Oracle Database Vault Configuration Assistant (DVCA) by using the dvca -action disable option.

    The syntax for dvca -action disable is as follows:

    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]
    

    In this specification:

    • -action is the action to perform. In this case the action is disable.

    • -service is the database service name.

    • -instance is the name of the database instance.

    • -dbname is the database name.

    • -sys_passwd is the SYS password. If you use a cleartext password on the command line, you must include the nodecrypt option. If you omit the password, DVCA prompts you for it. Preferably, omit the password and then enter it interactively when prompted.

    • -owner_account is the Oracle Database Vault Owner account name.

    • -owner_passwd is the Oracle Database Vault Owner account password. If you use a cleartext password on the command line, you must include the nodecrypt option. If you omit the password, DVCA prompts you for it. Preferably, omit the password and then enter it interactively when prompted.

    • -logfile is an optional flag to specify a log file name and location. You can enter an absolute path, or enter a path that is relative to the location of the $ORACLE_HOME/bin directory.

    • -silent is the option to run in command line mode. This option is required if you are not running DVCA in an xterm window.

    • -nodecrypt is the option to read plaintext passwords.

    • -lockout is the flag to use to disable SYSDBA operating system authentication.

    For example:

    dvca -action disable 
      -oh $ORACLE_HOME
      -service myservicename 
      -instance myinstance 
      -dbname mydbname 
      -owner_account myownername 
      -logfile dvcalog.txt 
      
    Enter SYS password: sys_password
    Enter owner password: owner_password
    

Disabling Oracle Database Vault on Windows Systems

Follow these steps to disable Oracle Database Vault on Windows systems:

  1. Stop the database service.

    In the Control Panel, under Administrative Services, select the Services utility. Select the Standard tab, right-click the following services, and from the menu, select Stop:

    • OracleServiceSID

    • OracleHOMETNSListener

  2. Under ORACLE_HOME\bin, rename the oradvrelease_number.dll file, for example, oradv10_backup.dll or oradv11_backup.dll.

  3. Restart the database service.

    In the Control Panel, under Administrative Services, select the Services utility. Select the Standard tab, right-click the following services, and from the menu, select Start:

    • OracleServiceSID

    • OracleHOMETNSListener

  4. For RAC systems, repeat these steps for each node on which the database is installed.

  5. If the reason you needed to disable Oracle Database Vault was because of forgotten passwords (particularly for the administrator accounts mentioned in Step 6), then log in to SQL*Plus as SYS or SYSTEM and then reset the password.

    For example:

    sqlplus SYSTEM
    Enter password: password
    
    SQL> ALTER USER DBVOWNER IDENTIFIED BY password;
    
  6. At a command prompt, run Oracle Database Vault Configuration Assistant (DVCA) by using the dvca -action disable option.

    The syntax for dvca -action disable is as follows:

    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]
    

    In this specification:

    • -action is the action to perform. In this case the action is disable.

    • -service is the database service name.

    • -instance is the name of the database instance.

    • -dbname is the database name.

    • -sys_passwd is the SYS password. If you use a cleartext password on the command line, you must include the nodecrypt option. If you omit the password, DVCA prompts you for it. Preferably, omit the password and then enter it interactively when prompted.

    • -owner_account is the Oracle Database Vault Owner account name.

    • -owner_passwd is the Oracle Database Vault Owner account password. If you use a cleartext password on the command line, you must include the nodecrypt option. If you omit the password, DVCA prompts you for it. Preferably, omit the password and then enter it interactively when prompted.

    • -logfile is an optional flag to specify a log file name and location. You can enter an absolute path, or enter a path that is relative to the location of the $ORACLE_HOME/bin directory.

    • -silent is the option to run in command line mode. This option is required if you are not running DVCA in an xterm window.

    • -nodecrypt is the option to read plaintext passwords.

    • -lockout is the flag to use to disable SYSDBA operating system authentication.

    For example:

    dvca -action disable 
      -oh c:\oracle\product\db_1
      -service myservicename 
      -instance myinstance 
      -dbname mydbname 
      -owner_account myownername 
      -logfile dvcalog.txt 
    
    Enter SYS password: sys_password
    Enter owner password: owner_password
    

Step 2: Perform the Required Tasks

With Oracle Database Vault disabled, you can restart your database and perform the following tasks, as required. You can perform the following types of activities:

Step 3: Enable Oracle Database Vault

Use the following steps to enable Oracle Database Vault on UNIX systems:

  1. Log into SQL*Plus as SYS using the SYSDBA privilege, and then run the following ALTER TRIGGER statements:

    $ sqlplus "sys / as sysdba"
    Enter password: password
    Connected.
    SQL> ALTER TRIGGER DVSYS.DV_BEFORE_DDL_TRG ENABLE;
    SQL> ALTER TRIGGER DVSYS.DV_AFTER_DDL_TRG ENABLE;
    
  2. Turn off the software processes. Make sure that the environment variables, ORACLE_HOME, ORACLE_SID, and PATH are correctly set.

  3. Shut down the database instance.

    For single-instance installations:

    $ sqlplus "sys / as sysoper"
    Enter password: password
    Connected.
    SQL> SHUTDOWN IMMEDIATE
    SQL> EXIT
    

    For RAC installations:

    $ srvctl stop database -d db_name -c "sys/sys_passwd as sysoper"
    
  4. Relink the oracle executable to turn on the Oracle Database Vault option:

    $ cd $ORACLE_HOME/rdbms/lib
    $ make -f ins_rdbms.mk dv_on
    $ cd $ORACLE_HOME/bin
    $ relink oracle
    

    For RAC installations, run these commands on all nodes.

  5. In SQL*Plus, start the database:

    For single-instance database installations:

    $ sqlplus "sys / as sysoper"
    Enter password: password
    Connected.
    SQL> STARTUP
    SQL> EXIT
    

    For RAC installations:

    $ srvctl start database -d db_name -c "sys/sys_passwd as sysoper"
    

This section contains the following topics:

Enabling Oracle Database Vault on UNIX Systems

Use the following steps to enable Oracle Database Vault on UNIX systems:

  1. At a command prompt, use DVCA to re-enable Oracle Database Vault.

    For example:

    dvca -action enable 
      -oh $ORACLE_HOME
      -service myservicename 
      -instance myinstance 
      -dbname mydbname 
      -owner_account myownername 
      -logfile dvcalog.txt 
    
    Enter SYS password: sys_password
    Enter owner password: owner_password
    

    See Step 5 under "Disabling Oracle Database Vault on UNIX Systems" for detailed information about the DVCA syntax.

  2. Turn off the software processes. Make sure that the environment variables, ORACLE_HOME, ORACLE_SID, and PATH are correctly set.

    Stop the dbconsole process in case it is running. For both single-instance and RAC installations, use the following command:

    $ emctl stop dbconsole
    
  3. Shut down the database instance.

    For single-instance installations:

    $ sqlplus "sys / as sysoper"
    Enter password: password
    
    SQL> SHUTDOWN NORMAL
    SQL> EXIT
    

    For RAC installations:

    $ srvctl stop database -d db_name
    
  4. Relink the oracle executable to turn on the Oracle Database Vault option:

    $ cd $ORACLE_HOME/rdbms/lib
    $ make -f ins_rdbms.mk dv_on
    $ cd $ORACLE_HOME/bin
    $ relink oracle
    

    For RAC installations, run these commands on all nodes.

  5. In SQL*Plus, start the database:

    For single-instance database installations:

    $ sqlplus "sys / as sysoper"
    Enter password: password
    
    SQL> STARTUP
    SQL> EXIT
    

    For RAC installations:

    $ srvctl start database -d db_name
    

Enabling Oracle Database Vault on Windows Systems

Follow these steps to enable Oracle Database Vault on Windows systems:

  1. At a command prompt, use DVCA to re-enable Oracle Database Vault.

    For example:

    dvca -action enable 
      -oh c:\oracle\product\db_1
      -service myservicename 
      -instance myinstance 
      -dbname mydbname 
      -owner_account myownername 
      -logfile dvcalog.txt 
    
    Enter SYS password: sys_password
    Enter owner password: owner_password
    

    See Step 6 under "Disabling Oracle Database Vault on Windows Systems" for detailed information about the syntax for DVCA.

  2. Stop the database service.

    In the Control Panel, under Administrative Services, select the Services utility. Select the Standard tab, right-click the following services, and from the menu, select Stop:

    • OracleServiceSID

    • OracleHOMETNSListener

  3. Under ORACLE_HOME\bin, name the backup of the oradvrelease_number.dll file to its original name.

    For example, if you named it oradv10_backup.dll, then name it back to oradv10.dll.

  4. Restart the database service.

    In the Control Panel, under Administrative Services, select the Services utility. Select the Standard tab, right-click the following services, and from the menu, select Start:

    • OracleServiceSID

    • OracleHOMETNSListener

  5. For RAC systems, repeat these steps for each node on which the database is installed.