非法關機以後,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;