Oracle_RAC知识汇总

合集下载

Oracle 数据库集群 RAC 基础知识

Oracle 数据库集群 RAC 基础知识
Oracle 数据库集群RAC 基础知识
内容摘要
ORACLE 数据库集群RAC 原理与操作的基础知识 1、理解ORACLE RAC架构和原理 2、 掌握ORACLE RAC的关键技术 3、掌握ORACLE RAC架构的延伸 4、掌握ORACLE RAC的安装
目录
1 Oracle RAC概述 2 Oracle RAC的结构 3 Oracle RAC的原理 4 Oracle RAC的关键技术 5 Oracle RAC的缺点 4 Oracle RAC架构的延伸 5 Oracle RAC的安装
注意
谢谢!
目录
1 Oracle RAC概述 2 Oracle RAC的结构 3 Oracle RAC的原理 4 Oracle RAC的关键技术 5 Oracle RAC的缺点 4 Oracle RAC架构的延伸 5 Oracle RAC的安装
oracle rac软件架构拓扑图
目录
1 Oracle RAC概述 2 Oracle RAC的结构 3 Oracle RAC的原理 4 Oracle RAC的关键技术 5 Oracle RAC的缺点 4 Oracle RAC架构的延伸 5 Oracle RAC的安装
ASM 实例需要CSS 进程,如果是非 RAC 环境,在启动ASM 实例之前会提 示用脚本。
目录
1 Oracle RAC概述 2 Oracle RAC的结构 3 Oracle RAC的原理 4 Oracle RAC的关键技术 5 Oracle RAC的缺点 4 Oracle RAC架构的延伸 5 Oracle RAC的安装
目录
1 Oracle RAC概述 2 Oracle RAC的结构 3 Oracle RAC的原理 4 Oracle RAC的关键技术 5 Oracle RAC的缺点 4 Oracle RAC架构的延伸 5 Oracle RAC的安装

oracle rac的机制与测试方法

oracle rac的机制与测试方法

一、Oracle RAC的定义及机制Oracle RAC(Real Application Clusters)是Oracle数据库的一种架构,它允许在多台服务器上运行Oracle数据库实例,并提供对这些实例的访问。

Oracle RAC的主要特点包括:1. 多实例架构:Oracle RAC允许在多台服务器上同时运行多个数据库实例,这些实例可以共享相同的存储。

2. 高可用性:Oracle RAC提供了高可用性和容错能力,任何一个数据库实例出现故障时,系统可以自动切换到其他正常工作的实例。

3. 扩展性:Oracle RAC可以根据需求动态地增加或减少服务器和存储资源,以满足系统的扩展和缩减需求。

4. 负载均衡:Oracle RAC可以自动分发和负载均衡数据库请求,以提高系统的性能和资源利用率。

5. 并行处理:Oracle RAC可以在多个数据库实例之间并行处理数据库请求,提高系统的处理能力。

Oracle RAC的机制主要包括集裙架构、存储架构、网络架构和实例架构等方面,它们共同组成了Oracle RAC的核心机制。

二、Oracle RAC的测试方法1. 硬件测试:硬件测试是Oracle RAC测试的第一步,包括对服务器、存储和网络设备的性能、容量和可靠性等方面进行测试。

2. 软件测试:软件测试是Oracle RAC测试的关键,包括对Oracle数据库软件、操作系统、集裙软件、文件系统等进行功能、性能和可靠性等方面进行测试。

3. 故障测试:故障测试是Oracle RAC测试的重要内容,包括对数据库实例故障、节点故障、存储故障等进行模拟和测试,检验系统的容错和恢复能力。

4. 性能测试:性能测试是Oracle RAC测试的重点,包括对数据库的并发处理能力、负载均衡能力、扩展性等进行测试,评估系统的性能和资源利用率。

5. 容量测试:容量测试是Oracle RAC测试的必要环节,包括对数据库的容量规划、增长预测、资源消耗等进行测试,确保系统的可扩展性和充分利用资源。

关于oracle的RAC

关于oracle的RAC

关于oracle的RACsaintfei:从网上搜集的文章集合整理而成,对ora的rac的组件和体系结构有了基本的认识。

下面为个人总结归纳:实例概念一组进程和对应的数据结构数据库是一个箱子,实例相当于机械手一台机器上一个库只能对应一个实例Rac一个库多个实例,并行。

每个实例运行在一个物理机器上,可以负载均衡,发生故障可以有状态切换。

需要能让多个机器同时读写的共享磁盘,可以由操作系统提供(AIX concurrent vg,Linux GPFS,)但concurrent vg是操作系统的双机软件中的组件所以必须安装ha软件。

可以用ora的ASM。

crs为ora的集群软件,提供ip切换等集群功能。

ASM功能类似LVM为os提供存储管理功能,但是是不可管理,把lun划给即可。

RAC模式,两个实例操作同一个数据库。

常用的方式是客户端连接的时候分别使用ip1加实例名和ip2加实例名的方式连接两个实例。

当一台主机故障之后,ip会切换到另一台主机上,但实例名变化了,仍然无法连接。

所以有了服务名的概念。

客户端使用ip加服务名方式连接数据库可以解决问题,切换比操作系统双机快。

但是对于tuxedo长连接的方式,没有重连接机制,仍然需要应用干预。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------以下摘自:/share/detail/23532601一集群环境下的一些特殊问题1.1 并发控制在集群环境中,关键数据通常是共享存放的,比如放在共享磁盘上。

而各个节点的对数据有相同的访问权限,这时就必须有某种机制能够控制节点对数据的访问。

oracle rac 防火墙规则

oracle rac 防火墙规则

oracle rac 防火墙规则Oracle RAC(Real Application Clusters)是一种数据库集群技术,它使得多个计算机可以并行运行Oracle数据库软件,并共享一组物理存储。

为了保护Oracle RAC集群的安全性,防火墙是必不可少的。

以下是一些与Oracle RAC防火墙规则相关的参考内容:1. 指定防火墙规则的目的:在编写防火墙规则之前,你需要明确规定它们的目的。

例如,你可以指定只允许特定的IP地址或IP地址范围访问Oracle RAC集群,或者限制特定端口的访问。

2. 防火墙规则的基本语法:防火墙规则通常由源IP地址、目标IP地址、源端口和目标端口等组成。

当有数据传输时,防火墙会根据这些规则来决定是否允许流量通过。

例如,你可以使用以下语法来配置一个防火墙规则:允许源IP地址为X.X.X.X,目标IP地址为Y.Y.Y.Y,源端口为A,目标端口为B的流量通过。

3. 具体的防火墙规则配置示例:下面是一些可以参考的防火墙规则配置示例:- 允许所有IP地址访问Oracle RAC集群的监听端口(默认端口为1521)。

- 仅允许特定IP地址范围的管理人员通过SSH协议访问Oracle RAC集群的管理节点。

- 限制外部访问Oracle RAC集群的数据库端口范围,仅允许特定的应用服务器IP地址访问。

4. 防火墙规则的优化:为了提高Oracle RAC集群的性能,你可以优化防火墙规则。

例如,你可以将访问频率高的IP地址添加到防火墙的白名单,从而避免重复检查和处理这些流量。

另外,你还可以合并多个规则,以减少规则表的大小和复杂度。

5. 定期审查和更新防火墙规则:Oracle RAC集群的网络环境可能会发生变化,因此定期审查和更新防火墙规则是必要的。

你应该定期检查防火墙日志,查看是否有异常的连接尝试或攻击行为,并相应地更新防火墙规则。

6. 备份防火墙规则:为了避免由于防火墙配置错误导致的问题,你应该定期备份防火墙规则。

oracle rac dg原理

oracle rac dg原理

oracle rac dg原理Oracle Real Application Clusters (RAC)是一种在多台服务器上运行的Oracle数据库架构。

RAC允许将数据库实例分布在多个服务器上,并通过高速互连网络进行通信,以提供高可用性和可伸缩性。

DG是Data Guard的缩写,是Oracle数据库的灾难恢复解决方案之一。

RAC DG原理如下:1. RAC原理:在RAC中,数据库被分为多个实例,每个实例运行在一个服务器上。

每个实例都有自己的内存和磁盘资源,但它们共享同一个存储空间,即共享存储。

实例之间通过高速互连网络进行通信,可通过Cache Fusion技术实现数据共享和一致性。

Cache Fusion技术允许在需要时将数据块从一个节点传输到另一个节点,以实现高速数据访问和一致性。

2. DG原理:DG是一种数据库复制解决方案,通过将主数据库的变更传输到一个或多个备用数据库上,实现数据的冗余和灾难恢复。

主数据库和备用数据库之间通过网络连接,并通过日志传输和应用进行同步。

主数据库将变更写入本地的归档日志文件,然后将归档日志传输到备用数据库上。

备用数据库接收到归档日志后,应用日志内容,使得备用数据库与主数据库保持一致。

3. RAC DG原理:RAC DG是在RAC架构下使用DG的解决方案。

RAC DG可以将主数据库和备用数据库的实例分布在多个服务器上,以提供更高的可用性。

主数据库和备用数据库之间的日志传输和应用与普通DG相同,但在RAC环境中,传输和应用可能涉及到多个实例。

RAC DG还可以利用RAC架构的优势,通过Cache Fusion技术减少数据的传输量,提高性能和效率。

总结来说,RAC DG是在Oracle RAC架构下使用Data Guard 的解决方案,通过将主数据库和备用数据库的实例分布在多个服务器上,实现数据的冗余和灾难恢复。

它利用RAC架构的优势,提供高可用性和可伸缩性,并通过Cache Fusion技术减少数据传输量,提高性能效率。

oracle rac双活原理

oracle rac双活原理

一、概述Oracle RAC(Real Application Clusters)是Oracle公司开发的一种集裙数据库解决方案,它允许多台服务器共享一个数据库。

Oracle RAC采用了双活(Active-Active)架构,即每台数据库服务器都可以同时读写数据,相互之间实时同步。

这种架构提高了数据库的可用性和性能,但也带来了一些挑战,比如双活原理的实现。

二、双活原理的核心思想1. 数据同步双活原理的核心思想是保持所有节点之间的数据一致性。

当一台节点更新了数据,其他节点需要立即感知到这个变化,并进行相应的同步操作。

这就要求实现实时的数据同步机制,确保所有节点上的数据是一致的。

2. 无法单机判断双活架构下,每台数据库服务器都可以处理读写请求,而且无法单凭一台服务器的状态来判断整个系统的健康状况,因为数据可能在任何一个节点上进行更新。

3. 一致性协议为了解决这个问题,双活原理采用了一致性协议。

一致性协议的核心是确保所有节点上的数据都能达到一致状态,即所有变更必须被所有节点接受,否则会导致数据不一致。

这就需要数据库服务器之间高效、可靠的通信机制来达成一致。

三、双活原理的实现1. 通信机制为了实现双活原理,Oracle RAC采用了高速、可靠的网络通信机制。

这样才能确保节点间的数据同步是实时的,而且不会有丢包或延迟等问题。

2. HA(High Av本人lability)模块Oracle RAC还集成了HA模块,用于监控和管理集裙中的各个节点。

HA模块可以检测节点的状态,当发现有节点失效时,可以将其列入黑名单,确保其他节点不会向其发送数据,以避免可能的数据不一致性问题。

3. 数据同步在Oracle RAC中,数据同步是由内部机制来实现的。

每当有数据更新时,会向其他节点发送同步请求,确保所有节点上的数据都能保持一致。

另外,Oracle RAC还采用了分布式锁机制,确保在多节点并发写入数据时不会出现冲突。

四、双活原理的应用1. 提高系统可用性双活原理的应用可以提高数据库系统的可用性。

最详细的oracle rac日常基本维护命令

最详细的oracle rac日常基本维护命令

最详细的oracle rac日常基本维护命令以下是一些使用Oracle RAC进行日常基本维护的常用命令:1. CRSCTL命令:- crsctl check crs:检查集群资源状态。

- crsctl start crs:启动整个集群资源服务。

- crsctl stop crs:停止整个集群资源服务。

- crsctl disable crs:禁用整个集群资源服务。

- crsctl enable crs:启用整个集群资源服务。

2. SRVCTL命令:- srvctl start instance -db <database_name> -instance<instance_name>:启动指定的实例。

- srvctl stop instance -db <database_name> -instance<instance_name>:停止指定的实例。

- srvctl status instance -db <database_name> -instance<instance_name>:检查指定实例的状态。

- srvctl start service -db <database_name> -service <service_name>:启动指定的服务。

- srvctl stop service -db <database_name> -service <service_name>:停止指定的服务。

- srvctl status service -db <database_name> -service<service_name>:检查指定服务的状态。

3. SQL*Plus命令:- sqlplus / as sysdba:以SYS用户身份登录数据库。

- startup:启动数据库实例。

oracle rac通俗解释

oracle rac通俗解释

oracle rac通俗解释
Oracle RAC(Real Application Clusters)是一种Oracle数据库
的集群技术,它允许多台服务器共同处理同一个数据库。

通俗地说,Oracle RAC就像是一台巨大的数据库服务器,由多台
物理服务器群组成,每台服务器都能同时处理和访问同一个数据库。

在传统的数据库架构中,通常只有一台服务器负责处理数据库操作,其他服务器只能作为备份或备用。

而Oracle RAC则改
变了这种架构,它将整个数据库分成多个部分,分布在不同的服务器上。

每台服务器都有自己的内存和处理资源,可以同时处理来自应用程序的查询和事务。

Oracle RAC的好处是提高了数据库的可用性和性能。

由于多
台服务器共同处理数据库操作,一台服务器出现故障时,其他服务器可以接替它继续处理请求,不会导致整个系统停止工作。

同时,由于数据库操作可以分散到多台服务器上进行,每台服务器的负载也减轻了,提高了整个系统的性能和响应速度。

总之,Oracle RAC是一种集群技术,能够将多台服务器组成
一个大型的数据库服务器,提高数据库的可用性和性能。

这种技术的应用让数据库能够更加稳定地运行,并能够处理更多的并发请求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、Oracle RAC原理ORACLE RAC原理在一个应用环境当中,所有的服务器使用和管理同一个数据库,目的是为了分散每一台服务器的工作量,硬件上至少需要两台以上的服务器,而且还需要一个共享存储设备。

同时还需要两类软件,一个是集群软件,另外一个就是Oracle数据库中的RAC组件。

同时所有服务器上的OS都应该是同一类OS,根据负载均衡的配置策略,当一个客户端发送请求到某一台服务的listener后,这台服务器根据我们的负载均衡策略,会把请求发送给本机的RAC组件处理也可能会发送给另外一台服务器的RAC组件处理,处理完请求后,RAC会通过集群软件来访问我们的共享存储设备。

逻辑结构上看,每一个参加集群的节点有一个独立的instance,这些instance访问同一个数据库。

节点之间通过集群软件的通讯层(communication layer)来进行通讯。

同时为了减少IO的消耗,存在了一个全局缓存服务,因此每一个数据库的instance,都保留了一份相同的数据库cache。

二、RAC中的特点是:每一个节点的instance都有自己的SGA每一个节点的instance都有自己的background process每一个节点的instance都有自己的redo logs每一个节点的instance都有自己的undo表空间所有节点都共享一份datafiles和controlfilesOracle还提出了一个缓存融合的技术(Cache fusion)目的有两个1.保证缓存的一致性2.减少共享磁盘IO的消耗因此在RAC环境中多个节点保留了同一份的DB CACHE缓存融合(Cache fusion)工作原理:­****************************************1.其中一个节点会从共享数据库中读取一个block到db cache中2.这个节点会在所有的节点进行交叉db block copy3.当任何一个节点缓存被修改的时候,就会在节点之间进行缓存修改4.为了达到存储的一致最终修改的结果也会写到磁盘上三、ClusterWare组件*******************有四种ServiceCrsd - 集群资源服务Cssd - 集群同步服务Evmd - 事件管理服务oprocd - 节点检测监控有三类ResourceVIP - 虚拟IP地址(Virtual IP)OCR - Oracle Cluster Registry(集群注册文件),记录每个节点的相关信息V oting Disk - Establishes quorum (表决磁盘),仲裁机制用于仲裁多个节点向共享节点同时写的行为,这样做是为了避免发生冲突。

‑四、RAC的组件************提供过了额外的进程,用来维护数据库LMS - Gobal Cache Service Process 全局缓存服务进程LMD - Global Enqueue Service Daemon 全局查询服务守护进程LMON - Global Enqueue Service Monitor全局查询服务监视进程LCK0 - Instance Enqueue Process 实例查询进程五、Oracle RAC日常管理5.1、CRS的管理CRSCTL命令控制着本地节点的CRS服务(Oracle clusterware processes)停止CRS:$ crsctl stop crs或者$ /etc/init.crs stop或者$ crs_stop -all启动CRS:$ crsctl start crs或者$ /etc/init.crs start禁止Clusterware在系统重启后自动启动的方法:$ /etc/init.crs disable启动Clusterware在系统重启后自动启动的方法:$ /etc/init.crs enable查看CRS服务状态$ crsctl check crs5.2、OCR的资源管理OCR的资源,当RAC cluster启动并成功运行以后,你可以使用crs_stat工具查看ORC的资源:$ crs_stat或者$ $ORA_CRS_HOME/bin/crs_stat通常情况下,所有的资源的状态都应该是online。

另外,OCR每4个小时会备份一次。

有一些情况你可以通过恢复OCR的配置文件来恢复出现问题的OCR。

比如使用出现如下情况:$ crs_stat–tCRS-0184: Cannot communicate with the CRS daemon.$ crsctl check bootFailure 4 at procr_open_key with status 4.PROC-4: The cluster registry key to be operated on does not exist.$ crsctl check crsFailure 1 contacting CSS daemonCannot communicate with CRSCannot communicate with EVM引起这个错误的一种可能原因是OCR配置丢了。

这个我们可以利用这些备份来还原以前的配置。

# /etc/init.crs disable# /etc/init.crs stop先保证所有的crs进程全部停止。

# su– oracle$ cd $ORA_CRS_HOME/bin$ ./ocrconfig–restore /opt/app/oracle/crs/cdata/crs/week.ocr然后切换到root用户下,重新enable CRS# /etc/init.crs enable最后reboot两个节点。

5.3、SRVCTL 命令介绍SRVCTL命令可以控制RAC数据库中的instance,listener以及services。

通常SRVCTL在oracle用户下执行,下面来介绍srvctl命令:1)、通过SRVCTL命令来start/stop/status所有的实例:$ srvctlstart|stop|status database –d <db_name>2)、start/stop/status指定的实例:$ srvctlstart|stop|status instance –d <db_name> -I<instance_name>3)、列出当前RAC下所有的节点:$ srvctlconfig database –d <db_name>4)、start/stop/status所有的nodeapps,比如:VIP,GSD,listener,ONS:$ srvctlstart|stop|statusnodeapps–n <node_name>5)、如果使用ASM,srvctl也可以start/stop ASM实例:$ srvctlstart|stopasm–n <node_name> [-i <asm_inst_name>] [-o <oracle_home>]6)、可以获取所有的环境信息$ srvctlgetenv database –d <db_name> [-i <instance_name>]7)、设置全局环境和变量:$ srvctlsetenv database –d <db_name> -t LANG=en8)、从OCR中删除已有的数据库:$ srvctl remove database –d <db_name>9)、向OCR中添加一个数据库:$ srvctl add database –d <db_name> -o <oracle_home> [-m <domain_name>] [-p <spfile>] [-A <name|ip>/netmask] [-r {PRIMARY|PHYSICAL_STANDBY|LOGICAL_STANDBY}] [-s <start_options>]10)、向ORC中添加一个数据库的实例$ srvctl add instance –d <db_name> -i <instance_name> n <node1|node2>11)、向OCR中添加一个ASM实例:$ srvctl add asm–n <node_name> -i <asm_inst_name> -o <oracle_home>12)、添加一个service:$ srvctl add service –d <db_name> -s <service_name> -r <preferred_list> [-a <available_list>] [-P <TAF_policy>] [-u]13)、修改在其他节点上的service:$ srvctl modify service –d <db_name> -s <service_name> -l <orig_instance_name> -t <target_instance_name>14)、relocate某个节点的service到其他节点:$srvctl relocate service –d <db_name> -s <service_name> -l <orig_instance_name> -t <target_instance_name>1、rac状态检查:Application service 状态应该都为online[oracle@node1 ~]$ crs_stat -tName Type Target State Host------------------------------------------------------------ora....SM1.asm application ONLINE ONLINE node1ora....E1.lsnr application ONLINE ONLINE node1ora.node1.gsd application ONLINE ONLINE node1ora.node1.ons application ONLINE ONLINE node1ora.node1.vip application ONLINE ONLINE node1ora....SM2.asm application ONLINE ONLINE node2ora....E2.lsnr application ONLINE ONLINE node2ora.node2.gsd application ONLINE ONLINE node2ora.node2.ons application ONLINE ONLINE node2ora.node2.vip application ONLINE ONLINE node2ora.rac.db application ONLINE ONLINE node1ora....c1.inst application ONLINE ONLINE node1ora....c2.inst application ONLINE ONLINE node22、查看服务器的RAC DB状态[oracle@node1 ~]$ srvctl status database -d racInstance rac1 is running on node node1Instance rac2 is running on node node23、查看其中一台服务器的实例状态[oracle@node1 ~]$ srvctl status instance -d rac -i rac1Instance rac1 is running on node node14、特定节点上节点应用程序状态[oracle@node1 ~]$ srvctl status nodeapps -n node1VIP is running on node: node1GSD is running on node: node1Listener is running on node: node1ONS daemon is running on node: node15、fad6、fa。

相关文档
最新文档