当前已经有一套ADG库,分别是prod1和prod1s
计划从pord的ADG备库(prod1s)拷贝一个0级rman全备到新的服务器,恢复后,搭建成新增的ADG,SID叫prod2s,后面激活当做测试库

新服务器上设置
export ORACLE_SID=pord2s

从源库porddb1s生成一个pfile,,拷贝pfile到目标库
修改相关路径参数后,然后转换成spfile

*.audit_file_dest='/pordtestdata/dump/adump'
*.audit_trail='NONE'
*.cluster_database=false
*.compatible='11.2.0.3.0'
*.control_files='/pordtestdata/oradata/control01.ctl','/pordtestdata/oradata/control02.ctl'#Restore Controlfile
*.db_block_size=8192
*.db_create_online_log_dest_1='/pordtestdata/oradata'
*.db_domain=''
*.db_file_name_convert='/porddata/oradata/','/pordtestdata/oradata/'
*.db_files=2048
*.db_name='pord'
*.db_recovery_file_dest='/pordtestdata/fast_recovery_area'
*.db_recovery_file_dest_size=1048576000000
*.db_unique_name='pord2s'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=pordXDB)'
*.event='10949 trace name context forever, level 1'
*.fal_client='pord'
*.fal_server='porddb1s'
*.log_archive_config='DG_CONFIG=(pord,porddb1,porddb1s)'
*.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=pord'
#*.log_archive_dest_2='SERVICE=porddb1s LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=porddb1s'
*.log_archive_dest_state_1='ENABLE'
#*.log_archive_dest_state_2='ENABLE'
*.log_file_name_convert='/porddata/oradata/','/pordtestdata/oradata/'
*.open_cursors=900
*.optimizer_mode='ALL_ROWS'
*.pga_aggregate_target=10G
*.processes=1000
*.remote_login_passwordfile='exclusive'
*.resource_manager_plan=''
*.service_names='pord'
*.session_cached_cursors=2000
*.sessions=1200
*.sga_target=50G
*.standby_file_management='AUTO'
*.star_transformation_enabled='TRUE'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
#*.use_large_pages='ONLY'
*.utl_file_dir='/home/oracle'

SQL> create spfile from pfile='/pordtestdata/software/pfilepord.ora' ;

恢复控制文件
RMAN> shutdown immediate;

RMAN> startup nomount;

RMAN> restore standby controlfile from '/pordtestdata/arch/o1_mf_s_883643262_bs15sq11_.bkp';

RMAN> shutdown immediate;

RMAN> startup mount;

CATALOG命令重新注册备份集;
RMAN> catalog start with '/pordtestdata/arch';

4.开始恢复,在rman备份的源库(cascaded standby),在本例中为prod1s库
RMAN> report schema ;
更加相关信息整理成下面格式

弄成shell脚本后台执行
$ cat rman1.sh
#!/bin/bash
source .bash_profile
/u01/app/oracle/product/11.2.0/db_1/bin/rman target / <<EOF
run {
set newname for datafile 1 to '/pordtestdata/oradata/system.259.819420143';
set newname for datafile 2 to '/pordtestdata/oradata/sysaux.260.819420151';
set newname for datafile 3 to '/pordtestdata/oradata/undotbs1.261.819420153';
set newname for datafile 4 to '/pordtestdata/oradata/undotbs2.263.819420163';
set newname for datafile 5 to '/pordtestdata/oradata/users.264.819420163';
set newname for datafile 6 to '/pordtestdata/oradata/pord.295.819889851';
...省略N行
set newname for datafile 133 to '/pordtestdata/oradata/pord_idx08.dbf';
set newname for datafile 134 to '/pordtestdata/oradata/pord_idx09.dbf';
set newname for datafile 135 to '/pordtestdata/oradata/pord_idx10.dbf';
set newname for datafile 136 to '/pordtestdata/oradata/pord_idx11.dbf';
set newname for datafile 137 to '/pordtestdata/oradata/pord_idx12.dbf';
set newname for datafile 138 to '/pordtestdata/oradata/pord_idx13.dbf';
set newname for datafile 139 to '/pordtestdata/oradata/tbs_sysaux03.dbf';
restore database;
switch datafile all;
}
EOF
exit ;

通过查看视图 V$SESSION_LONGOPS 这个视图是查看长时间操作的会话,可以粗略的分析完成进度,
不但可以用于rman 也可以用于impdp/expdp
set linesize 200 ;
select sid,opname,serial#,context,sofar,totalwork,round(sofar/totalwork*100,2) "%_complete"
from v$session_longops
where opname like 'RMAN%'
and opname not like '%aggregate%'
and totalwork != 0
and sofar <> totalwork
order by "%_complete" desc ;

修改pord1s库上的tns,指向新的目标库
增加
pord2s =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = prod2s.test.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pord2s)
)
)

处理tempfile
alter database tempfile '/porddata/oradata/temp.262.819420155' drop;

SQL> alter tablespace temp add tempfile '/pordtestdata/oradata/temp1.dbf' size 10G;

--alter system set log_archive_config='DG_CONFIG=(pord1,pord1s,pord2s)';

备份原参数:

修改成下面的:
alter system set log_archive_dest_2='SERVICE=prod2s LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=pord2s';

增加一些新的standby log
ALTER DATABASE ADD STANDBY LOGFILE GROUP 21 '/tmpdata/pordredo/redo_21.log' size 1G;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 22 '/tmpdata/pordredo/redo_22.log' size 1G;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 23 '/tmpdata/pordredo/redo_23.log' size 1G;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 24 '/tmpdata/pordredo/redo_24.log' size 1G;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 25 '/tmpdata/pordredo/redo_25.log' size 1G;

清理旧的
alter database clear logfile group 6;
alter database clear logfile group 7;
alter database clear logfile group 8;
alter database clear logfile group 9;
alter database clear logfile group 10;

alter database clear logfile group 16;
alter database clear logfile group 17;
alter database clear logfile group 18;
alter database clear logfile group 19;
alter database clear logfile group 20;

alter database recover managed standby database cancel ;
alter database recover managed standby database disconnect from session;

解决gap,从主库或者cascade standby库去找,如果从主库找到了,需要在备库注册,因为日志是从备库(cascade standby)发送到目标库的

RMAN> list archivelog from sequence 74227 until sequence 74231;

scp o1_mf_1_74227_bs0rc32g_.arc 10.45.26.102:/porddata/fast_recovery_area/pordDB1S/archivelog/2015_06_29/
scp o1_mf_1_74228_bs0zvxss_.arc 10.45.26.102:/porddata/fast_recovery_area/pordDB1S/archivelog/2015_06_29/
scp o1_mf_1_74229_bs11pq4p_.arc 10.45.26.102:/porddata/fast_recovery_area/pordDB1S/archivelog/2015_06_29/
scp o1_mf_1_74230_bs1305mk_.arc 10.45.26.102:/porddata/fast_recovery_area/pordDB1S/archivelog/2015_06_29/
scp o1_mf_1_74231_bs147yyl_.arc 10.45.26.102:/porddata/fast_recovery_area/pordDB1S/archivelog/2015_06_29/

RMAN> catalog start with '/porddata/fast_recovery_area/pordDB1S/archivelog/2015_06_30/';

日志追的差不多的时候,可以做failover切换

主库或者cascade standby库
alter system set log_archive_dest_state_2=defer;

要激活的standby
alter system set aq_tm_processes=0 scope=memory;
alter database recover managed standby database cancel;
alter database activate physical standby database;
shutdown immediate
startup
select OPEN_MODE,SWITCHOVER_STATUS,DATABASE_ROLE,PROTECTION_MODE
FROM v$database;

激活后,恢复生产库pordadg的log_archive设置
alter system set log_archive_dest_2='SERVICE=pord1 LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=pord1';
alter system set log_archive_dest_state_2=enable;

rman恢复增加ADG(级联ADG)的更多相关文章

  1. RMAN恢复 增加表空间后控制文件丢失

    查看目前的控制文件位置 SQL> select name from v$controlfile; NAME-------------------------------------------- ...

  2. Oracle DB 使用RMAN恢复目录

    • 对恢复目录和RMAN 资料档案库控制文件的使用进行比较• 创建和配置恢复目录• 在恢复目录中注册数据库• 同步恢复目录• 使用RMAN 存储脚本• 备份恢复目录• 创建虚拟专用目录 RMAN 资料 ...

  3. 在rman恢复中incarnation的概念

    摘要 本文主要介绍incarnation的由来,在rman恢复中的作用,以及相关rman恢复的注意事项. 概念说明 从10g开始,incarnation被引入,用于跨越resetlogs进行恢复,由此 ...

  4. RAC+asm通过rman恢复到单实例+asm

    1.恢复参数文件,并修改参数文件 参数文件指名几个最简单的就行,我的参数文件如下: 2.恢复控制文件,并启动数据库到mount 如果是把备份集从别的服务器拷贝到本地恢复的服务器的目录,使用下面的语句指 ...

  5. oracle rman恢复数据库 方式恢复到异地数据库

    目的:从某个环境中,获取相关文件,放到异地机器使用rman 恢复.   情况说明:XX系统使用的是oracle数据库,现已从服务器拉下来相关文件,依靠这些文件来早本地的测试机上恢复数据库,方便进行数据 ...

  6. Oracle RMAN 恢复控制文件到指定的路径

    Oracle 数据库通过RMAN恢复控制文件到指定的路径 --------------------------------------------------------- 先查询备份集信息,再指定备 ...

  7. RMAN恢复目录

    是否使用RMAN恢复目录(Recovery Catalog 你可能从其他人或书上听过RMAN恢复目录(也有可能是其他名字,RMAN Recovery Catalog的翻译较多较杂,以下简称恢复目录), ...

  8. rman恢复误删除的一张表(不完全恢复)

    恢复误删除的一张表可以使用很多方法,如日志挖掘.闪回等,rman恢复(不完全恢复)肯定不是最好的,也不建议用, 现在我们只是演示一下这种恢复. 1 RMAN备份数据库 2创建测试表 3查看此时的SCN ...

  9. RAC 之 RMAN 恢复

    RAC 下的RMAN 讲究的是备份和还原的策略要一致.备份策略的不同,会导致备份结果的分步不同,进而影响恢复的策略和步骤.一般情况下,恢复策略和备份策略必须是对应的.如果备份策略进行了修改,那么恢复也 ...

随机推荐

  1. bzoj 2395 [Balkan 2011]Timeismoney——最小乘积生成树

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2395 如果把 \( \sum t \) 作为 x 坐标,\( \sum c \) 作为 y ...

  2. volatile浅析

    volatile的意思是不稳定的.易变的,但在多线程中却跟字面意思一毛钱关系没有.作为一个变量修饰符,它主要有两个作用:一个是告诉大家,该变量是一个在多个线程之间均可见的变量:另一个是告诉java虚拟 ...

  3. Linux的POSIX线程属性

    创建POSIX线程的函数为 int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routin ...

  4. 关于FPGA电源精度要求

    FPGA对DC-DC精度的要求不断提升 FPGA厂商不断采用更先进的工艺来降低器件功耗,提高性能,同时FPGA对供电电源的精度要求也越加苛刻,电压必须维持在非常严格的容限内,如果供电电压范围超出了规范 ...

  5. docker监控的一点想法

    目前项目内部署了docker,于是涉及到关于监控的事情,参考一些经典实例以及一些自己的想法,总结一下思路. 1.关于监控的内容 监控宿主机本身 监控宿主机本身还是比较简单的,同其他服务器监控类似,对c ...

  6. JAVA构造函数在超类与子类定义鲁波总结

    1.子类无构造函数,超类无构造函数,创建的无参数的对象: 编译通过. class A { } class B extends A { } public class Testeeer { public ...

  7. nginx与tomcat整合

    nginx与tomcat整合   1. 在/usr/local/nginx/conf下面添加文件proxy.conf # cat /usr/local/nginx/confg/proxy.conf p ...

  8. python学习笔记(九):操作数据库

    我们在写代码的时候,经常会操作数据库,增删改查,数据库有很多类型,关系型数据库和非关系数据库,这里咱们介绍一下python怎么操作mysql.redis和mongodb. 一.python操作mysq ...

  9. 【转】Android Eclipse调试技巧

    原文地址:https://www.cnblogs.com/tianchunming/p/5423942.html Android Eclipse调试技巧   在Android 应用程序开发中我们经常需 ...

  10. 概述XML

    xml概述--->干什么的 存储一对多的数据 作为配置文件存储数据 xml组成---->怎么用 元素的分类 包含标签体的标签(有开始标签和结束标签) 例如: <student> ...