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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维一切

ceph mon自行shutdown故障记录 原

主要在这个“reached critical levels of available space on local monitor storage”,如果mon...

10810
来自专栏菜鸟程序员

Janus高危漏洞深度分析

18430
来自专栏软件开发

HTML5 学习总结(五)——WebSocket与消息推送

B/S结构的软件项目中有时客户端需要实时的获得服务器消息,但默认HTTP协议只支持请求响应模式,这样做可以简化Web服务器,减少服务器的负担,加快响应速度,因为...

44580
来自专栏向治洪

android混淆和反编译

混淆 Android Studio: 只需在build.gradle(Module:app)中的buildTypes中增加release的编译选项即可,...

28580
来自专栏小白安全

Janus高危漏洞深度分析

一、背景介绍 近日,Android平台被爆出“核弹级”漏洞Janus(CVE-2017-13156),该漏洞允许攻击者任意修改Android应用中的代码...

36690
来自专栏向治洪

Android资源混淆打包方案

概述 我们知道在Android的打包过程中,有一个步骤是压缩,也是为了减少apk包的大小,其中在压缩的过程中,很大一部分就是对资源的压缩,除了系统的压缩方案之外...

450100
来自专栏三丰SanFeng

Linux进程间通信(一) - 管道

管道(pipe) 普通的Linux shell都允许重定向,而重定向使用的就是管道。 例如:ps | grep vsftpd .管道是单向的、先进先出的、无结构...

27070
来自专栏武培轩的专栏

数据库事务的四大特性以及隔离级别

本篇文章主要介绍数据库事务的四大特性ACID,以及数据库的隔离级别。 事务 概念 事务指的是满足 ACID 特性的一系列操作。在数据库中,可以通过 Commit...

42040
来自专栏PingCAP的专栏

使用 Ansible 安装部署 TiDB

多机部署 TiDB 太繁琐?快来尝试我们的 TiDB 一键安装吧。本文介绍基于 Ansible Playbook 实现 TiDB 和监控组件的自动化安装和配置,...

1.5K00
来自专栏java达人

关于mysql锁的两个例子

版本:mysql5.5.52 存储引擎:InnoDB 隔离级别:READ-COMMITTED 示例一: 事务1:左图 事务2:右图 1、 ? 事务...

22980

扫码关注云+社区

领取腾讯云代金券