需求:客户想对数据库开启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. memory prefix il ir im in out 3 i

    1● il   2● ir 不 非 无 :使 ~ 成为:   3● im 4● in 不 非 无 :向内,进入  

  2. 逆袭之旅DAY.XIA.Object中常用方法

    2018-07-31

  3. Win10系列:UWP界面布局进阶3

    与以往的Windows操作系统不同,Windows 10操作系统在正式版当中取消了任务栏中的"开始"按钮,将大部分的应用程序图标放置在开始屏中,同时将系统设置等常用功能整合到了Ch ...

  4. Uva LV 2995 Image Is Everything 模拟,坐标映射,视图映射 难度: 1

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  5. 红黑树( Red-Black Tree ) - 笔记

    1.  红黑树属性:根到叶子的路径中,最长路径不大于最短路径的两倍. 2. 红黑树是一个二叉搜索树,并且有 a. 每个节点除了有左.右.父节点的属性外,还有颜色属性,红色或者黑色. b. ( 根属性  ...

  6. Map集合遍历的四种方式理解和简单使用-----不能for循环遍历

    Map集合遍历的四种方式理解和简单使用   ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后 ...

  7. 二:通过VirtualBox+Vagrant创建一个centos的虚拟机:

    官网安装VirtualBox及Vagrant. 下载centos7,添加到vagrant中. http://e-proxy.yfb.sunline.cn/download/vagrant/centos ...

  8. Cracking The Coding Interview 3.2

    //How would you design a stack which, in addition to push and pop, also has a function min which ret ...

  9. mybatis动态sql #和$的区别

    $和#都支持动态sql:就是你传什么它就是什么 区别: 1.#可以防止sql注入在sql执行时显示 '?' 比$安全 SELECT * FROM table WHERE id = ? 2.在使用#传入 ...

  10. CentOS 查看文件大小 du -hs filename

    du -hs  [filename] 查看目录大小 [root@localhost opt]# 16M apache-tomcat- df -hv 查看整个磁盘使用状况 [root@rabbit66 ...