数据库级别的审计
数据库 级别 审计
2023-09-14 09:13:28 时间
审计: 跟踪数据库中的可以操作
超级用户的审计
超级用户有三种操作一定会被审计:
- 超级用户的连接
- 数据库的启动
- 数据库的停止
打开超级用户的额外审计:
alter system set audit_sys_operation=true scope=spfile;
超级用户审计的跟踪文件记录在哪里?
show parameter audit_file_dest
SQL> show parameter audit_file_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/cdb1/adu
mp
SQL>
普通用户的审计:
普通用户审计的线索记录在哪里?
audit_trail=DB --> 使用数据字典aud$记录审计的线索
audit_trail=OS --> 使用audit_file_dest指向的目录保存审计文件
打开语句审计:
- audit delete table; -->会话级成功,失败都审计
- audit delete table whenever sucessful; --> 会话级成功
- audit delete table whenever not sucessful; --> 会话级失败
- audit delete table by access; --> 访问级成功、失败都审计
- audit delete table by access whenever successful; --> 访问级成功
- audit delete table by access whenever not successful;--> 访问级失败
audit delete table by scott;
audit delete table by scott whenever successful;
audit delete table by scott whenever not successful;
audit delete table by scott by access;
audit delete table by scott by access whenever successful;
audit delete table by scott by access whenever not sucessful;
查看哪些语句已经被打开了审计:
SQL>
SQL> select audit_option,success,failure from dba_stmt_audit_opts where user_name='SCOTT';
no rows selected
SQL>
查看审计线索
SQL> delete aud$;
1 row deleted.
SQL> commit;
Commit complete.
SQL> select * from aud$;
no rows selected
查看操作代码对应的操作名称:
select name from audit_actions where action=1;
关闭语句审计:
noaudit delete table by scott;
exec print_table('select * from aud$ where userid="SCOTT"');
特权审计: 刚刚打开的审计对已持续的连接无效!!
audit create any table by scott;
查看特权审计:
select PRIVILEGE,SUCCESS,FAILURE from dba_priv_audit_opts where user_name='SCOTT';
对象审计:在具体某一个对象上面打开的审计选项
audit delete on scott.emp;
audit insert on scott.emp by access whenever not successful;
SQL>
SQL> select audit_option,success,failure from dba_stmt_audit_opts;
no rows selected
SQL>
相关文章
- Android之数据存储----使用LoaderManager异步加载数据库
- ASP.NET关于书籍详情和删除的Demo(HttpHandler进行页面静态化[自动生成html网页]+Entity Framework通过类创建数据库+EF删查)...
- ORA-16009: 远程归档日志目标必须为备用数据库
- 解决远程登录mysql数据库报1130错误
- 【DB2基础】DB2编目和数据库连接
- 数据库事务的四大特性以及4种事务的隔离级别-以及对应的5种JDBC事务隔离级别
- 在ABAP里取得一个数据库表记录数的两种方法
- Atitit 提升稳定性 数据库死锁 目录 1.1. 配置数据库死锁检测超时时间从默认50s到10s1 1.2. 调整隔离级别到read commit1 1.3. mysql数据库连接使用完毕
- Atitit 数据库重复数据产生原因与解决总结 目录 1. 原因1 1.1. 缺少数据约束校验1 1.2. 表关系关联设计错误1 2. 约束种类1 2.1. 分类 表级约束vs列级别约束2
- Atitit.数据库事务隔离级别 attilax 总结
- 查询数据库所有表的表注释,数据库
- 【面经】面试官问我:数据库中事务的隔离级别有哪些?各自有什么特点?然而。。。
- PostgreSQL的学习心得和知识总结(一百零四)|深入理解PostgreSQL数据库开源MPP扩展Citus 分布表间连接规则的生成以及最佳规则选取 的实现原理
- PostgreSQL的学习心得和知识总结(三十九)|语法级自上而下完美实现MySQL数据库的 delete limit 的实现方案
- MySQL数据库下.frm .MYD .MYI损坏恢复操作——筑梦之路