Chinaunix首页 | 论坛 | 博客
  • 博客访问: 621134
  • 博文数量: 139
  • 博客积分: 826
  • 博客等级: 少校
  • 技术积分: 1367
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-25 17:30
文章分类

全部博文(139)

文章存档

2016年(2)

2015年(2)

2014年(1)

2012年(15)

2011年(41)

2007年(33)

2006年(45)

分类: Oracle

2011-08-13 14:14:22

我的电脑突然挂了,不得不重装系统,不过我的ORACLE装在了D盘,所有的文件都还在,我相信一定能够恢复,直到搞定工作,我才开始整我的数据库,花了两天时间,终于恢复了,庆祝一下,同时总结一下,希望有遇到同样问题的朋友能够快速搞定此类问题。

  1、首先,将原来的ORACLE文件夹改名,原来的路径是D:/oracle。我暂时改成D:/oracle_old。找来ORACLE(我用的是ORACLE 9I)安装光盘,将ORACLE安装在原来安装的目录下,这样恢复起来更加方便,主要是注册表的内容不用修改。

  2、安装完了之后,系统中又有一个可以使用的ORACLE了。这个时候要做的就是将原来的文件和数据恢复过来。第一步,先关闭ORACLE的所有已经启动的项目,在“服务”里面逐一关闭。然后,将安装目录改名。我现在用的是D:/oracle。改成D:/oracle_new。再将D: /oracle_old改成D:/oracle。

  这样理论上说从物理层面恢复了ORACLE了。但是我们发现,现在还不能启动ORACLE的监听程序和服务程序。我们还要从逻辑上解决。

  3、在dos环境下执行一个删除命令:oradim -delete -sid mm,其中mm为创建oracle时候创建的实例

  建议执行这个命令后重新启动机器,重启后就可以建立和原来实例名相同的实例。当然你懒,不重新启动也可以,但是你的实例名就不能和原来的一样了。

  4、在dos环境下执行命令 oradim -new -sid mm -startmode auto -pfile "D:\oracle\admin\mm\pfile\initmm.ora "创建一个新的实例,其中 “mm“为新数据库的名称。

  5、启动服务,先打开数据库,然后可以用以前的用户名和密码登陆进去。

  要补充的是,一般的ORACLE数据库的监听程序都是用电脑的名称来识别地址的,而不是127.0.0.1或者localhost。所以,如果我们安装系统的时候用的是不同的电脑名称(比如我原来用的是wm_mm。重新安装后用的是wenming_mm),那么我们还有一个工作要做,就是修改文件 listener.ora。将里面的相关的东西改过来就可以了。

  需要耐心、细心,可能在一步里有一个细小的差别就会出些古怪的错误提示,有时需要根据错误提示采取策略,总之原理是,先装一个一模一样的ORACLE,安装目录、数据库名称都一样,这样保证注册表里不用更改;再覆盖物理文件,最后重新实例化,打开数据库就可以进去了。

阅读(848) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~