今天网上找了个清理系统垃圾的bat脚本,执行完以后 ORA数据库无法启动,报:ORA-1033 Oracle Initialization or Shutdown in progress ,查看%oracle_path%/product/10.2.0/db_1/admin/orcl/bdump/alert_orcl.log日志才知道,原来我数据库装在C盘,系统清理的时候把oracle的日志文件删除了,从网上找了一下解决方法,重做了日志,数据库正常启动。
具体方法如下:
--当丢失了REDO01.LOG,REDO02.LOG...文件之后,打开数据库失败的解决方法
--说明:对正在使用的数据库,一定要谨慎
sqlplus /nolog
SQL> connect / as sysdba;
SQL> recover database until cancel;
Media recovery complete.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
--重新设置日志文件
SQL> alter database open resetlogs;
Database altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.
Total System Global Area 126950220 bytes
Fixed Size 453452 bytes
Variable Size 109051904 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
--完成,退出
SQL>exit;
为了防止下次清理再删除数据库日志,我给数据库日志文件加上了 系统属性,方法如下:
进入oralce/datafiles下
执行:
attrib +s *.log