Oracle Diag:如何处理ORA-600 2662错误
2017-02-15 00:00
387 查看
经常有人问,Oracle有哪些诊断事件,各是什么含义,怎样使用?
这些问题问得太多太多,Oracle没有过多的说明,实际上也不需要太多的说明。
我们可以通过以下代码查询得到Oracle的诊断事件及说明,通过这些,我想就足够了。列举在这里给自己参考。
1.代码
此时我们可以通过Oracle的内部事件来调整SCN:
增进SCN有两种常用方法:
1.通过immediate trace name方式(在数据库Open状态下)
2.通过10015事件(在数据库无法打开,mount状态下)
本例由于数据库无法打开,只能使用的二种方法。
我们看到CHECKPOINT_CHANGE# 最终被增进了10 Billion.
这些问题问得太多太多,Oracle没有过多的说明,实际上也不需要太多的说明。
我们可以通过以下代码查询得到Oracle的诊断事件及说明,通过这些,我想就足够了。列举在这里给自己参考。
1.代码
Sun Dec 11 18:02:25 2005 Errors in file /opt/oracle/admin/conner/udump/conner_ora_13349.trc: ORA-00600: internal error code, arguments: [2662], [0], [547743994], [0], [898092653], [8388617], [], [] Sun Dec 11 18:02:27 2005 Errors in file /opt/oracle/admin/conner/udump/conner_ora_13349.trc: ORA-00600: internal error code, arguments: [2662], [0], [547743994], [0], [898092653], [8388617], [], [] Sun Dec 11 18:02:27 2005 Error 600 happened during db open, shutting down database USER: terminating instance due to error 600
此时我们可以通过Oracle的内部事件来调整SCN:
增进SCN有两种常用方法:
1.通过immediate trace name方式(在数据库Open状态下)
alter session set events 'IMMEDIATE trace name ADJUST_SCN level x';
2.通过10015事件(在数据库无法打开,mount状态下)
alter session set events '10015 trace name adjust_scn level x'; 注:level 1为增进SCN 10亿 (1 billion) (1024*1024*1024),通常Level 1已经足够。也可以根据实际情况适当调整。
本例由于数据库无法打开,只能使用的二种方法。
[oracle@jumper dbs]$ sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.4.0 - Production on Sun Dec 11 18:26:18 2005 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to an idle instance. SQL> startup mount pfile=initconner.ora ORACLE instance started. Total System Global Area 97588504 bytes Fixed Size 451864 bytes Variable Size 33554432 bytes Database Buffers 62914560 bytes Redo Buffers 667648 bytes Database mounted. SQL> alter session set events '10015 trace name adjust_scn level 10'; Session altered. SQL> alter database open; Database altered. --注意,由于我使用了10015事件,使得SCN增进了10 billion,稍后我们可以验证。 [oracle@jumper dbs]$ sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.4.0 - Production on Sun Dec 11 18:26:18 2005 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to an idle instance. SQL> startup mount pfile=initconner.ora ORACLE instance started. Total System Global Area 97588504 bytes Fixed Size 451864 bytes Variable Size 33554432 bytes Database Buffers 62914560 bytes Redo Buffers 667648 bytes Database mounted. SQL> alter session set events '10015 trace name adjust_scn level 10'; Session altered. SQL> alter database open; Database altered. --此时数据库可以打开,从alert文件中我们可以看到如下提示: Sun Dec 11 18:27:04 2005 SMON: enabling cache recovery Sun Dec 11 18:27:05 2005 Debugging event used to advance scn to 10737418240 --SCN被增进了10 billion,即 10 * (1024*1024*1024) = 10737418240,正好是日志里记录的数量。 --我们从数据库内部看一下检查点的增进情况: SQL> select open_mode from v$database; OPEN_MODE ---------- READ WRITE SQL> select file#,CHECKPOINT_CHANGE# from v$datafile; FILE# CHECKPOINT_CHANGE# ---------- ------------------ 1 547783998 2 547783998 3 547783998 SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 97588504 bytes Fixed Size 451864 bytes Variable Size 33554432 bytes Database Buffers 62914560 bytes Redo Buffers 667648 bytes Database mounted. Database opened. SQL> select file#,CHECKPOINT_CHANGE# from v$data 7fe1 file; FILE# CHECKPOINT_CHANGE# ---------- ------------------ 1 1.0737E+10 2 1.0737E+10 3 1.0737E+10 SQL> col CHECKPOINT_CHANGE# for 99999999999999999 SQL> select file#,CHECKPOINT_CHANGE# from v$datafile; FILE# CHECKPOINT_CHANGE# ---------- ------------------ 1 10737418447 2 10737418447 3 10737418447
我们看到CHECKPOINT_CHANGE# 最终被增进了10 Billion.
相关文章推荐
- .oracle 如何处理错误ORA-29275:部分多字节字符
- Oracle ORA-600 [2662] 错误
- Oracle学习笔记[3] - 错误:ora-12154:tns:无法处理服务名的错误
- EXP遇到ORA-06552错误的解决,及如何应急修改ORACLE字符集
- ORA-600 [2662] Block SCN is ahead of Current SCN 处理方法 说明
- Oracle中针对一张表建立触发器,并且触发器也处理同一张表的数据(ora-04091 错误)
- ORA-600 [2662] Block SCN is ahead of Current SCN 处理方法 说明
- [Oracle] 如何解决ORA-04031 错误
- 如何处理登录Oracle时ORA-28000: the account is locked?
- oracle ora-00054错误处理
- 如何处理错误ORA-29275
- Oracle内部错误ORA-600:[1112]
- ORA-600 [2662] Block SCN is ahead of Current SCN 处理方法 说明
- 如何处理CLOB字段值超过4000字节时提示:“ORA-01704:文字字符串过长”的错误
- ORA-27101: shared memory realm does not exist 错误的处理(ORA-01034 - Oracle not available )
- [Oracle] 如何解决ORA-04031 错误
- oracle10.2.0 升级10.2.0.4 后,ora-3970;ora-01034错误处理
- ORA-600 [2662] Block SCN is ahead of Current SCN 处理方法 说明
- Oracle启动时ORA-00600错误处理方法
- ORA-27101: shared memory realm does not exist 错误的处理(ORA-01034 - Oracle not available )