DAGAGUARD追加归档方式迁移到rac集群


客户新买了oda x6-2,想替换原来的旧数据库服务器。原来的环境安装的是oracle11.2.0.4的单机版本dataguard,新的一体机安装的是oracle11.2.0.4。对于客户来说,想通过最短的时间来实现切换。最好的办法就是通过rman来实现,追加归档,现在我们把具体的操作过程记录下来。
1、安装oda环境
oracle的一体机的安装相当简单,完全可以通过一键方式来实现。上传专门为oda设计编译的db.zip和grid.zip,通过自带的工具便可安装,这项工作主要由oda的工程师完成

配置ip这些都不用操心,只要给出网段,在安装过程中,可以自动配置!
在安装的oda机器上,进行以下
public ip : 10.10.10.131    erptest1-pub
            10.10.10.141    erptest2-pub 
 私网ip是由oda安装过程中自动生成的,这个我们不用管了
vip ip:     10.10.10.132    erptest1-vip
            10.10.10.142    erptest2-vip
scan ip:    10.10.10.200    nctest-scan
一键安装的oda,建了三个dg:data,redo,reco,其中redo是建在固态硬盘上的!
2、配置备份目录
oda上安装的ACFS系统,共享存储可以直接当普通文件系统用
创建备份目录
[root@oldtest1 ~]# mkdir -p /backup
[root@oldtest1 ~]# chown -R oracle:oinstall /backup
3、备份数据库到目录
备份建议在晚上业务少的时候做,备份前要记录开始时间,还要多切换几次归档
脚本如下:erpbackup.sh
run {
allocate channel c1 type disk maxpiecesize = 20G;
allocate channel c2 type disk maxpiecesize = 20G;
backup incremental level 0 database format '/backup/%d_DF_%T_%s_%p.bak'
plus archivelog
format '/backup/%d_AF_%T_%s_%p.log' delete all input;
backup current controlfile format '/backup/%d_CTL_%T_%s_%p.bak';
release channel c1;
release channel c2;
}
[oracle@oldtest1 ~]# chmod +x erpbackup.sh
[oracle@oldtest1 ~]# nohup ./erpbackup.sh > erpbackup.sh.out &
备份时间大约一个小时。
4、新的oda机器上进行还原
--准备工作
通过SCP命令将rman备份传输到oda上
这里注意:我们可以按部就班一步步恢复spfile,controlfile,datafile等,然后将数据库加入集群,创建监听。
但是我用的是比较取巧的方法,就是先在oda上创建一个和原数据库名称一样的数据库,然后再手工删除里面的控制文件,日志文件和数据文件,再进行恢复,这样就避免了将迁移数据库加入集群和创建监听的麻烦。
=============================================
SQL> create pfile = '/u01/backup/oldspfile.ora' from spfile;
or create spfile='+DATA/dg1/spfiledg1.ora' from pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initdg11.ora';
注意:
    修改参数:*.remote_listener,把里面的host部份,修改成当前的host部份。实例名保持与原机相同!
    创建审计目录,这个在参数文件中有,如果没创建,无法启动(两个节点都要创建)

--还原控制文件
整个恢复过程,在一台机器上做就行了
[oracle@erptest1 ~]# export ORACLE_SID=orcl1
[oracle@erptest1 ~]# rman target /
RMAN> startup nomount pfile='/u01/backup/oldspfile.ora';

把数据库启动到nomount状态
==============================================
RMAN>

4.1--恢复数据库文件
restore controlfile from '/backup/DG1_CTL_20180314_40_1.bak';
还原控制文件后,可以把数据库启动mount
SQL> alter database mount;
脚本如下:restoredf.sh
rman target / <run {
set newname for datafile 1 to '+data';
set newname for datafile 2 to '+data';
set newname for datafile 3 to '+data';
set newname for datafile 4 to '+data';
set newname for tempfile 1 to '+data';
restore database ;
switch datafile all;
switch tempfile all;
}
exit
EOF
[oracle@erptest1 ~]# chmod +x restoredf.sh
[oracle@erptest1 ~]# nohup ./restoredf.sh > restoredf.sh.out &
还原时间,大概使用了3个小时.
注意等到停机切换窗口后:
4.2--恢复归档日志
检查需要恢复的归档
SQL> select THREAD#,min(SEQUENCE#) minseq,max(SEQUENCE#) maxseq from v$archived_log where COMPLETION_TIME > to_date('2014-05-24 11:00:00','yyyy-mm-dd hh24:mi:ss') group by THREAD#;
   THREAD#     MINSEQ     MAXSEQ
---------- ---------- ----------
         1        777        778
         2        605        607


方法一:直接把那些归档拷贝到和原库(spfile里记录的归档目录)一样的目录,然后执行如下的操作:
rman>alter database mount
rman>run{
restore database;
recover database;
}
rman>alter database open resetlogs;
rman>shutdown immediate;
rman>startup;
最后要检查下ps –ef |grep ora_实例进程数,如果进程过多,不用过于关注,只是数据库没有完全恢复的原因

&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值