Oracle數(shù)據(jù)庫審計功能詳解(簡單易懂!)
一、查看是否開啟審計
show parameter audit;
對于參數(shù)audit_sys_operations
設置為true那么sys用戶的操作也會被審計,但此值默認為false,此參數(shù)控制以sysdba和sysoper權限登陸的用戶以及sys用戶本身的登陸,審計記錄一定會寫在操作系統(tǒng)文件中(無論AUDIT_TRAIL參數(shù)如何設置)。
對于參數(shù)audit_trail
- none --不開啟
- os --啟用數(shù)據(jù)庫審計,并將數(shù)據(jù)庫審計記錄定向到操作系統(tǒng)文件,存儲目錄為AUDIT_FILE_DEST
- db --開啟審計功能 啟用數(shù)據(jù)庫審計,并將數(shù)據(jù)庫所有審計記錄定向到數(shù)據(jù)庫的SYS.AUD$表
- db, extended --extened之前的空格必須有,啟用數(shù)據(jù)庫審計,并將數(shù)據(jù)庫所有審計記錄定向到數(shù)據(jù)庫的SYS.AUD$表,另外填充SYS.AUD$表的SQLBIND列和SQLTEXT列
二、開啟審計
1.用sysdba登錄
2.修改第一步的參數(shù)值
SQL> alter system set audit_sys_operations=TRUE scope=spfile; 系統(tǒng)已更改。
audit_trail默認為DB,不做修改
3.重啟數(shù)據(jù)庫,即可看見更改
SQL> shutdown immediate; SQL> startup mount; SQL> alter database open;
二、關閉審計
alter system set audit_trail=none;
三、審計策略
1.例如:我現(xiàn)在要監(jiān)視用戶 ' wjy ' 所有行為。
這個命令將監(jiān)視用戶‘wjy’的所有行為,并記錄到審計日志中。
其中,ALL表示監(jiān)視所有操作,BY wjy表示監(jiān)視用戶‘wjy’的操作,BY ACCESS表示監(jiān)視所有訪問操作(包括SELECT、INSERT、UPDATE、DELETE等)。
你可以使用以下命令查看審計結果:
select username 用戶,action_name 行為,timestamp 時間 from dba_audit_trail where username='WJY';
2.例如: 針對Oracle數(shù)據(jù)庫監(jiān)視所有登錄不成功的用戶。
AUDIT FAILED LOGIN;
這個命令將監(jiān)視所有登錄不成功的用戶,并將審計跟蹤結果存儲在數(shù)據(jù)庫中的SYS.AUD$表中。
你可以使用以下命令查看審計結果:
SELECT * FROM dba_audit_trail WHERE action_name = 'LOGON' AND returncode != 0;
這將顯示所有登錄不成功的用戶的審計結果。
3.小tips
數(shù)據(jù)多了,查詢結果會非常的不好看。分別執(zhí)行下面3條語句再次查詢。
set linesize 1000; set pagesize 50; set tab off;
四、其他審計選項
- by access 每一個被審計的操作都會生成一條audit trail。
- by session 一個會話里面同類型的操作只會生成一條audit trail,默認為by session。
- whenever successful 操作成功(dba_audit_trail中returncode字段為0) 才審計,
- whenever not successful 反之。省略該子句的話,不管操作成功與否都會審計。
五、視圖(表)
1. SYS.AUD$
審計功能的底層視圖,如果需要對數(shù)據(jù)進行刪除,只需要對aud$視圖進行刪除既可,其他視圖里的數(shù)據(jù)都是由aud$所得.
2. DBA_AUDIT_EXISTS
列出audit not exists和audit exists產(chǎn)生的審計跟蹤,我們默認的都是audit exists.
3. DBA_AUDIT_TRAIL
可以在里面查處所有審計所跟蹤的信息.
4. DBA_AUDIT_OBJECT
可以查詢所有對象跟蹤信息.(例如,對grant,revoke等不記錄),信息完全包含于dba_audit_trail
5. DBA_AUDIT_SESSION
所得到的數(shù)據(jù)都是有關logon或者logoff的信息.
6. DBA_AUDIT_STATEMENT
列出grant ,revoke ,audit ,noaudit ,alter system語句的審計跟蹤信息.
7. DBA_PRIV_AUDIT_OPTS
通過系統(tǒng)和由用戶審計的當前系統(tǒng)特權
8. DBA_OBJ_AUDIT_OPTS
可以查詢到所有用戶所有對象的設計選項
9. ALL_DEF_AUDIT_OPTS
10. AUDIT_ACTIONS
可以查詢出在aud$等視圖中actions列的含義
11. SYSTEM_PRIVILEGE_MAP
可以查詢出aud$等視圖中priv$used列的含義(注意前面加'-')
六、撤銷、清空
noaudit all on t_test; 撤銷審計
truncate table aud$; 清空審計表內容
總結
到此這篇關于Oracle數(shù)據(jù)庫審計功能的文章就介紹到這了,更多相關Oracle審計功能內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
oracle閃回恢復數(shù)據(jù)主要方法(閃回查詢,閃回表,閃回庫,回收站恢復)
這篇文章主要介紹了閃回查詢、閃回表和閃回數(shù)據(jù)庫等數(shù)據(jù)庫恢復技術,閃回查詢可以恢復指定時間點的數(shù)據(jù),閃回表可以將整個表恢復到過去某個時間點,閃回數(shù)據(jù)庫可以將整個數(shù)據(jù)庫回滾到過去某個時間點,需要的朋友可以參考下2025-02-02oracle 9i使用閃回查詢恢復數(shù)據(jù)庫誤刪問題
本篇文章給大家介紹在oracle 9i中使用閃回查詢恢復數(shù)據(jù)庫誤刪問題,涉及到數(shù)據(jù)庫增刪改查的基本操作,對oracle數(shù)據(jù)庫閃回查詢感興趣的朋友可以一起學習下本篇文章2015-10-10Oracle中的INSTR,NVL和SUBSTR函數(shù)的用法詳解
這篇文章主要介紹了Oracle中的INSTR,NVL和SUBSTR函數(shù)的用法詳解,需要的朋友可以參考下2017-02-02解決Oracle安裝遇到Enterprise Manager配置失敗問題
這篇文章主要介紹了Oracle安裝遇到Enterprise Manager配置失敗問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12ORACLE出現(xiàn)錯誤1033和錯誤ORA-00600的解決方法
這篇文章主要介紹了ORACLE出現(xiàn)錯誤1033和錯誤ORA-00600的解決方法,需要的朋友可以參考下2014-07-07Oracle啟用“_optimizer_skip_scan_enabled” 參數(shù)導致NC系統(tǒng)卡死問題解決方法
這篇文章主要介紹了Oracle啟用“_optimizer_skip_scan_enabled” 參數(shù)導致NC系統(tǒng)卡死問題解決方法,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2024-08-08