----测试目的:
1、添加公共的服务prod_tns;
2、添加节点1主1备2服务 prod_node1;
3、添加节点2主2备1服务 prod_node2;
4、添加服务过程中是否有资源的状态发生变化。
--添加共有服务:
srvctl add service -d prod -s prod_tns -r "prod1,prod2";
--添加节点1服务:
srvctl add service -d prod -s prod_node1 -r prod1 -a prod2 -P BASIC;
--添加节点2服务:
srvctl add service -d prod -s prod_node2 -r prod2 -a prod1 -P BASIC;
----查看目前的服务名:
SQL> set lines 200
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string
db_name string prod
db_unique_name string prod
global_names boolean FALSE
instance_name string prod1
lock_name_space string
log_file_name_convert string
service_names string prod
#该服务是搭建集群库的时候系统自动创建的服务。
----添加公共服务:
[oracle@node1 ~]$ srvctl add service -d prod -s prod_tns -r "prod1,prod2";
[oracle@node1 ~]$
----节点1添加服务:
[oracle@node1 ~]$ srvctl add service -d prod -s prod_node1 -r prod1 -a prod2 -P BASIC;
[oracle@node1 ~]$
----节点2添加服务:
[oracle@node2 ~]$ srvctl add service -d prod -s prod_node2 -r prod2 -a prod1 -P BASIC;
[oracle@node2 ~]$
#添加服务时候,可以在一个节点操作,也可以分别在各个节点添加对应自己的服务。
----查看集群所有的资源状态:
[grid@node1 ~]$ crsctl status res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.LISTENER.lsnr
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.OCR_VOTE.dg
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.RCY.dg
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.asm
ONLINE ONLINE node1 Started
ONLINE ONLINE node2 Started
ora.eons
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.gsd
OFFLINE OFFLINE node1
OFFLINE OFFLINE node2
ora.net1.network
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.ons
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.registry.acfs
ONLINE ONLINE node1
ONLINE ONLINE node2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE node2
ora.node1.vip
1 ONLINE ONLINE node1
ora.node2.vip
1 ONLINE ONLINE node2
ora.oc4j
1 OFFLINE OFFLINE
ora.prod.db
1 ONLINE ONLINE node1 Open
2 ONLINE ONLINE node2 Open
ora.prod.prod_node1.svc
1 OFFLINE OFFLINE
ora.prod.prod_node2.svc
1 OFFLINE OFFLINE
ora.prod.prod_tns.svc
1 OFFLINE OFFLINE
2 OFFLINE OFFLINE
ora.scan1.vip
1 ONLINE ONLINE node2
[grid@node1 ~]$
#三个service资源已经添加上了,但新增的三个service资源还是offline状态。
----尝试设置新增的service自动开启模式:
srvctl enable service -d prod -s prod_tns
srvctl enable service -d prod -s prod_node1
srvctl enable service -d prod -s prod_node2
[oracle@node1 ~]$ srvctl enable service -d prod -s prod_tns
PRCC-1010 : prod_tns was already enabled
#新增的服务已默认为自动开启模式。
----打开3个新增的服务:
srvctl start service -d prod -s prod_tns
srvctl start service -d prod -s prod_node1
srvctl start service -d prod -s prod_node2
[oracle@node1 ~]$ srvctl start service -d prod -s prod_tns
[oracle@node1 ~]$ srvctl start service -d prod -s prod_node1
[oracle@node1 ~]$ srvctl start service -d prod -s prod_node2
[oracle@node1 ~]$
--尝试在节点2再次打开节点2的服务:
[oracle@node2 ~]$ srvctl start service -d prod -s prod_node2
PRCC-1014 : prod_node2 was already running
#节点2的服务可以在节点1中执行命令打开。
----再次查看集群所有资源的状态:
[grid@node1 ~]$ crsctl status res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.LISTENER.lsnr
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.OCR_VOTE.dg
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.RCY.dg
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.asm
ONLINE ONLINE node1 Started
ONLINE ONLINE node2 Started
ora.eons
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.gsd
OFFLINE OFFLINE node1
OFFLINE OFFLINE node2
ora.net1.network
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.ons
ONLINE ONLINE node1
ONLINE ONLINE node2
ora.registry.acfs
ONLINE ONLINE node1
ONLINE ONLINE node2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE node2
ora.node1.vip
1 ONLINE ONLINE node1
ora.node2.vip
1 ONLINE ONLINE node2
ora.oc4j
1 OFFLINE OFFLINE
ora.prod.db
1 ONLINE ONLINE node1 Open
2 ONLINE ONLINE node2 Open
ora.prod.prod_node1.svc
1 ONLINE ONLINE node1
ora.prod.prod_node2.svc
1 ONLINE ONLINE node2
ora.prod.prod_tns.svc
1 ONLINE ONLINE node1
2 ONLINE ONLINE node2
ora.scan1.vip
1 ONLINE ONLINE node2
[grid@node1 ~]$
#新增的3个服务现在都已在线状态。
----查看新增3个服务信息状态信息:
srvctl config service -d prod -s prod_tns
srvctl config service -d prod -s prod_node1
srvctl config service -d prod -s prod_node2
[oracle@node1 ~]$ srvctl config service -d prod -s prod_tns
Service name: prod_tns
Service is enabled
Server pool: prod_prod_tns
Cardinality: 2
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: NONE
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: NONE
Preferred instances: prod1,prod2
Available instances:
[oracle@node1 ~]$
[oracle@node1 ~]$ srvctl config service -d prod -s prod_node1
Service name: prod_node1
Service is enabled
Server pool: prod_prod_node1
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: NONE
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Preferred instances: prod1
Available instances: prod2
[oracle@node1 ~]$
[oracle@node1 ~]$ srvctl config service -d prod -s prod_node2
Service name: prod_node2
Service is enabled
Server pool: prod_prod_node2
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: NONE
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Preferred instances: prod2
Available instances: prod1
[oracle@node1 ~]$
#可以看到,新增的3个服务中,prod_tns服务是两个节点公共的服务,不分主备关系;而
prod_node1服务是主要为节点1所有,主一备二关系;prod_node2服务则相反,是主要为节点2所有,主二备一关系。
----在实例中查看服务的信息:
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string
db_name string prod
db_unique_name string prod
global_names boolean FALSE
instance_name string prod1
lock_name_space string
log_file_name_convert string
service_names string prod_tns, prod_node1
#服务成功添加并生效。
----注意:这里特别要注意的一点是:在整个添加3个服务service资源的过程中,集群中的所有资源都没有发生状态的变更,一直保持online状态。
这也是我这次添加服务的主要目的:验证oracle11G在添加服务过程中有无导致部分集群资源掉线或者自动重启。这个在我的前些的博文中提及过
11G与12C在添加服务中的区别。12C版本在添加服务的过程中,会导致集群中的一些资源掉线,而且还需要手动才能启动。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31392094/viewspace-2134740/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31392094/viewspace-2134740/