更改系統時間導致ORA-01466
再開發server上,爲了測試需要,把server的時間修改到了未來某個時間(比如現在是1月6日,改成了1月12日),
修改時間后,又進行了一些DML操作。
過了一段時間后,又把時間改成正確的當前時間。
此時,如果用set transaction read only,
然後任意select 。。。from某個表,
會出現ORA-01466: Unable to read data -- Table definition has changed
如何才能除掉ORA-01466這個錯誤呢? If the cause is an old snapshot, then commit or rollback the transaction and resume work.
a creation time-stamp in the future, ensure the system time is set correctly.
If the object creation time-stamp is still greater than the system time, then export the object's
data, drop the object, recreate the object so it has a new creation time-stamp, import the object's data, and resume work. $ oerr ora 1466
01466, 00000, "unable to read data - table definition has changed"
// *Cause: Query parsed after tbl (or index) change, and executed
// w/old snapshot
// *Action: commit (or rollback) transaction, and re-execute
本帖最后由 jacksan 于 2014-1-7 09:38 编辑
應該所有的transaction都commit過了。
並且我試過restart oracle,結果還是有01466錯誤。
所以我覺得可能需要export-drop-recreate這個schema,不知還有別的方法嗎?
页:
[1]