精华内容
下载资源
问答
  • Oracle rac集群

    2018-11-16 13:05:26
    集群是一组或多个互连的计算机或服务器,对最终用户和应用程序来说一台服务器,通常共享同一组物理磁盘 先规划在开始实施 VIP pip 客户端使用vIP 管理员使用PIP 各整个集群配置了一个IP=SCANip(中间件层)=(真实...
  • 一、 Oracle集群体系结构 Oracle RAC,全称是Oracle Real Application Cluster,即真正的应用集群,是oracle提供的一个并行集群系统,整个集群系统由Oracle Clusterware (集群就绪软件)和 Real Application ...
    一、 Oracle集群体系结构 
    
    Oracle RAC,全称是Oracle Real Application Cluster,即真正的应用集群,是oracle提供的一个并行集群系统,整个集群系统由Oracle Clusterware (集群就绪软件)和 Real Application Clusters(RAC)两大部分组成。
     
    oracle RAC的实质是位于不同操作系统的Oracle实例节点同时访问同一个Oracle数据库,每个节点间通过私有网络进行通信,互相监控节点的运行状态,oracle数据库所有的数据文件、联机日志文件、控制文件等均放在集群的共享存储设备上,而共享存储设备可以是RAW、ASM、OCFS2等,所有集群节点可以同时读写共享存储。Oracle RAC的基本拓扑结构如下所示:

     
    由拓扑结构可知:
    一个Oracle Rac数据库有多个服务器节点组成,每个服务器节点上都有自己独立的OS、ClusterWare、oracle Rac数据库程序等,并且每个节点都有自己的网络监听器。ClusterWare是一个集群软件,主要用于集群系统管理,oracle Rac数据库程序用于提供oracle实例进程,以供客户端访问集群系统,监听服务主要用于监控自己的网络端口信息,所有的服务和程序通过操作系统都去访问一个共享存储,最终完成数据的读写。共享存储的实现方式有很多种,可以通过使用自动存储管理(ASM)、Oracle集群文件系统(OCFS)、裸设备(Raw)、网络区域存储(NAS)等来保证整个集群系统数据的一致性。
    从Oracle10g起,Oracle提供了自己的集群软件,即Oracle clusterware,它通过CRS(即Cluster Ready Services)来实现,这个软件是安装oracle rac的前提,也是RAC环境稳定运行的基础,在oracle10g之前的版本,安装RAC时必须借助与第三方的集群软件,而在oracle10g以后,安装oracle rac时,可以用oracle自带的集群软件,也可以使用经过RAC认证的第三方集群软件来代替。
    从oracle的运行机制来说,集群中每台服务器就是一个oracle实例,多个oracle实例对应同一个oracle数据库,组成了oracle数据库集群。请看下图:
     

    从图中可以看出,运行在两个节点上的数据库实例访问同一个RAC数据库,并且两个节点的本地磁盘仅用来存放oracle安装程序和ClusterWare软件,而在共享存储上,存放了oracle的数据文件、控制文件、联机日志文件、归档日志文件等,这是安装oracle Rac时的一种数据存储分配方式,其实,RAC提供了多种数据存储方式,这个将在下面进行独立介绍。
     
     
    二、 Oracle Clusterware体系结构与进程介绍
     
    2.1、Oracle Clusterware 简介
    Cluster Ready Services,简称CRS,是oracle开发的一个集群软件,与其它集群软件类似,CRS主要完成集群成员管理、心跳监控、故障切换等功能,CRS要求每个集群节点的操作系统必须相同,这样,通过CRS将多个节点的操作系统绑定到了一起,客户端对集群的访问,就像访问一台服务器一样。
    CRS主要有两个集群套件组成,分别是voting disk和Oracle Cluster Registry。
    voting disk,即为表决磁盘,集群中每个节点定期评估自身的健康情况,然后会把它的状态信息放入到表决磁盘上。并且节点间也会互相查看其运行状态,并把信息传递给其他节点进而写入表决磁盘。当集群节点发生故障时,还可以通过表决磁盘进行投票仲裁等,因此,表决磁盘必须放在共享存储设备上。以保证每个节点都能访问到。表决磁盘可以是一个裸磁盘分区,也可以是一个独立的文件。由于它仅记录节点运行信息,磁盘大小一般在10-20M左右即可。
    Oracle Cluster Registry,简称OCR,即集群注册服务,OCR主要用于记录RAC中集群和数据库的配置信息。这些信息包括了集群节点的列表、集群数据库实例到节点的映射以及CRS应用程序资源信息。
    CRS使用两种心跳设备来验证节点成员的状态,保证集群的完整性:一个是表决磁盘,集群同步服务进程每隔几秒钟都会向表决磁盘写入一条心跳信息,集群通过表决磁盘即可验证节点的状态,如果某个节点在指定的最大时间段内没有向表决磁盘写入信息,集群就认为此节点失效了,进而执行故障切换。另一个心跳是节点间私有以太网的心跳,通过这个心跳机制可以判断节点间是否出现了网络故障。两种心跳机制的结合,有效的增加了集群的可靠性。
    另外,CRS建议用于内部通讯的私有以太网心跳必须与用于RAC节点间通讯的网络分开,也就是不能在同一网络中,如果RAC节点间通讯的网络与私有以太网心跳在同一个网络内,那么,必须保证该网络不能被非集群系统的节点访问到。
     
     
    2.2、Oracle Clusterware 进程介绍
    Oracle Clusterware 通过Cluster Ready Services来完成集群功能,CRS包含了一组相互协作的后台进程,下面详细介绍下CRS中几个很重要的后台进程。
    1 Cluster Synchronization Services
    简称CSS,用于管理与协调集群中各节点的关系,并用于节点间通信,当节点在加入或离开集群时,都由css进行通知集群。CSS在集群中对应的后台进程为CSSD,该进程由oracle用户运行和管理。当节点发生故障时,cssd会自动重启操作系统。
    2 Cluster Ready Services
    简称CRS,是管理群集内高可用操作的主要程序,在集群中CRS管理所有资源,包括数据库、服务、实例、vip地址、监听器、应用进程等,CRS在集群中对应的后台进程为CRSD,该进程可以对集群资源进行启动、停止、监视和容错等操作,正常状态下,CRSD监控节点各种资源,当某个资源发生异常时,自动重启或者切换该资源。
    3 Process Monitor Daemon
    简称OPROCD,此进程被锁定在内存中,用于监控集群及提供I/O防护(I/O fencing)。OPROCD运行在每个节点上,且定期执行健康检测,如果在超过它所希望的间隔内,仍然不能和某个节点通信,那么,OPROCD将会重置处理器及重启节点。一个OPROCD故障也将导致Clusterware重启节点。
    4 Oracle Notification Service
    简称ONS,即oracle通告服务,主要用于发布和订阅Fast Application Notification事件。
    5 Event Management
    简称EVM,是一个事件检测的后台进程,由oracle用户运行和管理。
     
    三、 RAC数据库体系机构与进程
     
    3.1、RAC简介
    RAC是一个具有共享缓存体系结构的集群数据库,它克服了传统的不共享和共享磁盘方法的限制,为所有业务应用程序提供了一种具有可伸缩性和可用性的数据库解决方案,它一般与Oracle Clusterware 或第三方集群软件共同组成Oracle集群系统。
    RAC是一个全共享式的体系架构,它的所有数据文件、控制文件、联机日志文件、参数文件等都必须存放在共享磁盘中,因为只有这样,集群所有节点才能访问到,RAC支持多种存储方式,可以使用下面几种方式的任意一种:
    (1)裸设备(Raw devices)
    也就是不经过文件系统,将数据直接写入磁盘中,这种方式的好处是磁盘I/O性能很高,适合写操作频繁的业务系统,但缺点也很明显:数据维护和备份不方便,备份只能通过dd命令或者基于块级别的备份设备来完成,这无疑增加了维护成本。
    (2)集群文件系统
    为了支持共享存储,oracle开发出了集群文件系统OCFS,这个文件系统可用于Windows、Linux和Solaris,现在已经发展到了OCFS2,通过OCFS2文件系统,多个集群节点可以同时读写一个磁盘而不破坏数据,但对于大量读写的业务系统,性能不是很高。另外,oracle RAC也支持第三方的集群文件系统,例如Redhat的GFS等。
    (3)网络文件系统(NFS)
    (4)Automated Storage Management
    Automated Storage Management,简称ASM,是Oracle推荐的共享数据存储方式,它是Oracle数据库10g包含的一个特性。ASM其实就是RAW方式存储数据,但是加入了数据管理功能,它通过将数据直接写入磁盘,避免了经过文件系统而产生的I/O消耗。因而,使用ASM可以很方便地管理共享数据,并提供异步I/O的性能。ASM还可以通过分配I/O负载来优化性能,免除了手动调整I/O的需要。
     
    3.2、Oracle RAC的特点
    通过RAC数据库,可以构建一个高性能、高可靠的数据库集群系统,RAC的优势在于:
    (1)可以实现多个节点间的负载均衡
    RAC数据库集群可以根据设定的调度策略,在集群节点间实现负载均衡,因此,RAC数据库每个节点都是工作的,同时也处于互相监控状态,当某个节点出现故障时,RAC集群自动将失败节点从集群隔离,并将失败节点的请求自动转移到其它健康节点上,从而实现服务透明切换。
    (2)可以提供高可用服务
    这个是Oracle Clusterware实现的功能,通过CRS可以实现节点状态监控,故障透明转移,这保证了oracle数据库可以对外不间断的提供服务。
    (3)通过横向扩展提高了并发连接数
    RAC这个优点非常适合大型的联机事务系统中。
    (4)通过并行执行技术提高了事务响应时间
    这个是RAC集群的一大优势,通常用于数据分享系统中。
    (5)具有很好的扩展性
    在集群系统不能满足繁忙的业务系统时,RAC数据库可以很方便的添加集群节点,且可以在线完成节点的添加,并自动加入集群系统,不存在宕机时间;同时在不需要某个集群节点时,删除节点也非常简单。
    RAC数据库也有一定的缺点:
    (1)与单机数据库相比,管理维护更复杂,并对维护人员要求更高
    (2)底层规划设计不好时,系统整体性能会较差,甚至不如单机系统的性能。所以,如果对RAC数据库不是很了解,不建议马上在生产环境中使用。
    (3)由于RAC集群系统需要多个节点,那么需要购买多台服务器,同时需要oracle企业级版本数据库,这无形中也增加了软硬件成本。
     
    3.3、RAC进程管理
    RAC数据库是由多个节点构成的,每个节点就是一个数据库实例,而每个实例都有自己的后台进程和内存结构,并且在RAC集群中,每个实例的后台进程和内存结构都是相同的,从整体上看起来,就像是一个单一数据库的镜像,但是,RAC数据库在结构上与单实例库也有不同之处:
    (1) RAC数据库的每个实例至少拥有一个额外的重做线程(redo thread)
    (2) RAC数据库的每个实例都拥有自己的撤消表空间(undo tablespace) 
    很显然,这种机制是每个实例独立的使用自己的重做线程和撤消表空间,各自锁定自己修改的数据。  RAC的这种设计方式,把多个实例的操作相对独立的分开。那么RAC数据库如何实现节点数据的一致性呢,其实每个RAC实例的SGA内有一个buffer cache(缓冲区),通过Cache Fusion(缓存融合)技术,RAC在各个节点之间同步SGA中的缓存信息,从而保证了节点数据的一致性,同时也提高了集群的访问速度。
    RAC数据库最大的特点是共享,那么如何实现多个节点有条不紊的数据共享呢,这就是要说的RAC的两个进程:即Global Cache Service (GCS) 和 the Global Enqueue Service (GES)
    全局缓存服务(GCS)和全局队列服务(GES)是最基本的RAC进程,主要用于协调对共享数据库和数据库内的共享资源的同时访问。同时,GES和GCS通过使用全局资源目录(Global Resource Directory,GRD)来记录和维护每个数据文件的状态信息,而GRD保存在内存中,内容分布存储在所有实例上。每个实例都管理部分内容。
     
          RAC中通过几个特别的进程与GRD相结合,使得RAC可以使用缓存融合技术,这几个特别进程是:
    Global Cache Service Processes(LMSn)
    LMS进程主要用来管理集群内数据块的访问,并在不同实例的BUFFER CACHE中传输块镜像。 
    Global Enqueue Service Monitor(LMON)
    LMON主要监视群集内的全局资源和集群间的资源交互,并管理实例和处理异常,以及集群队列的恢复操作。 
    Global Enqueue Service Daemon(LMD)
    LMD进程主要管理对全局队列和全局资源的访问,并更新相应队列的状态,处理来自于其他实例的资源请求。 
    Lock Processes(LCK)
    LCK进程主要用来管理实例间资源请求和跨实例调用操作,并管理除Cache Fusion以外的资源请求,比如library和row cache的请求等。 
    Diagnosability Daemon(DIAG)
    DIAG进程主要用来捕获实例中失败进程的诊断信息,并生成相应的TRACE文件。
     
     
    3.4、RAC数据库存储规划
    安装RAC数据库时涉及到的软件有Oracle Clusterware、Oracle Rac数据库软件,同时还涉及到voting disk、OCR等,关于每部分需要占用磁盘空间大小如下:
     
    在了解了RAC每部分所需的磁盘空间大小后,就可以根据每部分的用途来规划数据存储了。RAC广泛支持各种数据存储方式,例如单一日志文件系统ext2/ext3、集群文件系统OCFS2/GFS、网络文件系统NFS、裸设备RAW、自动存储管理ASM等,下表列出了可以使用的存储类型:

     
    具体使用哪种存储策略,要根据安装RAC环境的不同而不同。这里推荐三种常用的存储方式:

    本文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/862207


    展开全文
  • oracle集群安装之后,接下来也是最重要的数据库安装,整个数据库安装难度不大,用户以oracle用户身份登录RAC1主节点,对解压后的文件安装。主节点下安装后,其他所有结点自动安装,采用的原理机制就是ssh通信机制...

                        Oracle 11G RAC数据库安装(八)

    数据库安装

    继oracle集群安装之后,接下来也是最重要的数据库安装,整个数据库安装难度不大,用户以oracle用户身份登录RAC1主节点,对解压后的文件安装。主节点下安装后,其他所有结点自动安装,采用的原理机制就是ssh通信机制,所以前期ssh配置,各节点自动通信很重要。好在11G之后可以自动完成ssh配置,不用纯脚本,只需要按照步骤配置即可。接下来看下整体数据库群架构图。针对linux环境下搭建oracle数据库,本文也适用。针对数据库管理参见下文,针对安装前上传文件,解压等参见上文。另:oracle RAC集群整体配置基于三个步骤(前期配置,集群安装,数据库安装)

     

     

    以oracle用户身份登录RAC1主节点,对解压后的文件安装。(只需要主节点进行配置即可,子节点通过ssh通信,自动配置)

    ./runInstaller


    不选择复选框security updates checkbox,下一步.

     

    选择"Create and configure a database" ,下一步.(选择创建数据库同时创建数据仓库,采用官方建议)

     

    选择"Server Class" ,下一步.(如果单纯在linux下进行oracle,非集群环境下亦可)

     

    选择所有节点,配置ssh,下一步.(ssh负责多节点间通信,即配置主节点所有子节点同步)

     

    选择 "Typical install" ,下一步.(这个正常安装也常见,普通安装和高级安装)

     

    输入 "/u01/app/oracle/product/11.2.0/db_1" 作为路径. 文件设置"/u01/oradata". 设定数据库用户名,密码。数据库自行命名"RAC.localdomain".(地址预先规划的,特别新手对linux不熟悉,很多路径难以管理)

     

    等待安装,中间遇到问题忽略,下一步

     

    看到如下界面,选择完成.

     

    等待安装.

     

    自动弹出创建数据仓库DBCA.(这个DBCA就是所谓狭义数据库,里面可以创建表空间,表,视图等)

     

    完成数据仓库安装,选择OK,继续安装.

     

    出现如下提示,在所有结点下以root身份登录,全部结点执行以下两句脚本.(这个上篇集群配置有介绍,不详述)

     

    选择关闭,完成安装.

     

    以上对整个数据库配置,本篇比较容易,包括集群安装也是。重点难点还是对安装前配置比较麻烦,步骤比较多,重点心细。
    展开全文
  • oracle RAC集群体系结构

    2014-05-31 11:45:28
    Oracle系列:Oracle RAC集群体系结构 2012-05-13 13:28:14 标签:体系结构 oracle ...原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明... 一、 Oracle集群体系结构 Oracle
    原文:Oracle系列:Oracle RAC集群体系结构  作者: 南非蚂蚁
    2012-05-13 13:28:14
    标签: 体系结构  oracle rac
    原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://ixdba.blog.51cto.com/2895551/862207

     一、 Oracle集群体系结构

    Oracle RAC,全称是Oracle Real Application Cluster,即真正的应用集群,是oracle提供的一个并行集群系统,整个集群系统由Oracle Clusterware (集群就绪软件)和 Real Application Clusters(RAC)两大部分组成。
     
    oracle RAC的实质是位于不同操作系统的Oracle实例节点同时访问同一个Oracle数据库,每个节点间通过私有网络进行通信,互相监控节点的运行状态,oracle数据库所有的数据文件、联机日志文件、控制文件等均放在集群的共享存储设备上,而共享存储设备可以是RAW、ASM、OCFS2等,所有集群节点可以同时读写共享存储。Oracle RAC的基本拓扑结构如下所示:

     
    由拓扑结构可知:
    一个Oracle Rac数据库有多个服务器节点组成,每个服务器节点上都有自己独立的OS、ClusterWare、oracle Rac数据库程序等,并且每个节点都有自己的网络监听器。ClusterWare是一个集群软件,主要用于集群系统管理,oracle Rac数据库程序用于提供oracle实例进程,以供客户端访问集群系统,监听服务主要用于监控自己的网络端口信息,所有的服务和程序通过操作系统都去访问一个共享存储,最终完成数据的读写。共享存储的实现方式有很多种,可以通过使用自动存储管理(ASM)、Oracle集群文件系统(OCFS)、裸设备(Raw)、网络区域存储(NAS)等来保证整个集群系统数据的一致性。
    从Oracle10g起,Oracle提供了自己的集群软件,即Oracle clusterware,它通过CRS(即Cluster Ready Services)来实现,这个软件是安装oracle rac的前提,也是RAC环境稳定运行的基础,在oracle10g之前的版本,安装RAC时必须借助与第三方的集群软件,而在oracle10g以后,安装oracle rac时,可以用oracle自带的集群软件,也可以使用经过RAC认证的第三方集群软件来代替。
    从oracle的运行机制来说,集群中每台服务器就是一个oracle实例,多个oracle实例对应同一个oracle数据库,组成了oracle数据库集群。请看下图:
     

    从图中可以看出,运行在两个节点上的数据库实例访问同一个RAC数据库,并且两个节点的本地磁盘仅用来存放oracle安装程序和ClusterWare软件,而在共享存储上,存放了oracle的数据文件、控制文件、联机日志文件、归档日志文件等,这是安装oracle Rac时的一种数据存储分配方式,其实,RAC提供了多种数据存储方式,这个将在下面进行独立介绍。
     
     
    二、 Oracle Clusterware体系结构与进程介绍
     
    2.1、Oracle Clusterware 简介
    Cluster Ready Services,简称CRS,是oracle开发的一个集群软件,与其它集群软件类似,CRS主要完成集群成员管理、心跳监控、故障切换等功能,CRS要求每个集群节点的操作系统必须相同,这样,通过CRS将多个节点的操作系统绑定到了一起,客户端对集群的访问,就像访问一台服务器一样。
    CRS主要有两个集群套件组成,分别是voting disk和Oracle Cluster Registry。
    voting disk,即为表决磁盘,集群中每个节点定期评估自身的健康情况,然后会把它的状态信息放入到表决磁盘上。并且节点间也会互相查看其运行状态,并把信息传递给其他节点进而写入表决磁盘。当集群节点发生故障时,还可以通过表决磁盘进行投票仲裁等,因此,表决磁盘必须放在共享存储设备上。以保证每个节点都能访问到。表决磁盘可以是一个裸磁盘分区,也可以是一个独立的文件。由于它仅记录节点运行信息,磁盘大小一般在10-20M左右即可。
    Oracle Cluster Registry,简称OCR,即集群注册服务,OCR主要用于记录RAC中集群和数据库的配置信息。这些信息包括了集群节点的列表、集群数据库实例到节点的映射以及CRS应用程序资源信息。
    CRS使用两种心跳设备来验证节点成员的状态,保证集群的完整性:一个是表决磁盘,集群同步服务进程每隔几秒钟都会向表决磁盘写入一条心跳信息,集群通过表决磁盘即可验证节点的状态,如果某个节点在指定的最大时间段内没有向表决磁盘写入信息,集群就认为此节点失效了,进而执行故障切换。另一个心跳是节点间私有以太网的心跳,通过这个心跳机制可以判断节点间是否出现了网络故障。两种心跳机制的结合,有效的增加了集群的可靠性。
    另外,CRS建议用于内部通讯的私有以太网心跳必须与用于RAC节点间通讯的网络分开,也就是不能在同一网络中,如果RAC节点间通讯的网络与私有以太网心跳在同一个网络内,那么,必须保证该网络不能被非集群系统的节点访问到。
     
     
    2.2、Oracle Clusterware 进程介绍
    Oracle Clusterware 通过Cluster Ready Services来完成集群功能,CRS包含了一组相互协作的后台进程,下面详细介绍下CRS中几个很重要的后台进程。
    1 Cluster Synchronization Services
    简称CSS,用于管理与协调集群中各节点的关系,并用于节点间通信,当节点在加入或离开集群时,都由css进行通知集群。CSS在集群中对应的后台进程为CSSD,该进程由oracle用户运行和管理。当节点发生故障时,cssd会自动重启操作系统。
    2 Cluster Ready Services
    简称CRS,是管理群集内高可用操作的主要程序,在集群中CRS管理所有资源,包括数据库、服务、实例、vip地址、监听器、应用进程等,CRS在集群中对应的后台进程为CRSD,该进程可以对集群资源进行启动、停止、监视和容错等操作,正常状态下,CRSD监控节点各种资源,当某个资源发生异常时,自动重启或者切换该资源。
    3 Process Monitor Daemon
    简称OPROCD,此进程被锁定在内存中,用于监控集群及提供I/O防护(I/O fencing)。OPROCD运行在每个节点上,且定期执行健康检测,如果在超过它所希望的间隔内,仍然不能和某个节点通信,那么,OPROCD将会重置处理器及重启节点。一个OPROCD故障也将导致Clusterware重启节点。
    4 Oracle Notification Service
    简称ONS,即oracle通告服务,主要用于发布和订阅Fast Application Notification事件。
    5 Event Management
    简称EVM,是一个事件检测的后台进程,由oracle用户运行和管理。
     
    三、 RAC数据库体系机构与进程
     
    3.1、RAC简介
    RAC是一个具有共享缓存体系结构的集群数据库,它克服了传统的不共享和共享磁盘方法的限制,为所有业务应用程序提供了一种具有可伸缩性和可用性的数据库解决方案,它一般与Oracle Clusterware 或第三方集群软件共同组成Oracle集群系统。
    RAC是一个全共享式的体系架构,它的所有数据文件、控制文件、联机日志文件、参数文件等都必须存放在共享磁盘中,因为只有这样,集群所有节点才能访问到,RAC支持多种存储方式,可以使用下面几种方式的任意一种:
    (1)裸设备(Raw devices)
    也就是不经过文件系统,将数据直接写入磁盘中,这种方式的好处是磁盘I/O性能很高,适合写操作频繁的业务系统,但缺点也很明显:数据维护和备份不方便,备份只能通过dd命令或者基于块级别的备份设备来完成,这无疑增加了维护成本。
    (2)集群文件系统
    为了支持共享存储,oracle开发出了集群文件系统OCFS,这个文件系统可用于Windows、Linux和Solaris,现在已经发展到了OCFS2,通过OCFS2文件系统,多个集群节点可以同时读写一个磁盘而不破坏数据,但对于大量读写的业务系统,性能不是很高。另外,oracle RAC也支持第三方的集群文件系统,例如Redhat的GFS等。
    (3)网络文件系统(NFS)
    (4)Automated Storage Management
     Automated Storage Management,简称ASM,是Oracle推荐的共享数据存储方式,它是Oracle数据库10g包含的一个特性。ASM其实就是RAW方式存储数据,但是加入了数据管理功能,它通过将数据直接写入磁盘,避免了经过文件系统而产生的I/O消耗。因而,使用ASM可以很方便地管理共享数据,并提供异步I/O的性能。ASM还可以通过分配I/O负载来优化性能,免除了手动调整I/O的需要。
     
    3.2、Oracle RAC的特点
    通过RAC数据库,可以构建一个高性能、高可靠的数据库集群系统,RAC的优势在于:
    (1)可以实现多个节点间的负载均衡
    RAC数据库集群可以根据设定的调度策略,在集群节点间实现负载均衡,因此,RAC数据库每个节点都是工作的,同时也处于互相监控状态,当某个节点出现故障时,RAC集群自动将失败节点从集群隔离,并将失败节点的请求自动转移到其它健康节点上,从而实现服务透明切换。
    (2)可以提供高可用服务
    这个是Oracle Clusterware实现的功能,通过CRS可以实现节点状态监控,故障透明转移,这保证了oracle数据库可以对外不间断的提供服务。
    (3)通过横向扩展提高了并发连接数
    RAC这个优点非常适合大型的联机事务系统中。
    (4)通过并行执行技术提高了事务响应时间
    这个是RAC集群的一大优势,通常用于数据分享系统中。
    (5)具有很好的扩展性
    在集群系统不能满足繁忙的业务系统时,RAC数据库可以很方便的添加集群节点,且可以在线完成节点的添加,并自动加入集群系统,不存在宕机时间;同时在不需要某个集群节点时,删除节点也非常简单。
    RAC数据库也有一定的缺点:
    (1)与单机数据库相比,管理维护更复杂,并对维护人员要求更高
    (2)底层规划设计不好时,系统整体性能会较差,甚至不如单机系统的性能。所以,如果对RAC数据库不是很了解,不建议马上在生产环境中使用。
    (3)由于RAC集群系统需要多个节点,那么需要购买多台服务器,同时需要oracle企业级版本数据库,这无形中也增加了软硬件成本。
     
    3.3、RAC进程管理
    RAC数据库是由多个节点构成的,每个节点就是一个数据库实例,而每个实例都有自己的后台进程和内存结构,并且在RAC集群中,每个实例的后台进程和内存结构都是相同的,从整体上看起来,就像是一个单一数据库的镜像,但是,RAC数据库在结构上与单实例库也有不同之处:
    (1) RAC数据库的每个实例至少拥有一个额外的重做线程(redo thread)
    (2) RAC数据库的每个实例都拥有自己的撤消表空间(undo tablespace) 
    很显然,这种机制是每个实例独立的使用自己的重做线程和撤消表空间,各自锁定自己修改的数据。  RAC的这种设计方式,把多个实例的操作相对独立的分开。那么RAC数据库如何实现节点数据的一致性呢,其实每个RAC实例的SGA内有一个buffer cache(缓冲区),通过Cache Fusion(缓存融合)技术,RAC在各个节点之间同步SGA中的缓存信息,从而保证了节点数据的一致性,同时也提高了集群的访问速度。
    RAC数据库最大的特点是共享,那么如何实现多个节点有条不紊的数据共享呢,这就是要说的RAC的两个进程:即Global Cache Service (GCS) 和 the Global Enqueue Service (GES)
    全局缓存服务(GCS)和全局队列服务(GES)是最基本的RAC进程,主要用于协调对共享数据库和数据库内的共享资源的同时访问。同时,GES和GCS通过使用全局资源目录(Global Resource Directory,GRD)来记录和维护每个数据文件的状态信息,而GRD保存在内存中,内容分布存储在所有实例上。每个实例都管理部分内容。
     
          RAC中通过几个特别的进程与GRD相结合,使得RAC可以使用缓存融合技术,这几个特别进程是:
    Global Cache Service Processes(LMSn)
    LMS进程主要用来管理集群内数据块的访问,并在不同实例的BUFFER CACHE中传输块镜像。 
    Global Enqueue Service Monitor(LMON)
    LMON主要监视群集内的全局资源和集群间的资源交互,并管理实例和处理异常,以及集群队列的恢复操作。 
    Global Enqueue Service Daemon(LMD)
    LMD进程主要管理对全局队列和全局资源的访问,并更新相应队列的状态,处理来自于其他实例的资源请求。 
    Lock Processes(LCK)
    LCK进程主要用来管理实例间资源请求和跨实例调用操作,并管理除Cache Fusion以外的资源请求,比如library和row cache的请求等。 
    Diagnosability Daemon(DIAG)
    DIAG进程主要用来捕获实例中失败进程的诊断信息,并生成相应的TRACE文件。
     
     
    3.4、RAC数据库存储规划
    安装RAC数据库时涉及到的软件有Oracle Clusterware、Oracle Rac数据库软件,同时还涉及到voting disk、OCR等,关于每部分需要占用磁盘空间大小如下:
     
    在了解了RAC每部分所需的磁盘空间大小后,就可以根据每部分的用途来规划数据存储了。RAC广泛支持各种数据存储方式,例如单一日志文件系统ext2/ext3、集群文件系统OCFS2/GFS、网络文件系统NFS、裸设备RAW、自动存储管理ASM等,下表列出了可以使用的存储类型:

     
    具体使用哪种存储策略,要根据安装RAC环境的不同而不同。这里推荐三种常用的存储方式:

    本文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/862207

    展开全文
  • ORACLE RAC集群的体系结构

    万次阅读 2016-10-25 16:49:44
    RAC是一个完整的集群应用环境,它不仅实现了集群的功能,而且提供了运行在集群之上的应用程序,即Oracle数据库。无论与普通的集群相比,还是与普通的Oracle数据库相比,RAC都有一些独特之处。 RAC由至少两个节点...
    	RAC是一个完整的集群应用环境,它不仅实现了集群的功能,而且提供了运行在集群之上的应用程序,即Oracle数据库。无论与普通的集群相比,还是与普通的Oracle数据库相比,RAC都有一些独特之处。
    RAC由至少两个节点组成,节点之间通过公共网络和私有网络连接,其中私有网络的功能是实现节点之间的通信,而公共网络的功能是提供用户的访问。在每个节点上分别运行一个Oracle数据库实例和一个监听器,分别监听一个IP地址上的用户请求,这个地址称为VIP(Virtual IP)。用户可以向任何一个VIP所在的数据库服务器发出请求,通过任何一个数据库实例访问数据库。Clusterware负责监视每个节点的状态,如果发现某个节点出现故障,便把这个节点上的数据库实例和它所对应的VIP以及其他资源切换到另外一个节点上,这样可以保证用户仍然可通过这个VIP访问数据库。
    在普通的Oracle数据库中,一个数据库实例只能访问一个数据库,而一个数据库只能被一个数据库实例打开。在RAC环境中,多个数据库实例同时访问同一个数据库,每个数据库实例分别在不同的节点上运行,而数据库存放在共享的存储设备上。
    通过RAC,不仅可以实现数据库的并发访问,而且可以实现用户访问的负载均衡。用户可以通过任何一个数据库实例访问数据库,实例之间通过内部通信来保证事务的一致性。例如,当用户在一个实例修改数据时,需要对数据加锁。当另一个用户在其他实例中修改同样的数据时,便需要等待锁的释放。当前一个用户提交事务时,后一个用户立即可以得到修改之后的数据。
    RAC集群环境的基本结构如图2.1所示。
    	在创建RAC集群时,一般来说,Clusterware软件和Oracle数据库软件安装在每个节点的本地文件系统中,而那些要被所有节点访问的文件则存放在共享的存储设备中。在安装Clusterware软件时,需要在共享存储设备中创建OCR和Voting文件。其中,在OCR文件中记录RAC集群的配置信息,在Voting文件记录每个节点的成员资格信息。每个节点中的RAC集群在启动时,都需要读这两个文件,以确定当前节点的成员资格,并获得整个集群的配置信息。在创建数据库时,数据库文件、重做日志文件、控制文件、参数文件也存放在共享的存储设备中。对于共享存储设备,RAC有以下几种使用方式:
     
     
    图2.1   RAC的基本结构
    在共享存储设备中创建集群文件系统,如Linux中的OCFS、AIX中的GPFS等。 在共享存储设备中创建文件系统,然后在NFS服务中将这些文件系统设置为共享文件系统。 创建ASM磁盘组,将共享存储设备放在ASM磁盘组中。 无论以什么样的方式使用共享存储设备,多个节点需要能够同时访问存储于这种设备中的文件。因此,与单机中的存储设备相比,共享存储设备需要向多个节点提供并发访问。 从11.2版本开始,Oracle已经完全取消了对裸设备的支持,这就意味着,无论是OCR和Voting文件,还是数据库文件,都不能存储在裸设备中了。Oracle目前强力推荐使用的存储技术是ASM。在安装Grid Infrastructure软件时,同时安装了Clusterware软件和ASM软件,这时就可以创建ASM实例和ASM磁盘组,并把OCR和Voting文件存储在ASM磁盘组中。在创建数据库时,还可以再创建其他的ASM磁盘组,把数据库文件和快速恢复区(Flash recovery area)也存放在ASM磁盘组中。 为了访问ASM磁盘组中的文件,在每个节点上需要运行一个ASM实例。ASM实例的功能是对ASM磁盘组进行管理和控制。在一个RAC集群环境中,可以创建多个ASM磁盘组,在不同的磁盘组可以存放不同类型的文件。 使用ASM磁盘组的RAC如图2.2所示。
     
    (点击查看大图)图2.2   使用ASM磁盘组的RAC
    在单实例数据库中,一个实例只能访问一个数据库,一个数据库只能被一个实例打开。实例是内存中的结构,包括SGA(System Global Area)和后台进程两部分。其中SGA是内存中一些缓冲区的集合。以下几种缓冲区是每个实例都需要的: 数据库高速缓存 存放用户最近所访问的数据。 重做日志缓冲区 存放与用户事务有关的重做日志。 共享池 包括库缓冲区和数据字典缓冲区。其中,在库缓冲区中存放用户最近所执行过的SQL语句以及它们的分析代码和执行计划。在数据字典缓冲区中存放用户最近所访问过的数据库对象的数据字典信息。 在启动实例时,系统在内存中分配SGA,同时启动若干后台进程。后台进程的主要功能是在实例和数据库之间交换数据。以下后台进程是每个实例都需要的:
    DBWR 用于把数据库高速缓存中的脏缓冲区写入数据文件。
    LGWR 用于把重做日志缓冲区中的重做日志写入重做日志文件。
    SMON 用于进行实例恢复。
    PMON 用于监视用户进程的状态,如果发现用户进程意外终止,便回收相关的资源,回滚没有提交的事务,并释放用户进程对数据所加的锁。
    CKPT 用于发出检查点,对数据文件、控制文件和重做日志文件进行同步。
    ARCH 用于对重做日志文件进行归档。
    	数据库表现为磁盘上的文件,用户通过实例访问这些文件中的数据。数据库中的文件可以存放在计算机的内置磁盘上,也可以存放在外置的存储设备中。以下文件是每个数据库都需要的:
    
    数据文件 用于存放用户所关心的业务数据。
    控制文件 用于存放数据库的结构信息。
    重做日志文件 用于存放与用户事务有关的重做日志。
    	除了上述三种文件以外,在数据库中还有归档日志文件、口令文件、跟踪文件、警告文件、参数文件等各种类型的文件。
    	单实例数据库的结构如图2.3所示。
     
     
    图2.3   单实例数据库的结构
    在RAC集群数据库中,每个数据库实例都具有数据库高速缓存等几种内存结构,以及SMON等后台进程,这一点与单实例数据库是相同的。然而,多个实例需要同时访问数据库中的数据,这就要求RAC保证数据的一致性。RAC通过“缓存融合”(Cache Fusion)技术来保证数据在多个实例之间的一致性。 利用“缓存融合”技术,RAC把每个数据库实例中的数据库高速缓存,在逻辑上虚拟为一个大的缓存,每个数据库实例在处理数据时,就好像是处于自己的缓存中一样。在每个数据库实例中还有另外两个后台进程GCS(Global Cache Service)和GES(Global Enqueue Service),用来维护每个数据文件的状态,以及那些已经被读到数据库高速缓存中的数据块的状态,这些状态信息记录在一个称为GRD(Global Resource Directory)的内存数据结构中。当一个数据库实例访问数据时,数据所在的数据块被读到这个实例的数据库高速缓存中,其他数据库实例将从前一个实例中得到这个数据块的映像。如果数据块的内容被修改,其他实例也将得到被修改之后的映像。由此可见,当多个数据库实例同时访问同样的数据时,数据直接在这些实例的数据库高速缓存之间传输,而不需要重复地从数据文件中读取。为了实现“缓存融合”,在不同的实例之间需要进行相互通信,这种通信是通过私有网络来完成的。 从上述内容可以看出,私有网络在整个RAC集群环境中起着非常重要的作用:一方面,Clusterware通过私有网络发送心跳信号,探测每个节点的状态;另一方面,数据库实例通过私有网络实现“缓存融合”。为了避免对私有网络的通信带来干扰,建议大家不要通过私有网络实现用户的访问。 在RAC集群环境中,GCS和GES进程表现为实例中的以下后台进程:
    LMON
    LMD
    LMS
    LCK
    ACMS
    	这些后台进程相互合作,保证了数据在多个数据库实例之间的一致性,一旦数据在一个实例中被修改,在其他实例中可以得到相同的数据。
    在RAC集群环境中,由于多个节点同时访问数据库,所以数据库中的文件都存放在共享的存储设备中。由于每个实例都独立地处理自己的事务,所以每个实例都有自己的重做日志组和UNDO表空间,临时表空间和业务数据所在的表空间以及控制文件都是多个节点共享的。为了对重做日志组进行切换和归档,每个数据库实例至少需要两个重做日志组。
    RAC数据库服务器的结构如图2.4所示(在图中只列出部分后台进程)。
     
     
    图2.4   RAC数据库的结构
    展开全文
  • oracle 12c集群使用rman备份恢复

    千次阅读 2017-12-24 21:44:32
    冷备:数据库关闭的情况下,进行操作系统文件的拷贝(注意此时关闭数据库必须是按照正常情况关闭的)。 逻辑备份   2、物理热备 recovery manager(RMAN) 是一个客户端应用程序,用于数据库的备份和恢复。...
  • 说明:本文为Oracle RAC集群转单实例/RMAN异机恢复/RMAN迁移/RMAN备份恢复操作概要方便用户查阅 温馨提示:如果您发现本文哪里写的有问题或者有更好的写法请留言或私信我进行修改优化 步骤 –全备份(最好停止业务...
  • 2.Oracle用户,使用deinstall方式删 3.检查rac状态,已经无db信息 4. dd命令清空裸设备 5. grid用户,使用deinstall方式删前,首先检查rac状态 [root@dbn01 ~]# crsctl status res -t Name Ta....
  • oracle 的RAC集群详解

    千次阅读 2013-04-02 16:51:57
    一、 Oracle集群体系结构  Oracle RAC,全称是Oracle Real Application Cluster,即真正的应用集群,是oracle提供的一个并行集群系统,整个集群系统由Oracle Clusterware (集群就绪软件)和 Real Application...
  • Oracle RAC集群数据库模板部署方法

    千次阅读 2019-04-18 21:06:13
  • Oracle集群高可用 - RAC

    千次阅读 2020-11-30 18:06:26
    掌握Oracle数据库集群高可用的原理和技能,具备管理数据库集群的能力。
  • 2 Administering Oracle Clusterware This chapter describes how to administer Oracle Clusterware and includes the following topics: Policy-Based Cluster and Capacity Management Role-Separated ...
  • 1 Introduction to Oracle Clusterware This chapter includes the following topics: What is Oracle Clusterware? Understanding System Requirements for Oracle Clusterware Overview of Oracle
  • crsctl命令是我们和oracle集群软件的一个接口,用于解析和调用oracle集群软件的对象。 可以通过crsctl命令启动和停止oracle集群的相关资源,也可以实现启用和禁用相关集群进程。 使用SRVCTL来管理数据库配置信息。...
  • Oracle RAC - 集群体系结构

    千次阅读 2015-01-22 13:42:23
    一、 Oracle集群体系结构 Oracle RAC,全称是Oracle Real Application Cluster,即真正的应用集群,是oracle提供的一个并行集群系统,整个集群系统由Oracle Clusterware (集群就绪软件)和 Real Application ...
  • 集群概念介绍(一)  概述:写下本文档的初衷和动力,来源于上篇的《oracle基本操作手册》。oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总。然后形成体系的总结,一则进行回顾复习,另则便于查询...
  • Oracle RAC集群搭建(一)-ASM共享存储卷

    千次阅读 2019-09-27 07:21:13
     安装集群的话,必须要有共享磁盘,目的是为作裁决磁盘使用.还需要有数据文件的共享磁盘 02,规划  主机 裁决磁盘 数据  rac1 1G*1 20G*2  rac2 共享rac1的磁盘 03,vsphere配置  rac1主机配置 ...
  • 感谢一路走来默默陪伴和支持的你~~~ ...环境:Oracle11.2.0.3 两节点RAC集群,windows server2008R2,FCSAN共享存储,ArcGIS Desktop 1031 ---------------------------------------- 一:创建SD
  • Oracle 11gRAC集群

    千次阅读 2019-02-20 20:47:50
    title: Oracle 11gRAC集群 categories: 数据库 tags: - Oracle - RAC - Cluster timezone: Asia/Shanghai date: 2019-01-06 Oracle 11g RAC搭建(VMware环境):...
  • 在CentOS7.6下搭建Oracle19c RAC集群

    千次阅读 2020-09-07 14:30:00
    在CentOS7.6下搭建Oracle19c RAC集群1.准备阶段1.1 虚拟环境准备1.2 Oracle版本包准备2.服务器配置阶段2.1.配置IP2.2.停止不相关服务2.3.配置服务器2.4.配置系统参数2.5.配置环境变量2.6.配置ASM共享磁盘功能快捷键...
  • 服务器集群――双机热备 基于Windows 2003系统的Oracle集群 转载请注明原文:http://blog.csdn.net/xl_xunzhao/archive/2008/11/30/3413369.aspx1. A、B同时开 修改主机名、host文件 添加网卡 设置内网卡、外...
  • Oracle 的三种高可用集群方案

    千次阅读 2017-03-22 09:28:12
    Oracle 的三种高可用集群方案
  • Oracle集群(RAC)时间同步(ntp和CTSS)http://blog.itpub.net/26736162/viewspace-2157130/ crsctl stat res -t -initps -ef|grep ctsscrsctl check ctsscluvfy comp clocksync -n all -verbose crsctl start ...
  • 正常情况下,我们有很多工具来监控oracle集群,但是Oracle更建议使用OEM来监视Oracle集群的日常运维工作,使用Cluster Health Monitor (CHM)来监控完整的技术架构,包括操作系统...
  • Oracle的三种高可用集群方案

    万次阅读 多人点赞 2017-04-12 15:51:39
    转载自:... Oracle的三种高可用集群方案 1 RAC(Real Application Clusters)   多个Oracle服务器组成一个共享的Cache,而这些Oracle服务器共享一个基于网络的存储。这个系统可以容忍单机/或
  •   关于将节点添加到现有 Oracle RAC 10g第 2 版集群的分步指南 2006 年 9 月发布 在多数业务中,Oracle 真正应用集群 (RAC) 配置的主要业务要求是整个系统中数据库层的可伸缩性 — 这样,当用户数...
  • Oracle RAC+ADG集群配置

    千次阅读 2020-05-01 23:44:31
    查看集群资源情况: [grid@node1 ~]$ crsctl status res -t 确保资源online状态。 SQL> show parameter spfile; NAME TYPE VALUE ------------------------------------ ----------- ------------------------...
  • 概述 RAC 的本质是一个数据库,是运行在多台计算机上的数据库,它的主要任务是数据库就是事务处理,它通过 Distributed Lock Management(DLM:分布式锁...DLM在Oracle发展的不同时期,名字也不相同,在OPS时期,叫做

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,878
精华内容 19,151
关键字:

oracle如何做集群库