Oracle 闪回查询获取“快照太旧”

Oracle 闪回查询获取“快照太旧”,oracle,Oracle,我有以下疑问 SELECT * FROM tabis_nov_events AS OF TIMESTAMP TO_TIMESTAMP('2014-08-19 10:30:00', 'YYYY-MM-DD HH:MI:SS') 这会选择数据,但在某些情况下会导致错误快照太旧。回滚名为“\u SYSSMU5$”的段号5。如果可能的话,我想检索数据,否则就别管它了。我尝试使用下面这样的where子句按主键块进行恢复,但每次使用这样的where子句时都会出现错误: SELECT * FRO

我有以下疑问

SELECT * FROM tabis_nov_events 
  AS OF TIMESTAMP
   TO_TIMESTAMP('2014-08-19 10:30:00', 'YYYY-MM-DD HH:MI:SS')
这会选择数据,但在某些情况下会导致错误快照太旧。回滚名为“\u SYSSMU5$”的段号5。如果可能的话,我想检索数据,否则就别管它了。我尝试使用下面这样的where子句按主键块进行恢复,但每次使用这样的where子句时都会出现错误:

SELECT * FROM tabis_nov_events 
  AS OF TIMESTAMP
   TO_TIMESTAMP('2014-08-19 10:30:00', 'YYYY-MM-DD HH:MI:SS')
     WHERE ta_eve_violation_num<'101100010' 

有什么办法可以做到这一点吗?

我不知道你所说的“我想检索数据,如果可能的话”,或者干脆别管了。您希望不返回任何数据而不查看快照错误吗?您是否在where子句中遇到了相同的错误,或者其他错误?你的PK是一个数字还是一个字符串?不知道为什么你在引号中有那个值。如果我不使用where子句,它会显示一些数据。我正在使用PLSQL开发工具,有很多记录。默认情况下,它显示一页数据。若我获取所有页面,一段时间后它会给我“快照太旧”错误。所以我想我可以用一个唯一的键检索数据块,比如说1000-2000,然后是2001-3000等等。所以我放了where子句。在放了where子句之后,它没有给我sql语法错误,但给了我相同的“快照太旧”错误。我想检索第一次显示的数据,如果不能,则保留其他数据。我可以使用rownum恢复部分数据,但是对于某些rownum,它无法提取数据并抛出相同的错误。因此,我必须手动更改rownum,如rownum>5000和rownum