ORA-01219数据库未打开

休闲思考
0 671

ORA-01219数据库未打开

一看提示ORA-01219数据库未打开,关了服务重开仍然是这样,在Baidu找了下才发现问题。


应该是我删除了一个数据文件,看下解决办法


错误原因: 

直接关闭数据库,然后删除DBF文件。即表空间文件。导致出现错误。


1、首先连接到oracle的mount模式,用sys账户登录就进去了,


2、输入alter空格database空格open;


3、稍等后会看到被你删除的或出问题的那个数据库文件,记住这个路径和文件名或直接标记后复制下来。


4、运行cmd(切忌,不是sqlplus)后,在DOS窗口下输入sqlplus/nolog,没空格。 

5、connect空格/空格as sysdba


6、这是提示已连接的同志继续,输入:alter空格database空格datafile '这里是你出问题或被你删除的数据库文件名(开头必须包含路径比如:D:)' offline空格drop;后会提示"数据库已更改"。


7、再次输入:alter database open;后会提示"数据库已更改"。


8、输入:drop tablespace 出问题的数据库文件名(不包含后缀名如:BOOK.DBF就输入BOOK就行了)。后会提示"表空间已删除"。


9、好了输入:conn 用户名/密码,回车后提示"已连接",好了搞定了!



下面给出全部命令:


Step 1:SQL>C:\Users\Administrator\sqlplus/nolog


Step 2:SQL>conn / as sysdba


Step 3:SQL>alter database datafile 'x:xxx.dbf' offline drop;


Step 4:SQL>alter database open;


Step 5:SQL>drop tablspace xxx;


下次删除数据库文件不要在windows直接删除,不然oracle启动是会发现打不开数据库而报告错误,建议使用drop一下就好了