一次Oracle数据库冷备份恢复过程


近日,我想把oracle数据库从我的电脑上迁移到机房的电脑上,一开始采用dmp/imp方式,但是发现需要导出很多用户,太麻烦。所以决定采用冷备份/冷恢复的方式。

过程如下:

通过v$controlfile查看控制文件,通过v$logfile查看重做日志文件,通过V$DATAFILE查看数据文件,发现他们都处于同一文件夹中i:\oracle\oradata\test中,索性都复制到另一台机器的e:\oracle\oradata\test中,复制之前shutdown系统。还复制了inittest.ora后来发现他指向另一个init.ora,又复制了这个init.ora,还复制了一个口令文件PWDtest.ora到机房电脑的相应位置。startup后,发现无法运行,我想应该是两个oracle安装路径不同的原因,首先修改了init.ora中的控制文件的路径,还是不行,我想应该修改控制文件中的数据文件路径信息,如何修改呢?网上一顿查找,终于找到了如下方法:

首先,在原电脑上:

1. 备份数据库中的数据,以防不测。

2. svrmgrl

3. svrmgrl>connect internal/oracle

4. svrmgrl>alter database backup controlfile to trace; 备份控制文件

5. 在/home/oracle//admin/ora7/udump下可找到最新生成的TRACE文件,假设为ora_15269.trc,此文件就包含了当前控制文件的参数及生成语法。

6. 提取ora_15269.trc中有关控制文件生成的语句另存为creatctl.sql。7. 修改creatctl.sql中的路径信息;8.然后,复制到目标电脑上,并且在目标电脑上9. svrmgrl

10. svrmgrl>connect internal

11. svrmgrl>shutdown immediate

12. svrmgrl>@creatctl.sql

13. svrmgrl>alter database open;数据库迁移成功.]

总结:

冷备份需要在oracle shutdown的情况下,拷贝如下文件:1.数据文件;2.控制文件;3。日志文件;4。init数据库实例名.ora文件,及其内部指向的init.ora文件;5 口令文件PWD数据库实例名.ora;然后,安装oracle,实例名和以前相同,安装路径等最好也相同,shutdown,拷贝上述文件到相应位置,如果安装位置和以前不同,需要修改init*.ora,和控制文件中的路径信息

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3