sqlplus "/ as sysdba"
企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對外擴展宣傳的重要窗口,一個合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺,創(chuàng)新互聯(lián)面向各種領(lǐng)域:成都公路鉆孔機等成都網(wǎng)站設(shè)計公司、營銷型網(wǎng)站建設(shè)解決方案、網(wǎng)站設(shè)計等建站排名服務。
show parameter audit
alter system set audit_sys_operations=TRUE scope=spfile;
alter system set audit_trail=DB scope=spfile;
shutdown immediate;
startup force;
Oracle 11g起audit是自動開啟的。我很煩這個審計開啟,審計日志半個月10G,煩煩煩。我一把都關(guān)閉Oracle的審計功能,提高Oracle的空閑率。
據(jù)我所知,要審計alter、trace文件,沒有辦法,但是樓主可以開啟sql trace,然后使用tkprof查看跟蹤文件。
查看alert,trace等ORACLE日志,只要把這些個日志文件打開看就知道了,要是審計干什么。審計是記錄數(shù)據(jù)庫的操作,但是alert,trace等文件也是記錄數(shù)據(jù)庫的操作信息和運行信息。
應該沒有必要吧
二、審計可以分為3類。
或者說,可以從3種角度去啟用審計。
1、語句審計(Statement Auditing)。
對預先指定的某些SQL語句進行審計。這里從SQL語句的角度出發(fā),進行指定。審計只關(guān)心執(zhí)行的語句。
例如,audit CREATE TABLE;命令,就表明對"create table"語句的執(zhí)行進行記錄。 不管這語句是否是針對某個對象的操作
2、權(quán)限審計(Privilege Auditing)
對涉及某些權(quán)限的操作進行審計。這里強調(diào)“涉及權(quán)限”
例如,audit CREATE TABLE;命令,又可以表明對涉及“CREATE TABLE”權(quán)限的操作進行審計。
所以說,在這種命令的情況下,既產(chǎn)生一個語句審計,又產(chǎn)生了一個權(quán)限審計。
有時候“語句審計”和“權(quán)限審計”的相互重復的。這一點可以后面證明。
3、對象審計(Object Auditing)。 記錄作用在指定對象上的操作。
1、什么是審計
審計(Audit)用于監(jiān)視用戶所執(zhí)行的數(shù)據(jù)庫操作,并且Oracle會將審計跟蹤結(jié)果存放到OS文件(默認位置為$ ORACLE_BASE/admin/$ORACLE_SID/adump/)或數(shù)據(jù)庫(存儲在system表空間中的SYS.AUD$表中,可通過視圖 dba_audit_trail查看)中。默認情況下審計是沒有開啟的。
不管你是否打開數(shù)據(jù)庫的審計功能,以下這些操作系統(tǒng)會強制記錄:用管理員權(quán)限連接Instance;啟動數(shù)據(jù)庫;關(guān)閉數(shù)據(jù)庫。
2、和審計相關(guān)的兩個主要參數(shù)
Audit_sys_operations:
默認為false,當設(shè)置為true時,所有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ù)庫的審計相關(guān)表中,如aud$,審計的結(jié)果只有連接信息;
DB,Extended:這樣審計結(jié)果里面除了連接信息還包含了當時執(zhí)行的具體語句;
OS:將audit trail 記錄在操作系統(tǒng)文件中,文件名由audit_file_dest參數(shù)指定;
XML:10g里新增的。
注:這兩個參數(shù)是static參數(shù),需要重新啟動數(shù)據(jù)庫才能生效。
3、審計級別
當開啟審計功能后,可在三個級別對數(shù)據(jù)庫進行審計:Statement(語句)、Privilege(權(quán)限)、object(對象)。
Statement:
按語句來審計,比如audit table 會審計數(shù)據(jù)庫中所有的create table,drop table,truncate table語句,alter session by cmy會審計cmy用戶所有的數(shù)據(jù)庫連接。
Privilege:
按權(quán)限來審計,當用戶使用了該權(quán)限則被審計,如執(zhí)行g(shù)rant select any table to a,當執(zhí)行了audit select any table語句后,當用戶a 訪問了用戶b的表時(如select * from b.t)會用到select any table權(quán)限,故會被審計。注意用戶是自己表的所有者,所以用戶訪問自己的表不會被審計。
Object:
按對象審計,只審計on關(guān)鍵字指定對象的相關(guān)操作,如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可以對schema的DDL進行“審計”,這個功能稍顯不足。