解决方案 »

  1.   

    请教LZ你是怎么设置global_name的?
      

  2.   


    UPDATE GLOBAL_NAME SET GLOBAL_NAME = '<database name>[.db_domain]';GLOBAL_NAME 改回来,重启下数据库试试
      

  3.   


    用户登录时报错了,还能执行update???~~!!!
      

  4.   

    你可以尝试使用startup nomount 下执行
      

  5.   

    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: 5Cause
    The steps that can cause the error:SQL> select * from global_name;GLOBAL_NAME
    --------------------------------------------------------------------------------
    ORCL1.LOCALDOMAINSQL> 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: 5Solution
    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 processoracle@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 4030GNU 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 0x99f4d045) Continue the debugging(Gdb) continue
    Continuing.6) Open the DBSQL> 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 sysdbaSQL> select status from v$instance;STATUS
    -----------
    OPENSQL > 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.LOCALDOMAIN9) 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 channel10) Restart the DB.
    参考下metalink的解决方法吧