【轉帖】Oracle Audit 學習快餐
Oracle Audit 學習快餐
Oracle Audit 讀書筆記 --請拍磚
1、什麼是審計
簡單來講,就是把對資料庫的操作記錄下來。不管你是否開啟資料庫的審計功能,以下這些作業系統會強制記錄。
l
用管理員許可權連線Instance
l
啟動資料庫
l
關閉資料庫
2、和審計相關的兩個主要引數
Audit_sys_operations
預設為false,當設定為true時,所有(注意是所有!)sys使用者(包括以sysdba,sysoper身份登入的使用者)的操作都會被記錄,audit trail不會寫在aud$表中,這個很好理解,如果資料庫還未啟動aud$不可用,那麼像conn /as sysdba這樣的連線資訊,只能記錄在其它地方。如果是windows平臺,audti trail會記錄在windows的事件管理中,如果是linux/unix平臺則會記錄在audit_file_dest引數指定的檔案中
Audit_trail
有三個取值
None :預設值,不做審計
DB :將audit trail 記錄在資料庫的審計相關表中,如aud$
OS :將audit trail 記錄在作業系統檔案中,檔名由audit_file_dest引數指定
注:這兩個引數是static引數,需要重新啟動資料庫才能生效。
3、審計級別
當開啟審計功能後(audit_trail=DB/OS),可在三個級別對資料庫進行審計:Statement(語句) 、Privilege(許可權)、object(物件)
Statement
按語句來審計,比如audit table 會審計資料庫中所有的create table,drop table,truncate table語句,alter session by cmy會審計cmy使用者所有的資料庫連線。
Privilege
按許可權來審計,當使用者使用了該許可權則被審計,如執行grant select any table to a; audit select any table;語句後,當使用者a 訪問了使用者b的表時(如select * from b.t;)會用到select any table許可權,故會被審計。注意使用者是自己表的所有者,所以使用者訪問自己的表不會被審計
Object
按物件審計,只審計on關鍵字指定物件的相關操作,如aduit alter,delete,drop,insert on cmy.t by scott; 這裡會對cmy使用者的t表進行審計,但同時使用了by子句,所以只會對scott使用者發起的操作進行審計.注意Oracle沒有提供對schema中所有物件的審計功能,只能一個一個物件審計,對於後面建立的物件,Oracle則提供on default子句來實現自動審計,比如執行audit drop on default by access;後, 對於隨後建立的物件的drop操作都會審計。但這個default會對之後建立的所有資料庫物件有效,似乎沒辦法指定只對某個使用者建立的物件有效,想比trigger可以對schema的DDL進行“審計”,這個功能稍顯不足。
4、審計的一些其他選項
by access / by session
:by access 每一個被審計的操作都會生成一條audit trail。 by session,一個會話裡面同型別的操作只會生成一條audit trail。 預設為by session
whenever [ not ] successful
:whenever successful 操作成功(dba_audit_trail中returncode欄位為0) 才審計,whenever not successful反之。 省略該子句的話,不管操作成功與否都會審計。
5、和審計相關的檢視
dba_audit_trail
dba_stmt_audit_opts
可以用來檢視statement審計級別的audit options,即資料庫設定過哪些statement級別的審計。dba_obj_audit_opts,dba_priv_audit_opts檢視功能與之類似
all_def_audit_opts
用來檢視資料庫用on default子句設定了哪些預設物件審計。
6、取消審計
將對應審計語句的audit改為noaudit即可,如audit session whenever successful;取消審計noaudit session whenever successful;
不再贅述。[@more@]
Oracle Audit 讀書筆記 --請拍磚
1、什麼是審計
簡單來講,就是把對資料庫的操作記錄下來。不管你是否開啟資料庫的審計功能,以下這些作業系統會強制記錄。
l
用管理員許可權連線Instance
l
啟動資料庫
l
關閉資料庫
2、和審計相關的兩個主要引數
Audit_sys_operations
預設為false,當設定為true時,所有(注意是所有!)sys使用者(包括以sysdba,sysoper身份登入的使用者)的操作都會被記錄,audit trail不會寫在aud$表中,這個很好理解,如果資料庫還未啟動aud$不可用,那麼像conn /as sysdba這樣的連線資訊,只能記錄在其它地方。如果是windows平臺,audti trail會記錄在windows的事件管理中,如果是linux/unix平臺則會記錄在audit_file_dest引數指定的檔案中
Audit_trail
有三個取值
None :預設值,不做審計
DB :將audit trail 記錄在資料庫的審計相關表中,如aud$
OS :將audit trail 記錄在作業系統檔案中,檔名由audit_file_dest引數指定
注:這兩個引數是static引數,需要重新啟動資料庫才能生效。
3、審計級別
當開啟審計功能後(audit_trail=DB/OS),可在三個級別對資料庫進行審計:Statement(語句) 、Privilege(許可權)、object(物件)
Statement
按語句來審計,比如audit table 會審計資料庫中所有的create table,drop table,truncate table語句,alter session by cmy會審計cmy使用者所有的資料庫連線。
Privilege
按許可權來審計,當使用者使用了該許可權則被審計,如執行grant select any table to a; audit select any table;語句後,當使用者a 訪問了使用者b的表時(如select * from b.t;)會用到select any table許可權,故會被審計。注意使用者是自己表的所有者,所以使用者訪問自己的表不會被審計
Object
按物件審計,只審計on關鍵字指定物件的相關操作,如aduit alter,delete,drop,insert on cmy.t by scott; 這裡會對cmy使用者的t表進行審計,但同時使用了by子句,所以只會對scott使用者發起的操作進行審計.注意Oracle沒有提供對schema中所有物件的審計功能,只能一個一個物件審計,對於後面建立的物件,Oracle則提供on default子句來實現自動審計,比如執行audit drop on default by access;後, 對於隨後建立的物件的drop操作都會審計。但這個default會對之後建立的所有資料庫物件有效,似乎沒辦法指定只對某個使用者建立的物件有效,想比trigger可以對schema的DDL進行“審計”,這個功能稍顯不足。
4、審計的一些其他選項
by access / by session
:by access 每一個被審計的操作都會生成一條audit trail。 by session,一個會話裡面同型別的操作只會生成一條audit trail。 預設為by session
whenever [ not ] successful
:whenever successful 操作成功(dba_audit_trail中returncode欄位為0) 才審計,whenever not successful反之。 省略該子句的話,不管操作成功與否都會審計。
5、和審計相關的檢視
dba_audit_trail
儲存所有的audit trail,實際上它只是一個基於aud$的檢視。其它的檢視dba_audit_session,dba_audit_object,dba_audit_statement都只是dba_audit_trail的一個子集。
dba_stmt_audit_opts
可以用來檢視statement審計級別的audit options,即資料庫設定過哪些statement級別的審計。dba_obj_audit_opts,dba_priv_audit_opts檢視功能與之類似
all_def_audit_opts
用來檢視資料庫用on default子句設定了哪些預設物件審計。
6、取消審計
將對應審計語句的audit改為noaudit即可,如audit session whenever successful;取消審計noaudit session whenever successful;
不再贅述。[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9533994/viewspace-1007287/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Audit 學習與測試Oracle
- Oracle Audit學習與測試 參考文件Oracle
- ORACLE學習之九 Oracle 字符集的檢視和修改 (轉帖)Oracle
- [轉帖]J2ME學習札記1
- [轉帖]J2ME學習札記2
- [轉帖]J2ME學習札記3
- ORACLE AUDITOracle
- oracle10g_audit_solaris_轉載oracle baseOracle
- [轉帖]SQLite使用教學SQLite
- Oracle 常用 Dump 命令收集(轉帖)Oracle
- Oracle Audit setupOracle
- oracle audit and securityOracle
- Oracle Mutex實現機制(轉帖)OracleMutex
- Oracle RAC Failover 詳解[轉帖]OracleAI
- Oracle 審計 auditOracle
- oracle 審計(Audit)Oracle
- [轉帖]
- [轉帖]Oracle9i Standby (Dataguard) 建立Oracle
- Oracle 分析及動態取樣(轉帖)Oracle
- [轉帖]10 Hardware Components of Oracle ExadataOracle
- ORACLE AUDIT審計(1)Oracle
- oracle10g_audit_solaris_利用audit_sys_operationsOracle
- [轉帖]mkcertmkcert
- oracle 10g執行計劃 (轉帖)Oracle 10g
- oracle開啟audit(審計)Oracle
- Oracle Audit 應用實踐Oracle
- Oracle Audit 審計 說明Oracle
- oracle實驗記錄 (audit)Oracle
- 【轉帖】Oracle客戶端NLS_LANG設定Oracle客戶端
- oracle的執行計劃居然出錯[轉帖]Oracle
- Oracle資料庫中索引的維護 (轉帖)Oracle資料庫索引
- Oracle中審計引數audit_trail的討論(轉)OracleAI
- [轉帖]掌握udevdev
- [轉帖]海光CPU
- 話說 Oracle Audit Vault 和Oracle DB VaultOracle
- oracle外部表的測試學習 (轉)Oracle
- (轉載)ORACLE MODEL子句學習筆記Oracle筆記
- oracle 流技術(轉),用於學習Oracle