17,089
社区成员
发帖
与我相关
我的任务
分享
UPDATE GLOBAL_NAME SET GLOBAL_NAME = '<database name>[.db_domain]';
GLOBAL_NAME 改回来,重启下数据库试试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的解决方法吧