oracle数据的不一致性有几种类型
2个回答
展开全部
我们知道多种情况下会引起数据库的不一致性,举两种情况:如存在未提交事务的情况下,丢失回滚段的问题或丢失当前日志的问题,通过使用隐含参数都可以在数据据不一致的情形下打开DB,但具体数据库的不一致性到底更深一层的解释是怎样的呢?
我描述一下存在未提交事务情况形下的回滚段丢失可能产生不一致的情况:
当UPDATE某个较大的表,被UPDATE的记录的原值(前印象)被写入回滚段,新值被写入DATA BUFFER ,这个变化过程(REDO UNDO)也被写入 LOG BUFFER,然后SHUTDOWN ABORT,删除回滚DBFILE ,通过隐含参数(_CORRUPTED_ROLLBACK_SEGMENTS)打开数据库。要注意的是:上次做完UPDATE后,DATA BUFFER中的一部分数据可能已经写入DBFILE 了,也还可能有一部分当时还在DATA BUFFER中通过SHUTDOWN ABORT后就丢掉了,致使库中的这个表的数据存在残缺现象,即这时数据库不一致性出现了。
我描述一下存在未提交事务情况形下的回滚段丢失可能产生不一致的情况:
当UPDATE某个较大的表,被UPDATE的记录的原值(前印象)被写入回滚段,新值被写入DATA BUFFER ,这个变化过程(REDO UNDO)也被写入 LOG BUFFER,然后SHUTDOWN ABORT,删除回滚DBFILE ,通过隐含参数(_CORRUPTED_ROLLBACK_SEGMENTS)打开数据库。要注意的是:上次做完UPDATE后,DATA BUFFER中的一部分数据可能已经写入DBFILE 了,也还可能有一部分当时还在DATA BUFFER中通过SHUTDOWN ABORT后就丢掉了,致使库中的这个表的数据存在残缺现象,即这时数据库不一致性出现了。
仁科信息
2024-07-24 广告
2024-07-24 广告
Oracle EBS运维是确保企业资源规划系统稳定、高效运行的关键环节。它涵盖了系统监控、性能优化、故障排查与恢复等多方面内容。通过持续的监控和数据分析,运维团队能够及时发现并解决潜在问题,保障系统的稳定性和安全性。同时,他们还需要与业务部...
点击进入详情页
本回答由仁科信息提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询