Oracle11gr2 審計語句增強(二)
在11.2中,Oracle對於AUDIT語句進行了增強。
這一篇介紹將AUDIT的IN SESSION CURRENT語句。
Oracle11gr2 審計語句增強(一):http://yangtingkun.itpub.net/post/468/496714
在11.2中,AUDIT增加了IN SESSION CURRENT語句,可以只審計當前的會話。這對於檢查當前會話執行了那麼操作十分有幫助。
SQL> SELECT * FROM V$VERSION;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> SHOW USER
USER 為 "YANGTK"
下面在另一個會話中建立表:
SQL> SET SQLP 'SQL2> '
SQL2> SHOW USER
USER 為 "TEST"
SQL2> CREATE TABLE T_AUDIT1 (ID NUMBER);
表已建立。
在會話1中檢查AUD$記錄:
SQL> SELECT SESSIONID, OBJ$CREATOR, OBJ$NAME
2 FROM SYS.AUD$
3 WHERE NTIMESTAMP# >= TRUNC(SYSDATE);
未選定行
沒有檢查到任何記錄,這是因為AUDIT選項並沒有開啟,在會話1開啟AUDIT CREATE TABLE:
SQL> AUDIT CREATE TABLE;
審計已成功。
在會話2上再次建表:
SQL2> CREATE TABLE T_AUDIT2 (ID NUMBER);
表已建立。
再次檢查AUDIT記錄:
SQL> SELECT SESSIONID, OBJ$CREATOR, OBJ$NAME
2 FROM SYS.AUD$
3 WHERE NTIMESTAMP# >= TRUNC(SYSDATE);
未選定行
仍然沒有記錄,這是因為AUDIT對於當前已經連線的會話不生效,只有重新連線的會話才有效:
SQL2> CONN TEST/TEST
已連線。
SQL2> CREATE TABLE T_AUDIT3 (ID NUMBER);
表已建立。
在會話1中檢查AUDIT記錄:
SQL> SELECT SESSIONID, OBJ$CREATOR, OBJ$NAME
2 FROM SYS.AUD$
3 WHERE NTIMESTAMP# >= TRUNC(SYSDATE);
SESSIONID OBJ$CREATOR OBJ$NAME
---------- ------------------------------ ------------------------------
94943
94946
94946 TEST T_AUDIT3
現在AUDIT記錄中包含了3條記錄,前面兩條分別是會話斷開和會話登陸的AUDIT記錄,最後一條就是CREATE TABLE產生的審計記錄。
SQL> NOAUDIT CREATE TABLE;
審計未成功。
SQL> AUDIT CREATE TABLE IN SESSION CURRENT;
審計已成功。
關閉CREATE TABLE的審計,設定當前會話的CREATE TABLE審計。
SQL2> CONN TEST/TEST
已連線。
SQL2> CREATE TABLE T_AUDIT4 (ID NUMBER);
表已建立。
在會話2上重新登陸,並建表。
SQL> SELECT SESSIONID, OBJ$CREATOR, OBJ$NAME
2 FROM SYS.AUD$
3 WHERE NTIMESTAMP# >= TRUNC(SYSDATE);
SESSIONID OBJ$CREATOR OBJ$NAME
---------- ------------------------------ ------------------------------
94943
94946
94946 TEST T_AUDIT3
94941
94941
94941
94941
94946
94950
已選擇9行。
可以看到會話2上的CREATE TABLE並未被審計,下面在當前會話執行CREATE TABLE:
SQL> CREATE TABLE T_AUDIT (ID NUMBER);
表已建立。
SQL> SELECT SESSIONID, OBJ$CREATOR, OBJ$NAME
2 FROM SYS.AUD$
3 WHERE NTIMESTAMP# >= TRUNC(SYSDATE);
SESSIONID OBJ$CREATOR OBJ$NAME
---------- ------------------------------ ------------------------------
94943
94946
94946 TEST T_AUDIT3
94941
94941
94941
94941
94946
94950
94941 YANGTK T_AUDIT
已選擇10行。
使用了IN SESSION CURRENT語句,使得審計馬上對當前會話生效,而不會對其他的會話進行審計。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-627163/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle11gr2 審計語句增強(一)Oracle
- oracle 10g 增強審計(二)----細粒度訪問審計Oracle 10g
- Oracle11gr2 AUDIT清除功能增強(二)Oracle
- Oracle11gr2新增遞迴WITH語句(二)Oracle遞迴
- Oracle11gr2簡易連線增強(二)Oracle
- Oracle11gr2觸發器依賴判斷增強(二)Oracle觸發器
- 簡單使用oracle的審計語句Oracle
- 【實驗】Oracle審計語句的使用演示Oracle
- Oracle11gr2 AUDIT清除功能增強(三)Oracle
- Oracle11gr2 AUDIT清除功能增強(四)Oracle
- Oracle11gr2 AUDIT清除功能增強(一)Oracle
- 影像語義分割資料增強——imgaug(二)
- Audit裡審計SQL語句與審計系統許可權的區別SQL
- Oracle11gr2新增遞迴WITH語句(三)Oracle遞迴
- Oracle11gr2新增遞迴WITH語句(一)Oracle遞迴
- Oracle11gr2簡易連線增強(一)Oracle
- Oracle11gr2的PLSQL優化NULL語句OracleSQL優化Null
- oracle 10g 增強審計。表insert 及bind valuesOracle 10g
- 語句審計相關的表是stmt_audit_option_map
- OEM模組審計查詢語句佔用較大資源
- Oracle11gr2觸發器依賴判斷增強(一)Oracle觸發器
- Oracle11gr2物化檢視日誌新增PURGE語句Oracle
- 使用 @Audited 增強Spring Boot 應用程式的資料審計能力Spring Boot
- 最簡單的sql語句(增刪改查統計)SQL
- 12條語句學會oracle cbo計算(二)Oracle
- Oracle使用審計監控使用者執行過的SQL語句OracleSQL
- 發現sql語句真是強大SQL
- Oracle11gr2物化檢視日誌新增COMMIT SCN語句OracleMIT
- Oracle11g安全審計–重要帳號的DDL語句操作記錄Oracle
- Oracle使用系統級觸發器審計重要帳號的DDL語句Oracle觸發器
- MySQL語句執行分析(二)MySql
- FORALL執行UPDATE語句(二)
- 常用Sql語句積累(二)SQL
- 關於評審開發人員的sql語句SQL
- python的with語句,超級強大Python
- 常用SQL語句1-增刪改查SQL
- 手擼Mysql原生語句--增刪改查MySql
- mysql 資料增刪改查基本語句MySql