資料庫審計方案(包括login,logout,DML,DDL等)
/*===============================================================================
||檔名:資料庫審計事件記錄指令碼
||說明:為了對資料庫事件進行審計,而進行相關設計
==============================================================================*/
/* ========================= 審計記錄表 ========================= */
/* -------- 系統會話事件審計表 -------- */
CREATE TABLE SYSTEM.Audit_Login_DB(
/*
||名稱:審計資料庫會話登陸事件記錄表
||說明:
*/
Session_Id NUMBER, /* 會話ID */
OS_User VARCHAR2(200), /* 終端OS使用者 */
IP_Address VARCHAR2(200), /* 終端IP地址 */
Terminal VARCHAR2(200), /* 終端 */
Host VARCHAR2(200), /* 終端主機名 */
User_Name VARCHAR2(30), /* ORACLE 使用者名稱*/
LogOn_Date DATE, /* 登陸時間 */
LogOff_Date DATE, /* 登離時間 */
Elapsed_Minutes NUMBER /* 線上時間 */
)
TABLESPACE TOOLS;
/* -------- 會話事件審計表索引 --------- */
CREATE INDEX IX_AUDIT_LOGIN_SESSIONID ON SYSTEM.AUDIT_LOGIN_DB(SESSION_ID)
TABLESPACE INDX;
CREATE INDEX IX_AUDIT_LOGIN_LOGONDATE ON SYSTEM.AUDIT_LOGIN_DB(LOGON_DATE)
TABLESPACE INDX;
/* -------- DDL事件審計表 -------- */
CREATE TABLE system.Audit_DDL_OBJ(
/*
||名稱:審計針對資料庫物件的DDL記錄表
||說明:
*/
Opr_Time DATE, /* 操作時間 */
Session_Id NUMBER, /* 會話ID */
OS_User VARCHAR2(200), /* 終端OS使用者 */
IP_Address VARCHAR2(200), /* 終端IP地址 */
Terminal VARCHAR2(200), /* 終端 */
Host VARCHAR2(200), /* 終端主機名 */
User_Name VARCHAR2(30), /* ORACLE 使用者名稱*/
DDL_Type VARCHAR2(30), /* DDL操作型別 */
DDL_Sql VARCHAR2(2000), /* DDL語句 */
Object_Type VARCHAR2(18), /* 操作物件型別 */
Owner VARCHAR2(30), /* 物件擁有者 */
Object_Name VARCHAR2(128) /* 物件名稱 */
)
;
/* -------- DDL事件審計表索引 --------- */
CREATE INDEX IX_AUDIT_DDL_SESSIONID ON SYSTEM.AUDIT_DDL_OBJ(SESSION_ID)
TABLESPACE INDX;
CREATE INDEX IX_AUDIT_DDL_OPRTIME ON SYSTEM.AUDIT_DDL_OBJ(OPR_TIME)
TABLESPACE INDX;
/* ========================= 審計觸發器 ========================= */
/* ------- AFTER LOGON ON DATABASE 觸發器 -------*/
CREATE OR REPLACE TRIGGER SYS.Login_Audit_Trigger
AFTER LOGON ON DATABASE
/*
||名稱:會話登陸事件審計觸發器
||說明:
*/
DECLARE
Session_Id_Var NUMBER; /* 會話ID */
Os_User_Var VARCHAR2(200); /* 終端OS使用者 */
IP_Address_Var VARCHAR2(200); /* 終端IP */
Terminal_Var VARCHAR2(200); /* 終端 */
Host_Var VARCHAR2(200); /* 終端主機名 */
BEGIN
/* 獲取登陸使用者資訊 */
SELECT SYS_CONTEXT('USERENV','SESSIONID'),
SYS_CONTEXT('USERENV','OS_USER'),
SYS_CONTEXT('USERENV','IP_ADDRESS'),
SYS_CONTEXT('USERENV','TERMINAL'),
SYS_CONTEXT('USERENV','HOST')
INTO Session_Id_Var,
Os_User_Var,
IP_Address_Var,
Terminal_Var,
Host_Var
FROM DUAL;
/* 記錄登陸審計資訊 */
INSERT INTO system.Audit_Login_DB(
Session_Id, /* 會話ID */
OS_User, /* 終端OS使用者 */
IP_Address, /* 終端IP地址 */
Terminal, /* 終端 */
Host, /* 終端主機名 */
User_Name, /* ORACLE 使用者名稱*/
LogOn_Date, /* 登陸時間 */
LogOff_Date, /* 登離時間 */
Elapsed_Minutes /* 線上時間 */
)
VALUES( Session_Id_Var,
Os_User_Var,
IP_Address_Var,
Terminal_Var,
Host_Var,
USER,
SYSDATE,
NULL,
NULL);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
NULL;
END Login_Audit_Trigger;
/
/* ------- BEFORE LOGOFF ON DATABASE 觸發器 -------*/
CREATE OR REPLACE TRIGGER SYS.LogOff_Audit_Trigger
BEFORE LOGOFF ON DATABASE
/*
||名稱:會話登離事件審計觸發器
||說明:
*/
DECLARE
Session_Id_Var NUMBER; /* 會話ID */
BEGIN
/* 獲取登陸使用者資訊 */
SELECT SYS_CONTEXT('USERENV','SESSIONID')
INTO Session_Id_Var
FROM DUAL;
/* 更新會話審計記錄資訊 */
UPDATE system.Audit_Login_DB
SET LogOff_Date = SYSDATE,
Elapsed_Minutes = ROUND((SYSDATE - LogOn_Date)* 1440)
WHERE Session_Id = Session_Id_Var;
--WHERE SYS_CONTEXT('USERENV','SESSIONID') = Session_Id;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
NULL;
END LogOff_Audit_Trigger;
/
/* ------- AFTER DDL ON DATABASE 觸發器 -------*/
CREATE OR REPLACE TRIGGER SYS.DDL_Audit_Trigger
AFTER DDL ON DATABASE
/*
||名稱:DDL事件審計觸發器
||說明:
*/
DECLARE
Session_Id_Var NUMBER; /* 會話ID */
Os_User_Var VARCHAR2(200); /* 終端OS使用者 */
IP_Address_Var VARCHAR2(200); /* 終端IP */
Terminal_Var VARCHAR2(200); /* 終端 */
Host_Var VARCHAR2(200); /* 終端主機名 */
Cut NUMBER; /* SQL列表長度 */
Sql_Text ORA_NAME_LIST_T; /* SQL_TEXT 列表 */
L_Trace NUMBER; /* 迴圈執行條件 */
DDL_Sql_Var VARCHAR2(2000); /* DDL語句 */
BEGIN
/* 獲取操作使用者資訊 */
SELECT SYS_CONTEXT('USERENV','SESSIONID'),
SYS_CONTEXT('USERENV','OS_USER'),
SYS_CONTEXT('USERENV','IP_ADDRESS'),
SYS_CONTEXT('USERENV','TERMINAL'),
SYS_CONTEXT('USERENV','HOST')
INTO Session_Id_Var,
Os_User_Var,
IP_Address_Var,
Terminal_Var,
Host_Var
FROM DUAL;
/* 獲取DDL SQL語句 */
BEGIN
SELECT COUNT(*) INTO L_Trace FROM DUAL
WHERE ORA_DICT_OBJ_NAME NOT LIKE 'MLOG%'
AND ORA_DICT_OBJ_NAME NOT LIKE '%LOG'
AND UTL_INADDR.GET_HOST_ADDRESS IS NOT NULL
AND SYS_CONTEXT('USERENV','IP_ADDRESS') IS NOT NULL
AND SYS_CONTEXT('USERENV','IP_ADDRESS') <> UTL_INADDR.GET_HOST_ADDRESS;
IF L_Trace > 0 THEN
Cut := ORA_SQL_TXT(Sql_Text);
FOR i IN 1..Cut LOOP
DDL_Sql_Var := SUBSTR(DDL_Sql_Var || Sql_Text(i),1,2000);
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
/* 記錄登陸審計資訊 */
INSERT INTO system.Audit_DDL_OBJ(
Opr_Time, /* 操作時間 */
Session_Id, /* 會話ID */
OS_User, /* 終端OS使用者 */
IP_Address, /* 終端IP地址 */
Terminal, /* 終端 */
Host, /* 終端主機名 */
User_Name, /* ORACLE 使用者名稱*/
DDL_Type, /* DDL操作型別 */
DDL_Sql, /* DDL語句 */
Object_Type, /* 操作物件型別 */
Owner, /* 物件擁有者 */
Object_Name /* 物件名稱 */
)
VALUES( SYSDATE,
Session_Id_Var,
Os_User_Var,
IP_Address_Var,
Terminal_Var,
Host_Var,
ORA_LOGIN_USER,
ORA_SYSEVENT,
DDL_Sql_Var,
ORA_DICT_OBJ_TYPE,
ORA_DICT_OBJ_OWNER,
ORA_DICT_OBJ_NAME);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
NULL;
END DDL_Audit_Trigger;
/
/* ========================= 審計DML語句 ========================= */
/*
||名稱:利用DBMS_FGA包的細粒度審計功能實現對DML語句的審計
||說明:
*/
CREATE SEQUENCE SEQ_SELECT_NUMBER MINVALUE 1 MAXVALUE 100000 START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE SEQ_INSERT_NUMBER MINVALUE 1 MAXVALUE 100000 START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE SEQ_UPDATE_NUMBER MINVALUE 1 MAXVALUE 100000 START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE SEQ_DELETE_NUMBER MINVALUE 1 MAXVALUE 100000 START WITH 1 INCREMENT BY 1;
SELECT 'DBMS_FGA.ADD_POLICY(OBJECT_SCHEMA => '''||OWNER||''', OBJECT_NAME => '''||TABLE_NAME||''',STATEMENT_TYPES => ''SELECT'',POLICY_NAME => ''CHK_SELECT_'||SEQ_SELECT_NUMBER.NEXTVAL||'''); ' FROM ALL_TABLES WHERE WNER='INXITE'
UNION
SELECT 'DBMS_FGA.ADD_POLICY(OBJECT_SCHEMA => '''||OWNER||''', OBJECT_NAME => '''||TABLE_NAME||''',STATEMENT_TYPES => ''INSERT'',POLICY_NAME => ''CHK_INSERT_'||SEQ_INSERT_NUMBER.NEXTVAL||'''); ' FROM ALL_TABLES WHERE WNER='INXITE'
UNION
SELECT 'DBMS_FGA.ADD_POLICY(OBJECT_SCHEMA => '''||OWNER||''', OBJECT_NAME => '''||TABLE_NAME||''',STATEMENT_TYPES => ''UPDATE'',POLICY_NAME => ''CHK_UPDATE_'||SEQ_UPDATE_NUMBER.NEXTVAL||'''); ' FROM ALL_TABLES WHERE WNER='INXITE'
UNION
SELECT 'DBMS_FGA.ADD_POLICY(OBJECT_SCHEMA => '''||OWNER||''', OBJECT_NAME => '''||TABLE_NAME||''',STATEMENT_TYPES => ''DELETE'',POLICY_NAME => ''CHK_DELETE_'||SEQ_DELETE_NUMBER.NEXTVAL||'''); ' FROM ALL_TABLES WHERE WNER='INXITE'
--需要在以上生成的語句前加上BEGIN,END;語句,以補充完全
參考文件:
細粒度審計(FGA) http://www.itpub.net/viewthread.php?tid=239693&extra=page%3D2%26amp%3Bfilter%3Ddigest
Oracle Audit Vault
建立監控表的DML的觸發器--Oracle審計 http://203.208.33.101/search?q=cache:MueGFCXzT6wJ:blog.oracle.com.cn/index.php/181019/viewspace-30154+Oracle+AFTER+DML+ON+DATABASE&hl=zh-CN&ct=clnk&cd=3&gl=cn&lr=lang_zh-CN&st_usg=ALhdy28qAdXB_OiidITLXDsOWWwjr0WCLw
資料庫審計事件記錄指令碼 宇野,抱歉找不到原地址連結了
||檔名:資料庫審計事件記錄指令碼
||說明:為了對資料庫事件進行審計,而進行相關設計
==============================================================================*/
/* ========================= 審計記錄表 ========================= */
/* -------- 系統會話事件審計表 -------- */
CREATE TABLE SYSTEM.Audit_Login_DB(
/*
||名稱:審計資料庫會話登陸事件記錄表
||說明:
*/
Session_Id NUMBER, /* 會話ID */
OS_User VARCHAR2(200), /* 終端OS使用者 */
IP_Address VARCHAR2(200), /* 終端IP地址 */
Terminal VARCHAR2(200), /* 終端 */
Host VARCHAR2(200), /* 終端主機名 */
User_Name VARCHAR2(30), /* ORACLE 使用者名稱*/
LogOn_Date DATE, /* 登陸時間 */
LogOff_Date DATE, /* 登離時間 */
Elapsed_Minutes NUMBER /* 線上時間 */
)
TABLESPACE TOOLS;
/* -------- 會話事件審計表索引 --------- */
CREATE INDEX IX_AUDIT_LOGIN_SESSIONID ON SYSTEM.AUDIT_LOGIN_DB(SESSION_ID)
TABLESPACE INDX;
CREATE INDEX IX_AUDIT_LOGIN_LOGONDATE ON SYSTEM.AUDIT_LOGIN_DB(LOGON_DATE)
TABLESPACE INDX;
/* -------- DDL事件審計表 -------- */
CREATE TABLE system.Audit_DDL_OBJ(
/*
||名稱:審計針對資料庫物件的DDL記錄表
||說明:
*/
Opr_Time DATE, /* 操作時間 */
Session_Id NUMBER, /* 會話ID */
OS_User VARCHAR2(200), /* 終端OS使用者 */
IP_Address VARCHAR2(200), /* 終端IP地址 */
Terminal VARCHAR2(200), /* 終端 */
Host VARCHAR2(200), /* 終端主機名 */
User_Name VARCHAR2(30), /* ORACLE 使用者名稱*/
DDL_Type VARCHAR2(30), /* DDL操作型別 */
DDL_Sql VARCHAR2(2000), /* DDL語句 */
Object_Type VARCHAR2(18), /* 操作物件型別 */
Owner VARCHAR2(30), /* 物件擁有者 */
Object_Name VARCHAR2(128) /* 物件名稱 */
)
;
/* -------- DDL事件審計表索引 --------- */
CREATE INDEX IX_AUDIT_DDL_SESSIONID ON SYSTEM.AUDIT_DDL_OBJ(SESSION_ID)
TABLESPACE INDX;
CREATE INDEX IX_AUDIT_DDL_OPRTIME ON SYSTEM.AUDIT_DDL_OBJ(OPR_TIME)
TABLESPACE INDX;
/* ========================= 審計觸發器 ========================= */
/* ------- AFTER LOGON ON DATABASE 觸發器 -------*/
CREATE OR REPLACE TRIGGER SYS.Login_Audit_Trigger
AFTER LOGON ON DATABASE
/*
||名稱:會話登陸事件審計觸發器
||說明:
*/
DECLARE
Session_Id_Var NUMBER; /* 會話ID */
Os_User_Var VARCHAR2(200); /* 終端OS使用者 */
IP_Address_Var VARCHAR2(200); /* 終端IP */
Terminal_Var VARCHAR2(200); /* 終端 */
Host_Var VARCHAR2(200); /* 終端主機名 */
BEGIN
/* 獲取登陸使用者資訊 */
SELECT SYS_CONTEXT('USERENV','SESSIONID'),
SYS_CONTEXT('USERENV','OS_USER'),
SYS_CONTEXT('USERENV','IP_ADDRESS'),
SYS_CONTEXT('USERENV','TERMINAL'),
SYS_CONTEXT('USERENV','HOST')
INTO Session_Id_Var,
Os_User_Var,
IP_Address_Var,
Terminal_Var,
Host_Var
FROM DUAL;
/* 記錄登陸審計資訊 */
INSERT INTO system.Audit_Login_DB(
Session_Id, /* 會話ID */
OS_User, /* 終端OS使用者 */
IP_Address, /* 終端IP地址 */
Terminal, /* 終端 */
Host, /* 終端主機名 */
User_Name, /* ORACLE 使用者名稱*/
LogOn_Date, /* 登陸時間 */
LogOff_Date, /* 登離時間 */
Elapsed_Minutes /* 線上時間 */
)
VALUES( Session_Id_Var,
Os_User_Var,
IP_Address_Var,
Terminal_Var,
Host_Var,
USER,
SYSDATE,
NULL,
NULL);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
NULL;
END Login_Audit_Trigger;
/
/* ------- BEFORE LOGOFF ON DATABASE 觸發器 -------*/
CREATE OR REPLACE TRIGGER SYS.LogOff_Audit_Trigger
BEFORE LOGOFF ON DATABASE
/*
||名稱:會話登離事件審計觸發器
||說明:
*/
DECLARE
Session_Id_Var NUMBER; /* 會話ID */
BEGIN
/* 獲取登陸使用者資訊 */
SELECT SYS_CONTEXT('USERENV','SESSIONID')
INTO Session_Id_Var
FROM DUAL;
/* 更新會話審計記錄資訊 */
UPDATE system.Audit_Login_DB
SET LogOff_Date = SYSDATE,
Elapsed_Minutes = ROUND((SYSDATE - LogOn_Date)* 1440)
WHERE Session_Id = Session_Id_Var;
--WHERE SYS_CONTEXT('USERENV','SESSIONID') = Session_Id;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
NULL;
END LogOff_Audit_Trigger;
/
/* ------- AFTER DDL ON DATABASE 觸發器 -------*/
CREATE OR REPLACE TRIGGER SYS.DDL_Audit_Trigger
AFTER DDL ON DATABASE
/*
||名稱:DDL事件審計觸發器
||說明:
*/
DECLARE
Session_Id_Var NUMBER; /* 會話ID */
Os_User_Var VARCHAR2(200); /* 終端OS使用者 */
IP_Address_Var VARCHAR2(200); /* 終端IP */
Terminal_Var VARCHAR2(200); /* 終端 */
Host_Var VARCHAR2(200); /* 終端主機名 */
Cut NUMBER; /* SQL列表長度 */
Sql_Text ORA_NAME_LIST_T; /* SQL_TEXT 列表 */
L_Trace NUMBER; /* 迴圈執行條件 */
DDL_Sql_Var VARCHAR2(2000); /* DDL語句 */
BEGIN
/* 獲取操作使用者資訊 */
SELECT SYS_CONTEXT('USERENV','SESSIONID'),
SYS_CONTEXT('USERENV','OS_USER'),
SYS_CONTEXT('USERENV','IP_ADDRESS'),
SYS_CONTEXT('USERENV','TERMINAL'),
SYS_CONTEXT('USERENV','HOST')
INTO Session_Id_Var,
Os_User_Var,
IP_Address_Var,
Terminal_Var,
Host_Var
FROM DUAL;
/* 獲取DDL SQL語句 */
BEGIN
SELECT COUNT(*) INTO L_Trace FROM DUAL
WHERE ORA_DICT_OBJ_NAME NOT LIKE 'MLOG%'
AND ORA_DICT_OBJ_NAME NOT LIKE '%LOG'
AND UTL_INADDR.GET_HOST_ADDRESS IS NOT NULL
AND SYS_CONTEXT('USERENV','IP_ADDRESS') IS NOT NULL
AND SYS_CONTEXT('USERENV','IP_ADDRESS') <> UTL_INADDR.GET_HOST_ADDRESS;
IF L_Trace > 0 THEN
Cut := ORA_SQL_TXT(Sql_Text);
FOR i IN 1..Cut LOOP
DDL_Sql_Var := SUBSTR(DDL_Sql_Var || Sql_Text(i),1,2000);
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
/* 記錄登陸審計資訊 */
INSERT INTO system.Audit_DDL_OBJ(
Opr_Time, /* 操作時間 */
Session_Id, /* 會話ID */
OS_User, /* 終端OS使用者 */
IP_Address, /* 終端IP地址 */
Terminal, /* 終端 */
Host, /* 終端主機名 */
User_Name, /* ORACLE 使用者名稱*/
DDL_Type, /* DDL操作型別 */
DDL_Sql, /* DDL語句 */
Object_Type, /* 操作物件型別 */
Owner, /* 物件擁有者 */
Object_Name /* 物件名稱 */
)
VALUES( SYSDATE,
Session_Id_Var,
Os_User_Var,
IP_Address_Var,
Terminal_Var,
Host_Var,
ORA_LOGIN_USER,
ORA_SYSEVENT,
DDL_Sql_Var,
ORA_DICT_OBJ_TYPE,
ORA_DICT_OBJ_OWNER,
ORA_DICT_OBJ_NAME);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
NULL;
END DDL_Audit_Trigger;
/
/* ========================= 審計DML語句 ========================= */
/*
||名稱:利用DBMS_FGA包的細粒度審計功能實現對DML語句的審計
||說明:
*/
CREATE SEQUENCE SEQ_SELECT_NUMBER MINVALUE 1 MAXVALUE 100000 START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE SEQ_INSERT_NUMBER MINVALUE 1 MAXVALUE 100000 START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE SEQ_UPDATE_NUMBER MINVALUE 1 MAXVALUE 100000 START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE SEQ_DELETE_NUMBER MINVALUE 1 MAXVALUE 100000 START WITH 1 INCREMENT BY 1;
SELECT 'DBMS_FGA.ADD_POLICY(OBJECT_SCHEMA => '''||OWNER||''', OBJECT_NAME => '''||TABLE_NAME||''',STATEMENT_TYPES => ''SELECT'',POLICY_NAME => ''CHK_SELECT_'||SEQ_SELECT_NUMBER.NEXTVAL||'''); ' FROM ALL_TABLES WHERE WNER='INXITE'
UNION
SELECT 'DBMS_FGA.ADD_POLICY(OBJECT_SCHEMA => '''||OWNER||''', OBJECT_NAME => '''||TABLE_NAME||''',STATEMENT_TYPES => ''INSERT'',POLICY_NAME => ''CHK_INSERT_'||SEQ_INSERT_NUMBER.NEXTVAL||'''); ' FROM ALL_TABLES WHERE WNER='INXITE'
UNION
SELECT 'DBMS_FGA.ADD_POLICY(OBJECT_SCHEMA => '''||OWNER||''', OBJECT_NAME => '''||TABLE_NAME||''',STATEMENT_TYPES => ''UPDATE'',POLICY_NAME => ''CHK_UPDATE_'||SEQ_UPDATE_NUMBER.NEXTVAL||'''); ' FROM ALL_TABLES WHERE WNER='INXITE'
UNION
SELECT 'DBMS_FGA.ADD_POLICY(OBJECT_SCHEMA => '''||OWNER||''', OBJECT_NAME => '''||TABLE_NAME||''',STATEMENT_TYPES => ''DELETE'',POLICY_NAME => ''CHK_DELETE_'||SEQ_DELETE_NUMBER.NEXTVAL||'''); ' FROM ALL_TABLES WHERE WNER='INXITE'
--需要在以上生成的語句前加上BEGIN,END;語句,以補充完全
參考文件:
細粒度審計(FGA) http://www.itpub.net/viewthread.php?tid=239693&extra=page%3D2%26amp%3Bfilter%3Ddigest
Oracle Audit Vault
建立監控表的DML的觸發器--Oracle審計 http://203.208.33.101/search?q=cache:MueGFCXzT6wJ:blog.oracle.com.cn/index.php/181019/viewspace-30154+Oracle+AFTER+DML+ON+DATABASE&hl=zh-CN&ct=clnk&cd=3&gl=cn&lr=lang_zh-CN&st_usg=ALhdy28qAdXB_OiidITLXDsOWWwjr0WCLw
資料庫審計事件記錄指令碼 宇野,抱歉找不到原地址連結了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6517/viewspace-498098/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫DDL操作審計資料庫
- 資料庫:淺談DML、DDL、DCL的區別資料庫
- 【審計】標準資料庫審計資料庫
- MsSql資料庫使用SQL plus建立DDL和DML操作方法SQL資料庫
- Oracle資料庫DDL審計觸發器觸發的bug問題Oracle資料庫觸發器
- 資料庫審計-hexorbase資料庫HexoORB
- MsSql 資料庫使用sqlplus建立DDL和DML操作方法SQL資料庫
- 拍拍貸資料庫審計資料庫
- Mysql資料庫學習(一):資料庫基本概念、關係型資料庫、Mysql資料庫安裝配置、DDL/DCL/DML語句MySql資料庫
- Oracle DML/DDL同步資料(OGG_12.2_for_Windows)OracleWindows
- 資料庫審計有什麼用?過等保三級需要嗎?資料庫
- MySQL資料庫審計系統MySql資料庫
- Access資料庫審計工具mdbtools資料庫
- ORACLE 資料庫審計詳解Oracle資料庫
- ORACLE資料庫標準審計Oracle資料庫
- 審計Oracle資料庫的使用Oracle資料庫
- ORACLE資料庫DDL審計觸發器與隱藏引數_system_trig_enabledOracle資料庫觸發器
- DML、DDL、DCL區別
- DDL,DML,DCL區別
- 資料庫審計技術進化資料庫
- 開啟mysql 資料庫審計功能。MySql資料庫
- Oracle資料庫審計功能介紹Oracle資料庫
- openGauss 設定資料庫審計資料庫
- 基於等保3.0的MySQL資料庫審計日誌外掛實踐MySql資料庫
- DML操作 DDL觸發器觸發器
- 資料庫操作語言DDL資料庫
- 資料庫安全審計在資料安全中的功能資料庫
- 安全管理:polardb資料庫審計功能資料庫
- Oracle FGA細粒度審計——基於內容的資料庫審計(一)Oracle資料庫
- Oracle FGA細粒度審計——基於內容的資料庫審計(二)Oracle資料庫
- Oracle FGA細粒度審計——基於內容的資料庫審計(三)Oracle資料庫
- DDL、DML、DCL、DQL相關操作
- Mysql 基礎操作 DDL DML DCLMySql
- oracle資料庫災難挽救應急方案之DML誤操作恢復Oracle資料庫
- 記錄資料庫所有ddl操作資料庫
- oracle 資料庫密碼中包括@Oracle資料庫密碼
- 審計資料庫登陸登出觸發器資料庫觸發器
- 資料庫審計(create/alter/drop table、user、tablespace)資料庫