oracle多用户并发及事务处理
多用户并发访问
事务:作用于某些数据的一个不可分割的操作
锁:写锁、互斥锁(仅能被一个进程使用) 读锁、共享锁(可被多个进程使用)
更新丢失
脏读
不可重复读
幻影读
隔离级别:
1 READ COMMITTED 每个语句得到完整的视图
2 SERIALIZABLE 事务级别实施串行化
Oracle并发特性
1 回滚段:存储“撤销”信息的数据结构
redo日志用来记录数据库的所有事务;回滚段用于提供事务回滚和读一致性
2 系统改变号 SCN:保证事务执行的顺序
3 数据块中的锁:每个锁只影响数据块的一行
冲突写过程:
1 A更新操作
2 获取SCN,读取目标数据块
3 记录行锁信息
4 修改写入redo日志缓存
5 写入回滚段
6 B更新操作
7 获取SCN,读取数据块
8 发现上锁,如果是READ COMMITTED 等待执行完成后继续;如果是SERIALIZABLE,返回错误
9 A提交事务
10 如果B READ COMMITTED,继续执行
工作空间:与数据的变动分离,创建特定时间版本的数据空间
在线事务处理 OLTP
原子性
一致性
隔离性
持久性
OLTP通用特性:
1 事务吞吐量大而且并发用户量大
2 明确的性能需求
3 高可用性
4 可扩展性
通用并发与性能:
1 非升级行锁技术:只对事务处理的行加锁,不将锁的级别升级到也级别或者表级别
2 多版本读操作一致性:在不加读锁的情况下保证语句级和事务级的数据一致性
3 共享SQL:将经过分析和优化的SQL存放在共享内存池中的共享SQL区 内
4 存储概要:支持执行计划的稳定性
可扩展性:
多线程服务器MTS
Oracle Net连接池:允许客户端共享一个物理网络连接池
Oracle Net连接管理器:为多个客户分配一条网络连接。没有“超时”
实时应用程序集群:
高速缓存熔合:将所有的数据存放在实时应用集群中的每台主机的每个缓存内,这些数据对于急群众的其他任意主机都是可用的。
高可用性:
1 备用数据库:
2 透明故障迁移TAF:主机实例失败时,自动连接到另一个oracle实例
3 oracle 流/高级队列 AQ:一种异步或者延期的系统间通信方法
4 Oracle流复制:利用内置的复制功能提供数据冗余
- 开发者的如何优雅的使用OSX
- Solidity 智能合约开发语言·数据类型
- 以太坊·Rinkeby 测试网络
- TensorFlow强化学习入门(0)——Q-Learning的查找表实现和神经网络实现
- 【云端架构】网站运维之CDN链接鉴权示例入门(PHP)
- 以太坊·单机多实例演示
- TensorFlow强化学习入门(1)——双臂赌博机
- CTF逆向--.NET与Python篇
- CTF逆向--安卓篇
- hackme.inndy.tw的19道web题解(下)
- hackme.inndy.tw的19道web题解(中)
- hackme.inndy.tw的19道web题解(上)
- CTF中RSA题型解题思路及技巧
- 技术解析 | Web缓存欺骗测试
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法