电竞比分网-中国电竞赛事及体育赛事平台

分享

Oracle Audit 學習快餐

 wghbeyond 2011-07-12
1、什么是審計

簡單來講,就是把對數(shù)據(jù)庫的操作記錄下來。不管你是否打開數(shù)據(jù)庫的審計功能,以下這些操作系統(tǒng)會強制記錄。
l
用管理員權限連接Instance
l
啟動數(shù)據(jù)庫
l
關閉數(shù)據(jù)庫


2、和審計相關的兩個主要參數(shù)
Audit_sys_operations
默認為false,當設置為true時,所有(注意是所有?。?/font>sys用戶(包括以sysdba,sysoper身份登錄的用戶)的操作都會被記錄,audit trail不會寫在aud$表中,這個很好理解,如果數(shù)據(jù)庫還未啟動aud$不可用,那么像conn /as sysdba這樣的連接信息,只能記錄在其它地方。如果是windows平臺,audti trail會記錄在windows的事件管理中,如果是linux/unix平臺則會記錄在audit_file_dest參數(shù)指定的文件中


Audit_trail

有三個取值
       None :默認值,不做審計
       DB :將audit trail 記錄在數(shù)據(jù)庫的審計相關表中,如aud$
       OS :將audit trail 記錄在操作系統(tǒng)文件中,文件名由audit_file_dest參數(shù)指定



注:這兩個參數(shù)是static參數(shù),需要重新啟動數(shù)據(jù)庫才能生效。


3、審計級別

當開啟審計功能后(audit_trail=DB/OS),可在三個級別對數(shù)據(jù)庫進行審計:Statement(語句)    Privilege(權限)、object(對象)


       Statement
按語句來審計,比如audit table 會審計數(shù)據(jù)庫中所有的create table,drop table,truncate table語句,alter session by cmy會審計cmy用戶所有的數(shù)據(jù)庫連接。



     Privilege
按權限來審計,當用戶使用了該權限則被審計,如執(zhí)行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用戶發(fā)起的操作進行審計.注意Oracle沒有提供對schema中所有對象的審計功能,只能一個一個對象審計,對于后面創(chuàng)建的對象,Oracle則提供on default子句來實現(xiàn)自動審計,比如執(zhí)行audit drop on default by access;后, 對于隨后創(chuàng)建的對象的drop操作都會審計。但這個default會對之后創(chuàng)建的所有數(shù)據(jù)庫對象有效,似乎沒辦法指定只對某個用戶創(chuàng)建的對象有效,想比trigger可以對schemaDDL進行“審計”,這個功能稍顯不足。


4、審計的一些其他選項

by access / by session
by access 每一個被審計的操作都會生成一條audit trail。 by session,一個會話里面同類型的操作只會生成一條audit trail。 默認為by session

whenever [ not ] successful
whenever successful 操作成功(dba_audit_trailreturncode字段為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,即數(shù)據(jù)庫設置過哪些statement級別的審計。dba_obj_audit_opts,dba_priv_audit_opts視圖功能與之類似



all_def_audit_opts

用來查看數(shù)據(jù)庫用on default子句設置了哪些默認對象審計。


6、取消審計

將對應審計語句的audit改為noaudit即可,如audit session whenever successful;取消審計noaudit session whenever successful;

不再贅述。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多