需求:客户想对数据库开启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. Python---字典常用方法总结

    字典是一种key-value的数据类型,字典里必须写Key和value,字典的优点是取数方便和速度快.字典的特性: 1.字典是无序的,因为它没有下标,用key来当索引,所以是无序的 2.字典的key必 ...

  2. vue虚拟DOM源码学习-vnode的挂载和更新流程

    代码如下: <div id="app"> {{someVar}} </div> <script type="text/javascript& ...

  3. !important 的绝对控制样式

    <head> <style type="text/css"> div{background-color: blue !important;} </st ...

  4. matlab plot line settings

  5. decltype的参数是左值时,得到一个引用类型

    int* a = new int(10); decltype(*a) 得到的是引用类型:int&

  6. Ubuntu安装openssh-server并通过xshell连接

    #安装ssh sudo apt-get install openssh-server openssh-client sudo apt-get update sudo apt-get upgrade 查 ...

  7. 【oracle】一些的常用命令

    命令行连接oracle sqlplus  回车 分别输入用户名和密码 命令行重启oracle数据库 sqlplus /nolog conn 账号/密码 as sysdba shutdow immedi ...

  8. Animation(动画)倒着播放方法

    public GameObject AnimationObj;//带有动画的对象 // Use this for initialization void Start () { AnimationObj ...

  9. 遍历所有子物体中renderer(渲染器)中的material(材质)

    //得到所有可渲染的子物体Renderer[] rds = transform.GetComponentsInChildren<Renderer>();//逐一遍历他的子物体中的Rende ...

  10. Instruments leak黑魔法定位内存泄漏

    leak是一款很赞的内存检查的工具,但在使用的过程中有点繁琐,至少有些底层的泄漏笔者还是不知道如何下手 下面介绍一下简单leak的使用: 首先你要确认你的target不会被拒绝,确保profile是d ...