第一次查看是否断档,发现 GAP (查询断档select count(*) from v$archive_gap;)

SQL> select process,status from v$managed_standby ;


PROCESS   STATUS

——— ————

ARCH      CONNECTED

ARCH      CONNECTED

ARCH      CONNECTED

ARCH      CONNECTED

MRP0      WAIT_FOR_GAP

RFS       IDLE

RFS       IDLE

RFS       IDLE


8 rows selected.

进程中有 mrp

SQL> !ps -ef | grep mrp

oracle   15617     1  0 14:56 ?        00:00:22 ora_mrp0_orcl_dg

oracle   21491  4359  0 15:49 pts/0    00:00:00 /bin/bash -c ps -ef | grep mrp

oracle   21493 21491  0 15:49 pts/0    00:00:00 grep mrp

警告日志中   缺少日志 10792

将主库的日志传送至指定路径

  alter database register  logfile '/u01/app/oracle/product/11.2.0/db_1/dbs/arch/2_11075_896513776.dbf' ;

注册后查询是否应用


dg 传输重新启动

SQL> recover managed standby database cancel ;

Media recovery complete.

取消传输后   发现 mrp (应用日志)进程消失

SQL> !ps -ef | grep mrp

oracle   25403  4359  0 15:51 pts/0    00:00:00 /bin/bash -c ps -ef | grep mrp

oracle   25405 25403  0 15:51 pts/0    00:00:00 grep mrp

DG 状态正常

SQL>  select process,status from v$managed_standby ;


PROCESS   STATUS

——— ————

ARCH      CONNECTED

ARCH      CONNECTED

ARCH      CONNECTED

ARCH      CONNECTED

RFS       IDLE

RFS       IDLE

RFS       IDLE


7 rows selected.

重新开启 DG 传输

SQL> recover managed standby database disconnect ;

Media recovery complete.

查看是否应用传输的日志文件

SQL> select count(*) from v$archived_log where thread#=2 and sequence#=10792 ;


  COUNT(*)

———-

         1


SQL> select name from v$archived_log where thread#=2 and sequence#=10792 ;


NAME

——————————————————————————————————————————————————————————————————–

/u01/app/oracle/product/11.2.0/db_1/dbs/arch/2_10792_896513776.dbf


SQL> !ls -l /u01/app/oracle/product/11.2.0/db_1/dbs/arch/2_10792_896513776.dbf

-rw-r—– 1 oracle oinstall 90112 Jul  6 15:52 /u01/app/oracle/product/11.2.0/db_1/dbs/arch/2_10792_896513776.dbf



SQL> show parameter fal


NAME                                 TYPE        VALUE

———————————— ———– ——————————

fal_client                           string      orcl_dg

fal_server                           string      hca1



select thread#,max(sequence#) from v$archived_log group by thread# ;

  查询应用日志数

  select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread# ;

  查询DG状态

  select name,open_mode,PROTECTION_MODE,DATABASE_ROLE,switchover_status from v$database;

RFS为传输进程,MRP为应用进程。