暂无图片
DG数据库无法同步
我来答
分享
&
2020-02-14
DG数据库无法同步

DG数据库switchover_status为not allowed

我来答
添加附件
收藏
分享
问题补充
6条回答
默认
最新
weizhao.zhang (anbob)

您好,同事联系您是医院用户,标题上如果有“XX医院”我们会优先分析(O_O)

switchover_status =not allowed 未满足切换前提条件不允许切换。

这里有医疗行业客户的切换标准文档
https://www.modb.pro/doc/2009

暂无图片 评论
暂无图片 有用 0
打赏 0
外包DBA

not allowed说明之前的数据还没同步完哦,
查下primary和standby延迟吧:
select case
when a.status<>‘OPEN’ then
999991
            else
nvl(GREATEST((select time
from(select(sysdate-
to_date(last_time_updated,
‘mm/dd/yyyy hh24:mi:ss’))243600 +case
when unit=‘seconds’ then
time
when unit=‘minutes’ then
time60
else
time
3600
                      end time
from vstandbyeventhistogramtwherelasttimeupdatedisnotnullorderbyt.lasttimeupdateddesc)whererownum<2),(select(SYSDATEtodate(datumtime,mm/dd/yyyyhh24:mi:ss))360024+tonumber(substr(value,2,2))360024+tonumber(substr(value,5,2))3600+tonumber(substr(value,8,2))60+tonumber(substr(value,11,2))fromvstandby_event_histogram t where last_time_updated is not null order by t.last_time_updated desc) where rownum<2), (select (SYSDATE- to_date(datum_time,'mm/dd/yyyy hh24:mi:ss'))*3600*24+ to_number(substr(value,2,2))*3600*24+to_number(substr(value,5,2))*3600+to_number(substr(value,8,2))*60+to_number(substr(value,11,2)) from vdataguard_stats
where name=‘apply lag’)),999991)
end lag
from v$instance a;

暂无图片 评论
暂无图片 有用 0
打赏 0
&

麻烦把脚本修改为能直接查询的可以吗?985医院

暂无图片 评论
暂无图片 有用 0
打赏 0
外包DBA

sorry~
WITH A AS (
SELECT
thread# THREAD,
MAX (sequence#) max_seq
FROM
varchived_log GROUP BY thread# ), b AS ( SELECT thread# THREAD, MAX (sequence#) max_seq FROM vmanaged_standby
WHERE
PROCESS = ‘MRP0’
GROUP BY
thread#
) SELECT
COUNT (*)
FROM
(
SELECT
A .max_seq - b.max_seq v_lag
FROM
A,
b
WHERE
A . THREAD = b. THREAD
) aa
WHERE aa.v_lag > 0;

暂无图片 评论
暂无图片 有用 0
打赏 0
每日一步

最好检查下一下DG配置。比如log_archive_dest_n之类的参数值是否正确有效等。建议对比原Primary数据库的初始化参数进行修改;

暂无图片 评论
暂无图片 有用 0
打赏 0
&

3795

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏