是可以審覈DROP TABLE和對特定表截斷表。
這是我AUDIT_TRAIL參數,它的價值。
SQL> conn/as sysdba
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/orcl/adu
mp
audit_sys_operations boolean TRUE
audit_syslog_level string
audit_trail string DB, EXTENDED
unified_audit_sga_queue_size integer 1048576
我創建了一個名爲tbl1的表格。
SQL> conn jay
Password:
Connected.
SQL> create table tbl1(id number);
Table created.
現在,讓我們對該表啓用審計。如果你在表上指定ALL
那麼甲骨文將審計CREATE TABLE
,DROP TABLE
和TRUNCATE TABLE
操作。如果您希望oracle爲每個審計語句和操作寫入一條記錄,請指定BY ACCESS
。
SQL> conn/as sysdba
SQL> audit all on jay.tbl1 by access; -- or just audit all on jay.tbl1
Audit succeeded.
使用Jay用戶創建新會話並執行一些操作。
SQL> conn jay
SQL> truncate table tbl1;
Table truncated.
SQL> drop table tbl1;
Table dropped.
讓我們來檢查審計線索。
SQL> conn/as sysdba
SQL> select action_name from dba_audit_trail where obj_name='TBL1';
ACTION_NAME
----------------------------
DROP TABLE
TRUNCATE Table
感謝。但它不適用於我...我在用戶A中創建表。然後我執行所有審計。然後執行命令..選擇,插入等寫在dba_audit_trail。但截斷只是不.. – user2671057
最後,我用my_user審計表做它;謝謝! – user2671057
我在Oracle 12.2上面測試了代碼,完全按照答案中的說明運行。我認爲你正在使用不同的版本。 – JSapkota