需求:客户想对数据库开启sys用户的审计功能,关闭其它用户的审计功能。

1)再一次巡检报告中,我们发现数据库版本11.2.0.4,开启审计功能,提供的建议如下,关闭审计
alter system set audit_trail=none scope=spfile;
2)客户同意关闭其它用户的审计功能,想只开启对sys用户的审计功能

审计相关知识点

什么是数据库审计?保存什么内容?保存的内容以什么形式存在?
审计是从数据库用户和非数据库用户监视和记录所选用户数据库操作。您可以基于单个操作(例如,执行的SQL语句的类型)或可以包括用户名,应用程序,时间等的数据组合进行审计。
审计内容包括,使用者登陆的主机名称,服务名称,连接方式,会话信息,数据库用户名,地址信息,及数据库操作信息(未开启审计功能则不记录此项)
保存的内容,可以存储再操作系统os trace文件存储、xml格式文件存储,也可以存储在数据库的基表中
https://docs.oracle.com/cd/E11882_01/network.112/e36292/auditing.htm#BCGHGJJH 为什么使用审计?
责任追溯,数据库出现人为错误,可以通过审计追踪定位机器+时间,方便追踪到个人
监控数据库中特定活动的数据

如何开启对sys用户的审计

在数据库开启审计功能,
AUDIT_SYS_OPERATIONS –SYS用户审计开启,则在audit_file_dest参数下,强制审计的aud文件中,将记录SYS用户的所有SQL操作
FALSE| TRUE 是否审计sys用户
--关闭数据库审计功能后,开启对sys用户的审计功能
SQL> alter system set audit_trail=none scope=spfile;
SQL> alter system set audit_sys_operations=true scope=spfile;
-- 举例说明,查询审计文件
[oracle@t2 adump]$ pwd
/u01/app/oracle/admin/t2/adump
vim t2_ora_29384_20181220193947356261143795.aud
Thu Dec :: +:
LENGTH : ''
ACTION :[] 'SELECT NAME NAME_COL_PLUS_SHOW_PARAM,DECODE(TYPE,1,'boolean',2,'string',3,'integer',4,'file',5,'number',
6,'big integer', 'unknown') TYPE,DISPLAY_VALUE VALUE_COL_PLUS_SHOW_PARAM FROM V$PARAMETER WHERE UPPER(NAME) LIKE UPPER
(:NMBIND_SHOW_OBJ) ORDER BY NAME_COL_PLUS_SHOW_PARAM,ROWNUM'
DATABASE USER:[] '/'
PRIVILEGE :[] 'SYSDBA'
CLIENT USER:[] 'oracle'
CLIENT TERMINAL:[] 'pts/3'
STATUS:[] ''
DBID:[] ''
--可以指定sys审计文件新的位置,不是默认数据库参数audit_file_dest目录下
https://blog.csdn.net/haibusuanyun/article/details/11212567
--SYS用户windows审计目录
https://blog.csdn.net/t0nsha/article/details/7763964

管理sys审计文件

如果长期不管理sys监控后的trace文件,最终文件系统存储将被trace文件撑满,因此对数据库的管理需要从头到脚的考虑及安全保障
操作系统crontab定期清理审计文件
[oracle@t2 tt]$ crontab -e
* * * * find /u01/app/oracle/admin/t2/adump -name "*.aud" -mmin + -exec rm {} \ 删除30分钟前的aud文件,mtime 天,替换mmin分钟即可,自行选择删除策略
按照天删除 或者按照分钟进行删除策略,测试环境测试30分钟是满足的

误区纠正

.关闭数据库审计,并不影响sys审计开启
.数据库审计,默认不审计sys用户(原因,sys用户具有随意修改删除审计基表AUD$的权限,审计有啥用,dba不开心删除就没了)
.数据库审计默认启用少量的审计策略,因此如果需要使用什么功能,都是需要了解清楚,并配置合适的审计策略,否则即使开启审计也可能没有你想要的东西

数据库开启对sys用户的审计的更多相关文章

  1. sys用户密码丢失找回密码的步骤和命令

    假设你的sys用户密码丢失,写出找回密码的步骤和命令? 1.确认哪个数据库实例的sys用户密码丢失:(例:数据库实例为orclA) 2.进入数据库实例的目录中找到PWDorclA.ora文件:(例目录 ...

  2. sys用户权限不足,本地登录失败 |ORA-01031 insufficient privileges|

    机器总喜欢挑放假的时候出问题,"双节"(中秋.国庆)快到了,对于搞系统运维的工程师来说其实并不轻松,于是今天赶紧装起一台数据库备用服务器以备半夜"机"叫. 安装 ...

  3. 演示对sys用户和普通用户进行审计的示例

    1.确认数据库版本 1对SYS用户审计 1.1配置审计参数 1.2修改liunx日志配置文件 添加以下一列: 1.3 SYS 用户操作演示 2对普通用户审计 2.1配置审计参数 2.2演示对TEST用 ...

  4. Docker Mongo数据库开启用户认证

    一.启动mongo容器的几种方式 #简化版 docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles #自定 ...

  5. 如何找回Oracle中system,sys用户的密码[转]

    Oracle中如果不知道system,sys用户的密码后可用如下方法找回: 首先以一个普通用户等入数据库: 在SQL*Plus中执行如下命令: SQL>connect/as sysdba (也可 ...

  6. 忘记oracle的sys用户密码怎么修改

    转分类: Linux 一.忘记除SYS.SYSTEM用户之外的用户的登录密码.  用SYS (或SYSTEM)用户登录: CONN SYS/PASS_WORD AS SYSDBA;  使用如下语句修改 ...

  7. SQL Server数据库中还原孤立用户的方法集合

    虽然SQL Server现在搬迁的技术越来越多,自带的方法也越来越高级. 但是我们的SQL Server在搬迁的会出现很多孤立用户,微软没有自动的处理. 因为我们的数据库权限表都不会在应用数据库中,但 ...

  8. Oracle创建数据库、表、用户

    create tablespace south_knowledge logging datafile 'D:\TestDatabase\south_knowledge.dbf' size 10m au ...

  9. 查看oracle数据库的连接数以及用户

    查看oracle数据库的连接数以及用户 11.查询oracle的连接数2select count(*) from v$session;32.查询oracle的并发连接数4select count(*) ...

随机推荐

  1. 五、持久层框架(Hibernate)

    一.分页查询 使用Criteria进行分页查询,无论是使用Oracle,MySQL,NoSQL,DB2,分页查询的代码写法都相同. 分页查询代码示例: package com.demo.test; i ...

  2. 微信小程序 无限加载 上拉加载更多

    加载更多,其实就是再次向接口发送请求,把返回的数据,追加到渲染页面的数组里的过程,具体实现实例如下: demo.js // pages/project/project.js const app = g ...

  3. SpringBoot 配置文件存放位置及读取顺序

    SpringBoot配置文件可以使用yml格式和properties格式 分别的默认命名为:application.yml.application.properties 存放目录 SpringBoot ...

  4. Jackson 工具类使用及配置指南

    目录 前言 Jackson使用工具类 Jackson配置属性 Jackson解析JSON数据 Jackson序列化Java对象 前言 Json数据格式这两年发展的很快,其声称相对XML格式有很对好处: ...

  5. Linux下使用systemctl命令

    systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起. 任务 旧指令 新指令 使某服务自动启动 chkconfig --level 3 ...

  6. laravel中的Auth认证:

    简介 Laravel 5.3 的 Auth 认证在 5.2 的基础上又有一些改变,本文说明如何在 Laravel 5.3 下做不同用户表的登录认证. Auth 认证原理简述 Laravel 的认证是使 ...

  7. tomcat启动超时_tomcat was unable to start within

    参考: http://jingyan.baidu.com/article/64d05a025c9969de55f73b23.html 首先,你得确认下你的数据库连接,尤其是在多个服务器之间转换或者服务 ...

  8. 《Python》线程池、携程

    一.线程池(concurrent.futures模块) #1 介绍 concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor:线程池,提供异步调用 P ...

  9. linux 系统监控、诊断工具之 lsof 用法简介

    1.lsof 简介 lsof 是 Linux 下的一个非常实用的系统级的监控.诊断工具. 它的意思是 List Open Files,很容易你就记住了它是 "ls + of"的组合 ...

  10. 乘法“*”和点乘“.*”&除法“/”和点除“./”区别

    reference:https://blog.csdn.net/xiaotao_1/article/details/79026406 一,*和.*的联系和区别.  1,在进行数值运行和数值乘矩阵,这两 ...