欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

ORACLE RAC 有些概念比较容易混淆

程序员文章站 2022-06-03 09:21:44
...

单实例的数据库一般有 数据库名称db_name,实例名称:instance_name:服务名称:service_names.一般情况下三个名称是一致的. 在RAC集群当中有些不一样.在规划上. 先说下RAC的布局. 每个节点上有 各自的监听,IP地址,实例, ASM实例和集群软件CRS,OCR 一般流程是 客

单实例的数据库一般有 数据库名称db_name,实例名称:instance_name:服务名称:service_names.一般情况下三个名称是一致的.

在RAC集群当中有些不一样.在规划上. 先说下RAC的布局. 每个节点上有 各自的监听,IP地址,实例, ASM实例和集群软件CRS,OCR

一般流程是 客户端通过VIP地址连接到-->其中节点上的监听器->实例-->ASM实例-->共享设备.

在下实验集群: 节点=NODE1 监听=listener_node1; 实例=myrac1 ;asm实例=+ams1 ; 数据库名称=myrac 服务名称=MYRAC

客户端的TRNSNAME.ORA 配置 一般使用服务名称=MYRAC.

而CRS集群上的 srvctl config -d database-name -s service-name 默认下不会把数据库服务名称MYRAC注册到OCR里.

就是CRS_STAT -T 不会显示MYRAC服务

把内部服务添加进去:

[oracle@node1 ~]$ srvctl add service -d MYRAC -s MYRAC -r "MYRAC2" -a "MYRAC1" -P basic
PRKO-2120 : 不能使用 srvctl 管理内部数据库服务 MYRAC。

那好添加个OLTP名称进去

[oracle@node1 ~]$ srvctl add service -d MYRAC -s OLTP -r "MYRAC1" -a "MYRAC2" -P basic

[oracle@node1 ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....C1.inst application ONLINE ONLINE node1
ora....C2.inst application ONLINE ONLINE node2
ora....AC1.srv application ONLINE ONLINE node1
ora....OLTP.cs application ONLINE ONLINE node1
ora.MYRAC.db application ONLINE ONLINE node2
ora....SM1.asm application ONLINE ONLINE node1
ora....E1.lsnr application ONLINE ONLINE node1
ora.node1.gsd application ONLINE ONLINE node1
ora.node1.ons application ONLINE ONLINE node1
ora.node1.vip application ONLINE ONLINE node1
ora....SM2.asm application ONLINE ONLINE node2
ora....E2.lsnr application ONLINE ONLINE node2
ora.node2.gsd application ONLINE ONLINE node2
ora.node2.ons application ONLINE ONLINE node2
ora.node2.vip application ONLINE ONLINE node2

在节点1上的实例把OLTP服务添加进去了

SQL> show parameter name

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string
db_name string MYRAC
db_unique_name string MYRAC
global_names boolean FALSE
instance_name string MYRAC1
lock_name_space string
log_file_name_convert string
service_names string MYRAC, OLTP

在节点2上没有

SQL> show parameter name

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string
db_name string MYRAC
db_unique_name string MYRAC
global_names boolean FALSE
instance_name string MYRAC2
lock_name_space string
log_file_name_convert string
service_names string MYRAC

为了更好的易懂性 必须对各个名称进行规划下 这样防止错误的发生

数据库名称= MYRAC_DB

实例名称 =MYRAC_Inst1

内部服务 =MYRAC_service

CRS服务 =MYRAC

节点名称 =NODE1

监听名称 =LISTENER1_NODE1