一大早起来打开sqlplus的时候,发现数据库启动不了,并且出现下面的错误:
SQL*Plus: Release 11.2.0.1.0 Production on Sat Aug 17 09:04:48 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name: sh
Enter password:
ERROR:
ORA-01033: ORACLE initialization or shutdown in progress
Process ID: 0
Session ID: 0 Serial number: 0
这个错误的描述不太精确,需要进一步确认错误产生的原因。为此我通过CMD启动sqlplus通过SYS用户登录数据库。
C:\Users\asus>sqlplus/nolog
SQL*Plus: Release 11.2.0.1.0 Production on 星期六 8月 17 08:55:12 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn sys/123456@test as sysdba;
已连接。
SQL> shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
也就是说,数据库果然是由于某些原因而无法打开。为此,试着打开数据库,看看是什么错误造成的。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 644468736 bytes
Fixed Size 1376520 bytes
Variable Size 268439288 bytes
Database Buffers 369098752 bytes
Redo Buffers 5554176 bytes
数据库装载完毕。
ORA-38760: 此数据库实例无法启用闪回数据库
那又是什么原因让数据库实例无法启动闪回数据库呢?这是,我想到了数据库启动或关闭的所有错误都会记录在后台报警日志文件中。为此,下一步,应该去查看后台报警日志文件,查看详细的错误信息。后台警报日志文件就是background_dump_test路径下的alert_SID.log文件.把文件拉到后面就可以看到最近的警报记录。
SQL> show parameter BACKGROUND_DUMP_DEST;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string d:\app\asus\diag\rdbms\test\te
st\trace
下面是后台警报日志文件对于本次启动报错的描述:
Starting up:
Oracle Database 11g Ente