Oracle登陆时报了一个错误,ORA-00600

moonoos 2014-04-22 05:29:36
用户登录时,oracle报了一个错误 ORA-00600:内部错误代码,参数:【18062】,【】,【】,【】,【】,【】,【】,【】

出错原因已经找到,是由于我把global_name设置为空了,有大神遇到过这样的错误么??如何恢复~~~跪求大神
...全文
419 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tomshenhao 2014-04-23
  • 打赏
  • 举报
回复
你可以尝试使用startup nomount 下执行
moonoos 2014-04-23
  • 打赏
  • 举报
回复
引用 2 楼 gleiyu 的回复:

UPDATE GLOBAL_NAME SET GLOBAL_NAME = '<database name>[.db_domain]';
GLOBAL_NAME 改回来,重启下数据库试试
用户登录时报错了,还能执行update???~~!!!
gleiyu 2014-04-23
  • 打赏
  • 举报
回复

UPDATE GLOBAL_NAME SET GLOBAL_NAME = '<database name>[.db_domain]';
GLOBAL_NAME 改回来,重启下数据库试试
tomshenhao 2014-04-23
  • 打赏
  • 举报
回复
请教LZ你是怎么设置global_name的?
小灰狼W 2014-04-23
  • 打赏
  • 举报
回复
Applies to: 
Oracle Server - Enterprise Edition - Version: 11.2.0.2.0 and later   [Release: 11.2 and later ]
Information in this document applies to any platform.

Symptoms
After updating the GLOBAL_NAME and setting it to NULL:


UPDATE GLOBAL_NAME SET GLOBAL_NAME = '';
COMMIT;

The database is not starting up:


SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 422670336 bytes
Fixed Size 1344616 bytes
Variable Size 318770072 bytes
Database Buffers 96468992 bytes
Redo Buffers 6086656 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [18062], [], [], [], [], [], [], [],
[], [], [], []
Process ID: 3552
Session ID: 1 Serial number: 5

Cause
The steps that can cause the error:

SQL> select * from global_name;

GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL1.LOCALDOMAIN

SQL> UPDATE GLOBAL_NAME SET GLOBAL_NAME = '';

1 row updated.

SQL> commit;

Commit complete.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 422670336 bytes
Fixed Size 1344616 bytes
Variable Size 318770072 bytes
Database Buffers 96468992 bytes
Redo Buffers 6086656 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [18062], [], [], [], [], [], [], [],
[], [], [], []
Process ID: 3552
Session ID: 1 Serial number: 5



Solution
Steps to resolve the error:

1) Mount the DB


SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup mount;
ORACLE instance started.

Total System Global Area 422670336 bytes 
Fixed Size 1344616 bytes 
Variable Size 318770072 bytes 
Database Buffers 96468992 bytes 
Redo Buffers 6086656 bytes 
Database mounted.

2) Find the PID of the Oracle process



oracle@localhost:[oracle@localhost ~]$ ps -ef | grep LOCAL | grep -v grep
oracle 4030 3417 0 11:51 ? 00:00:00 oracleorcl1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))


3) Here the PID is 4030 which we will use in the GDB


oracle@localhost:[oracle@localhost ~]$ gdb $ORACLE_HOME/bin/oracle 4030

GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-32.el5_6.2)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu".
For bug reporting instructions, please see:
...
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/bin/oracle...(no debugging symbols found)...done.
Attaching to program: /home/oracle/app/oracle/product/11.2.0/dbhome_2/bin/oracle, process 4030
warning: .dynamic section for "/lib/librt.so.1" is not at the expected address
warning: difference appears to be caused by prelink, adjusting expectations
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libodm11.so...(no debugging symbols found)...done.
Loaded symbols for /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libodm11.so
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libcell11.so...(no debugging symbols found)...done.
Loaded symbols for /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libcell11.so
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libskgxp11.so...(no debugging symbols found)...done.
Loaded symbols for /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libskgxp11.so
Reading symbols from /lib/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/librt.so.1
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libnnz11.so...(no debugging symbols found)...done.
Loaded symbols for /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libnnz11.so
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libclsra11.so...(no debugging symbols found)...done.
Loaded symbols for /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libclsra11.so
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libdbcfg11.so...(no debugging symbols found)...done.
Loaded symbols for /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libdbcfg11.so
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libhasgen11.so...(no debugging symbols found)...done.
Loaded symbols for /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libhasgen11.so
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libskgxn2.so...(no debugging symbols found)...done.
Loaded symbols for /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libskgxn2.so
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libocr11.so...(no debugging symbols found)...done.
Loaded symbols for /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libocr11.so
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libocrb11.so...(no debugging symbols found)...done.
Loaded symbols for /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libocrb11.so
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libocrutl11.so...(no debugging symbols found)...done.
Loaded symbols for /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libocrutl11.so
Reading symbols from /usr/lib/libaio.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libaio.so.1
Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libnsl.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/libnuma.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libnuma.so.1
Reading symbols from /lib/libnss_files.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libnque11.so...(no debugging symbols found)...done.
Loaded symbols for /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libnque11.so
0x00d24402 in __kernel_vsyscall ()


4) Insert a breakpoint at kokiasg

(gdb) break kokiasg
Breakpoint 1 at 0x99f4d04

5) Continue the debugging

(Gdb) continue
Continuing.

6) Open the DB

SQL> alter database open
The hang will happen at the following point in the alert log due to the above break point


Database Characterset is WE8MSWIN1252


The gdb output will show:

Breakpoint 1 , 0x0a3d404d in kokiasg ()


7) Open a new SQLPLUS session as the first one is currently hanging due to the break-point and restore the GLOBAL_NAME to its original value:



SQLPLUS / as sysdba

SQL> select status from v$instance;

STATUS
-----------
OPEN

SQL > update global_name set global_name = 'ORCL1.LOCALDOMAIN';

1 row updated.

SQL > commit;


8) In another session connect to SQLPLUS and check the GLOBAL_NAME:


SQL> select * from global_name;

GLOBAL_NAME
----------------------
ORCL1.LOCALDOMAIN

9) Kill the GDB session which is currently suspending the database OPEN:

(Gdb) kill
Kill the program being debugged? (y or n) y
(Gdb) quit
At this moment, sqlplus will prompt:
alter database open
*
ERROR at line 1 :
ORA - 03113 : end - of - file on communication channel

10) Restart the DB.

参考下metalink的解决方法吧

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧