- 论坛徽章:
- 0
|
急!一个快照的错误,请各位帮忙啊!
If a database at a master site has an SCN that is big enough to have a non-zero
wrap number, then doing a snapshot refresh generates an ORA-07445 error and a
core dump on the master site, and an ORA-02055 on the snapshot site. This
happens regardless of the mechanism used to do the refresh, whether with the
DBMS_SNAPSHOT.REFRESH() procedure, or with automatic snapshot updating (via
SNPn processes and the INIT.ORA parameters JOB_QUEUE_PROCESSES and
JOB_QUEUE_INTERVAL). It also happens regardless of the method used, whether
fast, complete, or force.
Workaround:
None. You can drop and re-create the snapshot; but this is not really a
valid workaround, because then there is no point to having the snapshot.
How to determine rediscovery:
Look at the snapshot site where the REFRESH was performed for errors such as
the following:
SQL>; exec dbms_snapshot.refresh( 'xyz' , 'f' )
ORA-02055: distributed update operation failed; rollback required
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 604
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 661
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 641
ORA-06512: at line 1
If automatic refresh is being used, then look in the alert log on the snapshot
site for errors such as the following:
Fri Sep 24 19:54:55 1999
Errors in file /abc/oracle/rdbms/log/xx_snp0_16952.trc:
ORA-12012: error on auto execute of job 1
ORA-02055: distributed update operation failed; rollback required
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 604
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 661
ORA-06512: at "SYS.DBMS_IREFRESH", line 577
ORA-06512: at "SYS.DBMS_REFRESH", line 211
ORA-06512: at line 1
In either case, you should also look in the alert log on the master site for an
ORA-7445 such as the following:
Wed Sep 22 15:46:24 1999
Errors in file /abc/oracle/rdbms/log/xx_ora_12072.trc:
ORA-07445: exception encountered: core dump [kcmstn()+304] [SIGSEGV]
[Address not mapped to object] [0] [] []
Look in the trace file on the master site for a stack trace like this:
ttcpip =>; opiodr =>; kporpc =>; kkxrpc =>; prient =>; prient2 =>;
pricbr =>;
pricar =>; pfrrun =>; pefcal =>; pefccal =>; psdextp =>; rpiswu2 =&
gt; psdexsp =>;
peftrusted =>; spefmccallstd =>; spefcmpa =>; kkzibvl =>; kcmstn =>;
sigacthandler =>; ssexhd =>; ksedmp
Check that the database SCN has a non-zero wrap number with this query:
select checkpoint_change# / 4294967296 as wrap from v$database ;
If the result is one or more, then you have a non-zero wrap number and you hit
this bug.
Initial broken version:
8.1.5 The bug does not occur in any version of 8.0.
fix:
Fixed in Oracle 8.1.7
Fix will be included in patchsets 8.1.5.2 and 8.1.6.1. Several one-off patches
provided, refer to the bug for additional information. |
|