开启数据库审计 db,extended级别或os级别)并将审计文件存放到/opt/oracle/audit/下

文章目录

1、登录到数据库

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

bash 复制代码
sqlplus / as sysdba;

2、查看审计状态

sql 复制代码
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用户实现

bash 复制代码
mkdir -p /opt/oracle/audit;

切换到原审计目录下:

bash 复制代码
cd /u01/app/oracle/admin/orcl/adump

拷贝原审计数据:

bash 复制代码
cp * /opt/oracle/audit/

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

bash 复制代码
cd /opt/oracle/audit;

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

bash 复制代码
sqlplus / as sysdba;
sql 复制代码
-- 创建目录
CREATE OR REPLACE DIRECTORY audit_dir AS '/opt/oracle/audit/';

-- 赋予写入权限
GRANT WRITE ON DIRECTORY audit_dir TO PUBLIC;

4、启用审计

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

sql 复制代码
-- 启用数据库审计
alter system set audit_trail =db,extended scope=spfile;

5、设置审计文件路径

sql 复制代码
-- 设置审计文件路径
ALTER SYSTEM SET AUDIT_FILE_DEST = '/opt/oracle/audit/' SCOPE=SPFILE;

-- 重新启动数据库使更改生效
SHUTDOWN IMMEDIATE;
STARTUP;

如果遇见启动错误的情况,这里需要重新退出数据库,然后重新登录数据库在启动。

5、再次查看结果

sql 复制代码
show parameter audit;

ok,该造完成

完结散花

相关推荐
Flynt26 分钟前
Room 3.0 包名重构 + KMP 迁移:我把项目升级踩了个遍
android·数据库·kotlin
这个DBA有点耶16 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶18 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
阿里云大数据AI技术19 小时前
阿里云 EMR AI 助手正式发布:从问答工具到全栈智能运维助手
运维·人工智能
镜舟科技19 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend20 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
ClouGence1 天前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
orion572 天前
Missing Semester Class1:course overview and introduction of shell
linux
先吃饱再说2 天前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils2 天前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端