双机\RAC\Dataguard的区别
Oracle 双机/RAC/Dataguard的区别
Data Guard 是Oracle的远程复制技术,它有物理和逻辑之分,但是总的来说,它需要在异地有一套独立的系统,这是两套硬件配置可以不同的系统,但是这两套系统的软件结构保持一致,包括软件的版本,目录存储结构,以及数据的同步(其实也不是实时同步的),这两套系统之间只要网络是通的就可以了,是一种异地容灾的解决方案。而对于RAC,则是本地的高可用集群,每个节点用来分担不用或相同的应用,以解决运算效率低下,单节点故障这样的问题,它是几台硬件相同或不相同的服务器,加一个SAN(共享的存储区域)来构成的。
Data Guard由两个多两个以上的独立的数据库构成,他们各自有各自的存储,Oracle负责他们之间的切换和数据同步
双机热备由两台计算机和一个共享存储设备构成,通过第三方软件(HA Rose等)实现切换,不需要做数据同步
建议应用RAC+Dataguard ,RAC保证可用性,Dataguard在RAC组独立磁盘上和另外一台主机上,保证可靠性。
双机就是人们所说的双机热备,数据库放在共享设备上,同一时刻只能有一台主机接管,另一台待用,这种方式只能保护实例,不能保护db,而且备机长期处于闲置,对资源是一种极大的浪费!
如果原本是双机,建议转换为RAC
规划好应用,DML操作从一个节点跑,查询操作从另一个节点跑,通常不需要太多调优就可以利用闲置的另外一台机器了
RAC服务器共用一套存储,同时提供服务,没有主备之分.宕一个其它的可以继续服务.
双机热备,共用一套存储,一个提供服务一个备份,主机宕了切换到备份服务器提供服务.
data guard 完全两套系统,存储是单独的,用日志同步.
RAC: 实例层冗余
DG :数据库层冗余
热备:仅仅只是数据冗余
各自应用的侧重点:
HA 侧重于业务的自动接管,自动接管需要几分钟时间,且长期有一组Instance闲置,浪费资源,不能容灾。
DG 侧重于容灾,独立存储,但两者数据不能做到实时同步。
RAC侧重于负载均衡,但共享存储不能容灾。
个人理解:
RAC :实例冗余,而且还可以做到数据库的loadbalance。
DG :多份数据,所以能做到数据冗余,但是只有主节点提供服务。
热备:与RAC最大的差异可能就是RAC有多个实例,一个数据库。而热备只是一个实例,一个数据库。所以做不了并发和loadbalance。
Oracle RAC只是做Oracle的应用,rose,legato还可以做其它的
HA:是High Availability 的首字母组合,翻译过来,可以叫做高可用,或高可用性,高可用(环境)。我觉得应该说HA是一个观念而不是一项或一系列具体技术,就象网格一样。作过系统方案就知道了,评价系统的性能当中就有一项高可用。广义的高可用涉及到系统的各个方面,简单来说,让系统不会中断 运行,就是高可用。包括软件的高可用,硬件的高可用,网络的高可用等等。具体实现的方案包括操作系统的集群,数据库的集群,硬件的冗余,网络的冗余等等。做HA方面的软件,有IBM的HACMP(很多常用AIX的人,常说的HA就指HACMP,乱啊)、SUN的Sun Cluster、HP的MC/SG等。
在2000年以前,大家谈HA,大部分时候说的是操作系统一级的双机热备,主流产品当时有IBM HACMP4.1,HP的MC/SG啥版本忘了,sun的系统很多人不用VCS,用的是一个叫dataware的东西。现在很多人眼中的HA也还是这样。时至今日,HA包括的东西可就多了,先不说其他方面,单就数据库,单就Oracle,与HA相关的产品先后有:高级复制(AdvanceRepication)、OPS/RAC(Real Application Cluster)、数据卫士(Data Guard)、oracle流(Oracle Streams)、分区(Oracle Partition)这样数款产品。照这么说,RAC只是HA这个概念下的一个具体产品而已!目前为止,只有RAC和分区是Oracle要收取licence的,其他的,只要给经验丰富的第三方实施方付一定的规划/设计及部署费用就可以了;当然,也可以自己照着文档依葫芦画瓢,但是这样弄出的环境是否能达到高可用就难说了。事实上,大部分人所说的HA,还是狭义上的HA,也就是OS一级的双机热备。
RAC:是real application cluster的简称,它是在多个主机上运行一个数据库的技术,即是一个db多个instance。它的好处是 可以由多个性能较差的机器构建出一个整体性能很好的集群,并且实现了负载均衡,那么当一个节点出现故障时,其上的服务会自动转到另外的节点去执行,用户甚 至感觉不到什么。
双机热备(HA)和RAC有啥区别呢?
1、对于硬件来说,基本上一样,共享存储、光纤线(也有还用SCSI线的)、多台小型机(可以做多节点的相互热备,也可以做多节点的RAC)、光纤交换机(如果是用光纤卡的话);但做RAC,在主机之间,最好使用高带宽网络交换机(虽然不用也可以做成);因此硬件成本相差不大。
2、软件呢,差别可不小。如果是双机热备,必须买操作系统级的双机管理软件;如果是RAC,目前还是建议购买双机管理软件(尽管10g的crs+asm可以摆脱双机软件了,但ASM目前实在太难伺候了),当然还得买RAC license。
3、日常维护。RAC要求的技术含量更高,也应该更勤快。最关键的是得买oracle服务,否则遇到有些问题(bug),你就比单机还不高可用了。
4、优缺点。这个,看看RAC的官方论述吧。如果能用好,确实是很有好处的。目前我们的40多个客户的使用情况来看,RAC确实大大降低了他们的downtime,另一方面可以说就是提高了生产力咯。
Dataguard:一般是出于容灾的目的。是主数据库的备用库(standby 库)通过自动传送和接受archivelog,并且在dataguard库自动apply 这些log,从而达到和主数据库同步的目的,可能dataguard 库是建立的异地的,当主库所在的区域出现了致命性的灾难时(火灾、地震等),主库没法修复时,这时可以切换dataguard 为主库的模式,对外提供服务,而它的数据基本是当前最新的。目前可能大家对于 dataguard 库的使用已经拓展出了其他更多的用途,比如备份,跑报表等等。
双机\RAC\Dataguard的区别的更多相关文章
- 双机/RAC/Dataguard的区别【转】
本文转自 双机/RAC/Dataguard的区别-jasoname-ITPUB博客 http://blog.itpub.net/22741583/viewspace-684261/ Data Guar ...
- 11gR2 ASM RAC + ASM RAC dataguard配置
1.环境说明 --primary端配置 Primary RAC Node1 Node2 Public IP 192.168.56.120 192.168.56.122 Private IP 10.0. ...
- oracle 双机热备,oracle dataguard 和oracle rac的区别和联系(转)
Data Guard 是Oracle的远程复制技术,它有物理和逻辑之分,但是总的来说,它需要在异地有一套独立的系统,这是两套硬件配置可以不同的系统,但是这两套系统的软件结构保持一致,包括软件的版本,目 ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)
缓存融合技术和主要后台进程(四) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- 【RAC】RAC相关基础知识
[RAC]RAC相关基础知识 1.CRS简介 从Oracle 10G开始,oracle引进一套完整的集群管理解决方案—-Cluster-Ready Services,它包括集群连通性.消息和锁. ...
- 模拟生产搭建Standby RAC实验环境(11.2.0.4 DG)
模拟生产搭建Standby RAC实验环境(11.2.0.4 DG) 环境:RHEL 6.5 + Oracle 11.2.0.4 GI.DB 1.需求背景介绍 2.准备工作 3.主库配置 4.备库配置 ...
- 转载:【Oracle 集群】RAC知识图文详细教程(四)--缓存融合技术和主要后台进程
文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...
- 【转】【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)
原文地址:http://www.cnblogs.com/baiboy/p/orc4.html 阅读目录 目录 Cache Fusion 原理 什么是 Cache Fusion? 什么是高可用 FA ...
- Oracle安装部署,版本升级,应用补丁快速参考
一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...
随机推荐
- bzoj 3611(洛谷 4103) [Heoi2014]大工程——虚树
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3611 https://www.luogu.org/problemnew/show/P4103 ...
- C#.net 微信公众账号接口开发
微信越来越火,微信公众平台成为开发成新宠,本文用C#.net开发微信公众信号接口. 微信接口地址代码: weixin _wx = new weixin(); string postStr = &quo ...
- asp.net如何使用cookie(创建、保存、读取)
Cookie的用法也和ASP中差不多.比如我们建立一个名为aspcn,值为大众的cookie HttpCookie cookie = new HttpCookie("aspcn") ...
- Oracle环境变量设置脚本
每次都傻乎乎的往bashrc里面写环境变量,感觉不任性.于是,看了本书了解了/etc/oratab这个东东后,参考着书也写了一个设置Oracle环境变量的脚本. 在/etc/下创建oraset,权限设 ...
- Hyperic Sigar API 举例
Hyperic HQ 是什么? Hyperic HQ 是一个开源的(General Public License,GPL授权)IT资源管理框架,让用户使用统一的界面来管理各种不同的IT资源的管理,Hy ...
- tcp端口检测
# coding=utf-8 import sys import socket import re def check_server(address, port): s = socket.socket ...
- 【转载】CSS + DIV 实现局部布局
HTML CSS + DIV实现局部布局 1.本章教大家掌握2种布局方式: 1)顶部导航菜单布局,效果图: 2)购物版块布局,效果图: 2.技术目标:使用div + ul-li实现导航菜单布局 ...
- Class.forName和ClassLoader.loadClass的比较【转载】
Class的装载分了三个阶段,loading,linking和initializing,分别定义在The Java Language Specification的12.2,12.3和12.4.Clas ...
- 阿里云启用IPV6
ping过别人的IPv6网址之后,可以确定,局域网是不支持IPv6的.所以要使用隧道技术建立两台机器之间的IPv6连接 1.发现测试用服务器上没有IPv6地址.所以测试服务器的内核应该是没有IPv6模 ...
- CentOs7安装gitlab(转!)
沧浪之水清兮,可以濯吾缨; 沧浪之水浊兮,可以濯吾足. ...