oracle如何实现双活,oracle 双活方式

如何使用虚拟化软件实现双活灾备系统

灾备双活如何实现数据同步?

成都创新互联是专业的松岭网站建设公司,松岭接单;提供成都做网站、成都网站建设、成都外贸网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行松岭网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

问题1:金融系统中同城灾备如何实现数据实时同步(两地是异构存储),请软件推荐和方法?

问题2:如果是远距离(1000KM)异地灾备双活,如何较好的实现数据同步?

希望获得:具体解决, 注意事项, 实例参考

问题1:金融系统中同城灾备如何实现数据实时同步(两地是异构存储),请软件推荐和方法

问题2:如果是远距离(1000KM)异地灾备双活,如何较好的实现数据同步?

A1:数据实时同步复制有两种大的分类:

1)存储复制 - 即使异构存储也能,只不过效果差点。利用虚拟化网关集群设备(比如VPLEX)。但是有一个缺点,存储层面的块儿复制,解决不了逻辑校验的问题,有可能同步过去的块儿数据,数据库无法识别。

2)数据库层面的复制,Oracle、db2都有。是基于日志的复制,数据复制量很小。很安全。但是灾难时刻拉起数据库的时间也不是很理想。有条件的做一下自动化开发。

wangj0923技术经理 , 工行

存储复制最大的问题是,复制过去的磁盘对数据库来讲突然下宕后挂上的,有可能不识别,即便识别了,也要进行一致性校验,那个时间是无法忍受的。

数据库复制的问题是同步模式对主库的影响较大,备库出问题容易hang主库,而异步模式无法确保RPO为零。

需要各种技术组合起来用。

shenxzh系统工程师 , Nanjing Securities

同城灾备,如果是ORACLE数据库,可以使用远距离RAC,实现同城双活数据中心(通过ORACLE ASM实现异构存储双活,或者存储虚拟设备VPLEX,SVC等)

远距离异地灾备,最好使用主备模式,采用dataguard利用异步模式(或采用12C的far sync功能),保证数据安全

else_xie系统运维工程师 , PICC

cz_doctor、xk2008赞同了此回答

首先要确定,实现要异地实时同步,生产环境答应吗?

另外带宽,速度的压力,成本投入能答应吗?

每一个数据的修改交互,都需要问1000KM外的,是否OK了。然后才下一步?那多累的,估计某些应用可以,同步数据少的,对业务性能不敏感的。

现在很多存储的复制技术,异步效果也趋于同步效果,只要业务压力在可接受范围内,就能及时传送数据过去,只要自己明白,如果遇到业务高峰时,是要承受数据传输滞后比较明显的结果而已。

另外,对复制同步的数据,如果不是在线进行使用的,要定期的验证检查,反正数据已经是“带病”的,还一直在同步,哪天真的要用,才发现,那就迟了。

zhoujia8218(提问者)

你的这些反问点,都是我要关注的和不明确的地方,谢谢提醒

nitkey系统架构师 , ECT

xiaoyaozi赞同了此回答

问题1:异构存储要实现同城实时同步有几种实现方式:1.存储前面加一层虚拟网关,通过虚拟网关来实现两个存储的数据同步;2.操作系统层面,通过LVM或者veritas的卷管理软件实现;3.通过应用层自己实现数据同步,比如ORACLE的DG,DB2的HADR。同城实时同步一般对架构环境的要求都较高,如果再加上是异构存储,要特别注意两个存储的性能是否匹配,否则会出现短板

问题2:1000KM以上我认为基本上只有靠存储的异步复制,通过数据库的复制方式在远距离的案例上不是太多。

孔再华数据库运维工程师 , 中国民生银行

同城灾备可以做到对等双活。相当于双中心不差别提供服务。数据库技术有DB2 GDPC和Oracle Extended RAC。DB2 GDPC集群底层通过GPFS集群文件系统完成数据同步,支持异构的存储。

远距离灾备如果需要双活肯定是有很大限制的。首先数据不可能实时同步,代价太大。因此对一致性要求高的系统几乎不可能。但是如果使用异步的方式,例如DB2的HADR技术,或者是CDC等数据逻辑同步技术,能够做到同步数据,但是灾备服务器只能用来做查询分析等作用。

zhoujia8218(提问者)

CDC远距离复制时有没有需要注意的吗?我们只用过同城的,远距离的没有尝试过

linux下怎么将oracle配置成双机热备

【DataGuard高可用性】

DataGuard确保企业数据的高可用性,数据保护以及灾难恢复。在主数据库故障无法修复时启动DataGuard的备份库,可以像主库一样继续对外提供服务而不影响业务的持续运行。

主备数据库之间通过日志传输实现数据库数据同步。

日志传输过程

1、在主系统中利用LNS进程(日志传输进程)将日志传输到备用系统

2、备用系统利用RFS(日志接收进程)接收主库传输过来的日志并利用MRP(日志恢复进程)同步数据

3、DataGuard环境中必须保证3个进程正常工作,否则此DataGuard环境将不能满足灾备需要。

【DG可以解决的问题】

1、在主库停机维护时,备份库顶上,使业务应用影响最小

(1)主库安装OS补丁或Oracle补丁

(2)主库进行数据整理

2、一个新的数据迁移项目,将数据迁移同型号更高端IBM服务器与存储中,主库数据2T,并且此迁移操作必须停机时间控制在30分钟以内(此次时间远远适于迁移数据库文件所需时间),怎么办?

(1)把备份库顶上去

3、由于主库(仓库)数据量非常巨大(50T),所以没有常规备份,但此系统存在DataGuard灾备系统,如果主库某数据文件由于某种原因导致介质故障,你将如何对其进行恢复。

4、异地归档日志

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

主库:18.150  备库:18.160

1、主库和备库:开启归档模式

archive log list;-----------查看归档启动否

shutdown immediate;---------开启归档前要正常关库

startup mount;-------------启动Mount状态

alter database archivelog;-------开启归档模式

alter database open;--------开启数据库

2、确认主库强制写日志

select force_logging from v$database;

(所有sql语句nologging操作时 也会强制写日志)

SQL alter database force logging;

3、修改主备数据库的参数文件

【主】

SQLcreate pfile from spfile;

cd /oracle/app/oracle/product/10.2.0/db_1/dbs/

vi initTEST.ora

DB_UNIQUE_NAME=TEST

LOG_ARCHIVE_CONFIG='DG_CONFIG=(DB150,DB160)'

LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/archive  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TEST'

LOG_ARCHIVE_DEST_2='SERVICE=DB160 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TEST'

FAL_SERVER=DB150        

FAL_CLIENT=DB160

STANDBY_FILE_MANAGEMENT=AUTO

【备】

SQLcreate pfile from spfile;

cd /oracle/app/oracle/product/10.2.0/db_1/dbs/

vi initTEST.ora

DB_UNIQUE_NAME=TEST

LOG_ARCHIVE_CONFIG='DG_CONFIG=(DB150,DB160)'

LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/archive  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TEST'

LOG_ARCHIVE_DEST_2='SERVICE=DB150 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TEST'

FAL_SERVER=DB160        

FAL_CLIENT=DB150

STANDBY_FILE_MANAGEMENT=AUTO

4、主库和备库

都配置“监听”、“传输文件”,并开启监听

5、主库和备库

都创建“归档日志”目录:mkdir /home/oracle/archive

6、主库和备库

cd /oracle/app/oracle/product/10.2.0/db_1/dbs/

rm -rf spfileTEST.ora

sqlplus / as sysdba

SQL startup force;

SQLcreate spfile from pfile;

7、备库

SQL shutdown immediate

[oracle@sq18 admin]$ sqlplus sys/lipengfei as sysdba

(连接成功)

SQL startup nomount force;

8、主库

SQL show parameter ARCHIVE(查看到刚才配置的值生效了)

9、备库

(报错没有相应目录)

[oracle@sq18 admin]$ mkdir -p /oracle/app/admin/TEST/adump

[oracle@sq18 admin]$ mkdir -p /oracle/app/admin/TEST/bdump

[oracle@sq18 admin]$ mkdir -p /oracle/app/admin/TEST/cdump

[oracle@sq18 admin]$ mkdir -p /oracle/app/flash_recovery_area

[oracle@sq18 admin]$ mkdir -p /oracle/app/admin/TEST/udum

保证数据库两边的密码文件中的密码一致(主备数据库sys用户密码必须相同,如果备库中没有orapwTEST,从主库中拷贝到来)

10、主库

mkdir /home/oracle/db_bak/

rman target /

RMAN backup full database format='/home/oracle/db_bak/%U' include current controlfile for standby;

(别退出RMAN,第12步用)

11、备库

mkdir /home/oracle/db_bak/

12、主库(把全库备份的文件拷贝到备库)

cd /home/oracle/db_bak/

scp 备份文件 oracle@192.168.18.160:/home/oracle/db_bak/

RMANconnect auxiliary sys/lipengfei@DB160

RMAN duplicate target database for standby nofilenamecheck;----异机(备库)恢复,保证主备库的数据和状态一样

13、备库

cd /oracle/app/oradata/TEST

ls --------查看有没有文件

sqlplus / as sysdba

SQLselect open_mode from v$database;----------mount状态

14、主库

SQL select process from v$managed_standby;

(没有灾备的进程)

SQL alter system switch logfile;

SQL select process from v$managed_standby;

PROCESS

---------

ARCH

ARCH

LNS

已经有了进程,lns传输进程)

15、备库

SQL select process from v$managed_standby;

PROCESS

---------

ARCH

ARCH

RFS

RFS

(已经有了进程,rfs接收进程)

SQL alter database recover managed standby database disconnect from session;

SQL  select process from v$managed_standby;

PROCESS

---------

ARCH

ARCH

RFS

RFS

MRP0

16、主库

SQLcreate table haha as select * from dba_objects;

SQLinsert into haha select * from haha;

SQLalter system switch logfile;

17、备库

SQL alter database recover managed standby database cancel;

(备库上,只有把恢复日志进程MRP0取消,才可以打开数据库)

SQL alter database open;

SQL select count(*) from haha

【注意】

(1)备用数据库在日志恢复过程中(MRP进程存在期间)数据库处于MOUNTED状态,此时备用数据库无法打开供读取使用

(2)打开备用数据库

停止备用库的日志恢复进程MRP

alter database recover managed standby database cancel;

open备用数据库,备用数据库默认打开为只读方式

alter database open;

(3)重新启动备用数据库的MRP进程,数据库自动从OPEN状态转换到MOUNT 状态

alter database recover managed standby database disconnect from session;

(4)mrp进程停止期间,只要RFS进程存在,那么不影响日志的接收

兄弟,以上就是关于oracle DG构架的实验材料,希望可以帮到你!

有人做过oracle异地双活方案吗

异地多活(异地双活)是最近业界讨论比较多的话题,特别是前一阵子支付宝机房光纤故障和携程网数据库丢失之后,更加唤起了技术人员们对异地容灾的考虑。

而异地多活比异地容灾更高一级,因为异地容灾仅仅是一个冷备的概念,而异地多活却是指有两个或者多个可以同时对外服务的节点,任意一个点挂了,也可以迅速切换到其他节点对外服务,节点之间的数据做到准实时同步。

网上看了很多技术分享,总结了以下实践经验:

1 如果业务量不大,没必要做异地多活,因为异地多活需要的运维资源成本、开发成本都非常高;

2 注意机房间的延时问题,延时大的可能达到100ms以上,如果业务需要多次跨机房请求应用的话,延迟的问题会彻底放大;

3 跨机房的专线很大概率会出问题,要做好运维或者程序层面的容错;

4 不能依赖MySQL双写,必须有适应自身业务的跨机房消息同步方案;

5 MySQL或者其他存储的数据同步问题,在高延时和较差的网络质量的情况下,考虑如何保证同步质量;

6 核心业务和次要业务需要分而治之,异地多活的业务形式越简单越好,甚至可以只做核心业务;

7 异地多活的监控、部署、测试等流程也要跟上;

8 在业务允许的情况下,考虑用户分区,特别是游戏、邮箱业务比较容易做到;

9 控制跨机房消息体大小,越小越好;

10 考虑使用docker等容器虚拟化技术,提高动态调度能力

双活数据中心 是什么

双活数据中心指的是热备份数据中心和冷备份中心。

1、在热备份的情况下,只有主数据中心承担用户的业务,此时备数据中心对主数据中心进行实时的备份,备数据中心可以自动接管主数据中心的业务,用户的业务不会中断,所以也感觉不到数据中心的切换。

2、在冷备份的情况下,也是只有主数据中心承担业务,但是备用数据中心不会对主数据中心进行实时备份,这时可能是周期性的进行备份或者干脆不进行备份,如果主数据中心挂掉了,用户的业务就会中断。

扩展资料:

双活数据中心的优点:

能够充分利用资源,避免了一个数据中心常年处于闲置状态而造成浪费。通过资源整合,“双活”数据中心的服务能力是双倍的。双活数据中心如果断了一个数据中心,另外一个数据中心还在运行,对用户来说是不可感知的。

双活数据中心的建设三个条件:

双活数据中心的建设首先要满足三个条件,第一个是应用双活,也就是说数据库一定要实现双活,第二个是网络要双活,业务网络要保证能够同时联通两个数据中心,第三个是数据要双活,两边的数据要能够实现被独立使用。

参考资料来源:百度百科:数据中心

两台Oracle服务器,怎么实现双机冷备

1、数据量不大的话,比如整体小于10G,你可以在主机访问量小时或者shutdown时将oracle打包。例如:tar zcf /opt/u02.gz /u02,然后将u02.gz文件scp到备机。

2、如果数据量很大,你可以用rsync同步到备机

3、配置主备无密码互访

4、添加计划任务

crontab -e

0 4 * * * /opt/rsync_ora.sh;

rsync_ora.sh内容:

#!/bin/sh

rsync -av '-e ssh -p 22' /u02/oracle oracle@172.16.1.2:/u02

rsync -av '-e ssh -p 22' /data1/oracle oracle@172.16.1.2:/data1

Oracle RAC部署与双活是一回事吗

oracle 级别的除了RAC以外的双击热备,datagurd,goldendate,strem.....都做不到真正意义上的双活,但是操作系统级别的负载均衡等可以实现应用级别的双活。


分享标题:oracle如何实现双活,oracle 双活方式
分享地址:http://hbruida.cn/article/hdopcd.html