oracle10 数据库审计,Oracle数据库审计用法实例
本節(jié)是從ORACLE METALINK的DOC:167293.1翻譯整理而來的。通過舉例的方式來說明ORACLE審計的用法。ORACLE的審計可以從語句級、對象
本節(jié)是從Oracle METALINK的DOC:167293.1翻譯整理而來的。通過舉例的方式來說明ORACLE審計的用法。
ORACLE的審計可以從語句級、對象級和權限級幾個方面進行。同樣的,SYSDBA和SYSOPER用戶的行為也可以被審計(從ORACLE 9i Release 2,,9.2.0.1開始,SYS用戶可以通過設置AUDIT_SYS_OPERATIONS參數(shù)來進行審計)。
1.對象級審計
可以被審計的對象包括表、視圖、序列發(fā)生器、包、存儲過程等。由于對象的依賴性問題,可能同一件事情可能會產(chǎn)生多條審計信息。比如說某個函數(shù)關聯(lián)到某個視圖,某個視圖關聯(lián)到某個表。
對象級審計只能針對整個數(shù)據(jù)庫的用戶而不能對于某個用戶進行審計。要查看對象級審計具有哪些審計選項,可以查詢ALL_DEF_AUDIT_OPTS視圖。
SQL> connect system/manager
SQL> select * from all_def_audit_opts;
ALT AUD COM DEL GRAINDINS LOC REN SEL UPD REF EXE
--- --- --- --- --- --- --- --- --- --- --- --- ---
-/- -/- -/- -/- -/- -/- -/- -/- -/- -/- -/- -/- -/-
下面的例子是對SCOTT.EMP進行審計:
SQL> connect system/manager
SQL> audit select on SCOTT.emp by session;
查看審計信息是否被記錄了:
SQL> col owner format a7
SQL> col object_name format a7
SQL>select * from dba_obj_audit_opts
where wner='SCOTT' and OBJECT_NAME='EMP';
OWNEROBJECT_ OBJECT_TY ALT AUD COM DEL GRAINDINS LOC REN SEL UPD REF EXE
----- ----- --------- --- --- --- --- --- --- --- --- --- --- --- --- ---
SCOTTEMPTABLE-/- -/- -/- -/- -/- -/- -/- -/- -/- S/S -/- -/- -/-
以下的語句可以生成一些審計信息:
SQL> connect scott/tiger
SQL> select * from emp;
SQL> connect TEST/TEST
SQL> select * from scott.emp;
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> connect system/manager
SQL> select * from scott.emp;
審計結果
SQL> connect system/manager
SQL> col username format a8
SQL> col priv_used format 999
SQL> /
SQL>select username, priv_used, ses_actions from
dba_audit_object
where obj_name='EMP' and wner='SCOTT';
結果
USERNAMEPRIV_USEDSES_ACTIONS
------------------------------ ---------- -------------------
SCOTT---------S------
TEST
SYSTEMSELECT ANY ---------S------
2.從權限級進行審計
所有的系統(tǒng)權限都可以進行審計。從SYSTEM_PRIVILEGE_MAP中可查詢到所有的系統(tǒng)權限。如果你要對一個不屬于該視圖中的權限進行審計,會出現(xiàn)錯誤:
SQL> audit drop snapshot by access;
audit drop snapshot by access
*
ERROR at line 1:
ORA-00956: missing or invalid auditing option
SQL> connect system/manager
SQL> select * from system_privilege_map;
PRIVILEGE NAME
---------- ----------------------------------------
-3 ALTER SYSTEM
-4 AUDIT SYSTEM
-5 CREATE SESSION
-6 ALTER SESSION
-7 RESTRICTED SESSION
-10 CREATE TABLESPACE
-11 ALTER TABLESPACE
-12 MANAGE TABLESPACE
-13 DROP TABLESPACE
.....
-167 GRANT ANY PRIVILEGE
-172 CREATE SNAPSHOT
-173 CREATE ANY SNAPSHOT
-174 ALTER ANY SNAPSHOT
-175 DROP ANY SNAPSHOT
-194 WRITEDOWN DBLOW
-195 READUP DBHIGH
-196 WRITEUP DBHIGH
-197 WRITEDOWN
-198 READUP
-199 WRITEUP
本文原創(chuàng)發(fā)布php中文網(wǎng),轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的oracle10 数据库审计,Oracle数据库审计用法实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: server数据库与oracle,浅析O
- 下一篇: oracle 启用闪回数据库,如何启用O