数据库管理-第六十八期 Oracle 23c的其他(20230417)

第六十八期 Oracle 23c的其他

由于Oracle 23c的文档相对较少,一是当前文档主要面向开发人员,二是感觉实际内容还在不断增加,主要还有一点就是各种新特性的在官方文档中的范例确实太少,很多东西需要不断地摸索做实验。众所周知我的SQL能力希撇,所以SQL Domain相关的内容,先搁置一下,弄点其他的。

1 DGPDB

从21c开始,Oracle支持PDB级别的DB,但是standby PDB只能mount,仅能mount同步数据。
在这里插入图片描述

在这里插入图片描述
相较于传统DG模式,PDB级别的DG其实简化了DG实现的门槛。从23c开始DGPDB可以为只读打开状态,CDB彻底沦为插座,这可以更加便捷的实现资源分配、读写分离、快速切换等功能。由于Oracle 23c 文档高可用部分还没有内容,计划照着21c的方式来构建并摸索。
在这里插入图片描述
然而,机器装好了,数据库装好了,最终发现23c free作为免费版本,直接不支持DG Broker,所以只能把这个实验放到后面正式版发布后再做了。(虚拟机已准备好,坐等)

2 无锁并发

直接上示例:
首先表需要有主键:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择工资最高的人,开了4个终端进行模拟操作,分别用T1-T4指代。

  • T1操作:
    在这里插入图片描述
    这里有个限制,只能加减,不能乘除。
    在这里插入图片描述

  • T2操作:
    在这里插入图片描述

  • T3操作:
    在这里插入图片描述

  • T4操作:
    在这里插入图片描述

  • T2 commit,T1、T3查询:
    在这里插入图片描述

  • T3 commit,T1、T4查询
    在这里插入图片描述

  • T4 commit,T3查询
    在这里插入图片描述

  • T1 commit,T2查询
    在这里插入图片描述

最终结果满足24000+100-25+5的最终值。同时数据操作没有出现锁,分开commit的时候也会影响全局查询,但是最终数据是正确的。
在这里插入图片描述
这里还可以看到针对reservable的列,直接修改值也是不行的,这其实也是对数据安全的一种保护。

总结

老规矩,知道写了些啥。

猜你喜欢

转载自blog.csdn.net/yhw1809/article/details/130192053