ORA-08176: consistent read failure; rollback data not available(一致性读失败;回滚数据不可用)
Oracle含义
在构建一致性读映像时,查询遇到了被不生成 undo 的操作修改过的块;由于这些块不存在 undo/回滚数据,无法构建一致性映像。与 ORA-01555 不同,这里的 undo 是从未生成,而不是被覆盖。(可串行化隔离错误是另一个代码:ORA-08177。)
原因
在查询进行期间,同一对象上运行了不生成 undo 的操作:直接路径加载(INSERT /*+ APPEND */、SQL*Loader DIRECT=TRUE)、CREATE INDEX / 索引重建或离散事务。
解决方法
在直接路径加载或索引操作完成后重新运行查询(重试)。不要在同一时间窗口内对同一对象同时安排长报表和直接路径加载/索引维护作业。如果反复出现,借助 alert 日志和 ASH 找出冲突的作业并错开调度。
同一数据库的其他条目
- ORA-04021timeout occurred while waiting to lock object(等待锁定对象时超时)
- ORA-04061existing state of package/procedure has been invalidated(包/过程的现有状态已失效)
- ORA-01466unable to read data - table definition has changed(无法读取数据 —— 表定义已更改)
- ORA-00020maximum number of processes (N) exceeded(超出最大进程数 N)
- ORA-01113file N needs media recovery(文件 N 需要介质恢复)
- ORA-02393exceeded call limit on CPU usage(超出单次调用的 CPU 使用限制)
- ORA-12801error signaled in parallel query server Pnnn(并行查询服务器 Pnnn 中发出错误信号)