Is it possible that few blocks of abc_stage table is not clean ?
Meaning block clean out is not complete for those blocks ? Oracle might
be trying to check whether the pending transactions in those blocks are
committed or not, by accessing the old undo segment header. Since undo
tablespace is offline, this error is thrown.
BTW check whether sys.undo$ table has entries for those old undo
To confirm you could trace (10046) the statement, find the block read
just before this error, dump the block to see whether any ITL entries
pointing to old undo segments.
Better yet, you could just alter the tablespace online, create index
and then drop the undo tablespace.
Riyaj "Re-yas" Shamsudeen
Certified Oracle DBA (ver 7.0 - 9i)
Allocation & Assortment planning systems
"No implied or explicit liability"
Sami Seerangan wrote:
2 Node RAC,18.104.22.168, Sun OS 2.8
We created new undo tablespaces (UNDO3, UNDO4) for each node1 and
node2 respectively and changed default undo tablespace to UNDO3 and
UNDO4. Then we put old UNDO tablespaces offline.
After 2 days we are trying to create a new index and it gives the
SQL> CREATE UNIQUE INDEX ABC_KEY_IDX01 ON ABC_STAGE (SESSN_KEY,
PART_KEY,SUB_PART_KEY) TABLESPACE STAGE_INDEX LOCAL NOPARALLEL;
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-00376: file 2 cannot be read at this time
ORA-01110: data file 2: '/u01/oradata/pdw/undotbs01.dbf'
Luckily the tablespace is still offline and I can bring it online. But
I just wanted to know teh reason behind this?