千家信息网

Oracle 读取一致性

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,原文地址:Managing Read Consistencyoracle版本:11g r1Oracle分布式数据库中的一个重要限制就是读取一致性。问题产生的原因是因为每个系统都有自己的SCN,SCN可
千家信息网最后更新 2025年11月13日Oracle 读取一致性

原文地址:Managing Read Consistency
oracle版本:11g r1

Oracle分布式数据库中的一个重要限制就是读取一致性。问题产生的原因是因为每个系统都有自己的SCN,SCN可以当作数据库的内部时间戳。Oracle数据库服务通过SCN来明确查询数据的版本号。

分布式事务中的SCN在三种情况进行同步:1、每个SQL语句执行结束时;2、每个事务的开始时;3、每个食物结束时。节点间如果有大量通信尤其是分布式更新操作,这个同步的动作会非常频繁。尽管有这样那样的问题,在分布式系统中实际上没有任何方式能保证SCN的绝对同步:总会存在这样的情况,一个节点持有的SCN是另外一个节点之前的SCN。

因为SCN获取机制,你可以查询一个略微旧的快照数据,因此无法立刻看到远程数据库的最新变化。根据读取一致性,查询可以得到一致并且旧的数据。注意,查询所得到的数据是基于旧的SCN,因此如果本地执行更新事务并更新远程节点的两个表后,下次访问这两张表时会得到更新前的数据。

SCN获取机制的一个结果就是2个连续的 select 语句能够得到不同的数据,甚至在2个语句之间没有DML执行。例如,你执行更新语句然后向远程数据库提交该更新。当你用 select 语句查询视图(基于该远程表),视图不回显示更新的列。下一次执行 select 语句时,这个更新出现。

你可以使用下列条件来确定在查询前两个机器的SCN是同步的:

  • 因为SCN是在远程查询后完成同步,会在每个远程查询之前都有一个虚拟的远程查询,例如, select * from dual@remote 。
  • 因为SCN会在每个远程事务的开始、提交、回滚当前事务时进行同步,在远程查询之前。
数据 查询 更新 语句 同步 事务 数据库 分布式 节点 一致 一致性 两个 就是 情况 机制 版本 系统 视图 问题 不同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库密码找回 软件开发人员兼职的补充协议 松江区通讯网络技术优势 数据库属性null是什么意思 从pfile启动数据库 泰拉瑞亚踢出服务器 网络安全要用真实站点来学习吗 关系数据库管理系统db2 网上书店数据库实训项目答案 正规的存储服务器代理哪家好 国内护理常用数据库 软件开发学起来难吗 中国知网属于哪个类型的数据库 维普数据库可以检索的文件类型有 软件开发原型法 统一服务器安全管理 dw设置站点的测试服务器 小学生文明上网网络安全征文 查询数据库高速缓冲区大小 公司内部dns服务器地址 关于软件开发培训班 光盘数据库 没有网络安全的影响 个人计算机服务器工作站的区别 我的世界服务器掉率文件叫什么 java写入数据库编码格式 浙江hpe塔式服务器多少钱 网络安全学院腾讯 软件开发失败怎么做账 数据库系统模型都有哪三种
0