相对于克隆,异机恢复的数据库SID 和源数据库一致。大致操作与克隆类似,只是恢复时是从目标机执行。两者都是Windows 下10G2版本
假设源数据库地址为147,目标数据库为149
-
147 机的备份
连接RMAN :rman target /
执行以下脚本:
Shutdown immediate;
Startup mount ;
run {
allocate channel c1 device type disk ;
backup full format 'd:\backup\db_full_%U.bkp'
tag 'dbfull' database ;
release channel c1;
}
backup current controlfile format 'd:\backup\control.bak';
backup spfile format 'd:\backup\spfile.bak';
备份结束后, 存储在d:\backup
二、149 机上建立一个实例名与147 相同的数据库,什么选项和字符集都无所谓,尽量目录一致。目的就是避免手工创建有关目录。
将147机上的d:\backup 复制到149 机上的d:\backup
以SYSDBA 连接数据库:
Create pfile=’d:\1.ora’ from spfile ;
连接RMAN :rman target /
P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); text-align: justify; }P.western { font-family: "Calibri",sans-serif; font-size: 10pt; }P.cjk { font-family: "宋体","SimSun"; font-size: 10pt; }P.ctl { font-family: "Times New Roman",serif; font-size: 11pt; }Shutdown immediate;
startup nomount pfile='d:\1.ora';
restore spfile from 'd:\backup\spfile.bak';
startup nomount force ;
restore controlfile from 'd:\backup\control.bak';
sql ' alter database mount';
restore database ;
recover database ;
sql ' alter database open resetlogs';
以上两步就完成数据库恢复。
如果两台机器使用共享存储,可以把指定的共享磁盘设置盘符相同,这样就无需复制备份文件,对于大数据量的备份有趣有用。
如果使用网络磁盘映射的方式,好像RMAN 不支持备份和恢复操作。