Oracle審計功能解讀課件_第1頁
Oracle審計功能解讀課件_第2頁
Oracle審計功能解讀課件_第3頁
Oracle審計功能解讀課件_第4頁
Oracle審計功能解讀課件_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Oracle 審計功能 第1頁,共62頁。1、審計可以達(dá)到怎樣的效果?我要來做什么?2、有分類嗎?3、如何啟用審計?4、如何設(shè)定我所需要的審計?針對某個特定的監(jiān)視目標(biāo)了。5、如何看審計的結(jié)果?第2頁,共62頁。審計可以達(dá)到怎樣的效果?可以記錄對數(shù)據(jù)庫對象的所有操作。什么時候,什么用戶對什么對象進(jìn)行了什么類型的操作。第3頁,共62頁。審計可以分為3類 1、語句審計(Statement Auditing) 2、權(quán)限審計(Privilege Auditing)3、對象審計(Object Auditing)第4頁,共62頁。1、語句審計(Statement Auditing)對預(yù)先指定的某些SQL語句

2、進(jìn)行審計。這里從SQL語句的角度出發(fā),進(jìn)行指定。審計只關(guān)心執(zhí)行的語句。例如,audit TABLE;命令,就表明對create table、drop table語句的執(zhí)行進(jìn)行記錄。不管這語句是否是針對某個對象的操作第5頁,共62頁。2、權(quán)限審計(Privilege Auditing) 對涉及某些權(quán)限的操作進(jìn)行審計。這里強(qiáng)調(diào)“涉及權(quán)限”例如,audit CREATE TABLE;命令,又可以表明對涉及“CREATE TABLE”權(quán)限的操作進(jìn)行審計。所以說,在這種命令的情況下,既產(chǎn)生一個語句審計,又產(chǎn)生了一個權(quán)限審計。有時候“語句審計”和“權(quán)限審計”的相互重復(fù)的第6頁,共62頁。3、對象審計(Ob

3、ject Auditing)。記錄作用在指定對象上的操作。第7頁,共62頁。如何啟用審計 通過數(shù)據(jù)庫初始化參數(shù)文件中的AUDIT_TRAIL 初始化參數(shù)啟用和禁用數(shù)據(jù)庫審計。 AUDIT_TRAIL = DB/OS/none Shutdown immediate startup第8頁,共62頁。 DB 啟用數(shù)據(jù)庫審計并引導(dǎo)所有審計記錄到數(shù)據(jù)庫的審計跟蹤OS 啟用數(shù)據(jù)庫審計并引導(dǎo)所有審計記錄到操作系統(tǒng)的審計跟蹤。 可以用AUDIT_FILE_DEST 初始化參數(shù)來指定審計文件存儲的目錄。NONE 禁用審計這個值是默認(rèn)值 第9頁,共62頁。啟動數(shù)據(jù)庫審計Sql Show parameter aud

4、it_trail;Sql select value from v$parameter where name = audit_trail;第10頁,共62頁。設(shè)置審計在缺省情況下,系統(tǒng)的審計功能是關(guān)閉的。可以在INIT.ORA參數(shù)文件中將參數(shù)AUDIT_TRAIL設(shè)置為正整數(shù)來激活。AUDIT_TRAIL = DB第11頁,共62頁。審計實施1、語句審計第12頁,共62頁。Sqlaudit sql語句或選項 by 用戶名 by session access whenever (not) successful;第13頁,共62頁??刂坪螘r觸發(fā)審計動作1)By session / By Access

5、by session對每個session中發(fā)生的重復(fù)操作只記錄一次by access對每個session中發(fā)生的每次操作都記錄,而不管是否重復(fù)。第14頁,共62頁。2)Whenever successful/ Whenever not successfulWhenever successful表示操作成功以后才記錄下來。Whenever not successful表示操作失敗后才記錄下來。第15頁,共62頁。語句審計實例1、設(shè)置審計conn sys/ as sysdba select username from dba_users;Audit table by user04 by acces

6、s;Audit index by user04 by access;第16頁,共62頁。查看審計語句級設(shè)置Col audit_optionl for a10Col user_name for a10Select user_name,audit_option,success,failure from DBA_STMT_AUDIT_OPTS; 第17頁,共62頁。語句審計實例conn user04/Drop table course;create table course(課程名稱 varchar2(22),學(xué)分 varchar2(4),班級 varchar2(20),主講教師 varchar2(

7、10);第18頁,共62頁。為Course表建立索引。Course表按課程號升序建唯一索引。CREATE UNIQUE INDEX Coucno ON Course(課程名稱);COMMIT;第19頁,共62頁。查看審計結(jié)果conn sys/ as sysdbaCol username for a10Col timestamp for a10Col obj_name for a8Col owner for a6Col action_name for a15Select username, to_char(timestamp,yyyy-mm-dd hh24:mi:ss),owner,action

8、_name,obj_name from DBA_AUDIT_OBJECT;第20頁,共62頁。SqlNoaudit sql語句或選項 by 用戶名 by session access whenever (not) successful;第21頁,共62頁。停止審計noAudit table by user04;noAudit INDEX by user04;Commit;第22頁,共62頁。2) 權(quán)限審計/Audit DELETE ANY TABLEby accesswhenever successful;所有成功的,使用DELETE ANY TABLE權(quán)限進(jìn)行的操作。第23頁,共62頁。Sq

9、laudit sql權(quán)限名稱 by 用戶名 by session access whenever (not) successful;第24頁,共62頁。權(quán)限審計實例Drop user user02 cascade;Create user user02 Identified by a; Grant create session,create table To user02;Alter user user02Quota 1000k on user001;Audit delete table,insert table by user02 by access whenever successful;第

10、25頁,共62頁。查看權(quán)限級設(shè)置Col user_name for a10/Select user_name,privilege,success,failure from DBA_PRIV_AUDIT_OPTS order by user_name;Select user_name,audit_option,success,failure from DBA_STMT_AUDIT_OPTS; 第26頁,共62頁。權(quán)限審計實例Conn user02/Drop table test;create table test(a int) tablespace user001; insert into te

11、st values(1);commit;Select * from test;Commit;第27頁,共62頁。查看審計結(jié)果conn sys/ as sysdbaCol owner for a10Col username for a10Col timestamp for a10Select username, to_char(timestamp,yyyy-mm-dd hh24:mi:ss), owner,action_name,obj_name from DBA_AUDIT_OBJECT;第28頁,共62頁。停止權(quán)限審計NoAudit delete table,insert table by

12、user02 whenever successful;/NoAudit create table;第29頁,共62頁。對象審計Sqlaudit 實體選項 on schema by 用戶名 by session access whenever (not) successful;第30頁,共62頁。對象審計實例conn sys/ as sysdbadrop user user03 cascade;Create user user03 Identified by a; Grant create session,create table To user03;Alter user user03Quota

13、 1000k on user001;第31頁,共62頁。對象審計實例Conn user03/Drop table test;create table test(a int) tablespace user001; insert into test values(1);commit;Select * from test;Commit;第32頁,共62頁。查詢對象審計設(shè)置conn sys/ as sysdbaAudit SELECT ON user03.test by access whenever successful;Col owner for a10Col object_name for a

14、10Col object_type for a10 Select owner,object_name, object_type,del,ins,sel,upd from DBA_OBJ_AUDIT_OPTS where owner=USER03;第33頁,共62頁。Conn user03/insert into user03.test values(2);commit;Select * from user03.test;Delete from user03.test;Commit;第34頁,共62頁。查詢審計結(jié)果conn sys/ as sysdbaCol username for a10Co

15、l timestamp for a10Select username, to_char(timestamp,yyyy-mm-dd hh24:mi:ss),owner,action_name,obj_name from DBA_AUDIT_OBJECT;第35頁,共62頁。停止對象審計noAudit SELECT,INSERT,DELETE ON user03.test whenever successful;第36頁,共62頁。審計結(jié)果1)數(shù)據(jù)庫初始化參數(shù)文件中AUDIT_TRAILOS時,審計記錄存在操作系統(tǒng)的文件中。windows系統(tǒng)的審計信息存儲在事件管理器中。你可以通過控制面板管理工具

16、事件查看器應(yīng)用程序日志中找到相應(yīng)的審計記錄2)數(shù)據(jù)庫初始化參數(shù)文件中AUDIT_TRAILDB時,審計記錄存在數(shù)據(jù)庫中。第37頁,共62頁。相關(guān)表和視圖:SYS.AUD$是唯一保留審計結(jié)果的表。其它的都是視圖。DBA_STMT_AUDIT_OPTS 描述由用戶設(shè)置的跨系統(tǒng)的當(dāng)前系統(tǒng)審計選項DBA_PRIV_AUDIT_OPTS 描述由用戶正在審計的跨系統(tǒng)的當(dāng)前系統(tǒng)權(quán)限D(zhuǎn)BA_OBJ_AUDIT_OPTS 描述在所有對象上的審計選項USER_OBJ_AUDIT_OPTS USER 視圖描述當(dāng)前用戶擁有的所有對象上的審計選項第38頁,共62頁。DBA_AUDIT_OBJECT 包含系統(tǒng)中所有對象的

17、審計跟蹤記錄DBA_AUDIT_TRAIL 列出所有審計跟蹤條目USER_AUDIT_TRAIL USER視圖顯示與當(dāng)前用戶有關(guān)的審計跟蹤條目第39頁,共62頁。查詢在所有對象上的審計選項conn sys/ as sysdbaCol username for a10Col timestamp for a10Select username,timestamp,owner,action_name,obj_name from DBA_AUDIT_OBJECT;第40頁,共62頁。清除審計DELETE FROM SYS.AUD$; DELETE FROM SYS.AUD$ WHERE obj$name

18、 = 。 第41頁,共62頁。一些特殊問題有時候“語句審計”和“權(quán)限審計”是相互重復(fù)的。并不需要明確的區(qū)分這2種類型。主要是考慮你對審計的需求是什么?考慮出發(fā)的角度是什么?例如: 第42頁,共62頁。SQL audit TABLE;SQL audit CREATE TABLE;第43頁,共62頁。SQL SELECT user_name,audit_option,success,failure FROM DBA_STMT_AUDIT_OPTS;SQL SELECT user_name, PRIVILEGE, SUCCESS, FAILURE FROM DBA_PRIV_AUDIT_OPTS;第

19、44頁,共62頁。系統(tǒng)跟蹤SQL_TRACE是Oracle提供的用于進(jìn)行SQL跟蹤的手段,是強(qiáng)有力的輔助診斷工具.在日常的數(shù)據(jù)庫問題診斷和解決中,SQL_TRACE是非常常用的方法。第45頁,共62頁。查看跟蹤設(shè)置Sql show parameter sql_trace;Sql select value from v$parameter where name=sql_trace;第46頁,共62頁。設(shè)置跟蹤目錄ackground_dump_dest=d:oracleproduct10.2.0admindb2012bdumpcore_dump_dest=d:oracleproduct10.2.0

20、admindb2012cdumpuser_dump_dest=d:oracleproduct10.2.0admindb2012udump第47頁,共62頁。1 在全局啟用在參數(shù)文件(pfile/spfile)中指定:TIMED_STATISTICS=TRUEsql_trace =true MAX_DUMP_FILE_SIZE=5Muser_dump_dest=E:oracleproduct10.2.0admindb2012audumpShow parameter sql_trace第48頁,共62頁。2 在當(dāng)前session級設(shè)置大多數(shù)時候我們使用sql_trace跟蹤當(dāng)前進(jìn)程。通過跟蹤當(dāng)前進(jìn)

21、程可以發(fā)現(xiàn)當(dāng)前操作的后臺數(shù)據(jù)庫遞歸活動(這在研究數(shù)據(jù)庫新特性時尤其有效),研究SQL執(zhí)行,發(fā)現(xiàn)后臺錯誤等。第49頁,共62頁。Alter session set sql_trace true /false Plsql中執(zhí)行exec dbms_session.set_sql_trace(TRUE); 第50頁,共62頁。Drop table tab_idx_test;CREATE TABLE tab_idx_testASSELECT * FROM dba_objectsWHERE owner IN (PUBLIC, SCOTT, SYS, SYSTEM);SELECT count(*) FROM

22、 tab_idx_test;第51頁,共62頁。跟蹤的信息在user_dump_dest 目錄下可以找到 可以通過Tkprof來解析跟蹤文件,如 Tkprof 原文件 目標(biāo)文件 C: Tkprof E:oracleproduct10.2.0admindb2012audumpdb2012a_ora_2572.trc E:oracleproduct10.2.0admindb2012audumpdb2012a_ora_2572.TXT 第52頁,共62頁。在report.txt文件頭有各個數(shù)據(jù)的解釋,根據(jù)以下一些指標(biāo)可以分析一下SQL的執(zhí)行性能:query+current/rows 平均每行所需的b

23、lock數(shù),太大的話(超過20)SQL語句效率太低Parse count/Execute count parse count應(yīng)盡量接近1,如果太高的話,SQL會進(jìn)行不必要的reparse。第53頁,共62頁。rows Fetch的大小,太小的話就沒有充分利用批量Fetch的功能,增加了數(shù)據(jù)在客戶端和服務(wù)器之間的往返次數(shù)。disk/query+current 磁盤IO所占邏輯IO的比例,太大的話有可能是db_buffer_size過小(也跟SQL的具體特性有關(guān))第54頁,共62頁。elapsed/cpu 太大表示執(zhí)行過程中花費(fèi)了大量的時間等待某種資源cpuORelapsed 太大表示執(zhí)行時間過長,或消耗了大量的CPU時間,應(yīng)該考慮優(yōu)化執(zhí)行計劃中的Rows 表示在該處理階段所訪問的行數(shù),要盡量減少第55頁,共62頁。3 跟蹤其他用戶進(jìn)程在很多時候我們需要跟蹤其他用戶的進(jìn)程,而不是當(dāng)前用戶,這可以通過Oracle提供的系統(tǒng)包DBMS_SYSTEM. SET_SQL_TRACE_IN_SESSION來完成第56頁,共62頁。SET_SQL_TRACE_IN_SESSION過程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論