2017-04-20 70 views
0

我想激活一個或兩個在我的oracle數據庫中的審計操作, ,爲此我需要設置審計參數。設置審計參數,無需啓動

alter system set AUDIT_SYS_OPERATIONS=true scope=spfile; 
alter system set AUDIT_TRAIL=db, extended scope=spfile; 

但是這些參數沒有真正改變,因爲需要啓動DB。

有沒有辦法跳過啓動應用這些更改?

這是生產環境中非常重要的數據庫,啓動幾乎是不可能的。

謝謝。

+0

但我需要設置「audit_sys_operations」爲true,對不對?此外,我想看到sql_text,併爲此我需要數據庫,擴展.. – user2671057

回答

1

如果你只是想要啓用所選對象的審覈,那麼你可以不用彈跳數據庫實例。審計跟蹤默認設置爲DB

SQL> show parameter audit 

NAME         TYPE  VALUE 
------------------------------------ ----------- ------------------------------ 
audit_file_dest      string  /u01/app/oracle/admin/orcl/adu 
               mp 
audit_sys_operations     boolean  FALSE 
audit_syslog_level     string 
audit_trail       string  DB 

您只需啓用對該對象的所需審計。

SQL> conn jay 
Enter password: 
Connected. 

SQL> audit select on my_table; 

Audit succeeded. 


SQL> conn system 
Enter password: 
Connected. 
SQL> select * from jay.my_table; 

no rows selected 

審計信息可以從USER_AUDIT_OBJECT查看。

SQL> conn jay 
Enter password: 
Connected. 

SQL> select username, action_name from user_audit_object where obj_name='MY_TABLE'; 

USERNAME      ACTION_NAME 
------------------------------ ---------------------------- 
SYSTEM       SESSION REC 

但是,如果需要啓用SYSDBA/SYSOPER權限的用戶審覈,如SYS,那麼你需要設置audit_sys_operations參數true這又需要關閉數據庫。

此外,如果您使用的是Oracle 12c,則默認情況下AUDIT_SYS_OPERATIONS設置爲true

Connected to: 
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 

SQL> show parameter audit 

NAME         TYPE  VALUE 
------------------------------------ ----------- ------------------------------ 
audit_file_dest      string /u01/app/oracle/admin/orcl/adump 
audit_sys_operations     boolean  TRUE 
audit_syslog_level     string 
audit_trail       string  DB 
+0

是的。好。這是我想要的,因爲我需要看到sql_text值。謝謝! – user2671057

+0

不幸的是,除非將審計線索設置爲'DB,EXTENDED',否則'SQL_TEXT'不可用。 – JSapkota

+0

是的,我知道了..所以我無法得到它沒有啓動。 – user2671057