非法关机以后,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;