今儿一直在测试服务器的迁移问题,不断地创建表空间、创建数据库、创建用户。后来感觉创建这么多东西太占用磁盘空间,心想删除一下吧,于是,我们执行了dbca命令,将没用的数据库统统删除,将dbf和dmp文件也统统删除了,再后来发现服务无法启动了,连接时会提示oracle initialization or shutdown in progress,后来经过查询发现,原来这些dbf和dmp不是说删除就能删除的(当时我们明明发现有的不允许删除,我还是故意停停掉oracle服务,然后将其删除滴),最终导致数据库实例无法启动。
我的解决过程如下:
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:Documents and SettingsAdministrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 3月 4 18:40:13 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect system/hope;
ERROR:
ORA-01033: ORACLE initialization or shutdown in progress【就是这个错误】
【解决方法】
SQL> connect sys/hope as sysdba
已连接。
SQL> shutdown normal
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> start mount
SP2-0310: 无法打开文件 "mount.sql"
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1332348 bytes
Variable Size 183151492 bytes
Database Buffers 423624704 bytes
Redo Buffers 4259840 bytes
数据库装载完毕。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 5: 'C:TYKM.DBF'
SQL> alter database datafile 5 offline drop;【5是数据文件中的5】
数据库已更改。
SQL> alter database open;【我们一直循环这个语句,直至不再提示错误】
数据库已更改。
SQL> shutdown normal
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1332348 bytes
Variable Size 187345796 bytes
Database Buffers 419430400 bytes
Redo Buffers 4259840 bytes
数据库装载完毕。
数据库已经打开。
这样就解决啦~~~哈哈哈~~~~~~~~~~~~~~~~~~~~