v$dataguard_stats 的apply finish time 为空

本文探讨了在Oracle数据库中查询Active DataGuard的延迟问题,特别是当applyfinishtime字段为空时的情况。文中提到了相关BUG并提供了查询apply状态的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文用于查询active DataGuard 的延迟查询
查询standby延迟时,发现apply finish time为空
SQL> select name,value from v$dataguard_stats;

NAME                                    VALUE
-------------------------------- --------------------
transport lag                    +00 00:00:00
apply lag                        +00 00:00:00
apply finish time
estimated startup time                     14

这是个BUG,适用于所有平台的
12.1.0.2 (Server Patch Set)
11.2.0.4
Bug 20468490 - In V$DATAGUARD_STATS the statistic with NAME "apply finish time" may be Null under the VALUE column (文档 ID 20468490.8)
Bug 20468490 : APPLY FINISH TIME IS ALWAYS NULL
中提到:

DIAGNOSTIC ANALYSIS:
--------------------
There are no disabled threads
Standby redo log files will be used
This is the case with realtime apply and normal apply
In v$recovery_progress everythink has a valid value
Standby redo log files have been recreated
Standby controlfiles have been recreated

那么怎么看apply是不是正常的?
其他的查询方法:
col TYPE for a20
col UNITS for a20
col COMMENTS for a20
select * from v$recovery_progress;

1
SQL> /
2
3
START_TIM TYPE                 ITEM                             UNITS                     SOFAR      TOTAL TIMESTAMP COMMENTS
4
--------- -------------------- -------------------------------- -------------------- ---------- ---------- --------- --------------------
5
06-AUG-17 Media Recovery       Log Files                        Files                        32          0
6
06-AUG-17 Media Recovery       Average Apply Rate               KB/sec                      893          0
7
06-AUG-17 Media Recovery       Redo Applied                     Megabytes                 72896          0
8
06-AUG-17 Media Recovery       Last Applied Redo                SCN+Time                      0          0 07-AUG-17 SCN: 58937171789
9
06-AUG-17 Media Recovery       Apply Time per Log               Seconds                    1550          0
10
06-AUG-17 Media Recovery       Checkpoint Time per Log          Seconds                       0          0
11
06-AUG-17 Media Recovery       Elapsed Time                     Seconds                   83532          0
12
06-AUG-17 Media Recovery       Standby Apply Lag                Seconds                       0          0
13
14
8 rows selected.

多切换几次,看看值的变化情况



首先通过dbms_flashback.get_system_change_number 可以获得系统当前的SCN值:
SQL> col scn for 9999999999999
SQL> select dbms_flashback.get_system_change_number scn from dual;
SCN
--------------
8908390522972

通过scn_to_timestamp函数可以将SCN转换为时间戳:
SQL> select scn_to_timestamp(8908390522972) scn from dual;
SCN
---------------------------------------------------------------------------
05-JAN-07 10.56.30.000000000 AM

再通过timestamp_to_scn可以将时间戳转换为SCN:

SQL> select timestamp_to_scn(scn_to_timestamp(8908390522972)) scn from dual;
SCN
--------------
8908390522972









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值