本文是转载的文章,已经很好了,但我来作点补充,红色部分为修改的部分!
今儿一直在测试服务器的迁移问题,不断地创建表空间、创建数据库、创建用户。后来感觉创建这么多东西太占用磁盘空间,心想删除一下吧,于是,我们执行了dbca命令,将没用的数据库统统删除,将dbf和dmp文件也统统删除了,再后来发现服务无法启动了,连接时会提示oracle initialization or shutdown in progress,后来经过查询发现,原来这些dbf和dmp不是说删除就能删除的(当时我们明明发现有的不允许删除,我还是故意停停掉oracle服务,然后将其删除的),最终导致数据库实例无法启动。
实际上就是删除了表空间(.dbf文件)导致的!
我的解决过程如下:
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
运行cmd进入黑框
C:\Documents and Settings\Administrator>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'【其中
5是序号
,TYKM为表空间名称,下面那句执行一次,再执行这句的时候,序号会+1】
SQL> alter database datafile 5 offline drop;【5是上面数据文件中的那个红色的5,每次执行需要和上面保持一致】
数据库已更改。
SQL> alter database open;【一直循环执行以上这alter database open;和个alter database datafile 5 offline drop;语句,直到提示实例已打开数据库的字样】
可能出现如下错误
alter database open
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件
6
- 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件
6
: 'C:\
xxx
.DBF
【
就是说循环执行一次就会跳到下一个,具体要alter多少次,每个人不一样,个人觉得是根据以前建立的表空间个数
】
SQL> alter database datafile 6 offline drop;【这里的数字要修改跟上面位置的6一致哦!】
(也就是循环执行上面这两个语句,直到出现ORA-01531: 实例已打开数据库的字样,才执行下面的sql直到最后)
数据库已更改。
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
数据库装载完毕。
数据库已经打开。
发现问题解决了!
转自:http://blog.csdn.net/liuweiyuxiang/article/details/52791593