欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle數(shù)據(jù)庫審計功能詳解(簡單易懂!)

 更新時間:2024年01月30日 16:21:27   作者:前程的前程也迷茫  
Oracle審計查詢是一項重要的任務,可以幫助DBA更好的管理Oracle數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關于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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論