oracle主备同步问题

oracle主备同步

问题描述

ZABBIX近段时间某地区的DB备库同步异常,在后台查询主备是同步的
zabbix监控主备同步的语句为select round((sysdate-controlfile_time)2460) from v$database;该语句在plsql中执行的返回结果为0,
在备库的secucre crt中执行的结果就会产生同步时间差。而zabbix监控是以secucrt中执行的结果为准的。

原因分析

1、在plsql中执行的结果实际上显示的是主库的查询结果(因为plsql默认连接的是数据库的VIP)
2、主要原因是这个时间点业务量比较小,导致备库sysdate-controlfile_time的值变大。

此场地的值如下:
SQL> select sysdate-controlfile_time from v$database;
SYSDATE-CONTROLFILE_TIME

.008125(此值是业务量大时候几十倍)
SQL> select round((sysdate-controlfile_time)2460) from v$database;
ROUND((SYSDATE-CONTROLFILE_TIME)2460)--------------------------------------- 12


一般正常场地的值如下:

SQL> select sysdate-controlfile_time from v$database;

SYSDATE-CONTROLFILE_TIME

.000046296(此值较小)
SQL> select round((sysdate-controlfile_time)2460) from v$database;

ROUND((SYSDATE-CONTROLFILE_TIME)2460)

0

结论

这个结果出现偏差说明不了问题,因为主备同步不一定是实时的
主备同步巡检SQL,主备都执行一遍,结果一致就同步正常
select thread#, max(sequence#), to_char(max(FIRST_TIME), ‘yyyy-mm-dd hh24:mi:ss‘) from v$log_history where RESETLOGS_TIME = (select max(RESETLOGS_TIME) from v$log_history) group by thread#;


TIPS:

1、oracle默认时间单位是毫秒:round((sysdate-controlfile_time)2460)
2、主备同步的多角度分析,使用sysdate-controlfile_time会产生误差,如果归档产生的时候发生延迟(比如当前的业务量比较少,没有达到归档产生的门槛)

原文地址:https://blog.51cto.com/zhouyaxiong/2379284

时间: 2024-08-30 07:52:27

oracle主备同步问题的相关文章

LVS+MYCAT+读写分离+MYSQL主备同步部署手册

LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1         编辑my.cnf文件… 2 1.2.2         重启数据库… 2 1.3       锁定主数据库DDL操作… 2 1.4       主备已有数据同步… 2 1.5       停止从服务… 3 1.6       配置备用数据库… 3 1.6.1         编辑my

【转载】LVS+MYCAT+读写分离+MYSQL主备同步部署手册(邢锋)

By leo | 2015/05/13 0 Comment LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1         编辑my.cnf文件… 2 1.2.2         重启数据库… 2 1.3       锁定主数据库DDL操作… 2 1.4       主备已有数据同步… 2 1.5       停止从服务… 3 1.6      

shell判断oracle主备数据库备份脚本

1. 脚本如下 说明:按照客户要求,在主备数据库上同时部署脚本,自动判断是否是主库,如果是主库则进行备份,备库不需要备份,记录日志为备份库即可,以下脚本仅供参考,可以进一步优化. 脚本说明: 1.DATABASE_ROLE查看主备库角色变量 2.Main()函数 数据库备份脚本 3.根据主备库关键字判断是否执行main()函数 #!/bin/bash # Author:roidba # filename:/backup/backup.sh #logfile:/backup/rman_fullba

mysql 不停机 短时间锁表 备份 主备同步 新增备份机器

刷新数据   [[email protected] ~]# mysql -e 'flush tables with read lock;' 锁表刷新表数据   [[email protected] ~]# mysql -e 'flush logs;' 刷新日志 (redo日志和binlog日志)   [[email protected] ~]# mysql -e 'show master status;' > /root/back.$(date +%F+%T) 保存binlog日志文件名及pos

debian8下pgsql的主备同步热切手动脚本

9以后,通过流复制直接做 主:192.168.1.111 从:192.168.1.222 需要在postgres帐号下先配置ssh互信,双机都配置 sh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]192.168.1.222 测试 ssh 192.168.1.222 date sudo apt-get install rsync openssh-server 修改postgres的系统帐号和sql帐号的密码创建一

mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离

主要思路 测试环境 实现mysql主备复制 配置A主mysql 配置B备mysql 验证同步配置结果 验证是否同步 关闭B备mysql的同步,验证读写分离 实现读写分离 安装mycat 配置mycat 启动mycat 测试读写分离 验证是否同步 关闭B备mysql的同步,验证读写分离 数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了常用的读写分离方式,

mysql+myca搭建稳定高可用集群,负载均衡,主备复制,读写分离

数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定. 测试环境 MYSQL版本:Server version: 5.5.53,到官网可以下载WINDWOS安装包. 注意:确保mysql版本为5.5以后,以前版本主备同步配置方式不同. linux实现思路类似,修改my.cnf即可. A主mysql.19

centos下mysql源码编译安装和主备异步配置

安装机器:10.11.1.193.10.11.1.194 主备同步方式:异步同步 mysql版本:mysql community5.6.28 下载源码并解压: tar -zxf mysql-5.6.28.tar.gz cmake安装: 安装编译所需环境: sudo yum install make gcc-c++ cmake bison-develncurses-devel libaio libaio-devel net-tools perl 编译安装mysql cmake-DCMAKE_INS

【MySQL进阶】Keepalived1.4.0结合MySQL 5.7.19实现主备高可用

1.基本环境 数据库安装及主备同步接上一篇文章:http://blog.51cto.com/13946719/2309514JDK 1.8_171MySQL 5.7.19CentOS 7.4Keepalived 1.4.0DB1:192.168.200.180DB2:192.168.200.181VIP: 192.168.200.99 2.下载安装Keepalived 2.1.keepalived下载 下载地址:wget http://www.keepalived.org/software/ke