1. 首页 > Oracle教程 > 正文

Oracle教程FG168-统一审计

Part01-基础概念与理论知识

1.1 统一审计的概念

统一审计是Oracle 12c引入的一种新的审计机制,它将标准审计、细粒度审计(FGA)和其他审计类型统一到一个审计框架中,提供更全面、更灵活的审计能力。

学习交流加群风哥QQ113257174

1.2 统一审计的优势

  • 统一的审计框架:将所有审计类型整合到一个框架中
  • 更灵活的审计策略:支持基于条件的审计
  • 更好的性能:优化了审计记录的存储和查询
  • 更丰富的审计信息:记录更详细的审计信息
  • 更容易管理:集中管理审计策略和审计记录

风哥提示:统一审计是Oracle 12c及以上版本推荐的审计方式,提供了更全面的审计能力

1.3 统一审计的组件

  • 审计策略:定义要审计的操作
  • 审计记录:存储审计信息的记录
  • 审计视图:用于查询审计信息的视图
  • 审计管理员:负责审计配置和管理

更多视频教程www.fgedu.net.cn

Part02-生产环境规划与建议

2.1 统一审计策略设计

  • 明确审计目标:确定需要审计的操作和对象
  • 分类审计:根据操作类型和重要性进行分类审计
  • 重点审计:对敏感操作和对象进行重点审计
  • 定期审查:定期审查审计策略的有效性

2.2 统一审计性能考虑

在生产环境中,统一审计可能会对性能产生影响,建议:

  • 只审计必要的操作,避免过度审计
  • 合理设置审计记录的存储位置
  • 定期清理审计记录,避免审计表过大
  • 考虑使用分区表存储审计记录

学习交流加群风哥微信: itpux-com

2.3 统一审计存储管理

  • 设置适当的审计表空间
  • 配置审计记录的保留时间
  • 定期归档审计记录
  • 监控审计表的大小和增长趋势

更多学习教程公众号风哥教程itpux_com

Part03-生产环境项目实施方案

风哥教程参考Oracle官方文档Security部分,我们将实施以下步骤:

  1. 启用统一审计
  2. 创建统一审计策略
  3. 测试统一审计效果
  4. 查询统一审计记录
  5. 管理统一审计存储

from oracle:www.itpux.com

Part04-生产案例与实战讲解

4.1 启用统一审计

命令:— 查看当前审计配置
SHOW PARAMETER audit;– 启用统一审计
ALTER SYSTEM SET audit_trail = ‘NONE’ SCOPE=SPFILE;– 重启数据库使配置生效
SHUTDOWN IMMEDIATE;STARTUP;执行:输出日志:NAME TYPE VALUE
———————————— ———– ——————————
audit_file_dest string /oracle/admin/fgedudb/adump
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string DB,EXTENDEDSystem altered.Database closed.Database dismounted.ORACLE instance shut down.ORACLE instance started.Database mounted.Database opened.

4.2 创建统一审计策略

命令:— 创建统一审计策略
CREATE AUDIT POLICY fgedu_employee_audit
ACTIONS SELECT, INSERT, UPDATE, DELETE ON fgedu.employees,
SELECT, INSERT, UPDATE, DELETE ON fgedu.departments,
CREATE TABLE, DROP TABLE, ALTER TABLE,
CREATE USER, DROP USER, ALTER USER;– 启用统一审计策略
AUDIT POLICY fgedu_employee_audit;执行:输出日志:Audit policy created.Audit succeeded.

4.3 测试统一审计效果

命令:— 执行一些操作以生成统一审计记录
CONN fgedu_user/password123;SELECT * FROM fgedu.employees WHERE department_id = 90;INSERT INTO fgedu.employees (employee_id, first_name, last_name, email, hire_date, job_id) VALUES (1005, ‘Bob’, ‘Brown’, ‘bob.brown@fgedu.net.cn’, SYSDATE, ‘IT_PROG’);COMMIT;CONN / AS SYSDBA;CREATE USER test_user2 IDENTIFIED BY password123;DROP USER test_user2;执行:输出日志:Connected.EMPLOYEE_ID EMP_NAME EMP_EMP_EMP_LAST_NAME EMAIL HIRE_DATE JOB_ID
———– ——————– ————————- ————————- ——— ———- 100 Steven King steven.king@fgedu.net.cn 2003-06-17 AD_PRES 101 Neena Kochhar neena.kochhar@fgedu.net.cn 2005-09-21 AD_VP 102 Lex De Haan lex.dehaan@fgedu.net.cn 2001-01-13 AD_VP1 row created.Commit complete.Connected.User created.User dropped.

4.4 查询统一审计记录

命令:— 查询统一审计记录
SELECT audit_type, action_name, object_name, username, timestamp, sql_text
FROM unified_audit_trail
WHERE dbusername IN (‘FGEDU_USER’, ‘SYS’)
AND timestamp > SYSDATE – 1
ORDER BY timestamp DESC;执行:输出日志:AUDIT_TYPE ACTION_NAME OBJECT_NAME USERNAME TIMESTAMP SQL_TEXT
——————– ——————– ——————– —————————— ——————- ——————————————————————————–
Standard Audit DROP USER TEST_USER2 SYS 2026-04-01 12:05:30 DROP USER test_user2
Standard Audit CREATE USER TEST_USER2 SYS 2026-04-01 12:05:25 CREATE USER test_user2 IDENTIFIED BY password123
Standard Audit INSERT EMPLOYEES FGEDU_USER 2026-04-01 12:05:15 INSERT INTO fgedu.employees (employee_id, first_name, last_name, email, hire_date, job_id) VALUES (1005, ‘Bob’, ‘Brown’, ‘bob.brown@fgedu.net.cn’, SYSDATE, ‘IT_PROG’)
Standard Audit SELECT EMPLOYEES FGEDU_USER 2026-04-01 12:05:10 SELECT * FROM fgedu.employees WHERE department_id = 90
Standard Audit LOGON
2026-04-01 12:05:05

4.5 管理统一审计策略

命令:— 查看统一审计策略
SELECT policy_name, enabled
FROM audit_unified_policies
WHERE policy_name = ‘FGEDU_EMPLOYEE_AUDIT’;– 禁用统一审计策略
NOAUDIT POLICY fgedu_employee_audit;– 启用统一审计策略
AUDIT POLICY fgedu_employee_audit;– 删除统一审计策略
DROP AUDIT POLICY fgedu_employee_audit;执行:输出日志:POLICY_NAME ENABLED
—————————— ——–
FGEDU_EMPLOYEE_AUDIT YESNoaudit succeeded.Audit succeeded.Audit policy dropped.

4.6 创建基于条件的统一审计策略

命令:— 创建基于条件的统一审计策略
CREATE AUDIT POLICY fgedu_salary_audit
ACTIONS SELECT ON fgedu.employees
WHEN ‘salary > 10000’ EVALUATE PER ROW;– 启用统一审计策略
AUDIT POLICY fgedu_salary_audit;执行:输出日志:Audit policy created.Audit succeeded.

风哥提示:统一审计策略可以根据业务需求设置复杂的审计条件,实现精确的审计

4.7 管理统一审计存储

命令:— 查看统一审计表空间使用情况
SELECT tablespace_name, bytes/1024/1024 “Size (MB)”,
(bytes – free_bytes)/1024/1024 “Used (MB)”,
free_bytes/1024/1024 “Free (MB)”,
ROUND((bytes – free_bytes)/bytes * 100, 2) “Used %”
FROM dba_tablespaces t, (SELECT tablespace_name, SUM(bytes) free_bytes
FROM dba_free_space
GROUP BY tablespace_name) f
WHERE t.tablespace_name = f.tablespace_name(+)
AND t.tablespace_name = ‘SYSAUX’;– 清理旧的统一审计记录
EXEC DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL(audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED, use_last_arch_timestamp => TRUE);执行:输出日志:TABLESPACE_NAME Size (MB) Used (MB) Free (MB) Used %
—————————— ———- ———- ———- ———-
SYSAUX 1000 380 620 38PL/SQL procedure successfully completed.

更多视频教程www.fgedu.net.cn

Part05-风哥经验总结与分享

5.1 最佳实践

  • 根据业务需求制定合理的统一审计策略
  • 只审计必要的操作,避免过度审计
  • 使用基于条件的审计策略,实现精确审计
  • 定期审查统一审计记录,发现安全问题

5.2 常见问题与解决方案

  • 问题:统一审计影响性能
    解决方案:优化审计策略,只审计必要的操作
  • 问题:统一审计记录过多
    解决方案:定期清理统一审计记录,使用分区表存储
  • 问题:统一审计策略条件复杂
    解决方案:简化审计条件,提高执行效率

学习交流加群风哥QQ113257174

5.3 性能优化

  • 为统一审计条件创建适当的索引
  • 避免在审计条件中使用复杂的函数
  • 考虑使用DBMS_AUDIT_MGMT包管理审计记录
  • 定期监控统一审计对性能的影响

更多学习教程公众号风哥教程itpux_com

5.4 安全建议

  • 定期备份统一审计记录,防止审计数据丢失
  • 限制对统一审计记录的访问权限
  • 监控统一审计策略的变更
  • 结合其他安全特性,如VPD和数据加密

from oracle:www.itpux.com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

相关推荐

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息