分类: Oracle
2011-04-19 14:28:36
由于做创建表分区例子,所以创建表空间的时候创建了好几个表空间物理文件,想删掉它们,可是删不掉(因为数据库进程启动着),所以把数据库服务给关 了,直接Shift+Del把文件给删掉了。
问题出来了:我再次启动oracle相关服务后,登录不了了。
出现了ORA-01033:ORACLE initialization or shutdown in progress
原因就是因为我把介质文件给删掉了
解决步骤:
以DBA(通常有好几个sys或system)用户sqlplus登录
请输入用户名: system/dekey as sysdba
然后(卸载数据)输入:
SQL> shutdown normal
会出现:
ORA-01109: database not open(ORA-01109: 数据库未打开)
Database dismounted(已经卸载数据库)
ORACLE instance shut down(ORACLE 例程已经关闭)
然后(装载数据)输入:
SQL> startup mount
会出现:
ORACLE instance started(ORACLE 例程已经启动)
Total System Global Area 171966464 bytes
Fixed Size
787988 bytes
Variable Size 145488364 bytes
Database
Buffers 25165824 bytes
Redo Buffers 524288
bytes
Database mounted(数据库装载完毕)
SQL>alter database open;
会出现:
alter database open
*
ERROR at line 1:(第 1 行出现错误)
ORA-01157: cannot
identify/lock data file 6 - see DBWR trace file
(ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件)
ORA-01110: data file 6:
'D:\SI_IMAGE.DBF'
(ORA-01110: 数据文件 6: 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\RAILWAY\2008_1.DAT')
SQL> alter database create datafile 6;
会出现:
Database altered(数据库已更改)
SQL> alter database datafile 6 offline drop;
会出现:
Database altered(数据库已更改)
SQL>alter database open;
如果出现以上错误,继续执行相关操作,上面的6要和create和drop对应。
如果
SQL> alter database open;
出现了:
数据库已更改。
则成功了。
这时可以再用PL/SQL等客户端工具,登录操作数据库了。