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


单实例的数据库一般有 数据库名称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

相关内容