在非法關機以後,Oracle數據庫經常會出現這個錯誤:
EXP-00056:ORACLE錯誤1033出現 ORA-01033:ORACLE initialization or shutdown in progress 用戶: 口令:
這個顯然是數據庫沒有辦法啟動,但是數據庫服務還是可以啟動,而程序則無法連接數據庫。
首選找問題要看看數據庫BDUMP目錄下的ALERT文件具體報什麼錯誤
最後幾行你會看到有:
報錯ORA-00600: 內部錯誤代碼,參數: [kcratr1_lostwrt], [], [], [], [], [], [], []
這個錯誤就不用具體研究是什麼意思了,下面是解決這一問題的方法:
oracle9/10g startup時 報錯ORA-00600: 內部錯誤代碼,參數: [kcratr1_lostwrt], [], [], [], [], [], [], []
原因可能是非法關機或掉電造成,以下是出現的問題及解決方法:
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
SQL> startup
ORA-01081: 無法啟動已在運行的 ORACLE --- 請首先關閉
SQL> shutdown abort
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes
數據庫裝載完畢。
ORA-00600: 內部錯誤代碼,參數: [kcratr1_lostwrt], [], [], [], [], [], [], []
SQL> shutdown immediate
ORA-01109: 數據庫未打開
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup mount
ORACLE 例程已經啟動。
Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes
數據庫裝載完畢。
SQL> recover database;
完成介質恢復。
SQL> alter database open;
數據庫已更改。
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 :後台進程trace 和alert log ,就是說 alert_sid.log也存在這個目錄中
cdump :core trace,一般是用來日志應用程序的除非數據庫出了問題否則基本上不會有什麼信息
dpdump :是存放一些登錄信息的
pfile :初始化參數文件 initSID
udump :前台手動trace的比如sql trace之後session的trace文件
bdump中有alert文件,和一些後台進程的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;