一:简介
今天登录数据库时莫名报了个奇怪的错:ORA-01033: ORACLE initialization or shutdown in progress可能是昨天匆忙电脑没正常关机导致的... ...吧(我是这么想的,O(∩_∩)O哈哈~),然后百度了一大堆问题各种奇怪的解答到最后还没有解决问题,最后无奈只能直接使用日志文件恢复数据库了。我们在使用oracle数据库的时候,打开pl/sql编程时都难免会碰到一些莫名的问题甚至疑难杂症,有时候可能是非正常关机或者不小心删除了什么东西然后冒出些看不懂的提示,这些问题对于新手而言往往不知道是oracle客户端出了问题还是pl/sql的原因,所以很难对症下药,这个时候就考虑有没有一些简单方便的操作可以快速解决问题呢?下面我来讲下对于之前安装的oracle没问题然后再次使用时出现莫名的问题的解决办法,即如何利用日志文件恢复oracle数据库的配置。
二:如何利用oracle的redo日志文件恢复数据库
在这里需要用到的oracle日志文件主要是redo日志,用来存放数据库的更改信息,其他的日志还有警告日志,归档日志,审计日志等(这里不详细介绍了,可自行百度)
1:先进入cmd控制台,可输入sqlplus,然后输入你自己数据库的user-name和password连接到数据库然后就进入到我们需要的sql命令下(也可输入sqlplus /nolog),你也可以通过输入conn sys/admin as sysdba切换到管理员的身份。
然后我们可以通过控制台输入:select member from v$logfile; 查看本机的日志文件,这里需要用到本机oracle的日志文件的绝对路径,你可以自己选择需要的日志版本
2: 如果你输入recover database时会提醒你要用备份的控制文件来恢复数据库
按照提示进行操作,输入:recover database using backup controlfile
接下来你就可以通过输入你的日志文件的绝对路径来使用该日志恢复你的数据库了,最后提示:
Log applied.
Media recovery complete.
就表示恢复成功了。
3:然后你再输入 alter database open resetlogs;
系统提示Database altered.就一切大功告成啦!
备注:如果你的数据库之前都没问题的话,然后再次登录报出奇奇怪怪的问题都可以试试这个办法,简单无脑高效,非常适合新手,但前提是你要保存好本机的oracle日志文件,毕竟巧妇难为无米之炊。当然,如果你知道问题所在能对症下药自然是最好的了。