
想学会更多实用技巧,欢迎加入青学会MOP技术社区(实名社区)。
加入方法:公众号后台回复关键字“加入”获取小助手微信,添加后登记入会。

同时欢迎大家在评论区留言互动交流!社区会不定期举行相关的抽奖、公开分享活动。
如果你有想了解的知识点希望我们发文可以后台私信。
最近联合几个 Oracle ACE技术专家 开通了一个付费微信群,都是具有10多年金融、医疗、制造业10年以上的一线专家,坑位费399/人,无限期,目前群内近150人。加群后会有一些福利(分享各类技术文档,干货资源,问题解答等等),更有特邀嘉宾会定期在群内直播,解读AWR,快问快答等!有问题我们尽量都解答,毕竟399不能都解决所有问题。有兴趣联系微:ywu0613
内部知识库正在筹建中,不止有oracle!

正文开始
Hey,老铁们!在 Oracle 数据库的世界里,审计功能就像一个忠诚的 “记录员”,它能帮我们追踪数据库里的各种操作,对数据库的安全和管理至关重要。今天,就带大家深入了解数据库审计的启停流程,让你轻松掌握这项技能,开启 Oracle 数据库运维的学习之旅!

数据库审计开启前期准备
开启和关闭审计可不是一件小事哦,这需要重启数据库实例呢!所以呀,咱们得提前安排好停机维护的时间窗口,就像给数据库安排一个 “小假期”,在这段时间里好好对它进行 “体检” 和调整。另外,开启审计之前,要为和审计相关的表准备足够多的表空间哦,这就好比给它们提前准备好足够大的 “房子”,不然它们可就没地方 “住” 啦!
风险评估
说到这儿,大家可得注意啦!审计的开启与关闭因为涉及到重启数据库,所以存在一定风险哦。在重启之前,一定要做好备份工作,这就像是给数据库拍一张 “照片”,万一出了啥问题,咱们还能用这张 “照片” 把它恢复过来。还有呀,审计路径的设置以及存放表空间的设置一定要认真核对,要是弄错了,那可就麻烦啦,存在一定风险呢!
数据库审计开启的实施
检查审计功能是否启动
咱们先来检查一下审计功能是不是已经启动啦。打开终端,切换到 oracle 用户,然后用 sqlplus 连接到数据库:
[root@localhost ~]# su - oracle
[oracle@localhost ~]$ sqlplus as sysdba
SQL> show parameter audit
看,会出现一堆参数信息,咱们重点关注 audit_sys_operations
和 audit_trail
这两个参数的值,如果它们的值不是咱们想要的,那就要进行下一步操作啦。
修改审计表及索引的表空间
这一步可有点复杂哦,大家可得仔细看啦。要是审计表和索引的表空间不够用了,咱们就得给它们换个 “大房子”:
sql>alter table aud$ movetablespace Tablespacename;
sql>alterindex I_aud1 rebuildonlinetablespace Tablespacename;
sql>altertableaudit$ movetablespace Tablespacename;
sql>alterindex i_audit rebuildonlinetablespace Tablespacename;
sql>altertable audit_actions movetablespace Tablespacename;
sql>alterindex i_audit_actions rebuildonlinetablespace Tablespacename;
这里要把 Tablespacename
换成咱们准备好的表空间名字哦,就像是把东西搬到指定的房间里一样。
开启审计
现在,咱们来开启审计功能啦:
SQL> alter system set audit_sys_operations=TRUE scope=spfile;
-- 审计 sys 用户的活动
System altered.
SQL> alter system set audit_trail=db,extended scope=spfile;
-- 在该模式下会将审计信息保存在 sys.aud$ 表中,同时会将 sql text 以及 sql bind 写入 sys.aud$ 表中
System altered.
开启完之后,别忘了重启数据库实例哦:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
看,数据库又重新启动啦,这时候审计功能就已经开启啦!
检查审计功能是否已开启
为了确认审计功能真的开启了,咱们再检查一下:
SQL> show parameter audit
看到 audit_sys_operations
的值是 TRUE
,audit_trail
的值是 DB,EXTENDED
,那就说明审计功能已经成功开启啦!
关闭审计
如果咱们不想再进行审计了,那就来关闭审计功能吧。先执行下面这条命令:
SQL> alter system set audit_trail = none scope=spfile;
然后,同样需要重启数据库实例:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
重启完之后,再检查一下:
SQL> show parameter audit
看到 audit_trail
的值是 NONE
,那就说明审计功能已经成功关闭啦!
数据库审计启停后的检查
最后一步,咱们来检查一下审计启停之后的情况。登录数据库,用下面的命令查看审计日志表,看看有没有出现审计记录:SQL> conn wytest/oracle;
SQL>select * from (select sessionid,userid,userhost,ntimestamp# from sys.aud$ order by ntimestamp# desc) where rownum=1;
如果能看到相应的审计记录,那就说明审计启停操作是成功啦!
老铁们,今天咱们一起学习了 Oracle 数据库审计的启停流程,从前期准备到风险评估,再到具体的开启和关闭操作,最后还有启停后的检查。虽然过程有点复杂,但只要咱们一步一步来,就能轻松掌握哦!希望这篇文章能帮到你,让你在 Oracle 数据库运维的学习道路上更进一步!如果还有啥不懂的地方,欢迎在评论区留言哦,咱们一起交流学习!
往期文章回顾
MOP社区新闻
金仓专栏
告别繁琐!KingbaseES v9数据库一键安装-青学会&金仓专栏(1)
KingbaseES v9数据库Docker安装-青学会&金仓专栏(2)
DBA实战小技巧
实战:记一次RAC故障排查
DBA实战运维小技巧安装篇(一)Oracle 主流版本不同架构下的静默安装指南
DBA实战运维小技巧存储篇(一)根目录满了如何处理
DBA实战运维小技巧存储篇(二)打包迁移单机数据库至新存储
MOP社区投稿-内核开发
简单解析 IvorySQL 增强 Oracle xml 兼容能力的原理
简单讨论 PostgreSQL C语言拓展函数返回数据表的方式
简单分析 pg_config 程序的作用与原理
Redis 日志机制简介(一):SlowLog
Redis 日志机制简介(二):AOF 日志
Redis 日志机制简介(三):RDB 日志
pg_cron插件使用介绍
Redis 的指令表实现机制简介
pg几款源码工具介绍
Redis 事务功能简介




