文章目录

  • 1、登录到数据库
  • 2、查看审计状态
  • 3、创建审计目录
  • 4、启用审计
  • 5、设置审计文件路径
  • 6、再次查看结果

1、登录到数据库

使用SQL*Plus或者其他Oracle数据库客户端登录到数据库。

sqlplus / as sysdba;

2、查看审计状态

show parameter audit;


目前是DB状态,并且我们的审计目录也不符合要求

audit_trail 的 value值:

  • NONE:表示不开启审计功能。这种情况下,不会记录任何审计信息。
  • FALSE:也是不开启审计功能的表示。
  • DB:表示开启审计功能,并且审计记录会被保存在数据库中。这是默认的审计方式。
  • TRUE:表示开启审计功能。
  • OS:表示审计记录将被写入一个操作系统文件。这通常用于将审计信息记录到操作系统的日志文件中。
  • DB,EXTEND:表示在数据库中开启审计功能,并且使用扩展的审计记录格式。

AUDIT_SYS_OPERATIONS 是 Oracle 数据库审计的一个选项,用于审计对数据库中系统级别操作的访问。启用此选项后,Oracle 将记录对数据库中涉及敏感系统级别操作的尝试,这有助于监控和审计数据库的安全性。
具体来说,启用 AUDIT_SYS_OPERATIONS 将审计以下类型的系统级别操作:

  • SYSDBA 和 SYSOPER 角色的活动:
    通过 SYSDBA 或 SYSOPER 角色登录到数据库的尝试。
    使用 CONNECT … AS SYSDBA 或 CONNECT … AS SYSOPER 连接到数据库的尝试。
  • 用户帐户管理:
    创建、修改或删除用户帐户的操作。
    赋予或收回 SYSDBA 或 SYSOPER 权限的操作。
  • 数据库配置更改:
    修改数据库参数(ALTER SYSTEM)的尝试。
    启动、关闭数据库的尝试。

当 AUDIT_SYS_OPERATIONS 的值为 FALSE 时,表示当前并未启用对数据库中系统级别操作的审计。这意味着 Oracle 数据库并不记录对 SYSDBA 和 SYSOPER 角色的活动,用户帐户管理操作以及数据库配置更改等敏感操作的尝试。

3、创建审计目录

同时我们也要手工创建审计目录:
这一步需要root用户实现

mkdir -p /opt/oracle/audit;

切换到原审计目录下:

cd /u01/app/oracle/admin/orcl/adump

拷贝原审计数据:

cp * /opt/oracle/audit/

切换到新的审计目录查看信息:

cd /opt/oracle/audit;


信息拷贝完成。现在我们进入sql界面

sqlplus / as sysdba;
-- 创建目录CREATE OR REPLACE DIRECTORY audit_dir AS '/opt/oracle/audit/';-- 赋予写入权限GRANT WRITE ON DIRECTORY audit_dir TO PUBLIC;

4、启用审计

选择你要审计的级别,可以是 DB, EXTENDED 或者 OS 级别。在这里,我们以 DB, EXTENDED 为例。审计只支持以下级别类型:

-- 启用数据库审计alter system set audit_trail =db,extended scope=spfile;

5、设置审计文件路径

-- 设置审计文件路径ALTER SYSTEM SET AUDIT_FILE_DEST = '/opt/oracle/audit/' SCOPE=SPFILE;-- 重新启动数据库使更改生效SHUTDOWN IMMEDIATE;STARTUP;

如果遇见启动错误的情况,这里错误的原因是数据在加载,这里比较耗费时间,需要重新退出数据库,然后重新登录数据库在启动。
如果还不能解决需要重启虚拟机或者多等待一会(这个时间会久一点),然后进入数据库首先执行关闭数据库的命令(遗留的内容彻底关闭),然后在启动数据库就能解决问题。

6、再次查看结果

show parameter audit;


ok,该造完成
完结散花