ORACLE出現(xiàn)錯誤1033和錯誤ORA-00600的解決方法

字號:


    這篇文章主要介紹了ORACLE出現(xiàn)錯誤1033和錯誤ORA-00600的解決方法,需要的朋友可以參考下。
    在非法關(guān)機以后,Oracle數(shù)據(jù)庫經(jīng)常會出現(xiàn)這個錯誤:
    EXP-00056:ORACLE錯誤1033出現(xiàn)
    ORA-01033:ORACLE initialization or shutdown in progress
    用戶:
    口令:
    這個顯然是數(shù)據(jù)庫沒有辦法啟動,但是數(shù)據(jù)庫服務(wù)還是可以啟動,而程序則無法連接數(shù)據(jù)庫。
    首選找問題要看看數(shù)據(jù)庫BDUMP目錄下的ALERT文件具體報什么錯誤
    最后幾行你會看到有:
    報錯ORA-00600: 內(nèi)部錯誤代碼,參數(shù): [kcratr1_lostwrt], [], [], [], [], [], [], []
    這個錯誤就不用具體研究是什么意思了,下面是解決這一問題的方法:
    oracle9/10g startup時 報錯ORA-00600: 內(nèi)部錯誤代碼,參數(shù): [kcratr1_lostwrt], [], [], [], [], [], [], []
    原因可能是非法關(guān)機或掉電造成,以下是出現(xiàn)的問題及解決方法:
    C:\Documents and Settings\Administrator>sqlplus
    SQL*Plus: Release 9.2.0.1.0 - Production on 星期日 5月 13 09:23:23 2007
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    請輸入用戶名: /as sysdba
    連接到:
    Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.1.0 - Production
    ORA-01081: 無法啟動已在運行的 ORACLE --- 請首先關(guān)閉
    SQL> shutdown abort
    ORACLE 例程已經(jīng)關(guān)閉。
    SQL> startup
    ORACLE 例程已經(jīng)啟動。
    Total System Global Area 135338868 bytes
    Fixed Size 453492 bytes
    Variable Size 109051904 bytes
    Database Buffers 25165824 bytes
    Redo Buffers 667648 bytes
    數(shù)據(jù)庫裝載完畢。
    ORA-00600: 內(nèi)部錯誤代碼,參數(shù): [kcratr1_lostwrt], [], [], [], [], [], [], []
    SQL> shutdown immediate
    ORA-01109: 數(shù)據(jù)庫未打開
    已經(jīng)卸載數(shù)據(jù)庫。
    ORACLE 例程已經(jīng)關(guān)閉。
    SQL> startup mount
    ORACLE 例程已經(jīng)啟動。
    Total System Global Area 135338868 bytes
    Fixed Size 453492 bytes
    Variable Size 109051904 bytes
    Database Buffers 25165824 bytes
    Redo Buffers 667648 bytes
    數(shù)據(jù)庫裝載完畢。
    SQL> recover database;
    完成介質(zhì)恢復(fù)。
    1 SQL> alter database open;
    數(shù)據(jù)庫已更改。
    SQL>exit;
    順便說一下Oracle幾個adump、bdump、cdump、dpdump、pfile、udump目錄的作用:
    audit_file_dest = C:\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\ADUMP
    background_dump_dest = C:\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\BDUMP
    user_dump_dest = C:\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\UDUMP
    core_dump_dest = C:\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\CDUMP
    從上面可以知道:
    adump :審計信息
    bdump :后臺進(jìn)程trace 和alert log ,就是說 alert_sid.log也存在這個目錄中
    cdump :core trace,一般是用來日志應(yīng)用程序的除非數(shù)據(jù)庫出了問題否則基本上不會有什么信息
    dpdump :是存放一些登錄信息的
    pfile :初始化參數(shù)文件 initSID
    udump :前臺手動trace的比如sql trace之后session的trace文件
    bdump中有alert文件,和一些后臺進(jìn)程的trace file
    udump中一般放置sql trace之后session的trace文件
    cdump一般放置一些核心的trace文件
    wangfl
    adump一般是audit dump
    bdump是background dump
    udump是user dump
    cdump是core dump
    show parameter background_dump_dest;