1. 首页 > Oracle教程 > 正文

Oracle教程FG165-审计基础

Part01-基础概念与理论知识

1.1 审计的概念与作用

审计是Oracle数据库中用于监控和记录用户活动的安全机制,它可以跟踪谁在什么时间执行了什么操作,帮助数据库管理员了解数据库的使用情况,发现潜在的安全问题。

学习交流加群风哥QQ113257174

1.2 审计的类型

  • 标准审计:基于系统权限、对象权限和语句的审计
  • 细粒度审计(FGA):基于行级和列级的审计
  • 统一审计: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 启用审计功能

命令:— 启用标准审计
ALTER SYSTEM SET audit_trail = ‘DB’ SCOPE=SPFILE;– 重启数据库使配置生效
SHUTDOWN IMMEDIATE;STARTUP;执行:输出日志:System altered.Database closed.Database dismounted.ORACLE instance shut down.ORACLE instance started.Database mounted.Database opened.

4.2 配置审计策略

命令:— 审计用户登录和登出
AUDIT SESSION;– 审计表的操作
AUDIT SELECT, INSERT, UPDATE, DELETE ON fgedu.employees;– 审计系统权限
AUDIT CREATE TABLE, DROP TABLE;执行:输出日志:Audit succeeded.Audit succeeded.Audit succeeded.

4.3 测试审计效果

命令:— 执行一些操作以生成审计记录
CONN fgedu_user/password123;SELECT * FROM fgedu.employees WHERE employee_id = 100;INSERT INTO fgedu.employees (employee_id, first_name, last_name, email, hire_date, job_id) VALUES (1003, ‘Tom’, ‘Jones’, ‘tom.jones@fgedu.net.cn’, SYSDATE, ‘IT_PROG’);COMMIT;CONN / AS SYSDBA;执行:输出日志: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_PRES1 row created.Commit complete.Connected.

4.4 查询审计记录

命令:— 查询审计记录
SELECT username, action_name, object_name, timestamp
FROM dba_audit_trail
WHERE object_schema = ‘FGEDU’
ORDER BY timestamp DESC;执行:输出日志:USERNAME ACTION_NAME OBJECT_NAME TIMESTAMP
—————————— ——————– ——————– ——————-
FGEDU_USER INSERT EMPLOYEES 2026-04-01 10:15:30
FGEDU_USER SELECT EMPLOYEES 2026-04-01 10:15:25
FGEDU_USER LOGON
2026-04-01 10:15:20

4.5 管理审计存储

命令:— 查看审计表空间使用情况
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’;– 清理旧的审计记录
DELETE FROM aud$ WHERE timestamp < SYSDATE - 30;COMMIT;-- 收缩审计表 ALTER TABLE aud$ ENABLE ROW MOVEMENT;ALTER TABLE aud$ SHRINK SPACE;执行:输出日志:TABLESPACE_NAME Size (MB) Used (MB) Free (MB) Used %
—————————— ———- ———- ———- ———-
SYSAUX 1000 350 650 3510 rows deleted.Commit complete.Table altered.Table altered.

风哥提示:定期清理审计记录可以避免审计表过大,影响数据库性能

4.6 禁用审计

命令:— 禁用特定审计
NOAUDIT SELECT, INSERT, UPDATE, DELETE ON fgedu.employees;– 禁用所有审计
NOAUDIT ALL;– 关闭审计功能
ALTER SYSTEM SET audit_trail = ‘NONE’ SCOPE=SPFILE;执行:输出日志:Noaudit succeeded.Noaudit succeeded.System altered.

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

Part05-风哥经验总结与分享

5.1 最佳实践

  • 根据业务需求制定合理的审计策略
  • 只审计必要的操作,避免过度审计
  • 定期审查审计记录,发现安全问题
  • 合理管理审计存储,避免审计表过大

5.2 常见问题与解决方案

  • 问题:审计影响性能
    解决方案:优化审计策略,只审计必要的操作
  • 问题:审计表空间不足
    解决方案:定期清理审计记录,增加表空间大小
  • 问题:审计记录过多难以管理
    解决方案:使用分区表存储审计记录,定期归档

学习交流加群风哥QQ113257174

5.3 性能优化

  • 使用DB Audit Vault集中管理审计数据
  • 配置审计记录的异步写入
  • 为审计表创建适当的索引
  • 考虑使用外部表存储审计记录

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

5.4 安全建议

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

from oracle:www.itpux.com

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

相关推荐

联系我们

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

微信号:itpux-com

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