欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle多用户并发及事务处理

程序员文章站 2023-12-30 20:26:40
...

Oracle多用户并发访问事务:作用于某些数据的一个不可分割的操作 锁:写锁、互斥锁(仅能被一个进程使用) 读锁、共享锁(可

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流复制:利用内置的复制功能提供数据冗余

上一篇:

下一篇: