如何通过.dbf文件还原数据库

一切从实际需求出发!!!
需求:
我方(乙方)需要一套完善的测试环境,基于甲方提供的his测试库来搭建自己的环境
现有资源:
一台操作系统是Windows Server2008R2_enterprise_64bit的服务器
甲方提供资源:
测试服务器操作系统是WindowsServer2003_64bit
数据库是10g(Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod)
数据库字符集US7ASCII
数据库文件.dbf总大小178G(rar压缩包是22.9G,rar对于.dbf文件压缩率是:n=22.9/178=0.129=13%)

初步执行计划如下:
方案1(保守):
1.创建虚拟机(建必要的快照),在虚拟机上搭建WindowsServer2003,安装Oracle10g(安装软件找信息科索取,要求安装包的版本与测试环境一致)
2.冷备测试库还原10g

方案2(没试过,试一次的时间周期也挺长的1-2天):
上述若失败,则
1.创建虚拟机(建必要的快照),在虚拟机上搭建WindowsServer2008r2
2.expdp 10g全库到11g(按schema导不现实,dba_users有7352个)

方案3(pride连接报错):
上述若失败,则
1.expdp 10g34个schema(通过dba_objects.owner筛选的来)到11g,然后pride连接报错跟踪!

方案4(至今未测试过):
上述若失败,则
1.sqldeveloper 数据库复制

方案5(死马当活马医):
上述若失败,则
1.在windows2008r2,11g上还原冷备10g

若上述5种都失败,那就game over了!

结果第一种方案是最佳的,时间周期最少。
给.dbf文件打压缩包和拷贝移动到恢复的机器上消耗时间太长(大多时候白天复杂,晚上接着干)。

一定要知晓原理(Oracle的体系结构)!!!
如,Oracle的三个状态分别读取什么文件,这些文件用来干嘛?

好了,言归正传,讲讲方案1的成功实践。

1. 首先打包测试库的.dbf文件(178G,压缩之后传快且不容易丢包)
2. 创建Windows Server2003_64Bit虚拟机
3. 安装oracle10g软件(仅安装数据库软件),ORACLE_HOME目录(他这里是C:\oracle\product\10.2.0\db_2)与提供的测试库一致。
4. 将拷贝的.dbf解压到oradata文件路径下。
5. 将测试库的pfile文件拷贝到C:\oracle\product\10.2.0\db_2\database\initorcl.ora目录下
在测试库需要执行的语句:
create pfile from spfile;
6. 获取测试库的控制文件创建语句
在测试库需要执行的语句:
alter database backup controlfile to trace;
show parameter dump
得到user_dump_dest=路径(在该路径下找到最新生成.trc<生成2个文件.trc,相对大些的是要找的>,更改控制文件<改一下对应的.dbf现在的路径>)

7. 创建实例
oradim -new -sid orcl
set oracle_sid=orcl
sqlplus / as sysdba
startup 

注意 ,提供的C:\oracle\product\10.2.0\db_2\下的几个文件夹:admin、flash_recovery_area最好也拷贝过来。
参考链接:https://jingyan.baidu.com/article/d8072ac461b604ec95cefdd1.html

dbtiger  2018,3,15
good luck!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29267792/viewspace-2151862/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29267792/viewspace-2151862/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值