一切从实际需求出发!!!
需求:
我方(乙方)需要一套完善的测试环境,基于甲方提供的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/

如何通过.dbf文件还原数据库相关推荐

  1. .dat文件还原数据库

    .dat文件还原数据库可能遇到的问题: 提示物理文件名错误,请使用WITH   MOVE选项来标示该文件的有效位置;    原因可能是备份文件原始路径跟你自己计算机的数据库路径不同,所以要用WITH  ...

  2. Oracle11使用现在数据库文件,oracle11g 重装操作系统后,如何利用原有oracle表空间文件还原数据库...

    oracle11g 重装操作系统后,如何利用原有oracle表空间文件还原数据库 最近由于系统重装,在还原dmp备份文件时,由于数据原因(用exp命令导出时表没有导出全部),导致系统不能正常运行.根据 ...

  3. .bak 服务器备份文件,如何从SQL Server Management Studio中的多个备份(bak)文件还原数据库...

    本文概述 在带有SSMS的SQL Server中, 还原数据库(至少对于小型数据库而言)非常容易.无论当前的原因是什么, 例如在生产环境中进行还原, 在本地环境中进行还原以检查数据库完整性等等, 你都 ...

  4. 使用SQLServer2008备份bak文件还原数据库

    情景: 1.一台服务器,安装的SQLServer2008R2,运软件的数据库数据,每日做"全面备份",bak文件放到移动硬盘中. 2.另一台新服务器,新安装了SQLServer20 ...

  5. 通过bak文件还原数据库到SQLsever2008R2

    bak是备份文件,为文件格式扩展名. SQL Server 2008还原数据库时出现"备份集中的数据库备份与现有的数据库不同"的解决方法 引言 现在在做项目,由于每个人是分模块的, ...

  6. MDF,LDF格式文件还原数据库

    点你的数据服务名->右键->附加数据库->选择你要还原的数据库文件

  7. sql还原数据库备份数据库_有关数据库备份,还原和恢复SQL面试问题–第三部分

    sql还原数据库备份数据库 So far, we've discussed a lot about database backup commands. In this article, we'll d ...

  8. SqlServer 2014还原数据库时提示:无法在已有的上还原文件,请重新发出RESTORE语句,用WITH REPLACE来覆盖原先存在的文件

    场景 SQL Server 2014在还原数据库时提示: 无法在已有的""上还原文件,请重新发出RESTORE语句,用WITH REPLACE来覆盖原先存在的文件... 实现 在还 ...

  9. oracle .dbf文件过大_学习这篇Oracle数据库文件坏块损坏的恢复方法,拓展你的知识面...

    一.Oracle数据库系统简介: ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结 ...

最新文章

  1. docker安装mysql并实现远程访问
  2. [转]常见的动态规划问题分析与求解
  3. 递归和非递归实现二叉排序树(BST)的查找操作
  4. 用RecyclerView打造一个轮播图
  5. Java 新手习题()
  6. 创建python的虚拟环境(图文教程),并使用。
  7. power iso linux启动盘,Power ISO Maker/ISO燃烧到磁盘工具 V3.0版
  8. java获取当月有几天_腾讯程序员裸辞3个月,转行去送外卖,曝出当月收入网友:又骗我去送外卖...
  9. 03-12 Android 混合页面测试
  10. 使用Apache的ab工具进行压力测试
  11. 拓端tecdat|把握出租车行驶的数据脉搏 :出租车轨迹数据给你答案!
  12. android核心系列--1,组件生命周期
  13. python使用Jpype调用java程序
  14. mysql批量导出导入数据
  15. 干货分享:5年SEO经验得来的101条总结
  16. There are unfinished transactions remaining解决办法
  17. autojs指纹验证
  18. 打印机打印中文,截取字符时出现乱码问题
  19. C#远程主机强迫关闭一个现有链接问题简述
  20. 哪一款蓝牙耳机音质最好?2023发烧级音质蓝牙耳机推荐

热门文章

  1. 基于Linux(CentOS/Ubuntu)使用Bind9自建私有权威DNS
  2. 团体程序设计天梯赛 L2-010 排座位
  3. 西科大计算机硕士在绵阳工作,西科大博士待遇!
  4. 英语词汇学习----(卧室)
  5. SUN的认证体系及结构
  6. SIM相似度检测工具使用说明
  7. 华为OD机试真题Java实现【射击比赛】真题+解题思路+代码(20222023)
  8. 我的博客之旅--赠人玫瑰,手留余香
  9. 天池赛:世界杯数据可视化分析
  10. linux socket eof,Linux 中的 EOF 到底是什么?