今天连接数据后,一看提示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一下就好了