多用户并发访问

事务:作用于某些数据的一个不可分割的操作
 
锁:写锁、互斥锁(仅能被一个进程使用)      读锁、共享锁(可被多个进程使用)
 
更新丢失
脏读
不可重复读
幻影读
 
隔离级别:
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流复制:利用内置的复制功能提供数据冗余

oracle多用户并发及事务处理的更多相关文章

  1. Oracle多用户对一个表进行并发插入数据行操作

    oracle数据库支持多用户间同时对同一个表进行操作,但是数据不一定同步,因为oracle数据库是支持脏数据的,比如A用户删除了表的数据但没有提交,B用户也能查询访问到,如果要避免这种情况只能加锁,A ...

  2. Sql优化(三) 关于oracle的并发

    Oracle的并发技术可以将一个大任务分解为多个小任务由多个进程共同完成.合理地使用并发可以充分利用系统资源,提高效率.一. 并发的种类Parallel queryParallel DML(PDML) ...

  3. C# ASP.NET B/S模式下,采用lock语法 实现多用户并发产生不重复递增单号的一种解决方法技术参考

    有时候也好奇,若是老外发个技术文章,会不会到处是有人骂街的?进行人身攻击的?中国人喜欢打击别人,不知道老外是不是也是这个性格?好奇的问一下大家. 往往我们在开发程序.调试程序时,无法模拟多用户同时操作 ...

  4. LoadRunner 多用户并发 登录,上传数据,登出的脚本教程

    这里记录 Web/Http  模式,模拟多用户并发进行  : 登录,上传数据,退出登录一整套流程.并发的用户量多少,可自定义.这里不介绍录屏的方式,是自己写脚本去执行的. 1.安装loadRunner ...

  5. 039.Python使用TCP实现多用户并发

    使用TCP实现多用户并发 在前面的实验中,TCP建立连接时,只能允许一个用户连接,当第二个用户建立连接时,发送的信息,服务端是没有办法接受,只有当第一个用户退出时,才能接受到第二个用户的请求,并实现通 ...

  6. Oracle RAC 并发与架构

    10g RAC进程总概 一. RAC 并发 RAC 的本质是一个数据库,运行在多台计算机上的数据库,它的主要任务是数据库就是事务处理,它通过 Distributed Lock Management(D ...

  7. Oracle与SQL Server事务处理的比较

    事务处理是所有大型数据库产品的一个关键问题,各数据库厂商都在这个方面花费了很大精力,不同的事务处理方式会导致数据库性能和功能上的巨大差异.事务处理也是数据库管理员与数据库应用程序开发人员必须深刻理解的 ...

  8. Windows性能查看器:系统的性能信息(I/O,IIS最大连接数,Sql) ,以及解决 asp.net IIS 一二百多用户并发

    在测试过程中,我们经常需要知道“系统的资源利用情况”来监测我们的测试执行情况,来查看测试环境是否有效,测试结果是否可信,或者是在无人值守时保存结果,等我们值班时再来分析. 1.在Windows环境下, ...

  9. 用jmeter进行多用户并发压力测试 [转]

    近日manager要求对项目进行压力测试,开始对jmeter进行了研究.jmeter是Apache一个开源项目,可对各种项目进行测试,甚至包括junit. 测试要求如下,多用户同时登陆web应用程序, ...

随机推荐

  1. postgresql 模式与用户,及跨库访问

    1 控制台命令\h:查看SQL命令的解释,比如\h select.\?:查看psql命令列表.\l:列出所有数据库.\c [database_name]:连接其他数据库.\d:列出当前数据库的所有表格 ...

  2. SpringMVC—对Ajax的处理(含 JSON 类型)(3)

    五.服务器端的 SpringMVC 如何返回 JSON 类型的字符串. 请求: $("#testJson8").click(function () {    $.ajax({   ...

  3. vuex的实用知识点

    本文系统介绍vuex的全部内容 为什么用vuex 组件通信知道吧,相信很多同学,刚学的时候很难懂,实时上在实际应用中,大型项目如果使用最原始的组件通信会非常的麻烦,主要体现在多层嵌套的组件之间的通信, ...

  4. navicat for mysql ,mysql版本是8.0的版本,连接数据库报错1251,解决办法。

    我的mysql版本是8.0的版本,因为毕竟新的mysql采用新的保密方式,所以就的似乎不能用,改密码方式: 用管理员身份打开cmd mysql -uroot -p(输入密码)            进 ...

  5. Oracle 11g oracle 用户密码过期问题 (ZT)

    http://www.blogjava.net/freeman1984/archive/2013/04/23/398301.html Oracle 11g 之前默认的用户时是没有密码过期的限制的,在O ...

  6. ios中的三种弹框《转》

    目前为止,已经知道3种IOS弹框: 1.系统弹框-底部弹框 UIActionSheet  (1)用法:处理用户非常危险的操作,比如注销系统等 (2)举例: UIActionSheet *sheet = ...

  7. 根据URL下载文件

    commons-io 包中已经封装好了,直接可以使用 一.添加依赖 <dependency> <groupId>org.apache.commons</groupId&g ...

  8. sublime3 There are no packages available for installation

    我的是网上下载的绿色版 1.找到sublime\Data\Packages  删除Packages control相关的文件夹和文件 下载https://packagecontrol.io/Packa ...

  9. sql中的Alias怎么用

    一直很奇怪,不知道为什么sql的Alias怎么用,上次看到ThinkPHP中的讲解,为什么数据库在用的时候有时候喜欢改个别名再用, 因为昨天去参加了公司的数据库开发工程师的笔试,今天就复习一下sql, ...

  10. jquery easyui datagrid/table 右边线显示不全

    <table id="dg" style="height:400px"></table> 右边线显示不全 解决:在外面套一个panel, ...