怎么通过.dbf文件还原数据库

50次阅读
没有评论

共计 1554 个字符,预计需要花费 4 分钟才能阅读完成。

这篇文章主要介绍怎么通过.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 最好也拷贝过来。

以上是“怎么通过.dbf 文件还原数据库”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-26发表,共计1554字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)