审计

标准审计

在ORACLE中分别支持以下三种标准审计类型:

u          语句审计,对某种类型的SQL语句审计,不指定结构或对象。

u          特权审计,对执行相应动作的系统特权的使用审计。

u          对象审计,对一特殊模式对象上的指定语句的审计。

这三种标准审计类型分别对如下3方面进行审计:

u          审计语句的成功执行、不成功执行,或者其两者。

u          对每一用户会话审计语句执行一次或者对语句每次执行审计一次。

u          对全部用户或指定用户的活动的审计。

db //数据库字典表中

xml//xml文件中

none//log日志文件中

audit

开启开关参数:

SQL> show parameter audit_trail

设置审计选项:

每次设置新的审计选项,测试用户需要重新连接

sys准备工作:

SQL> drop user user01 cascade;

SQL> create user user01 identified by password;

SQL> grant create session, create table, create any table to user01;

审计系统权限:

SQL> AUDIT CREATE ANY TABLE, CREATE TABLE BY USER01 BY ACCESS;

user01测试:

SQL> create table t1(x int);

SQL> create table t1(x int);               失败

SQL> create table hr.t1(x int);

SQL> create table hr.t1(x int);          失败

sys查看审计结果:

SQL> desc aud$

SQL> desc dba_audit_trail

浏览器中查看

sys添加审计条件:

SQL> AUDIT SELECT ANY TABLE BY user01 BY ACCESS;

SQL> grant select any table to user01;

user01测试:

SQL> select * from t1;

SQL> select * from hr.t1;

sys查看审计结果:

浏览器中或者查看dba_audit_trail表

删除审计选项:

SQL> NOAUDIT CREATE ANY TABLE BY USER01;

SQL> NOAUDIT CREATE TABLE BY USER01;

SQL> NOAUDIT SELECT ANY TABLE BY user01;

审计对象:

sys设置审计选项:

SQL> AUDIT SELECT ON hr.employees BY ACCESS;

SQL> drop user user01 cascade;

SQL> create user user01 identified by password;

SQL> grant create session to user01;

sys授权,每执行一个语句,user01就测试一次:

SQL> grant select any table to user01;

SQL> revoke select any table from user01;

SQL> grant select on hr.employees to user01;

user01测试(执行4次):

SQL> select count(*) from hr.employees;

默认不记录sys的行为:

SQL> select count(*) from hr.employees;

删除审计选项:

SQL> NOAUDIT SELECT ON hr.employees;

审计语句:

sys设置审计选项:

SQL> AUDIT TABLE BY user01 BY ACCESS;

user01测试:

SQL> create table t1(x int);      失败

SQL> create table t1(x int);

SQL> create table t1(y int);      失败

SQL> drop table t1;

sys查看结果:

浏览器中,或DBA_AUDIT_OBJECT表中

删除审计选项:

SQL> NOAUDIT TABLE BY USER01

审计sys的操作:

SQL> show parameter audit

修改两个参数

并发

并发管理

事务:作用于某些数据的一个不可分割的操作

锁:写锁、互斥锁(仅能被一个进程使用)      读锁、共享锁(可被多个进程使用)

1、脏读取(dirty read):一个事务读取了被其他事务写入但还未提交的数据。

2、不可重复读取(nonrepeatable read):一个事务再次读取其之前曾经读取过的数据时,发现数据已被其他已提交的事务修改或删除。

3、不存在读取(phantom read):事务按照之前的条件重新查询时,返回的结果集中包含其他已提交事务插入的满足条件的新数据。

读写冲突通过读一致性解决:

sys准备工作:

SQL> create user user01 identified by password;

SQL> grant dba to user01;

以下都用user01:

SQL> conn user01/password

Connected.

SQL> create table t1(x int);

SQL> insert into t1 values (1);

SQL> commit;

session1:

SQL> update t1 set x=11 where x=1;

SQL> select * from t1;

session 2:

SQL> select * from t1;

session 1:

SQL> commit;

session 2:

SQL> select * from t1;

测试serializable:

session1:

SQL> alter session set isolation_level=serializable;

重复上面的步骤

写与写的冲突通过锁机制解决:

session 1:

SQL> update t1 set x=11 where x=1;

浏览器中查看锁信息

session 2:

SQL> update t1 set x=111 where x=1;              被阻塞

浏览器中查看锁信息

session 1:

SQL> rollback;

浏览器中查看锁信息

死锁:

session1:

SQL> select * from t1;

X

----------

1

2

SQL> update t1 set x=11 where x=1;

session2:

SQL> update t1 set x=22 where x=2;

session1:

SQL> update t1 set x=222 where x=2;              阻塞

session2:

SQL> update t1 set x=111 where x=1;              死锁

ERROR at line 1:

ORA-00060: deadlock detected while waiting for resource

$ vi /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log

锁和外键

select … for update

转载于:https://www.cnblogs.com/guoxf/p/7344025.html

20170810上课笔记相关推荐

  1. 学习Linux第一次上课笔记

    一.配置IP地址 1.设置网络连接模式为NAT模式. 学习linux第二次上课笔记 2.获取IP地址,首先运行dhclinet服务,然后敲ip add进行查看,自动获取的IP地址. 学习linux第二 ...

  2. Redis教程(上课笔记)

    Redis教程 1. 什么是NoSql NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量.开源.不提供SQL功能的关系数据库.2009年,Last.fm的Johan Os ...

  3. HCIP-Datacom 821/831题库以及上课笔记、视频、配套讲义分享

    有幸过了HCIP-Datacom,其中821 884分,831 917分,感谢万能网络提供了那么多宝贵的资源. 整理了821/831题库,都是一个字一个字打上去的,供参考,基本上做到90%的准确率,通 ...

  4. SuperMap怎样实现测面积的代码(上课笔记)

    标题SuperMap怎样实现测面积的代码(上课笔记) (作者:李寿宇,撰写时间:2019年1月16日) 1).地图发布以后,引入SuperMap iserver <SuperMap.Includ ...

  5. 面向对象程序设计-C++ Default constructor Copy constructor Destructor Operator Overloading【第九次上课笔记】...

    先上笔记内容吧: 这次上课的内容有关 构造函数 析构函数 运算符重载 return * this 内容很细,大家好好回顾笔记再照应程序复习吧 :) #include <iostream>u ...

  6. 自动控制原理上课笔记(不定期更新)

    文章目录 前言 自动控制的一般概念 经典控制理论和现代控制理论的区别 自动控制的基本原理与方式 自动控制系统基本控制方式 对自动控制系统的基本要求 控制系统的数学模型 数学模型 微分方程 小偏差法 传 ...

  7. java上课笔记大全_JAVA基础知识上课笔记

    1.八种数值类型: int short long float double char byte boolean 2.两次转换类型:自动类型转换,强制类型转换. 在某种条件下系统自动完成类型转换, 1) ...

  8. Introduction to ES6上课笔记

    课程链接:https://scrimba.com/g/gintrotoes6 这个网站有几个热门的前端技术栈的免费课程,上课体验除了英语渣只能看代码理解听老师讲的一知半解之外,是极佳的学编程的网站了. ...

  9. 上课笔记--商法(上)

    //2015年7月5日 不同于其他商学课程,商法是一门让人觉得学了绝对有用的商科课. 记得大一的时候看了朱苏力的<法理学>,如今再对应着现在学的具体法条,而且是效率为先的商法.略有所悟. ...

  10. 2021—10—31 上课笔记

    DP主要的核心就是对于每道题专属的状态转移方程 动态规划过程是: 每次决策依赖于当前状态,又随即引起状态的转移.一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为 ...

最新文章

  1. oracle的管理工具
  2. win7无法连接打印机拒绝访问_Win7系统”windows无法连接到打印机拒绝访问“怎么办?通过创建local port端口连接来搞定...
  3. selenium实现登录百度(自动识别简单验证码)
  4. cad钣金展开插件_钣金折弯展开的计算方法汇总
  5. SpringCloud工作笔记061---springBoot maven 打包jar报错_serverEndpointExporter
  6. hibernate集合类型映射
  7. 上市公司与不上市公司的区别
  8. 一建已经过去,正是中级通信工程师黄金备考期!
  9. 独立个人项目开发心得 - 任务切分、挑战性、实用性和半途而废
  10. 台式计算机电源待机电流有多大,终于知晓电脑机箱电源12v多少安
  11. Open vStorage —— 虚拟化的存储路由系统
  12. 海洋cms采集后无法播放解决方法
  13. osu计算机专业排名,OSU计算机专业有奖学金啦~
  14. JavaWeb随手笔记
  15. 索引超出数组元素的数目(1)
  16. 可编程并行接口8255(实验一)
  17. ACDREAM 05D 哗啦啦族的加法计算(DFS专场)
  18. 【STM32CubeIDE和ITM SWV实现printf调试信息的打印】
  19. ftl不存在为真_这个验证贝尔不等式的实验的真实性如何?是否真的意味着量子纠缠的发生是超光速的?...
  20. Composer的实用部分

热门文章

  1. VS2010中使用boost正则表达式库
  2. Boxee智能电视机顶盒在美国CES亮相
  3. 实际应用中installshield的事件处理
  4. Windows中MySQL主从数据库搭建(三)
  5. 如何解决chm类型的文件在Windows操作系统中无法打开
  6. JavaScript对滚动条的操作
  7. 二级公共基础知识_二级公共基础知识 01
  8. 数据结构——>顺序存储二叉树
  9. linux python2.7 post_在Python 2.7下面使用webpy框架
  10. (day05)剑指 Offer 11. 旋转数组的最小数字-(二分法)