oracle 集群学习

标签: oracle 集群 学习 | 发表时间:2015-03-16 21:30 | 作者:xuyunti
出处:http://www.iteye.com

原文: http://www.cnblogs.com/yinuo/articles/2703883.html

数据库双机可以有两种不同的方式:双机热备份、双机集群。

双机热备份方式的集群完全通过操作系统的cluster软件来实现,在同一个时刻,只有一台机器对数据库作操作,当这台机器发生故障以后,由操作系统cluster将所有资源切换到两外一个节点,防止单节点数据库故障。

双机集群方式(RAC),在10g以后,通过ORACLE自身提供的CRS来实现集群的功能。在同一个时刻,所有的机器都对数据库作操作,当某台机器发生故障后,其他机器接管该机器的工作。这种方式不但能够防止单节点数据库故障,还能够实现负载均衡。因为两个机器对同一个数据库操作,因此数据库文件一般无法使用传统的文件系统方式存储。

下表列出了两种方式的区别:

 

双机热备方式

RAC方式

是否需要共享的磁盘阵列

必须

必须

是否需要操作系统CLUSTER软件

必须

不需要 (见注一)

是否需要额外购买ORACLE RAC选件

不需要

必须

同一个时刻几台机器工作

一台

所有机器

是否可以防止单点故障

可以

可以

是否实现负载均衡

不可以

可以

数据文件可以选择的存储方式

所有方式

根据选件不同有所区别

注一:对于rac方式,在10G以下的版本必须要操作系统cluster的支持+oracle rac选件才能够实现,在10G以后,oracle提供了自身的cluster软件——crs,因此可以在没有操作系统cluster的情况实现RAC方式,但对于文件的存储方式有所限制,下表列出了在rac方式下可以选择的存储方式

RAC方式下的存储方式

需要的前提条件

普通文件系统

不支持

裸设备

必须安装操作系统CLUSTER支持

ASM

由oracle自身提供,不需要额外的软硬件支持

共享文件系统GPFS

必须安装操作系统HACMP以及GPFS选件(仅针对AIX)平台

Ocfs(oracle cluster file system)

仅支持windows,linux平台;其他平台目前暂未提供该方式

 

数据库双机热备方案的原理及实现

以下简单说明了双机热备的原理及实现。

n       方案原理

 

 

 

 

 

 

 

 

 

 

 

Server A 主节点

 

 

 

 

 

 

 

 

Server B 备节点

 

 

 

 

 

 

 

 

 

 

Database

 

 

 

 

 

 

 

 

 

 

 

 

双机热备系统又称为Cold Failover,它是oracle数据库高可用方式的一种。

主要工作方式为主机节点运行,备用节点处于等待状态,当主机节点发生失败的时候,数据库以及虚拟IP自动漂移到备用节点,完成用户应用透明切换。切换操作基于操作系统Cluster控制软件,操作系统负责监控系统的运行状况。操作系统实现数据库的关闭、切换和启动。

n       方案评价

双机热备系统是单实例数据库系统,它的工作方式是一种Shared  Nothing方式,也就是同一时间段,只有一台节点对共享盘阵有操作权。在发生节点失败时,完成切换。应用切换对前端用户透明,主机节点失败后用户自动转接入预先定以的备用节点。此种方式概念以及平台搭建相对简单,易于管理。但是其主机工作,备机等待的工作方式,造成了此种工作方式对系统资源的一定浪费。同时该方式不支持用户操作的连续性。             

n       方案具体实现

双机热备系统几乎支持现阶段所用供应商。例如:Microsoft , Sun , HP , IBM , Compaq , Intel , Linux….。完成此种方式对硬件,操作系统及各厂家HA软件有一定要求。硬件要求:至少两台服务器、一个共享盘阵,每台服务器需要两块网卡。一块用于两台主机之间的连接,两台主机通过此连接定期向对方发送检测信号,判断对方工作状态(如下图红线标注)。另外一块网卡用于和外网的连接。

NodeB (备用节点)

   NodeA (主机节点)

 

心跳线

 

 

 

 

 

 

 

 

HA 软件方面要求:

必须操作系统HA软件支持,根据操作系统平台不同如:Microsoft Cluster Server(MSCS) 、HP MC/ServiceGuard 、AIX HACMP 、SUN Sun Cluster

磁盘阵列要求:

必须和各节点保持物理连接。

实现方式

Windows平台:在两台节点上分别安装数据库软件,在磁盘阵列上创建数据库。主节点对磁盘阵列有控制权,同时虚拟IP工作在主节点上。用户通过主节点访问磁盘阵列上的数据库。当主节点发生失败时,MSCS服务将磁盘阵列的控制权以及虚拟IP漂移到备用节点上,并重新启动数据库,用户在等待很短的时间后,可以重新访问数据库。

UNIX平台:在两台节点上分别安装数据库软件,在磁盘阵列上创建数据库。磁盘阵列MOUNT在主节点上,虚拟IP也工作在主节点。用户通过主节点访问磁盘阵列上的数据库。当主节点发生失败时。HA软件将磁盘阵列从主节点上UMOUNT下来,并将磁盘阵列MOUNT到备用节点上,同时完成虚拟IP的漂移。并重新启动数据库,用户在等待很短的时间后,可以重新访问数据库

  数据库群集方案的原理及实现

以下简单说明集群方式的原理及实现:

n       方案原理

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Server A 主节点

 

 

 

 

 

 

 

 

Server B 备节点

 

 

 

 

 

 

 

 

 

 

Database

 

 

 

          

                      

           

 

 

 

 

 

ORACLE  REAL  APPLICATION  CLUSTE高可用方式又称为Hot FailOver。Real Application Cluster(9i版本以前称作Oracle Parallel Server,OPS)用来在群机环境下实现多机共享数据库,以保证应用的高可用性。同时可以自动实现并行处理及均分负载,还能实现数据库在故障时的容错和无断点恢复。Real Application Cluster为大多数高要求数据库环境提供了极高的性能和完美的纠错功能。Real Application Cluster允许群集系统或大型并行系统中的多个节点共享同一物理数据库。Real Application Cluster可以自动进行负载平衡、故障修复和规划停机时间,以支持高可用性应用程序。它还显著提高了大型数据仓库和决策支持系统的性能。与并行查询选件结合,它还提供了节点间并行性和节点的并行性,以得到更高的性能。

n       方案评价

Oracle Real Application Clusters是多实例数据库系统,它的工作方式是Shared Disk方式。由多个节点上的多个实例(每台节点一个)同时操作数据库,也就是同一时间段,群集内的所有节点对共享盘阵都有操作权。在一台节点发生节点失败时,完成切换。应用切换对前端用户透明。Oracle Real Application Clusters可以使所有的应用程序不经修改便能获得集群数据库的高可用性、可伸缩性和高性能。应用程序可以将Oracle Real Application Clusters当成一个单一的系统使用,而不必再进行修改或分区,以获取类似集群数据库的可伸缩性。这允许用户随着应用及需求的不断增长,横向地伸缩数据库的级数,而不必对应用程序进行修改。而且,Oracle Real Application Clusters是自适应的,能够根据数据库负载情况的变化进行自我调节——动态地在集群服务器上移动数据库资源,以获取最佳性能。

n       方案具体实现

Oracle Real Application Cluster系统几乎支持现阶段所用供应商。例如:Microsoft , Sun , HP , IBM , Compaq , Intel , Linux….。在10G以前的版本完成此种方式对硬件,操作系统及各厂家HA软件有一定要求。在10G以后的版本oracle公司自身提供了cluster软件——crs,可以在没有操作系统cluster软件支持的情况下实现RAC,但在文件存储上有一定的限制。如果不使用操作系统的cluster软件,oracle无法使用传统的裸设备来存储数据库文件。

硬件要求:

至少两台服务器、一个共享盘阵,每台服务器在不考虑冗余的情况下最少需要两块高速网卡。一块用于各节点之间的高速通道连接,节点通过此连接发送内部通讯信息。另外一块网卡用于和外网的连接。

软件要求:

操作系统:RAC支持各种主流操作系统。Windows、IBM AIX、HP HP-UX、Sun Solaris、Tru64 UNIX 、linux

实现方式:

操作系统底层CLUSTER搭建好后(可选),首先安装配置oracle crs软件。然后在一台节点上安装ORACLE软件,安装程序在这一节点安装完成后会自动将软件拷贝到群集中的所有节点上,然后在共享磁盘阵列上创建数据库。安装完成后各节点上的实例都可以访问磁盘阵列上的数据库。



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [oracle 集群 学习] 推荐:

oracle 集群学习

- - 数据库 - ITeye博客
原文: http://www.cnblogs.com/yinuo/articles/2703883.html. 数据库双机可以有两种不同的方式:双机热备份、双机集群. 双机热备份方式的集群完全通过操作系统的cluster软件来实现,在同一个时刻,只有一台机器对数据库作操作,当这台机器发生故障以后,由操作系统cluster将所有资源切换到两外一个节点,防止单节点数据库故障.

Oracle 收购 Ksplice

- feng823 - LinuxTOY
实现无需重启即可为 Linux 内核打安全补丁的 Ksplice 被 Oracle 收购. 在被收购前, Ksplice 为 Fedora, Ubuntu 免费提供该功能,对于 RHEL 和 CentOS 则需要订阅其产品. Oracle 表示将把 Ksplice 带来的零宕机安全更新功能添加到 Oracle 产品订阅服务中,同时停止对其他企业级 Linux 发行版的支持,将 Oracle Unbreakable Linux 打造成唯一具备零宕机安全更新功能的企业级 Linux 发行版.

Linux Ksplice,MySQL and Oracle

- Syn - DBA Notes
Oracle 在 7 月份收购了 Ksplice. 使用了 Ksplice 的 Linux 系统,为 Kernel 打补丁无需重启动,做系统维护的朋友应该明白这是一个杀手级特性. 现在该产品已经合并到 Oracle Linux 中. 目前已经有超过 700 家客户,超过 10 万套系统使用了 Ksplice (不知道国内是否已经有用户了.

oracle license计算

- Fenng - eagle&#39;s home
Oracle license的计算是基于CPU core的. 用core的数目乘以一个系数core factor就可以得到所需的oracle license的数目. 对于不同的CPU,core factor是不一样的,可以从oracle提供的这张列表中查到 Oracle Processor Core Factor Table.

Oracle Exadata初探

- - 技术改变世界 创新驱动中国 - 《程序员》官网
在我们看来,它是一个把硬件和软件根据合理的配置整合在一起的 Oracle数据库(在本文编写时是11gR2版本)平台. Exadata数据库机器包含了存储子系统,在存储层上运行着研发的新软件,这使得研发人员可以做一些在其他平台上无法完成的事情. 实际上,Exadata一开始是以一个存储系统形式诞生的,如果你跟参与研发此产品的人交谈,你经常会听到他们称存储组件为Exadata或者是SAGE (Storage Appliance for Grid Environments,网格环境存储设备),这是该产品研发项目的代码名称.

Oracle MySQL Or NoSQL续

- - Sky.Jian 朝阳的天空
接前面一篇,这里再将之前在“中国系统架构师大会”5周年的时候发布的纪念册“IT架构实录”上的一篇文章发出来,也算是前面博文中PPT的一个文字版解读吧. Oracle,MySQL 还是 NoSQL. 随着阿里系的“去IOE”运动在社区的宣传声越来越大,国内正在掀起一股“去xxx”的技术潮. 不仅仅是互联网企业,包括运营商以及金融机构都已经开始加入到这个潮流之中.

[转]Oracle 碎片

- - 小鸥的博客
  当生成一个数据库时,它会 分成称为表空间( Tablespace )的多个逻辑段( Segment ),如系统( System )表空间 , 临时( Temporary )表空间等. 一个表空间可以包含多个数据范围( Extent )和一个或多个自由范围块,即自由空间( Free Space ).

oracle 索引

- - 数据库 - ITeye博客
        自动:在使用primary和unique后系统会自动创建唯一索引.         手动:create   index   索引名  on 表名(字段1,....). 查询表上有哪些索引(网上找的,能用,表名和索引名要大写). 1、查找表的所有索引(包括索引名,类型,构成列):. select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表.

Oracle索引

- - Oracle - 数据库 - ITeye博客
在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快. 索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容. 对于数据库来说,索引是一个必选项,但对于现在的各种大型数据库来说,索引可以大大提高数据库的性能,以至于它变成了数据库不可缺少的一部分. singlecolumnorconcatenated  对一列或多列建所引.

Oracle表空间(tablespaces)

- - 博客园_首页
  我们知道oarcle数据库真正存放数据的是数据文件(data files),Oarcle表空间(tablespaces)实际上是一个逻辑的概念,他在物理上是并不存在的,那么把一组data files 捻在一起就成为一个表空间. 一个数据库可以包含多个表空间,一个表空间只能属于一个数据库. 一个表空间包含多个数据文件,一个数据文件只能属于一个表空间.