您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle_RAC学习笔记基本概念及入门
oracle10grealapplicationclustersintroduction1、什么是cluster一个cluster是由两个或是多个独立的、通过网络连接的servers组成的。几个硬件供应商多年以来提供了Cluster性能的各种需求。一些Clusters仅仅为了提供高可用性的,在当前活动的node发生故障时转移到次节点node。另一些是为了提供分布式的连接、工作的可扩展性。另一个Cluster的共同特点是,对于一个应用程序,它可以看做是一个单独的server。同样,管理几个servers应该尽可能像管理一个server一样简单。Cluster管理器软件提供了这种功能。如果是singleserver的nodes,文件必须存储在其各自node能访问的位置。存在有几个不同拓扑结构来解决数据访问的问题,这主要依赖于Cluster设计的主要目标。相互连接时一个物理的网络连接,作为每个Cluster节点直接的交互通信。简而言之,一个Cluster就是一组独立的servers,它们共同协作,组成一个singlesystem。2、什么是OraclerealApplicationCluster(RAC)RAC是一个软件可以使你通过运行多个依赖相同Database的Instance,使用Cluster硬件。数据库files被存放在物理或是逻辑上连接每个节点的磁盘上。以便于每个活动的Instance都可以对files进行读写操作。RAC软件管理着数据的访问。所以更改操作在Instances之间是被相互协调的,并且每个Instance看到的信息和数据镜像都是一致的。通过RAC结构,可以获得冗余,从而使得即使在一个系统crash或是不可访问时,应用程序也可通过其他Instance访问Database。3、为啥使用RACRAC可以高度利用标准的Cluster,降低模块servers成本。RAC自动的提供了服务的工作量管理。应用程序的服务可以被分组或分类,组成商业组件完成应用工作任务。RAC中的服务可以是持续的、不间断的Database操作,并为多Instance上的多个服务提供支持。可以设计services到一个或多个Instance上运行,并且交替Instances可以用于备份Instances。如果主Instance失败,Oracle会将services从失败的Instance节点移动到活动的可替代的Instance上。Oracle也会自动的通过连接进行数据装载的平衡。RAC利用多个廉价的computers共同提供Database的服务,就像一个大的computer一样,服务于只有大规模SMP才能提供的各种应用。RAC是基于共享磁盘结构的,在需求上可以增加或缩减,而不需要人为的在Cluster中进行数据的分隔。并且RAC可以简单的增加、移出Cluster中的servers。4、Clusters和可扩展性如果使用对称多处理(symmetricmultiprocessingSMP)机制能够对应用程序提供透明的服务,则应该使用RAC也可以得到同样的效果,而不需要进行应用程序代码的任何改动。当一个节点发生失败,RAC可以排除该DatabaseInstance和node本身,从而保证Database的完整。下面是一些可扩展性的例子:*允许更多并发的批处理。*允许更大程度的并发执行。*在OLTP系统中可以是连接的用户大增。1)可扩展性的层次:主要有四个层次*hardware的可扩展性:相互连接性是它的关键,这一般依赖于较高的带宽和较低的延迟。*OS的可扩展性:在OS中,同步方法可以决定系统的可扩展性。在一些情况下,硬件的潜在可扩展性会因为OS无力并发维持请求的多个资源而被丢失。*Database管理系统的可扩展性:在并发结构中的一个关键因素是并发是由内部影响的还是外部进程影响的。此问题的答案影响了同步的机制。*应用层次上的可扩展性:应用程序必须被明确的设计为可扩展的。当系统中如果多数情况下,每个session都在更新相同的data,则可能产生瓶颈。这不仅是指RAC,对于single-instance系统也是一样。需要明确的是,如果任何一个层次没有达到可扩展性,不管其他层次可扩展性多强,并发的Cluster进程都可能失败。可扩展性不足的典型原因是共享资源的访问。这使得并发的操作在此瓶颈上序列化执行。这不仅仅是RAC中的局限,而是所有结构中的局限性。2)scaleup和speedup*scaleup是工作量和资源都成比例增加时能维持相同性能水平的能力(相应时间)Scaleup=(volumeparallel)/(volumeoriginal)–timeforipc*speedup是指通过增加资源的数量完成固定的工作量,获得执行时间成比例的缩减的效果。Speedup=(timeoriginal)/(timeparallel)–timeforipc其中,ipc是进程间通信的简写——interprocesscommunicationoracle10grealapplicationclustersintroduction1、什么是cluster一个cluster是由两个或是多个独立的、通过网络连接的servers组成的。几个硬件供应商多年以来提供了Cluster性能的各种需求。一些Clusters仅仅为了提供高可用性的,在当前活动的node发生故障时转移到次节点node。另一些是为了提供分布式的连接、工作的可扩展性。另一个Cluster的共同特点是,对于一个应用程序,它可以看做是一个单独的server。同样,管理几个servers应该尽可能像管理一个server一样简单。Cluster管理器软件提供了这种功能。如果是singleserver的nodes,文件必须存储在其各自node能访问的位置。存在有几个不同拓扑结构来解决数据访问的问题,这主要依赖于Cluster设计的主要目标。相互连接时一个物理的网络连接,作为每个Cluster节点直接的交互通信。简而言之,一个Cluster就是一组独立的servers,它们共同协作,组成一个singlesystem。2、什么是OraclerealApplicationCluster(RAC)RAC是一个软件可以使你通过运行多个依赖相同Database的Instance,使用Cluster硬件。数据库files被存放在物理或是逻辑上连接每个节点的磁盘上。以便于每个活动的Instance都可以对files进行读写操作。RAC软件管理着数据的访问。所以更改操作在Instances之间是被相互协调的,并且每个Instance看到的信息和数据镜像都是一致的。通过RAC结构,可以获得冗余,从而使得即使在一个系统crash或是不可访问时,应用程序也可通过其他Instance访问Database。3、为啥使用RACRAC可以高度利用标准的Cluster,降低模块servers成本。RAC自动的提供了服务的工作量管理。应用程序的服务可以被分组或分类,组成商业组件完成应用工作任务。RAC中的服务可以是持续的、不间断的Database操作,并为多Instance上的多个服务提供支持。可以设计services到一个或多个Instance上运行,并且交替Instances可以用于备份Instances。如果主Instance失败,Oracle会将services从失败的Instance节点移动到活动的可替代的Instance上。Oracle也会自动的通过连接进行数据装载的平衡。RAC利用多个廉价的computers共同提供Database的服务,就像一个大的computer一样,服务于只有大规模SMP才能提供的各种应用。RAC是基于共享磁盘结构的,在需求上可以增加或缩减,而不需要人为的在Cluster中进行数据的分隔。并且RAC可以简单的增加、移出Cluster中的servers。4、Clusters和可扩展性如果使用对称多处理(symmetricmultiprocessingSMP)机制能够对应用程序提供透明的服务,则应该使用RAC也可以得到同样的效果,而不需要进行应用程序代码的任何改动。当一个节点发生失败,RAC可以排除该DatabaseInstance和node本身,从而保证Database的完整。下面是一些可扩展性的例子:*允许更多并发的批处理。*允许更大程度的并发执行。*在OLTP系统中可以是连接的用户大增。1)可扩展性的层次:主要有四个层次*hardware的可扩展性:相互连接性是它的关键,这一般依赖于较高的带宽和较低的延迟。*OS的可扩展性:在OS中,同步方法可以决定系统的可扩展性。在一些情况下,硬件的潜在可扩展性会因为OS无力并发维持请求的多个资源而被丢失。*Database管理系统的可扩展性:在并发结构中的一个关键因素是并发是由内部影响的还是外部进程影响的。此问题的答案影响了同步的机制。*应用层次上的可扩展性:应用程序必须被明确的设计为可扩展的。当系统中如果多数情况下,每个session都在更新相同的data,则可能产生瓶颈。这不仅是指RAC,对于single-instance系统也是一样。需要明确的是,如果任何一个层次没有达到可扩展性,不管其他层次可扩展性多强,并发的Cluster进程都可能失败。可扩展性不足的典型原因是共享资源的访问。这使得并发的操作在此瓶颈上序列化执行。这不仅仅是RAC中的局限,而是所有结构中的局限性。2)scaleup和speedup*scaleup是工作量和资源都成比例增加时能维持相同性能水平的能力(相应时间)Scaleup=(volumeparallel)/(volumeoriginal)–timeforipc*speedup是指通过增加资源的数量完成固定的工作量,获得执行时间成比例的缩减的效果。Speedup=(timeoriginal)/(timeparallel)–timeforipc其中,ipc是进程间通信的简写——interprocesscommunicationRACArchitectureandConcepts1、RAC软件原理在一个RACInstance中,会见到一些普通Instance中不存在的后台进程,它们主要是用于维持Database在每个Instance中的一致性。管理全局资源,具体如下:*LMON:全局队列服务监控进程——GlobalEnqueueServiceMonitor*LMD0:全局队列服务守护进程——GlobalEnqueueServiceDaemon*LMSx:全局缓冲服务进程,x可以从0到j——GlobalCacheServiceProcesses*LCK0:锁进程——Lockprocess*DIAG:诊断进程——Diagnosibilityprocess在Cluster层,可以找到ClusterReadyServices软件的主要进程,它们在所有平台上提供标准的Cluster接口,并实现高可用性的操作。在每个Clusternode上都可以看到如下的进程:*CRSD和RACGIMON:用于高可用性操作的引擎。*OCSSD:提供成员节点和服务组的访问*EVMD:事件检测进程,由oracle用户运行管理*OPROCD:Cluster的监控进程此外还存在几个工具用于管理Cluster中全局层次上的各种资源。这些资源是ASMInstance、RACDatabase、Services和CRS应用节点。本书中涉及的工具主要有ServerControl(SRVCTL)、DBCA和EnterpriseManager。2、RAC软件存储原理Oracle10g的RAC安装分为两个阶段。第一阶段是安装CRS,其次是安装带有RAC组件的Database软件并创建Cluster数据库。CRS软件使用的Oraclehome必须不同于RAC软件使用的home。尽管可以将Cluster中CRS和RAC软件通过使用Cluster文件系统共享存储,但是软件总是按一定规则安装在每个节
本文标题:Oracle_RAC学习笔记基本概念及入门
链接地址:https://www.777doc.com/doc-4896747 .html