[20230303]學習UNIFIED audit--定期清理AUDSYS.AUD$UNIFIED.txt
[20230303]學習UNIFIED audit--定期清理AUDSYS.AUD$UNIFIED.txt
--//前面的學習包括手工操作整理AUDSYS.AUD$UNIFIED以及移動AUDSYS.AUD$UNIFIED到別的表空間.
--//下面學習定期清理AUDSYS.AUD$UNIFIED
--//參考:
--//
--//https://www.cnblogs.com/cqdba/p/13258891.html
--// Create the scheduler job which purge the AUDSYS.AUD$UNIFIED table daily
1.環境:
SYS@192.168.100.141:1521/dyhis> @ver1
SYS@192.168.100.141:1521/dyhis> @ pr
==============================
PORT_STRING : x86_64/Linux 2.4.xx
VERSION : 19.0.0.0.0
BANNER : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
BANNER_FULL : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.9.0.0.0
BANNER_LEGACY : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
CON_ID : 0
PL/SQL procedure successfully completed.
2.步驟:
--//定時排程設定時間戳.執行DBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP。
--//取月尾日期.
SYS@192.168.100.141:1521/dyhis> select add_months(trunc(sysdate,'mm'),1),add_months(trunc(sysdate,'mm'),-2) from dual ;
ADD_MONTHS(TRUNC(SY ADD_MONTHS(TRUNC(SY
------------------- -------------------
2023-04-01 00:00:00 2023-01-01 00:00:00
--//仔細看了連結https://www.cnblogs.com/cqdba/p/13258891.html,感覺有點繁瑣。
--//使用了DBMS_AUDIT_MGMT.CREATE_PURGE_JOB.
--//根據我前面測試,操作最好直接刪除整個分割槽,這樣更加快捷。
--//索性我設定時間戳後馬上執行清理操作,修改如下:
BEGIN
DBMS_SCHEDULER.create_job
(
job_name => 'JOB_PURGE_AUDIT_RECORDS'
,job_type => 'PLSQL_BLOCK'
,job_action => q'[BEGIN
DBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP(DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,add_months(trunc(sysdate,'mm'),-2));
DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL(AUDIT_TRAIL_TYPE=>DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,USE_LAST_ARCH_TIMESTAMP=>TRUE);
END;]'
,-- start_date => add_months(trunc(sysdate,'mm'),1),
start_date => SYSDATE
,-- repeat_interval => 'freq=monthly; byhour=7; byminute=50; bysecond=0;',
repeat_interval => 'freq=monthly;bydate=0101,0201,0301,0401,0501,0601,0701,0801,0901,1001,1101,1201;byhour=8; byminute=50; bysecond=0;'
,end_date => NULL
,enabled => TRUE
,comments => 'Update last_archive_timestamp and clean unified audit trail'
);
END;
/
--//根據需要設定保留的時間段,我設定保留最少2個月. 如果保留3個月就是-3.
SYS@192.168.100.141:1521/dyhis> select * from DBA_AUDIT_MGMT_LAST_ARCH_TS;
AUDIT_TRAIL RAC_INSTANCE LAST_ARCHIVE_TS DATABASE_ID CONTAINER_GUID
-------------------- ------------ --------------------------------- ----------- ---------------------------------
UNIFIED AUDIT TRAIL 0 2023-01-01 00:00:00.000000 +00:00 4090373436 B60D258AC2D9EF54E0532A63A8C09F1F
SYS@192.168.100.141:1521/dyhis> select start_date,LAST_START_DATE,LAST_RUN_DURATION,NEXT_RUN_DATE from dba_scheduler_jobs where job_name= 'JOB_PURGE_AUDIT_RECORDS'
@pr
==============================
START_DATE : 2023-03-03 09:07:24.000000 +08:00
LAST_START_DATE :
LAST_RUN_DURATION :
NEXT_RUN_DATE : 2023-04-01 08:50:00.000000 +08:00
PL/SQL procedure successfully completed.
--//不知道是否時區會有影響.前面的+0時區,後面的+08時區.
SYS@192.168.100.141:1521/dyhis> select max(event_timestamp) from AUDSYS.AUD$UNIFIED;
MAX(EVENT_TIMESTAMP)
---------------------------------------------------------------------------
2023-03-03 01:12:40.778111
SYS@192.168.100.141:1521/dyhis> select max(event_timestamp) from AUDSYS.AUD$UNIFIED;
MAX(EVENT_TIMESTAMP)
---------------------------------------------------------------------------
2023-03-03 01:12:46.815100
SYS@192.168.100.141:1521/dyhis> select SYSDATE from dual ;
SYSDATE
-------------------
2023-03-03 09:13:10
--//很明顯EVENT_TIMESTAMP改用+0時區.
SYS@192.168.100.141:1521/dyhis> select * from DBA_AUDIT_MGMT_CLEANUP_JOBS;
no rows selected
--//沒有采用DBMS_AUDIT_MGMT.CREATE_PURGE_JOB方式.
--//相關檢視:內容來自https://www.cnblogs.com/cqdba/p/13258891.html
--//DBA_AUDIT_MGMT_CLEAN_EVENTS 顯示傳統(即非統一)審計跟蹤的清除事件的歷史記錄
--//統計審計的清除記錄 select * from UNIFIED_AUDIT_TRAIL
--//where OBJECT_NAME='DBMS_AUDIT_MGMT' and OBJECT_SCHEMA='SYS' AND SQL_TEXT LIKE '%DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL%';
--//DBA_AUDIT_MGMT_CLEANUP_JOBS 顯示當前配置的稽核跟蹤清除作業
--//DBA_AUDIT_MGMT_CONFIG_PARAMS 顯示DBMS_AUDIT_MGMTPL / SQL程式包 使用的當前配置的稽核跟蹤屬性
--//DBA_AUDIT_MGMT_LAST_ARCH_TS 顯示為審計跟蹤清除設定的最後一個歸檔時間戳記
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2937975/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20230403]學習UNIFIED audit--驗證清理AUDSYS.AUD$UNIFIED.txtNifi
- [20230301]學習UNIFIED audit-整理AUDSYS.AUD$UNIFIED.txtNifi
- [20230301]學習UNIFIED audit-移動AUDSYS.AUD$UNIFIED到別的表空間.txtNifi
- 【故障處理】ORA-1688: unable to extend table AUDSYS.AUD$UNIFIEDNifi
- [20230305]AUDSYS.AUD$UNIFIED ORA-46385.txtNifi
- oracle 定期清理inactive會話Oracle會話
- ELK日誌定期清理 ES索引資料索引
- 如何定期清理DNS快取?清理DNS快取有什麼用?DNS快取
- Github和git的學習(不定期更新)Github
- 雲伺服器mysql定期清理bin-log檔案伺服器MySql
- 建立定期清理listener,trace檔案的shell指令碼指令碼
- 配置計劃任務定期清理資料庫trc檔案資料庫
- Linux 相關學習內容(不定期更新)Linux
- 資料庫會話數量過多,定期清理inactive會話資料庫會話
- 過期資料的定期清理機制來提高系統穩定性
- [20230306]學習UNIFIED audit--dg相關問題.txtNifi
- 輕鬆搞定對容器例項日誌設定定期清理和回捲
- Oracle 12c 統一審計(Unified Auditing)OracleNifi
- Windows下配置定期任務Windows
- Windows定期自動關機Windows
- oracle定期清空回收過程Oracle
- oracle 定期表及索引分析Oracle索引
- 學習學習再學習
- Python資料科學(七) 資料清理(Ⅱ)Python資料科學
- Python資料科學(六) 資料清理(Ⅰ)Python資料科學
- 科學的清理 Windows 98 登錄檔(轉)Windows
- 結構化文字處理利器 unified 生態介紹Nifi
- CUDA 有 unified memory 還需要記憶體優化嗎?Nifi記憶體優化
- 定期投資你的知識資產
- MySQL定期自動刪除表MySql
- 你真的需要定期重灌Windows嗎?Windows
- 索引是如何定期rebuild的(zt)索引Rebuild
- 定期專案現狀評審
- SQL Server定期自動備份SQLServer
- 定期最佳化和分析表
- [20230303]sqlplus column new_value old_value.txtSQL
- 深度學習——學習目錄——學習中……深度學習
- 深度學習(一)深度學習學習資料深度學習