电脑坏掉之后,Oracle数据恢复

时间:2021-10-23 03:40:19

具体情况是这样的:自己开发时数据库(oracle)和代码都在自己的笔记本上,公司刚刚调换的联想E470A,本来想着终于比之前那台破笔记本运行速度快点儿了(至少打一场CS不会卡了),谁知没用两天,悲催 - E470挂了,开不开机。里面的数据,想办法拷贝了出来,本本邮寄回公司进行维修了。心疼啊,数据都在数据库中,当时导入数据用的exp出来的“*.dmp”文件被自己及时删除了,好吧,只有尝试着恢复数据了。问了度娘、谷歌,试了好多种办法,功夫不负有心人,终于在刚刚把数据恢复了。

环境:

win7 + oracle 10.2 
(既然是E470,就简称E电脑吧)

迁移到:

windows xp + oracle 10.2
(这是一个台式机,就简称T电脑吧)

步骤:

1.把T电脑上已经安装的Oracle给彻底卸载掉(具体见:oracle10g卸载)
2.重新安装Oracle,当然数据库的名字就是你要恢复的名字。安装完成后,打开控制面板,停止oracle的所有服务。
3.把E电脑上的数据库 (D:\oracle\oradata) 下的数据文件,覆盖拷贝到同样安装路径的T电脑的 (D:\oracle\oradata) 下
电脑坏掉之后,Oracle数据恢复
然后,把原来E电脑上的表空间文件也按照原来的路径位置拷贝到T电脑上(在我的电脑上路径是:D:\DBSPACE\ACCDATA):
电脑坏掉之后,Oracle数据恢复


4.再重新启动oracle服务和监听。用 
cmd -->> sqlplus /nolog
SQL -->>conn sys/orcl as sysdba 登陆数据库
可能会提示权限不够(ora-01031)修改(D:\oracle\product\10.2.0\db_2\network\ADMIN )文件夹下的sqlnet.ora文件,添加SQLNET.AUTHENTICATION_SERVICES= (NTS),增加权限。
5.执行命令 : alter database open
应该到这一步就可以了,但是我执行时,报错了,打不开。于是,就停掉了数据库,又启动了一次: 
SHUTDOWN NORMAL 
STARTUP NOMOUNT
alter database open
6.用原先数据库的普通用户进入。发现一切正常。至此,大功告成。