12C中關於出現DDL誤操作追責小工具

shsnchyw發表於2015-03-09

(本文轉自“NCN新炬網路團隊部落格”)

在Oracle 12C中,存在一個可選項,既開啟記錄DDL日誌

在之前的版本中沒有可選方法來對DDL操作進行日誌記錄。進入Oracle 12C後可以將DDL操作寫入xml和日誌檔案中。

這對於瞭解誰在什麼時間執行了create或drop命令是十分有用的。

我們透過將ENABLE_DDL_LOGGING引數設定為TRUE開啟該功能

這一引數可以分別在資料庫或會話級加以設定。

當此引數為啟用狀態,所有的DDL命令會記錄在$ORACLE_BASE/diag/rdbms/DBNAME/log|ddl 路徑下的xml和日誌檔案中。

一個xml中包含DDL命令,IP地址,時間戳等資訊。

這可以幫助確定在什麼時候對使用者或表進行了刪除亦或是一條DDL語句在何時觸發。

開啟DDL日誌功能句法如下:

SQL> ALTER SYSTEM|SESSION SET ENABLE_DDL_LOGGING=TRUE;

下面DDL操作可能會被記錄。

·CREATE|ALTER|DROP|TRUNCATE TABLE

·DROP USER

·CREATE|ALTER|DROP PACKAGE|FUNCTION|VIEW|SYNONYM|SEQUENCE

 

功能雖不起眼,但在實際應用中卻又有非常大的作用。僅僅增加一個記錄DDL操作監控,不會對效能有任何影響,又能在出現失誤時將責任明確清楚,防止一些其他廠商的惡意中傷。

 

原文連結:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29960155/viewspace-1453812/,如需轉載,請註明出處,否則將追究法律責任。

相關文章