概述
继续上一篇rman跨版本恢复的内容,今天主要分享在目的端恢复的过程,下面一起来看看吧!
因为目标数据库已经有实例,但不需要的,所以这里需要先删除一下。
1、删除安装oracle数据库时的实例
cmd> dbca
2、创建一个空的数据库实例
cmd> oradim -new -sid orcl -startmode acmd> rman target / nocatalog
3、编辑pfile文件
因为源数据库是32G内存,目的数据库是8G内存,所以需编辑pfile文件
--8G参考
*.audit_file_dest='F:appAdministratoradminorcladump'*.audit_trail='db'*.compatible='11.2.0.4.0'*.control_files='F:appAdministratororadataorclcontrol01.ctl','F:appAdministratorfast_recovery_areaorclcontrol02.ctl'*.db_block_size=8192*.db_domain=''*.db_name='orcl'*.db_recovery_file_dest='F:appAdministratorfast_recovery_area'*.db_recovery_file_dest_size=107374182400*.diagnostic_dest='F:appAdministrator'*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.log_archive_format='F:appAdministratorfast_recovery_areaorclarchivelogarchivelog_%t_%s_%r.arc'*.memory_target=3722444800*.open_cursors=2000*.processes=900*.remote_login_passwordfile='EXCLUSIVE'*.resource_limit=FALSE*.undo_retention=900*.undo_tablespace='UNDOTBS1'
4、创建对应目录及授权
--根据前面pfile文件所涉及的目录创建F:appAdministratororadataorclF:appAdministratorflash_recovery_areaorclF:appAdministratorflash_recovery_areaorclarchivelog
5、利用参数文件打开实例到nomount模式。
SQL> startup force nomount pfile='E:manbackuppfile.ora';SQL> create spfile from pfile='E:manbackuppfile.ora';
重要:根据修改好的pfile创建新的spfile。
sql > create spfile from pfile;
原因:下次重启oracle的时候,oracle优先用spfile打开数据库,如果spfile还是旧的话,那么就会报错,打不开数据库。
6、恢复控制文件
--恢复控制文件到参数文件指定目录RMAN> restore controlfile from 'E:manbackupSPFILE_CONTROLFILE_ORCL_1425356587_13510_1_20190923.BKP';
7、根据控制文件将数据库打开到mount模式。
RMAN> sql 'alter database mount';
清理过期备份:
RMAN> crosscheck backup;RMAN> delete expired backup;
8、注册rman信息
把拷贝来的备份注册到rman里
RMAN> catalog start with 'E:manbackup';
9、查看数据文件原路径
SQL>select file# as "file/grp#