问题现象:

XXXsdgebus-dg GAP手工注册归档

#出现GAP

idle>select * from v$archive_gap;

THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#

---------- ------------- --------------

1        140513         140513

一、备库查询:

#查询DG架构中存在的UNIQUE_NAME

log_archive_config                DG_CONFIG=(tdcxrac,sdgebus)

#查询DB_UINQIE_NAME

db_name                              string                 ebus

db_unique_name                       string                 sdgebus

#备库查询到的信息可以得到:

#主库db_name= ebus db_unique_name=tdcxrac

fal_client                           string                 sdgebus

fal_server                           string                 TDCXRAC1, TDCXRAC2

#idle>!tnsping TDCXRAC1

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =XXX)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = tdcxrac)))

OK (80 msec)

#本机IP地址

idle>!/sbin/ifconfig

inet addr:XXX

#备库查询:是一个单实例

idle>select inst_id,instance_number,instance_name from gv$instance;

INST_ID INSTANCE_NUMBER INSTANCE_NAME

---------- --------------- --------------------------------

1               1 ebus

二、主库查询

#主库 RAC环境

SQL> select inst_id,instance_number,instance_name from gv$instance;

INST_ID INSTANCE_NUMBER INSTANCE_NAME

---------- --------------- ----------------

1               1 tdcxrac1

2               2 tdcxrac2

#参数fal

fal_client                           string      tdcxrac

fal_server                           string      sdgebus

#tnsping

SQL> !tnsping sdgebus

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xxx)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = sdgebus) (FAILOVER_MODE= (TYPE=session)(METHOD=BASIC)(RETRIES=180)(DELAY=5))))

OK (90 msec)

#查询主库max_sequence

SQL> select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)

--------------

140914

#备库GAP

idle>select * from v$archive_gap;

THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#

---------- ------------- --------------

1        140513         140513

三、主库日志传输至备库

#备库缺失日志

idle>select THREAD#,sequence#,name,registrar,applied from gv$archived_log where thread#=1 and sequence#=140513;

no rows selected

#归档日志名称参数查询

log_archive_format                %t_%s_%r.log

#查询备库缺失的归档名称

SQL>  select inst_id,thread#,sequence#,name from gv$archived_log where sequence#=140513;

INST_ID    THREAD#  SEQUENCE#  NAME

---------- ---------- -------------------- ---------- ----------

1          1     140513

+DATA/tdcxrac/archivelog/2018_05_19/thread_1_seq_140513.25007.976502281

2          1     140513

+DATA/tdcxrac/archivelog/2018_05_19/thread_1_seq_140513.25007.976502281

#使用COPY备份归档文件至指定路径 Failed

RMAN> backup as copy archivelog sequence 140513 thread 1 format '/tmp/thread_1_seq_140513.25007.log';

skipping archive log file +DATA/tdcxrac/archivelog/2018_05_19/thread_1_seq_140513.25007.976502281; already backed up 1 time(s)

Finished backup at 29-MAY-18

---提示该归档已有备份--直接skip 跳过去了,没有备份

#使用COPY备份归档文件

#查询当前的归档日志保留策略

RMAN> show archivelog deletion policy;

using target database control file instead of recovery catalog

RMAN configuration parameters for database with db_unique_name ENMO are:

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

#查询RMAN 参数配置

RMAN> show all;

RMAN configuration parameters are:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

#修改RMAN 保留策略:

#冗余度6,代表备份相同的文件,可以备份6次

RMAN> configure retention policy to redundancy 6;

#copy 备份

RMAN>  backup as copy archivelog sequence 140513 thread 1 format '/tmp/thread_1_seq_140513.25007.log';

#RMAN参数保留策略还原

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

#可选方案:备份归档

backup as compressed backupset archivelog sequence between ${SEQ1} and ${SEQ2} thread ${THD} format '/picclife/backup/rman_gap/arch_%

u_%d_%t' not backed up 22 times;

#本次使用的是,修改备份冗余测试,使用操作系统拷贝方式备份归档,归档文件未压缩,scp传输备库,需要的时间很长

#可以使用以上命令,临时修改备份参数-- 且是备份片方式,压缩了归档文件,传输速度,操作简单

#使用备份片传输后,备库注册,restore还原归档文件

RMAN> catalog start with '/picclife/backup/rman_gap';

RMAN> restore archivelog from sequence 140858 until sequence 140864 thread 1;

#传输至备库

idle>archive log list

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /picclife/app/oracle/arch

idle>!/sbin/ifconfig

eth0      Link encap:Ethernet  HWaddr 00:50:56:BD:2B:FF

inet addr:XXXX

tdcxrac2:/tmp$ scp thread_1_seq_140513.25007.log oracle@XXX:/picclife/app/oracle/arch

#备库注册:

idle>alter database register logfile '/picclife/app/oracle/arch/thread_1_seq_140513.25007.log';

四、备库检查缺失归档

#缺失归档的数量

#正常的归档数量

select (a.max - b.min +1) as "num_seq"

from (select max(sequence#) max from v$archived_log)a,

(select LOW_SEQUENCE# min from v$archive_gap )b;

num_seq

----------

405

#查询备库正常接收的归档数量    

#查询count(*) 备库存在的归档日志数量

idle>select count(*) from v$archived_log where sequence#>=(select LOW_SEQUENCE# min from v$archive_gap);

COUNT(*)

----------

381

#缺失--25个归档日志  --对比

#缺失归档文件的序列号sequence#

#通过WPS表格报表显示:明显备库不存在的SEQUENCE#

#查询主库-sequence#

SQL> select sequence# from v$archived_log where sequence#>=140513 group by sequence# order by 1;

#查询备库-sequence#

idle>select sequence# from v$archived_log where sequence#>=(select LOW_SEQUENCE# min from v$archive_gap) order by 1;

#选择两列 =》 开始菜单=》条件格式=>突出显示单元格规则=》重复值突出!!!

SEQUENCE#

SEQUENCE#

----------

----------

140513

140514

140514

140515

140515

140516

###还可以使用外部表,可以两个表进行集合运算找出备库缺失的sequence#,本次直接使用offlice表格工具,对比统计sequence#

DG备库缺失归档文件GAP日志的更多相关文章

  1. DG备库无法接受主库归档日志之密码文件

    DG备库无法接受主库归档日志之密码文件 实验目的:还原某个客户案例,客户审计需要,对主库sys用户进行锁定,一小时后对sys用户进行解锁后,发现备库无法接受主库的归档日志 本篇文章,测试sys用户与D ...

  2. DG备库磁盘空间满导致无法创建归档

    上周五去某客户那里做数据库巡检.是window 2008系统上10g的一套NC系统的库,已经配置了DG,可是巡检时发现数据库报错: Tue Nov 11 10:13:57 2014 LNS: Stan ...

  3. DG备库,实时应用如何判断,MR进程,及MRP应用归档,三种情况的查询及验证

    本篇文档学习,DG备库,实时应用如何判断,MR进程,及MRP应用归档,三种情况的查询及验证 1.取消MRP进程 备库查询进程状态select process,client_process,sequen ...

  4. Oracle-DG最大保护模式下,dg备库出现问题对主库有什么影响?

    一.需求 疑问?Oracle最大保护模式下,dg备库出现问题,影响主库吗? 我们都知道Oracle最大保护模式的意思是oracle不允许数据丢失,1条记录都不行! 那么备库有问题? oracle主库还 ...

  5. 模拟主库创建数据文件,dg备库空间不足时问题处理

    本篇文档测试目的: 模拟实际环境中,主库对表空间添加数据文件,备库空间不足,最终导致MRP进程自动断开,处理方式. 1.问题环境模拟 1)正常情况下的dg 主库创建数据文件,备库接受日志,自动创建表空 ...

  6. 使用DUPLICATE 方式创建ORACLE 11G DG备库环境

    我的最佳实践 ① 手动创建好初始化参数文件: *.audit_file_dest='E:\APP\XJXU\ADMIN\ORASTAND\ADUMP'*.control_files='E:\APP\X ...

  7. 使用using current logfile实现DG备库实时更新

    DG1是主库,DG2是备库:运行在最大可用模式. 实验一:未使用using current logfile参数时,备库在最大可用模式下,不能实时同步备库的更新 -此时需要等待主库进行归档---侧面证明 ...

  8. Oracle DG备库强制switch_over过程

    故障描述: 主库异常下线,需要将备库强制启动为主库,切断日志时提示需要介质恢复,执行介质恢复后,再激活日志即可进行切换 1.  执行alter database recover managed sta ...

  9. oracle dg 备库不同步主库数据

    今天遇到一个数据库同步问题,主库被关闭,重启主库后,备库不能正常同步主库数据.只有当手动切换归档日志的时候,备库才能和主库一致. 这个问题的解决方法: 重启备库,重新应用归档日志. 操作步骤如下: / ...

随机推荐

  1. 二十四、JAVA的NIO和IO的区别

    一.JAVA的NIO和IO 1.NIO:面向缓冲区(buffer)(分为非阻塞模式IO和阻塞模式IO)组成部分:Channels管道,Buffers缓冲区,Selectors选择器 2.IO:面向流( ...

  2. oracle 日常设置

    查看缓冲区命令:list  执行save  1.sql 可以吧缓冲区的命令保存下来.  执行 @1.sql可以执行保存下来的内容:  show feedback 显示反馈信息,最后一行.  show ...

  3. 牛客网第一场E题 Removal

    链接:https://www.nowcoder.com/acm/contest/139/E 来源:牛客网 Bobo has a sequence of integers s1, s2, ..., sn ...

  4. 网页定位点击事件js响应函数教程(Chrome)

    一.背景说明 在前端页面调试或者渗透测试(尤其是XSS)时,我们经常想定位js函数位置:比如点击了某个位置弹出了一个对话框,这是哪个文件的哪个js函数在响应. 本文以Chrome浏览器定位点击事件响应 ...

  5. which/whereis/locate/find的区别

    which--在$PATH目录下查找文件 whereis--在预定目录下(whereis -l查看)查找文件 locate--在数据库中查找目录或文件 find--遍历目录查找文件 说明: 1.关于w ...

  6. [IOS微信] Unicode码 转化为字符串

    最近在研究IOS手机备份的数据,里面的微信数据中,每一个微信账号对应一个文件:mmsetting.archive 用来保存此账号的详细信息. 该文件是一个加强版的plist文件(此文件使用的是plis ...

  7. outline: none;

    outline: none:用在去掉某个选中后显示的外边框,(追求细节) http://www.w3school.com.cn/cssref/pr_outline.asp

  8. js将接口返回的数据序列化

    <div style={{marginLeft: '80px'}}>                     <pre>                         {th ...

  9. day32 信号量 事件 管道 进程池

    今日主要内容: 1.管道(Pipe) 数据接收一次就没有了 2.事件(Event) 3.基于事件的进程通信 4.信号量(Semaphore) 5. 进程池(重点) 6.进程池的同步方法和异步方法 7. ...

  10. mysql 内置函数和sql server 内置函数的区别

    以下函数均没有对参数做说明,使用的使用需要了解其参数内容 数据库 sql server mysql oracle 举例 获得当前系统时间 getdate() now() sysdate  注意不是函数 ...