ORACLE RAC环境下读取序列乱序问题
2017-05-02 11:02
357 查看
源自:http://blog.csdn.net/scorpio3k/article/details/8597965
在数据库部署了RAC环境之后,偶尔会出现从Oracle
Sequence所取出来的数是混乱的,比如第二次比第一次所取的数要小。这样当程序的逻辑依赖于ID的大小来排序时,就会产生系统混乱。
其实问题是出在数据库是个RAC环境,序列是被共享的,序列默认是有缓存的。假设RAC上的两个节点上序列缓存设为20,第一个节点上缓存1-20,第二个节点缓存了21-40,当从不同节点来进行对sequence取值的时候,从第二个节点上取的值就会比从第一个节点上取的要大。而且默认序列都是noorder的。因为很有可能出现这种情况。
具体方法有两个:
1. 设置cache为空
2. 创建序列的时候设置为order,即采用cache + order
在数据库部署了RAC环境之后,偶尔会出现从Oracle
Sequence所取出来的数是混乱的,比如第二次比第一次所取的数要小。这样当程序的逻辑依赖于ID的大小来排序时,就会产生系统混乱。
其实问题是出在数据库是个RAC环境,序列是被共享的,序列默认是有缓存的。假设RAC上的两个节点上序列缓存设为20,第一个节点上缓存1-20,第二个节点缓存了21-40,当从不同节点来进行对sequence取值的时候,从第二个节点上取的值就会比从第一个节点上取的要大。而且默认序列都是noorder的。因为很有可能出现这种情况。
具体方法有两个:
1. 设置cache为空
2. 创建序列的时候设置为order,即采用cache + order
相关文章推荐
- ORACLE RAC环境下读取序列乱序问题
- ORACLE RAC环境下读取序列乱序问题
- mysql linux环境下区分大小写问题
- oracle imp字符集问题的解决
- Oracle RAC Cache Fusion 机制详解
- RAC环境下 oracle em无法启动的问题
- 环境变量设置问题导致的command no…
- oracle 同义词、序列、视图、索引
- jdbc 连接 oracle rac
- Oracle RAC OCR 与健忘症
- Oracle RAC 11.2.0.2&nb…
- oracle 10g 中文乱码的问题(解决…
- Linux 环境下Oracle 11g r2错误处…
- 在Linux环境上面,su切换到oracle时出现"-bash:fork:Resource temporarily unavailable"问题
- ORACLE-12C-RAC INSTALL
- Oracle在RAC环境下远程客户端连接的问题
- RAC环境下ORACLE序列缓存导致序列混乱
- RAC环境下ORACLE序列缓存导致序列混乱
- RAC环境下ORACLE序列缓存导致序列混乱
- ORACLE RAC crs 无法启动