设为首页 加入收藏

TOP

rman冷备份异机迁移
2015-11-21 01:59:24 来源: 作者: 【 】 浏览:0
Tags:rman 备份 迁移

rman 作为 oracle 推荐的备份、恢复方式,我们常使用它来进行异机迁移数据库

网上的攻略都是 rman 的热备份异机迁移,相比冷备份的异机迁移需要多备份归档(未归档)日志文件、联机日志文件,操作步骤较为复杂。

如果是可以停机的数据库,更推荐使用 mount 方式下的冷备份来做异机迁移。

写了一个迁移文件,以备后用。

Part1

Env

{
‘first database’:{
‘os’:’suse11’
‘oracle_version’:’11gr2’
}
‘second database’:{
‘os’:’suse11’
‘oracle_version’:’11gr2’
}
}

Set a nfs service for first database

mkdir /nfs
chmod -R 777 /nfs
echo '/nfs    *(fsid=0,crossmnt,rw,root_squash,sync,no_subtree_check)' >>/etc/exports
service nfsserver restart

Mount nfs dir in first database

mount -t nfs x.x.x.x:/nfs /nfs

Run backup script in the nfs dir

run {
    allocate channel c1 type disk;
    allocate channel c2 type disk;
    backup database format '/nfs/%U';
    backup current controlfile format '/nfs/%U.bak';
    release channel c1;
    release channel c2;
}

Part2

Get ready in second database

Make dir for second database;

mkdir -p /opt/oracle/oradata/orcl
mkdir -p /opt/oracle/admin/orcl
cd /opt/oracle/admin/orcl
mkdir adump bdump udump cdump pfile
mkdir /opt/oracle/flash_recovery_area
mkdir /opt/oracle/flash_recovery_area/orcl

Create password file

orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=xxxxx

Recover second database

Set DBID

set dbid xxxxxxx

Start Second database numount

startup nomount

Restore pfile

restore spfile to pfile '/opt/oracle/product/11.2.0/db_1/dbs/initorcl.ora' from '/nfs/1aq10otf_1_1';

Start database by new pfile

shutdown immediate;
startup nomount;

Restore control file

restore controlfile from '/nfs/xxx/xxx'

Recovery database

alter database mouont;
restore database;
alter database open resetlogs;
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇解决eclipse不识别Android手机的.. 下一篇redisclient2.0.0pipeline的list..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: