Oracle基於值的稽核
Oracle透過使用觸發器,可以實現基於值的稽核。
基於值的稽核實驗:
1、使用者scott有一張員工表emp,其中欄位sal記錄了每位員工的工資資訊
2、建立一個稽核表用來記錄稽核結果
create table scott.emp_sal_audit
(host varchar2(50), ip_address varchar2(20), emp_no varchar2(20), old_value number, new_value number, update_time date);
3、為表scott.emp建立一個觸發器,對欄位sal的值的更新應用觸發,記錄更新前後值,並記錄執行更新的客戶端資訊
create or replace trigger sal_audit
after update of sal on scott.emp
for each row
begin
if :old.sal != :new.sal then
insert into scott.emp_sal_audit values
(sys_context('userenv', 'host'),
sys_context('userenv', 'ip_address'),
:new.empno,
:old.sal,
:new.sal,
sysdate);
end if;
end;
4、查詢當前記錄,並執行更新
select * from emp where empno = 7369;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7369 SMITH CLERK 7902 1980/12/17 800.00 20
update emp set sal = 900 where empno = 7369;
commit;
5、檢視稽核記錄
select * from emp_sal_audit;
HOST IP_ADDRESS EMP_NO OLD_VALUE NEW_VALUE UPDATE_TIME
-------------------- -------------------- ---------- ---------- ---------- --------------------
WORKGROUP\MYPC 192.168.133.1 7369 800 900 2015/9/3 16:34:27
該表記錄了執行變更的客戶端機器、IP地址、更新前後值、更新時間等,觸發器中使用了oracle函式sys_context用來獲取系統環境資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28974745/viewspace-2145265/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle FGA稽核Oracle
- Oracle SYSDBA稽核Oracle
- 美團如何基於深度學習實現影像的智慧稽核?深度學習
- 【AI in 美團】如何基於深度學習實現影象的智慧稽核?AI深度學習
- Oracle系統預設的稽核Oracle
- 一個基於django框架的SQL 稽核系統二次開發Django框架SQL
- Oracle 基於其他表中的資料更新記錄時空值的處理方法Oracle
- Oracle基於函式的索引Oracle函式索引
- 981-基於時間的鍵值儲存
- 基於值的審計(value-based auditing)
- 981. 基於時間的鍵值儲存
- 基於Oracle的SQL最佳化OracleSQL
- Oracle標準資料庫稽核Oracle資料庫
- 關於ORACLE MYSQL NOT IN和NOT exists需要注意的 NULL值OracleMySqlNull
- 基於Oracle的sql最佳化(1)OracleSQL
- 基於成本的Oracle優化法則Oracle優化
- Oracle基於時間點的恢復Oracle
- oracle中基於ROWNUM的查詢的返回Oracle
- 關於IPV6稽核被拒的完整分析
- oracle基於scn的不完全恢復Oracle
- oracle 閃回基於時間的恢復Oracle
- 關於廣電釋出關於APP需要版本稽核APP
- oracle基於SCN增量恢復Oracle
- 基於R語言的航空公司客戶價值分析R語言
- NOISEDIFFUSION: 改進基於擴散模型的球面線性插值模型
- 獲獎方案 | 基於大模型和向量資料庫的SQL生成與稽核最佳化解決方案大模型資料庫SQL
- Oracle 19c中基於函式的索引Oracle函式索引
- oracle基於歸檔的增量異地恢復Oracle
- Oracle EBS 基於Host併發程式的開發Oracle
- 基於事件驅動的Oracle作業排程事件Oracle
- C# 實現一個基於值相等性比較的字典C#
- C# 7.0 新特性(1): 基於Tuple的“多”返回值方法C#
- 基於Matlab的BP神經網路分段插值模擬Matlab神經網路
- Oracle EBR 基於版本重定義Oracle
- 基於價值流DevSecOps效能案例介紹dev
- 關於js中的值JS
- oracle 資料庫對於多列求最大值Oracle資料庫
- oracle基於時間點的不完全恢復Oracle