Oracle數(shù)據(jù)庫(kù)審計(jì)功能詳解(簡(jiǎn)單易懂!)
一、查看是否開(kāi)啟審計(jì)
show parameter audit;

對(duì)于參數(shù)audit_sys_operations
設(shè)置為true那么sys用戶的操作也會(huì)被審計(jì),但此值默認(rèn)為false,此參數(shù)控制以sysdba和sysoper權(quán)限登陸的用戶以及sys用戶本身的登陸,審計(jì)記錄一定會(huì)寫(xiě)在操作系統(tǒng)文件中(無(wú)論AUDIT_TRAIL參數(shù)如何設(shè)置)。
對(duì)于參數(shù)audit_trail
- none --不開(kāi)啟
- os --啟用數(shù)據(jù)庫(kù)審計(jì),并將數(shù)據(jù)庫(kù)審計(jì)記錄定向到操作系統(tǒng)文件,存儲(chǔ)目錄為AUDIT_FILE_DEST
- db --開(kāi)啟審計(jì)功能 啟用數(shù)據(jù)庫(kù)審計(jì),并將數(shù)據(jù)庫(kù)所有審計(jì)記錄定向到數(shù)據(jù)庫(kù)的SYS.AUD$表
- db, extended --extened之前的空格必須有,啟用數(shù)據(jù)庫(kù)審計(jì),并將數(shù)據(jù)庫(kù)所有審計(jì)記錄定向到數(shù)據(jù)庫(kù)的SYS.AUD$表,另外填充SYS.AUD$表的SQLBIND列和SQLTEXT列
二、開(kāi)啟審計(jì)
1.用sysdba登錄
2.修改第一步的參數(shù)值
SQL> alter system set audit_sys_operations=TRUE scope=spfile; 系統(tǒng)已更改。
audit_trail默認(rèn)為DB,不做修改
3.重啟數(shù)據(jù)庫(kù),即可看見(jiàn)更改


SQL> shutdown immediate; SQL> startup mount; SQL> alter database open;
二、關(guān)閉審計(jì)
alter system set audit_trail=none;
三、審計(jì)策略
1.例如:我現(xiàn)在要監(jiān)視用戶 ' wjy ' 所有行為。

這個(gè)命令將監(jiān)視用戶‘wjy’的所有行為,并記錄到審計(jì)日志中。
其中,ALL表示監(jiān)視所有操作,BY wjy表示監(jiān)視用戶‘wjy’的操作,BY ACCESS表示監(jiān)視所有訪問(wèn)操作(包括SELECT、INSERT、UPDATE、DELETE等)。
你可以使用以下命令查看審計(jì)結(jié)果:
select username 用戶,action_name 行為,timestamp 時(shí)間 from dba_audit_trail where username='WJY';

2.例如: 針對(duì)Oracle數(shù)據(jù)庫(kù)監(jiān)視所有登錄不成功的用戶。
AUDIT FAILED LOGIN;
這個(gè)命令將監(jiān)視所有登錄不成功的用戶,并將審計(jì)跟蹤結(jié)果存儲(chǔ)在數(shù)據(jù)庫(kù)中的SYS.AUD$表中。
你可以使用以下命令查看審計(jì)結(jié)果:
SELECT * FROM dba_audit_trail WHERE action_name = 'LOGON' AND returncode != 0;
這將顯示所有登錄不成功的用戶的審計(jì)結(jié)果。
3.小tips
數(shù)據(jù)多了,查詢結(jié)果會(huì)非常的不好看。分別執(zhí)行下面3條語(yǔ)句再次查詢。
set linesize 1000; set pagesize 50; set tab off;
四、其他審計(jì)選項(xiàng)
- by access 每一個(gè)被審計(jì)的操作都會(huì)生成一條audit trail。
- by session 一個(gè)會(huì)話里面同類(lèi)型的操作只會(huì)生成一條audit trail,默認(rèn)為by session。
- whenever successful 操作成功(dba_audit_trail中returncode字段為0) 才審計(jì),
- whenever not successful 反之。省略該子句的話,不管操作成功與否都會(huì)審計(jì)。
五、視圖(表)
1. SYS.AUD$
審計(jì)功能的底層視圖,如果需要對(duì)數(shù)據(jù)進(jìn)行刪除,只需要對(duì)aud$視圖進(jìn)行刪除既可,其他視圖里的數(shù)據(jù)都是由aud$所得.
2. DBA_AUDIT_EXISTS
列出audit not exists和audit exists產(chǎn)生的審計(jì)跟蹤,我們默認(rèn)的都是audit exists.
3. DBA_AUDIT_TRAIL
可以在里面查處所有審計(jì)所跟蹤的信息.
4. DBA_AUDIT_OBJECT
可以查詢所有對(duì)象跟蹤信息.(例如,對(duì)grant,revoke等不記錄),信息完全包含于dba_audit_trail
5. DBA_AUDIT_SESSION
所得到的數(shù)據(jù)都是有關(guān)logon或者logoff的信息.
6. DBA_AUDIT_STATEMENT
列出grant ,revoke ,audit ,noaudit ,alter system語(yǔ)句的審計(jì)跟蹤信息.
7. DBA_PRIV_AUDIT_OPTS
通過(guò)系統(tǒng)和由用戶審計(jì)的當(dāng)前系統(tǒng)特權(quán)
8. DBA_OBJ_AUDIT_OPTS
可以查詢到所有用戶所有對(duì)象的設(shè)計(jì)選項(xiàng)
9. ALL_DEF_AUDIT_OPTS
10. AUDIT_ACTIONS
可以查詢出在aud$等視圖中actions列的含義
11. SYSTEM_PRIVILEGE_MAP
可以查詢出aud$等視圖中priv$used列的含義(注意前面加'-')
六、撤銷(xiāo)、清空
noaudit all on t_test; 撤銷(xiāo)審計(jì)
truncate table aud$; 清空審計(jì)表內(nèi)容
總結(jié)
到此這篇關(guān)于Oracle數(shù)據(jù)庫(kù)審計(jì)功能的文章就介紹到這了,更多相關(guān)Oracle審計(jì)功能內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Oracle不同數(shù)據(jù)庫(kù)間對(duì)比分析腳本
Oracle不同數(shù)據(jù)庫(kù)間對(duì)比分析腳本...2007-03-03
Oracle數(shù)據(jù)庫(kù)concat()函數(shù)用法及使用簡(jiǎn)化的‘||’進(jìn)行拼接
CONCAT()函數(shù)在Oracle中可以用于將兩個(gè)字符串連接在一起,那么CONCAT()函數(shù)的語(yǔ)法及使用方法是什么呢,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)concat()函數(shù)用法及使用簡(jiǎn)化的‘||’進(jìn)行拼接的相關(guān)資料,需要的朋友可以參考下2024-03-03
Oracle數(shù)據(jù)庫(kù)分頁(yè)的集中方法(三種方法)
在 做項(xiàng)目中用到了分頁(yè),下面說(shuō)一下oracle分頁(yè)的方法,需要的的朋友參考下吧2017-07-07
詳解Oracle調(diào)試存儲(chǔ)過(guò)程
這篇文章主要介紹了詳解Oracle調(diào)試存儲(chǔ)過(guò)程的相關(guān)資料,這里提供實(shí)例幫助大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下2017-08-08
Oracle監(jiān)控?cái)?shù)據(jù)庫(kù)性能的方法步驟
監(jiān)控?cái)?shù)據(jù)庫(kù)性能是確保數(shù)據(jù)庫(kù)系統(tǒng)高效運(yùn)行并快速響應(yīng)用戶請(qǐng)求的關(guān)鍵步驟,有效的數(shù)據(jù)庫(kù)性能監(jiān)控可以幫助識(shí)別和解決性能瓶頸,預(yù)測(cè)潛在問(wèn)題,并優(yōu)化資源使用,以下是詳細(xì)的步驟和代碼示例,指導(dǎo)你如何監(jiān)控?cái)?shù)據(jù)庫(kù)性能,需要的朋友可以參考下2024-08-08
Oracle10g通過(guò)DBLink訪問(wèn)MySQL示例
本文介紹了Oracle訪問(wèn)MySQL的方法,測(cè)試環(huán)境:CentOS5_X64, Oracle10g_X64, MySQL5 。大家參考使用吧2014-01-01
在Spring中用select last_insert_id()時(shí)遇到問(wèn)題
一直使用的Oracle數(shù)據(jù)庫(kù),通過(guò)序列來(lái)實(shí)現(xiàn)自增字段,插入之前就已經(jīng)獲得了自增id,保存下來(lái)即可在后來(lái)的操作中使用2009-05-05
oracle數(shù)據(jù)庫(kù)如何給用戶授權(quán)查詢權(quán)限
這篇文章主要給大家介紹了關(guān)于oracle數(shù)據(jù)庫(kù)如何給用戶授權(quán)查詢權(quán)限的相關(guān)資料,授予權(quán)限是數(shù)據(jù)庫(kù)管理中的重要任務(wù),它可以確保用戶有權(quán)訪問(wèn)所需的數(shù)據(jù)庫(kù)對(duì)象,并執(zhí)行必要的操作,需要的朋友可以參考下2024-01-01

