Oracle集群高可用 - RAC

1. RAC 每个节点需要配置几个 IP? 对每个 IP 的用途请给出你的说明,对这些 IP 都有哪些限制或要求。

用途:
    Public IP:类似于单实例Oracle数据库IP,管理访问
    	<往返于节点和服务器之间的所有常规连接>
    Private IP:实现机器内部心跳同步
        <集群内节点之间的通信,如节点的状态信息和节点之间共享的实际数据块>
    Virtual IP:实现负载均衡 [集群自用 ]
        <Oracle 监听程序 、 支持快速的连接时故障转移>
    SCAN IP:用来分配用户请求,始终在用户负载最少的机器上存在 [在各个IP之间漂移]
限制要求:
    公有IP、虚拟IP必须是静态的,且位于相同子网
    私有IP要求有专用的子网
    SCAN IP、公有IP、虚拟IP在同一子网

2. RAC 环境软件的安装需要建立哪些用户组? 请说明这些组各自的用途。

oinstall:软件安装 I/O [记录所有安装在服务器上的oracle软件,安装日志和跟踪文件 基本组]
dba:数据库管理 CPU [身份验证,系统权限组 SYSDBA-管理数据库、SYSASM-管理oracle集群和oracleASM]
oper:操作管理 [操作系统管理员 - SYSOPER]
asmadmin:用来授予不同管理员分属不同的管理权限组 [权限分离,专用于管理ASM]
asmdba:用来管理Oracle ASM的文件 [Oracle Grid集群架构的安装所有者和所有数据库软件所有者必须在这个组]
asmoper:用来授予对单独一组具有Oracle ASM实例的管理权限 [SYSASM的子集]

3. 参照教材,请说明 RAC 各个节点之间建立 SSH 互信的步骤。

a. 分别配置grid和oracle用户的互信关系
b. 分别在各个节点生成生成各自的RSA和DSA key文件 <ssh-kgen -t rsa/dsa>
		[签名 .ssh/id_rsa | id_dsa]
c. 将每个节点的生成的两个文件放在authorized key 文件中 <cat >> >
		[授权]
d. 用scp命令复制到各个节点 <scp >

4. RAC 环境为什么要配置时间同步?

RAC环境各个节点之间需要进行心跳,防止所有节点失效。
[确保集群内所有节点与时间有关的操作才能协同工作,如心跳、健忘、脑裂等]

5. 参考联机文档,说明一下 SRVCTL 工具都有哪些功能。

查看集群对象状态
停止与启动oracle集群对象
添加和删除集群对象
禁止和启动Oracle Restart 管理对象
查看Oracle Restart管理对象的配置
添加服务到Oracle Restart
查看节点应用程序的当前状态
[修改存储在OCR里面的配置数据;
实例的启动与停止;
通过向CRSD发送请求当开启或停止集群资源时]

6. 请对 CRS 的概念做一个简略的说明。

Oracle Cluster Ready Service (Oracle集群就绪服务)
CRS = Clusterware = Oracle Cluster Ready Service = Oracle Cluster Software
[CRS是一种后台服务,RAC使用CRS作为多个节点管理的框架将操作系统简化成像单个实例一样。
在RAC环境,CRS管理所有组件,发生故障时将事务处理转移到完好的节点上继续操作,并且自动修复重启损坏的组件。
CRS用高可用性框架管理任何运行在RAC任意节点上的应用。
管理应用程序确保其随系统启动而启动,并随时监控应用的状态确保其可用。]

7. 请参考联机文档,对 OCR, Voting Disk 的定义、用途及二者之间的关系做一个说明。

OCR
    Oracle Cluster Registry集群档案库
    解决健忘问题 [同步节点信息]
    [存储着集群节点列表信息和实例对节点镜像信息的文件,
    包含有关你自定义的资源 Oracle集群配置文件信息,
    Voting Disk 的数据也备份在OCR]
Voting Disk
    表决磁盘
    解决脑裂问题(管理磁盘故障后由表决磁盘推举一个新的管理磁盘) [指定一个节点为控制节点,防止集群宕机]
    [记录节点成员信息,一个节点必须保证在任何时候都能访问至少一半数量的Voting Disk。
    为了避免同时丢失多个Voting Disk,每个Voting Disk放在一个共享存储设备上,
    并且该存储设备不与其他Voting Disk已使用的存储设备共享任何组件。]
必须存放在共享存储,裸设备(oracle 数据库直接访问)。
丢失或损坏后,集群无法启动,导致整个RAC都将无法启动。

8. 请对 Load Balance 和 Failover 的实现原理做一个说明。

Load Balance就是把负载平均分配到集群中的各个节点,以提高系统整体吞吐能力。
Failover 是在一个节点出现故障时将当前节点上的用户自动转移到其他可用节点上,
集群中任何一个节点的故障都不会影响用户的正常使用,连接到故障节点的用户都会被自动转移到正常节点,从用户的角度,不会感觉到这种切换。
三种模式:
    Client-Side Connect Time Failover(客户端连接故障转移):
    会话建立起来时根据tnsname中配置的地址挨个尝试连接,直到成功为止。
        (只在建立连接那一刻起作用,如果连接建立好后节点出现故障,会话会断开,用户必须重新建立连接。)
    TAF(透明应用模式):
    连接建立之后,应用系统运行过程中,如果实例发生故障,该实例上的用户会自动转移到其他正常实例上,期间活动的事务会回滚。
    FCF(快速连接模式):
    通过与隐含连接缓存协同共同提高连接性能和高可用性。

9. 请对集群数据库系统的配置及安装过程进行一个详细总结。

在这里插入图片描述

系统参数的设置
	/etc/security/limits.conf - 资源限制
	/etc/pam.d/login - 登录配置文件
	/etc/sysctl.conf - 内核参数的限制

cvuqdisk:
	在集群检验工具(Cluster Verification Utility,CVU)运行时用于发现共享磁盘

DATE和FRA磁盘组
	DATA  normal - 2
	FRA extern - 0
	https://blog.csdn.net/debimeng/article/details/79609477

猜你喜欢

转载自blog.csdn.net/hezuijiudexiaobai/article/details/110393995