DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL不生效的根本原因是清理策略未启用或配置错误,需先执行INIT_CLEANUP初始化并启用CLEANUP_OS_AUDIT_JOB调度作业,且统一审计必须指定AUDIT_TRAIL_UNIFIED类型。DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL 为什么总不生效根本原因通常是清理策略没真正启用,或者启用了但时间窗口/条件不匹配。oracle 不会自动轮询执行清理,必须靠调度作业(dbms_scheduler)触发,而默认安装后这个作业是 disabled 状态。检查作业是否启用:SELECT job_name, enabled FROM dba_scheduler_jobs WHERE job_name = 'CLEANUP_OS_AUDIT_JOB'(注意:19c 默认作业名是这个,不是 CLEANUP_AUDIT_JOB)手动启用一次:BEGIN DBMS_SCHEDULER.ENABLE('CLEANUP_OS_AUDIT_JOB'); END;确认审计跟踪位置:如果用了统一审计(UNIFIED_AUDIT_TRAIL),清理函数要用 CLEAN_AUDIT_TRAIL 的 AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,混用类型会导致"没报错但没删数据"设置自动清理策略前必须初始化(INIT_CLEANUP)没调用 INIT_CLEANUP 就直接设策略,后续所有 CLEAN_AUDIT_TRAIL 调用都会静默失败------不会报错,也不会清理任何记录。首次启用必须运行:BEGIN DBMS_AUDIT_MGMT.INIT_CLEANUP( audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED, default_cleanup_interval => 24 ); END;default_cleanup_interval 单位是小时,不是天;设为 0 表示禁用自动调度(只靠手动调用)初始化后,DBA_AUDIT_MGMT_CONFIG_PARAMS 视图里才能看到配置项,否则查不到清理策略被忽略的三个典型配置坑策略存在,但清理仍不触发,大概率掉进下面任一陷阱: Shakespeare 一款人工智能文案软件,能够创建几乎任何类型的文案。
相关推荐
数据库小学妹12 小时前
MySQL表碎片与 OPTIMIZE TABLE:空间回收的代价与边界java_logo12 小时前
Docker 部署 Hue:轻松搭建数据库与数据仓库 SQL 查询平台Davina_yu12 小时前
1、count(*)、count(1) 和 count(单个字段) 的区别锦衣夜行?12 小时前
Oracle 数据库安装失败清理残留步骤时间售卖铺12 小时前
MySQL 表的约束技术卷12 小时前
Windows 下自定义 MCP 踩坑:stdin 默认继承导致 CPython 启动阻塞小oo呆12 小时前
【学习心得】Python多进程一条泥憨鱼12 小时前
【Redis | 黑马点评】基于Redis的消息队列 | stream消息队列 源码解读CodeGL12 小时前
9、Python基础之IO编程每天一道题12 小时前
Redis 缓存为什么会出问题?穿透、击穿、雪崩与缓存一致性