Oracle rman 迁移(同版本)

2020-04-16  本文已影响0人  judeshawn
1.执行rman备份

rman备份包括全备,增量备份(可选),归档或归档备份,控制文件备份(可以用全备之后的控制文件自动备份)

2.在异机安装同版本软件(不需要建库)
3.拷贝恢复需要的文件

包括所有rman备份,参数文件,密码文件
备份文件位置尽量和原机器位置保持一致,可减少一些额外操作
参数文件和密码文件放在$ORACLE_HOME/dbs下

4.调整参数文件并将数据库启动到nomount

根据参数文件中记录的文件位置信息创建对应的文件目录,否则无法启动到nomount状态

5.还原控制文件并将数据库启动到mount
6.若备份文件位置和原机器有差异,需用catalog start with ‘<backup_file_path>’;将备份位置信息同步到控制文件

catalog start with命令不能重复使用,否则会让数据库认为备份文件存在多个副本,在还原或恢复的时候会出问题。若需要重复执行或新添了备份文件需要刷新,可按照以下步骤操作:
修改备份文件的路径并执行crosscheck backup;,这会让控制文件中的备份位置信息失效
执行delete expired backup;,这会删除失效的备份位置信息
重新执行catalog start with '<backup_file_path>';,将最新的备份位置信息写入控制文件

7.还原数据文件

若数据文件位置和原机器有差异,需使用set newname for datafile '<old_filename>' to '<new_filename>';命令来指定旧文件与新文件之间的映射关系。
还原之后,需要使用switch datafile all;命令让文件位置信息写入控制文件。自此数据文件还原完成。

8.恢复数据文件

恢复前,先使用list backup of archivelog all或者list archivelog all查看归档或归档备份中最新的sequence或scn或time(我一般喜欢使用sequence,比较方便)
然后执行recover database unitl sequence <seq_no>;

9.若日志文件位置和原机器位置有差异,使用如下命令修改日志文件位置:

alter database rename file '<old_logfile_name>' to '<new_logfile_name>';

10.resetlogs方式启动数据库

alter database open resetlogs;

11.调整临时表空间

若临时表空间位置与原机器有差异,需要新建临时表空间并设置为默认临时表空间,最好清理原来的临时表空间信息

上一篇下一篇

猜你喜欢

热点阅读