DataGuard主备归档存在gap的处理办法
DataGuard主备之间可能由于网络等原因,造成备库和主库之间的归档日志不一致,这样就产生了gap。
解决gap的步骤:
1.在备库获得gap的详细信息
2.将需要的归档日志从主库拷贝到备库
3.备库将归档日志注册,然后应用。
--备库alert日志提示gap详情
Media Recovery Waiting for thread 1 sequence 7057
Fetching gap sequence in thread 1, gap sequence 7057-7080
FAL[client]: Error fetching gap sequence, no FAL server specified
Mon Mar 24 11:39:40 CST 2014
FAL[client]: Failed to request gap sequence
GAP - thread 1 sequence 7057-7080
DBID 768411208 branch 784810891
FAL[client]: All defined FAL servers have been attempted.
--也可以在备库查询gap
select * from v$archive_gap;
--为了方便,组装拷贝语句
--如果归档日志在ASM中,先通过rman将归档日志拷贝到OS,然后scp到备库standby归档目录;
--如果归档日志在OS上,直接scp到备库standby归档目录即可。
@Pirmary
select length('+DG1/primary/archivelog/2014_03_21/') from dual;
LENGTH('+DG1/PRIMARY/ARCHIVELOG/2014_03_21/')
---------------------------------------------
35
--get copy command
select 'copy archivelog '''||NAME||''' to ''/tmp/'||substr(name,35)||''' ;'
from v$archived_log
where SEQUENCE#>7060
and SEQUENCE#<=7080
and thread#=1
and NAME<>'standby service name';
--copy archive logs from asm to OS
rman target /
copy archivelog '+DG1/primary/archivelog/2014_03_21/thread_1_seq_7061.393.842805877' to '/tmp/thread_1_seq_7061.393.842805877' ;
copy archivelog '+DG1/primary/archivelog/2014_03_21/thread_1_seq_7062.472.842816319' to '/tmp/thread_1_seq_7062.472.842816319' ;
copy archivelog '+DG1/primary/archivelog/2014_03_21/thread_1_seq_7063.414.842825435' to '/tmp/thread_1_seq_7063.414.842825435' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7064.308.842843087' to '/tmp/thread_1_seq_7064.308.842843087' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7065.278.842847011' to '/tmp/thread_1_seq_7065.278.842847011' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7066.415.842847023' to '/tmp/thread_1_seq_7066.415.842847023' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7067.469.842850077' to '/tmp/thread_1_seq_7067.469.842850077' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7068.402.842864915' to '/tmp/thread_1_seq_7068.402.842864915' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7069.475.842868603' to '/tmp/thread_1_seq_7069.475.842868603' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7070.413.842869761' to '/tmp/thread_1_seq_7070.413.842869761' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7071.312.842871319' to '/tmp/thread_1_seq_7071.312.842871319' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7072.407.842874331' to '/tmp/thread_1_seq_7072.407.842874331' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7073.405.842874917' to '/tmp/thread_1_seq_7073.405.842874917' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7074.328.842875663' to '/tmp/thread_1_seq_7074.328.842875663' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7075.296.842876043' to '/tmp/thread_1_seq_7075.296.842876043' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7076.452.842886921' to '/tmp/thread_1_seq_7076.452.842886921' ;
copy archivelog '+DG1/primary/archivelog/2014_03_22/thread_1_seq_7077.446.842906131' to '/tmp/thread_1_seq_7077.446.842906131' ;
copy archivelog '+DG1/primary/archivelog/2014_03_23/thread_1_seq_7078.348.842928271' to '/tmp/thread_1_seq_7078.348.842928271' ;
copy archivelog '+DG1/primary/archivelog/2014_03_23/thread_1_seq_7079.347.842928277' to '/tmp/thread_1_seq_7079.347.842928277' ;
copy archivelog '+DG1/primary/archivelog/2014_03_23/thread_1_seq_7080.367.842929387' to '/tmp/thread_1_seq_7080.367.842929387' ;
--send archive logs to standby
scp thread_1_seq_70* 10.1.1.10:/tmp
--get standby register archivelog command
--同样在主库执行,获得注册语句
select 'ALTER
DATABASE REGISTER PHYSICAL LOGFILE ''/tmp/'||substr(name,35)||''';' from
v$archived_log where SEQUENCE#>7060 and SEQUENCE#<=7080 and
thread#=1 and NAME<>'standby service name';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7061.393.842805877';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7062.472.842816319';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7063.414.842825435';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7064.308.842843087';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7065.278.842847011';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7066.415.842847023';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7067.469.842850077';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7068.402.842864915';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7069.475.842868603';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7070.413.842869761';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7071.312.842871319';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7072.407.842874331';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7073.405.842874917';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7074.328.842875663';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7075.296.842876043';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7076.452.842886921';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7077.446.842906131';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7078.348.842928271';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7079.347.842928277';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7080.367.842929387';
@Standby
--register gap archivelog to standby
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7061.393.842805877';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7062.472.842816319';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7063.414.842825435';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7064.308.842843087';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7065.278.842847011';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7066.415.842847023';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7067.469.842850077';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7068.402.842864915';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7069.475.842868603';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7070.413.842869761';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7071.312.842871319';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7072.407.842874331';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7073.405.842874917';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7074.328.842875663';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7075.296.842876043';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7076.452.842886921';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7077.446.842906131';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7078.348.842928271';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7079.347.842928277';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7080.367.842929387';
--if standby is real apply,then standby will AUTO Apply archivelog
--if not,please open real apply
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
--get real apply info
set linesize 200
col name for a70
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
select NAME,THREAD#,FIRST_TIME,sequence#,applied from v$archived_log order by FIRST_TIME,THREAD#,sequence#,DEST_ID;
--you can see alert log ,it also show archivelog apply info
tail -f alert.log
--make sure no gap between Primary and Standby
SQL> select * from v$archive_gap;
--Clean
@Priamry
cd /tmp
rm thread_*
RMAN> crosscheck archivelog all;
RMAN> list archivelog all;
RMAN> delete expired archivelog all;
http://blog.chinaunix.net/uid-23284114-id-4190413.html
DataGuard主备归档存在gap的处理办法的更多相关文章
- GoldenGate 传统抽取进程随 DataGuard 主备快速切换的方案(ADG 模式)
环境描述: 1.节点描述 节点 IP 节点描述 11.6.76.221 GG 抽取端 / DG 节点,数据库版本号为 Oracle-11.2.0.3,与 11.6.76.222 组成 DataGuar ...
- Oracle DataGuard主备切换(switchover)
Oracle DataGuard主备切换可以使用传统的手动命令切换,也可以使用dgmgr切换,本文记录手动切换. (一)将主库切换为物理备库 STEP1:查看主库状态 SQL> SELECT O ...
- 主备归档不一致导致的RMAN-08137无法清理归档解决方案
值班夜里接到归档目录满的告警,执行删除脚本发现报错 RMAN-08137: WARNING: archived log not deleted, needed for standby or upstr ...
- dataGuard主备库角色切换
切换顺序: 先主库后备库 --查看主库可切换状态: SQL> select switchover_status from v$database; SWITCHOVER_STATUS ------ ...
- dataguard主备延迟多长时间的查询方法
select value from v$dataguard_stats where name='apply lag';
- Oracle Dataguard HA (主备,灾备)方案部署调试
包括: centos6.5 oracle11gR2 DataGuard安装 dataGuard 主备switchover角色切换 数据同步测试 <一,>DG数据库数据同步测试1,正常启动主 ...
- DG主备切换遇到not allwod或者RESOLVABLE GAP解决办法
今天做switchover,环境是11.2.0.3+OEL5.7,开始时主备库状态都是正常的,符合直接切换条件: 主库: SQL> select open_mode,database_role, ...
- Oracle 11.2.0.4.0 Dataguard部署和日常维护(5)-Datauard 主备切换和故障转移篇
1. dataguard主备切换 1.1. 查看当前主备库是否具备切换条件 on slave select sequence#,first_time,next_time,archived,appl ...
- DG_Oracle DataGuard Primary/Standby物理主备节点安装实践(案例)
2014-09-09 Created By BaoXinjian
随机推荐
- tomcat启动出现PermGen space错误
今天部署项目时,出现了jvm内存溢出的问题,显示PermGen space错误. 经过不断的努力,终于解决出来了. 步骤如下: 在eclipse中菜单栏run-->RunConfigurati ...
- AE设置投影而非重投影IGeoDatasetSchemaEdit
AE设置投影而非重投影 读取一个jpg格式的影像,包含jgw文件,这时设置投影.赋值操作. IRasterDataset raster = rasterWsp.OpenRasterDataset(Fi ...
- python matplotlib 绘图
饼图 import matplotlib.pyplot as plt # The slices will be ordered and plotted counter-clockwise. label ...
- python set add 导致问题 TypeError: unhashable type: 'list'
问题复现 >>> a = set() >>> b = set() >>> b.add(1) >>> a.add(b) Trace ...
- iOS - (TableView中利用系统的 cell 设置 cell.textlabel 位置和大小)
今天工作稍微的遇到了一点小小的难题,需求效果中 TableView cell 中的 Label 字体大小比原先系统中的要大些且 Label 位置不是在前面,而是在中间往后,对于这个问题我第一时间也是想 ...
- jdk与eclipse版本问题解决applet的启动
今天在中韩,遇到一个保全项目,需要调用applet显示打印批单,结果IE一直显示安全设置问题,去java程序的安全里面想下调等级,不好调,所以想改个jdk_32试试. 版本环境 原先是eclipse_ ...
- nginx字体文件配置
http://www.doucode.com/nginx-support-font/ ====== nginx location语法 基本语法:location [=|~|~*|^~] /uri/ { ...
- UITableView——点击某一行移动到指定位置
选中某一行后想要tableView自动滚动使得选中行始终处于table的top.middle或者bottom,使用以下方法中的一个就可以实现: [tableView scrollToRowAtInde ...
- iOS缓存使用的框架
MagicalRecord FMDB 都可以在gitHub上找到
- zabbix监控企业esxi虚拟机
zabbix监控企业esxi虚拟机 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我来公司有一段时间了,最近也发现模型部有测试和开发反应某台机器登陆不上去了,结果登陆esxi服务器 ...