20170810上课笔记
审计
标准审计
在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上课笔记相关推荐
- 学习Linux第一次上课笔记
一.配置IP地址 1.设置网络连接模式为NAT模式. 学习linux第二次上课笔记 2.获取IP地址,首先运行dhclinet服务,然后敲ip add进行查看,自动获取的IP地址. 学习linux第二 ...
- Redis教程(上课笔记)
Redis教程 1. 什么是NoSql NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量.开源.不提供SQL功能的关系数据库.2009年,Last.fm的Johan Os ...
- HCIP-Datacom 821/831题库以及上课笔记、视频、配套讲义分享
有幸过了HCIP-Datacom,其中821 884分,831 917分,感谢万能网络提供了那么多宝贵的资源. 整理了821/831题库,都是一个字一个字打上去的,供参考,基本上做到90%的准确率,通 ...
- SuperMap怎样实现测面积的代码(上课笔记)
标题SuperMap怎样实现测面积的代码(上课笔记) (作者:李寿宇,撰写时间:2019年1月16日) 1).地图发布以后,引入SuperMap iserver <SuperMap.Includ ...
- 面向对象程序设计-C++ Default constructor Copy constructor Destructor Operator Overloading【第九次上课笔记】...
先上笔记内容吧: 这次上课的内容有关 构造函数 析构函数 运算符重载 return * this 内容很细,大家好好回顾笔记再照应程序复习吧 :) #include <iostream>u ...
- 自动控制原理上课笔记(不定期更新)
文章目录 前言 自动控制的一般概念 经典控制理论和现代控制理论的区别 自动控制的基本原理与方式 自动控制系统基本控制方式 对自动控制系统的基本要求 控制系统的数学模型 数学模型 微分方程 小偏差法 传 ...
- java上课笔记大全_JAVA基础知识上课笔记
1.八种数值类型: int short long float double char byte boolean 2.两次转换类型:自动类型转换,强制类型转换. 在某种条件下系统自动完成类型转换, 1) ...
- Introduction to ES6上课笔记
课程链接:https://scrimba.com/g/gintrotoes6 这个网站有几个热门的前端技术栈的免费课程,上课体验除了英语渣只能看代码理解听老师讲的一知半解之外,是极佳的学编程的网站了. ...
- 上课笔记--商法(上)
//2015年7月5日 不同于其他商学课程,商法是一门让人觉得学了绝对有用的商科课. 记得大一的时候看了朱苏力的<法理学>,如今再对应着现在学的具体法条,而且是效率为先的商法.略有所悟. ...
- 2021—10—31 上课笔记
DP主要的核心就是对于每道题专属的状态转移方程 动态规划过程是: 每次决策依赖于当前状态,又随即引起状态的转移.一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为 ...
最新文章
- oracle的管理工具
- win7无法连接打印机拒绝访问_Win7系统”windows无法连接到打印机拒绝访问“怎么办?通过创建local port端口连接来搞定...
- selenium实现登录百度(自动识别简单验证码)
- cad钣金展开插件_钣金折弯展开的计算方法汇总
- SpringCloud工作笔记061---springBoot maven 打包jar报错_serverEndpointExporter
- hibernate集合类型映射
- 上市公司与不上市公司的区别
- 一建已经过去,正是中级通信工程师黄金备考期!
- 独立个人项目开发心得 - 任务切分、挑战性、实用性和半途而废
- 台式计算机电源待机电流有多大,终于知晓电脑机箱电源12v多少安
- Open vStorage —— 虚拟化的存储路由系统
- 海洋cms采集后无法播放解决方法
- osu计算机专业排名,OSU计算机专业有奖学金啦~
- JavaWeb随手笔记
- 索引超出数组元素的数目(1)
- 可编程并行接口8255(实验一)
- ACDREAM 05D 哗啦啦族的加法计算(DFS专场)
- 【STM32CubeIDE和ITM SWV实现printf调试信息的打印】
- ftl不存在为真_这个验证贝尔不等式的实验的真实性如何?是否真的意味着量子纠缠的发生是超光速的?...
- Composer的实用部分