Question: I am using dbms_redefinition to
redefine a table and I am getting an ORA-12008 and an ORA-01555
error:
ORA-12008: error in materialized view refresh
path
ORA-01555:
snapshot too old: rollback segment number with name "" too small
ORA-22924: snapshot too old
ORA-06512: at "SYS.DBMS_REDEFINITION", line 52
ORA-06512: at "SYS.DBMS_REDEFINITION", line
1646
Why do I see a ORA-12800 error?
Answer: The dbms_redefinition uses a
materialized view during the reorganization to manage the updates
that occur while the table is being copied and re-named. In
your case, the ORA-12008 error is a phantom error message, with your
true error being the ORA-01555. The oerr utility show this on
the ORA-12008 error:
ORA-12008: error in materialized view refresh path
Cause: Table SNAP$_ reads rows from the view
MVIEW$_, which is a view on the master table (the master
may be at a remote site). Any error in this path will cause this
error at refresh time. For fast refreshes, the table
.MLOG$_ is also referenced.
Action: Examine the other
messages on the stack to find the problem. See if the objects SNAP$_,
MVIEW$_, .@, .MLOG$_@
still exist.
|
|
Get the Complete
Oracle SQL Tuning Information
The landmark book
"Advanced Oracle
SQL Tuning The Definitive Reference" is
filled with valuable information on Oracle SQL Tuning.
This book includes scripts and tools to hypercharge Oracle 11g
performance and you can
buy it
for 30% off directly from the publisher.
|