日期:2014-05-16  浏览次数:20488 次

重建Control File实现Oracle冷备份迁移到不同实例

最近因为项目升级,需要进行大量数据测试(Oracle数据文件约为40G左右,所存储数据预先进行了Gzip.),并对原始版本和升级版本的数据处理结果进行比较。首先需要Load基础数据到Oracle DB,然后启动程序对数据进行处理。Load一次基础数据大约耗30小时,为了避免每次测试 耗费大量时间 重复Load数据,在第一次Load完数据后,对所有Data File,Control File,Redo Log等做了冷备份。因为需要对两个版本处理的数据进行比较,所以又重新建立了一个实例用来旧版本的数据处理。将Load后备份的Data File,Control File,Redo Log复制到新的实例下面的数据文件夹,直接启动新实例数据库会报错,因为实例名字不匹配。这时候就需要重建Control File.对于两个实例中数据的比较通过Oracle的DB Link和minus关键字来实现。
?
1. 首先以nomount模式启动新数据库。


?


2. 重建Control File


3. 打开数据库并重置日志


?

4. 创建DB Link.

?


?

5. 比较数据


?


?