起因是: 磁盘满了,停止Oracle服务后,直接删除了dbf文件,重新启动报错了。
解决办法: (实操有效~)
-
使用 SQL Plus 登陆
请输入用户名: system/sys as sysdba
-
执行卸载数据命令
SQL> shutdown normal
会出现:
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。 -
执行装载数据命令
SQL> startup mount
ORACLE 例程已经启动。
数据库装载完毕。 -
之后,执行 介质恢复 命令(如删除多个文件,需要多次执行)
SQL>alter database open;
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: ‘D:/ORACLE/PRODUCT/10.1.0/ORADATA/RAILWAY/2008_1.DAT’ -
执行命令
SQL> alter database create datafile 6;
数据库已更改。 -
执行命令
SQL>alter database open;
第 1 行出现错误:
ORA-01113: 文件 6 需要介质恢复
ORA-01110: 数据文件 6: ‘D:/ORACLE/PRODUCT/10.1.0/ORADATA/RAILWAY/2008_1.DAT’ -
执行命令
SQL> alter database datafile 6 offline drop;
数据库已更改。 -
执行
SQL>alter database open;
如果出现以上错误,继续执行相关操作,上面的6要和create和drop对应。 -
如果
SQL> alter database open;
出现了:数据库已更改。
则成功了。
这时可以再用PL/SQL等客户端工具,登录操作数据库了。