关于回滚段导致的ORA-01555错误
来源:互联网 发布:表示喜欢的网络用语 编辑:程序博客网 时间:2024/06/14 10:32
- 在1点钟,有个用户A发出了select * from table1;此时不管将来table1怎么变化,正确的结果应该是用户A会看到在1点钟这个时刻的内容。这个是没有疑问的。
- 在1点30分,有个用户B执行了update命令,更新了table1表中的第4000万行的这条记录,这时,用户A的全表扫描还没有到达第4000万条。毫无疑问,这个时候,第4000万行的这条记录是被写到了回滚段里去了的,我假设是回滚段RBS1,如果用户A的全表扫描到达了第4000万行,是应该会正确的从回滚段RBS1中读取出1点钟时刻的内容的。
- 这时,用户B将他刚才做的操作commit了,但是这时,系统仍然可以给用户A提供正确的数据,因为那第4000万行记录的内容仍然还在回滚段RBS1里,系统可以根据SCN来到回滚段里找到正确的数据,但是大家注意到,这时记录在RBS1里的第4000万行记录已经发生了一点重大的改变:就是这个第4000万行的在回滚段RBS1里的数据有可能随时被覆盖掉,因为这条记录已经被提交了!!!
- 由于用户A的查询时间漫长,而业务在一直不断的进行,RBS1回滚段在被多个不同的tracnsaction使用着,这个回滚段里的extent循环到了第4000万行数据所在的extent,由于这条记录已经被标记提交了,所以这个extent是可以被其他transaction覆盖掉的!
- 到了1点40分,用户A的查询终于到了第4000万行,而这时已经出现了第4条说的情况,需要到回滚段RBS1去找数据,但是已经被覆盖掉了,于是01555就出现了。
阅读全文
0 0
- 关于回滚段导致的ORA-01555错误
- UNION ALL导致的ORA-07445错误
- 一个空格导致的ORA-12516错误
- ORA-16179 粗心导致的小错误
- 关于ORA-27102的错误
- 处理ora-00312的错误(磁盘空间导致00312错误)
- 处理ora-00312的错误(磁盘空间导致00312错误)
- cursor_sharing=force导致的ora-600错误的分析
- 关于Oracle ORA-01555快照过旧的错误
- OracleParameter设置空值时,导致ORA-01008错误的解决
- 一次windows漏洞导致的ora-07445错误整修记录
- 【Oracle】静态监听导致的ORA-12523错误
- 关于DUAL的“ORA-00980”错误
- 关于ORACLE ORA-01846 错误的解决办法
- 关于项目路径问题导致的错误
- 关于oracle的ORA-00607和ORA-00600错误解决方法
- 调整oracle sga的大小导致 ORA-00851和ORA-00844错误
- 关于ORA-01720错误
- The fish and bird-另类关系
- 图的基本存储的基本方式二
- MySQL语句大全
- Python模块之codecs
- linux系统调用过程解析(基于ARM处理器)
- 关于回滚段导致的ORA-01555错误
- 【C++】C++起步遇到的问题
- 【C#】B窗体关闭时刷新A窗体的DataGridView
- 【CUGBACM15级BC第16场 B】Revenge of LIS II
- 八月之上课总结
- 8.9训练总结
- [P2614]计算器弹琴
- python *的应用
- PHP微信开发用Cache 解决数据缓存