Archive for September 3rd, 2008

oracle 11g standby query error: ora-08103 and ora-01410

Wednesday, September 3rd, 2008

范鑫做的测试,我转过来。看起来很简单的一件事情,由于具有偶然性,不能每次都重现,所以特地记录下来,一直报的 ORA-08103: object no longer exists 是由于 standby 上的查询进程导致 ,把standby 激活后查询就正常了
当然这里要交代一下前提,就是在主数据库上有一个job,每天晚上将一个表truncate再插入数据,第二天就发现standby上查询错误,在主数据库上move表之后恢复正常。 但是手工做 truncate却取法重现,重新做个job任务偶尔重现,也不是一定得到这个现象。目前正在进一步测试中,但至少发现了 11g的 standby提供适时查询功能是存在缺陷的。当然不truncate就没问题。

测试在一个已经存在问题的standby上进行,先以standby模式open,再open read only,最后激活open:
 

oracle@ctr_db1:/home/oracle>export ORACLE_SID=testctrdmsb2
oracle@ctr_db1:/home/oracle>sqlplus /nolog
 
SQL*Plus: Release 11.1.0.6.0 - Production on Wed Sep 3 10:28:45 2008
 
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
 
@>
@>sqlplus /nolog
SP2-0734: unknown command beginning “sqlplus /n…” - rest of line ignored.
@>conn / as sysdba
Connected.
sys@CTRDM_DB1>
sys@CTRDM_DB1>select count(*) from mcc.sync_job_status;
select count(*) [...]

DBA