您的位置:首页 > 数据库

数据库未打开错误

2014-04-13 16:38 239 查看
Q:

这个错误我觉得对于初学者来说还是有很大机会犯的,问题是这样的,这一天,我照常启动OracleOra11g_home1TNSListener和OracleServiceORCL 两个服务,然后进入PL/SQL,登录,输入用户名和密码后提示,数据库未打开,我又确定了一下用户名和口令,没错啊!再次登陆,显示oracle进程可能被关闭的错误提示,于是我估计可能是PL/SQL软件的问题,切换到sqlplus模式,在运行里敲sqlplus,输入用户名和密码,依然提示:数据库未打开,我又重启了一遍一开始启动的两个服务,问题依旧,有点慌遂决定网上寻求帮助,恰巧在一个IT论坛上看到一个和我一样问题的银,他是在windows下将数据库文件删除后出现的错误,我一想,自己在前些天“大清理”的时候也删除过,当时以为没事没想到可能就是这个问题造成的。于是我照着下面高手的回答做后,果然问题解决了,下面给出具体操作步骤:希望有此问题的同志也能按照此步骤化解心中的纠结:

A:

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;

S:

总结一下:下次删除数据库文件不要在windows直接删除,不然oracle启动是会发现打不开数据库而报告错误,正确的做法你懂的,drop一下就好了。建议在某个盘下建一个专门存放数据库文件的文件夹比较好(惭愧:我就是胡乱堆在D盘下的)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: