Oracle OCP(51):簡單審計
一、開啟審計
-
設定AUDIT_TRAIL引數
一般常見的審計方式是OS,如果設定 AUDIT_TRAIL = OS,還需要修改引數AUDIT_FILE_DEST。
-
關閉並重啟資料庫
二、設定所需要的審計資訊
所有型別的審計都使用audit命令來開啟審計,使用noaudit命令來關閉審計。
語法:
AUDIT sql_statement_clause|schema_object_clause BY {SESSION | ACCESS} WHENEVER [NOT] SUCCESSFUL;
-
sql_statement_clause|schema_object_clause包含很多條不同的資訊,例如希望審計的SQL語句型別以及審計什麼人、什麼操作。
-
希望在每次動作發生時都對其進行審計(by access)或者只審計一次(by session)。預設是by session。
-
有時希望審計成功的動作:沒有生成錯誤訊息的語句。對於這些語句,新增whenever successful。而有時只關心使用審計語句的命令是否失敗,失敗原因是許可權違犯、用完表空間中的空間還是語法錯誤。對於這些情況,使用 whenever not successful。
對於大多數類別的審計方法,如果確實希望審計所有型別的表訪問或某個使用者的任何許可權,則可以指定all而不是單個的語句型別或物件。
-
包括在ALL類別中的可審計語句
-
ALTER SYSTEM:所有ALTER SYSTEM選項,例如,動態改變例項引數,切換到下一個日誌檔案組,以及終止使用者會
-
CLUSTER:CREATE、ALTER、DROP或TRUNCATE叢集
-
CONTEXT:CREATE CONTEXT或DROP CONTEXT
-
DATABASE LINK:CREATE或DROP資料庫連結
-
DIMENSION:CREATE、ALTER或DROP維數
-
DIRECTORY:CREATE或DROP目錄
-
INDEX:CREATE、ALTER或DROP索引
-
MATERIALIZED VIEW:CREATE、ALTER或DROP物化檢視
-
NOT EXISTS:由於不存在的引用物件而造成的SQL語句的失敗
-
PROCEDURE:CREATE或DROP FUNCTION、LIBRARY、PACKAGE、PACKAGE BODY或PROCEDURE
-
PROFILE:CREATE、ALTER或DROP配置檔案
-
PUBLIC DATABASE LINK:CREATE或DROP公有資料庫連結
-
PUBLIC SYNONYM:CREATE或DROP公有同義詞
-
ROLE:CREATE、ALTER、DROP或SET角色
-
ROLLBACK SEGMENT:CREATE、ALTER或DROP回滾段
-
SEQUENCE:CREATE或DROP序列
-
SESSION:登入和退出
-
SYNONYM:CREATE或DROP同義詞
-
SYSTEM AUDIT:系統許可權的AUDIT或NOAUDIT
-
SYSTEM GRANT:GRANT或REVOKE系統許可權和角色
-
TABLE:CREATE、DROP或TRUNCATE表
-
TABLESPACE:CREATE、ALTER或DROP表空間
-
TRIGGER:CREATE、ALTER(啟用/禁用)、DROP觸發器;具有ENABLE ALL TRIGGERS或DISABLE ALL TRIGGERS的ALTER TABLE
-
TYPE:CREATE、ALTER和DROP型別以及型別主體
-
USER:CREATE、ALTER或DROP使用者
-
VIEW:CREATE或DROP檢視
-
非ALL類別,顯式指定的語句型別
-
ALTER SEQUENCE:任何ALTER SEQUENCE命令
-
ALTER TABLE:任何ALTER TABLE命令
-
COMMENT TABLE:新增註釋到表、檢視、物化檢視或它們中的任何列
-
DELETE TABLE:刪除表或檢視中的行
-
EXECUTE PROCEDURE:執行程式包中的過程、函式或任何變數或遊標
-
GRANT DIRECTORY:GRANT或REVOKE DIRECTORY物件上的許可權
-
GRANT PROCEDURE:GRANT或REVOKE過程、函式或程式包上的許可權
-
GRANT SEQUENCE:GRANT或REVOKE序列上的許可權
-
GRANT TABLE:GRANT或REVOKE表、檢視或物化檢視上的許可權
-
GRANT TYPE:GRANT或REVOKE TYPE上的許可權
-
INSERT TABLE:INSERT INTO表或檢視
-
LOCK TABLE:表或檢視上的LOCK TABLE命令
-
SELECT SEQUENCE:引用序列的CURRVAL或NEXTVAL的任何命令
-
SELECT TABLE:SELECT FROM表、檢視或物化檢視
-
UPDATE TABLE:在表或檢視上執行UPDATE
-
許可權類別
-
ALTER:改變表、序列或物化檢視
-
AUDIT:審計任何物件上的命令
-
COMMENT:新增註釋到表、檢視或物化檢視
-
DELETE:從表、檢視或物化檢視中刪除行
-
EXECUTE:執行過程、函式或程式包
-
FLASHBACK:執行表或檢視上的閃回操作
-
GRANT:授予任何型別物件上的許可權
-
INDEX:建立表或物化檢視上的索引
-
INSERT:將行插入表、檢視或物化檢視中
-
LOCK:鎖定表、檢視或物化檢視
-
READ:對DIRECTORY物件的內容執行讀操作
-
RENAME:重新命名錶、檢視或過程
-
SELECT:從表、檢視、序列或物化檢視中選擇行
-
UPDATE:更新表、檢視或物化檢視
三、例句
如果希望審計HR.JOBS表上的所有insert和update命令,而不管誰正在進行更新,則每次該動作發生時,都可以使用如下所示的audit命令:
audit insert, update on hr.jobs by access whenever successful;
使用者 HR 向HR.JOBS表新增兩個新行:
insert into hr.jobs (job_id, job_title, min_salary, max_salary) values ('IN_CFO','Internet Chief Fun Officer', 7500, 50000); insert into hr.jobs (job_id, job_title, min_salary, max_salary) values ('OE_VLD','Order Entry CC Validation', 5500, 20000);
檢視DBA_AUDIT_TRAIL檢視,可以看到KSHELTON會話中的兩個insert命令
SELECT USERNAME, TO_CHAR(TIMESTAMP, 'MM/DD/YY HH24:MI') TIMESTAMP, OBJ_NAME, ACTION_NAME, SQL_TEXT FROM DBA_AUDIT_TRAIL; USERNAME TIMESTAMP OWNER OBJ_NAME ACTION_NAME SQL_TEXT --------- -------------- ----- -------- ------------- --------------------------------------------------------------- KSHELTON 08/12/07 22:54 HR JOBS INSERT insert into hr.jobs (job_id, job_title, min_salary, max_salary) values ('IN_CFO','Internet Chief Fun Officer', 7500, 50000); KSHELTON 08/12/07 22:53 HR JOBS INSERT insert into hr.jobs (job_id, job_title, min_salary, max_salary) values ('OE_VLD','Order Entry CC Validation', 5500, 20000);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2644545/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle OCP(50):審計簡介Oracle
- Oracle OCP(52):細粒度審計Oracle
- Oracle審計(轉)Oracle
- Oracle:審計清理Oracle
- ORACLE AUDIT審計(1)Oracle
- Oracle OCP(56)Oracle
- Oracle OCP(42):ASM 儲存結構簡介OracleASM
- oracle審計-細粒度(轉)Oracle
- oracle 細粒度審計(fga)Oracle
- Proteus實現簡單51程式的設計與模擬
- Oracle OCP(23):序列Oracle
- Oracle OCP(29):PROFILEOracle
- Oracle OCP(54):EXPOracle
- Oracle OCP(54):IMPOracle
- Oracle OCP(57):IMPDPOracle
- Oracle OCP(44):LSNRCTLOracle
- Oracle OCP(28):USEROracle
- Oracle OCP(25):索引Oracle索引
- Oracle OCP(30):ROLEOracle
- oracle fga審計(欄位級)Oracle
- oracle10g審計(轉)Oracle
- Oracle 19c OCP 1Z0-082認證考試題庫(51-60)Oracle
- Oracle OCP(33):官方文件Oracle
- Oracle OCP(20):建立表Oracle
- Oracle OCP(21):管理表Oracle
- Oracle OCP(12):ROLLUP & CUBEOracle
- Oracle OCP(48):UNDO TABLESPACEOracle
- Oracle OCP(58):ARCHIVELOG 管理OracleHive
- Oracle OCP(24):檢視Oracle
- Oracle OCP(26):其它ObjectOracleObject
- Oracle OCP(32):SUPPORT:MOSOracle
- 【AUDIT]Oracle審計配置及常用sqlOracleSQL
- 簡單的51微控制器多工作業系統(C51)作業系統
- 2019 OCP簡介
- Oracle OCP(35):Database 安裝OracleDatabase
- Oracle OCP(36):DBCA建庫Oracle
- Oracle OCP(04):聚合函式Oracle函式
- Oracle OCP(43):listener.oraOracle