1. 通过设置不同的服务,达到RAC业务分割的效果。创建2个服务his和emr,his服务分配到his01主机上,emr 服务分配到his02主机上。
以下有2个节点的RAC
172.0.0.1 his01-priv
172.0.0.2 his02-priv
192.168.1.202 his01
192.168.1.203 his02
192.168.1.200 his01-vip
192.168.1.201 his02-vip
没有分割前CRS的状态:
$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....n1.inst application ONLINE ONLINE his01
ora....n2.inst application ONLINE ONLINE his02
ora....an1.srv application ONLINE ONLINE his01
ora....an2.srv application ONLINE ONLINE his02
ora....nEmr.cs application ONLINE ONLINE his02
ora.Yidan.db application ONLINE ONLINE his02
ora.his.db application ONLINE ONLINE his02
ora....s1.inst application ONLINE ONLINE his01
ora....s2.inst application ONLINE ONLINE his02
ora....SM1.asm application ONLINE ONLINE his01
ora....01.lsnr application ONLINE ONLINE his01
ora.his01.gsd application ONLINE ONLINE his01
ora.his01.ons application ONLINE ONLINE his01
ora.his01.vip application ONLINE ONLINE his01
ora....SM2.asm application ONLINE ONLINE his02
ora....02.lsnr application ONLINE ONLINE his02
ora.his02.gsd application ONLINE ONLINE his02
ora.his02.ons application ONLINE ONLINE his02
ora.his02.vip application ONLINE ONLINE his02
SQL> select instance_name from gv$instance order by 1;
INSTANCE_NAME
----------------
his1
his2
SQL> select instance_name from gv$instance order by 1;
INSTANCE_NAME
----------------
Yidan1
Yidan2
创建his的service 优先在 his01上跑
$ srvctl add service -d his -s his -r "his1"
其中,参数-r表示优先使用的实例。
创建emr的service 优先在 his02上跑
$ srvctl add service -d Yidan -s emr -r "Yidan2"
$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....n1.inst application ONLINE ONLINE his01
ora....n2.inst application ONLINE ONLINE his02
ora....an1.srv application ONLINE ONLINE his01
ora....an2.srv application ONLINE ONLINE his02
ora....nEmr.cs application ONLINE ONLINE his02
ora.Yidan.db application ONLINE ONLINE his02
ora....an2.srv application OFFLINE OFFLINE
ora....cemr.cs application OFFLINE OFFLINE
ora.his.db application ONLINE ONLINE his02
ora....s1.inst application ONLINE ONLINE his01
ora....s2.inst application ONLINE ONLINE his02
ora....chis.cs application OFFLINE OFFLINE
ora....is1.srv application OFFLINE OFFLINE
ora....SM1.asm application ONLINE ONLINE his01
ora....01.lsnr application ONLINE ONLINE his01
ora.his01.gsd application ONLINE ONLINE his01
ora.his01.ons application ONLINE ONLINE his01
ora.his01.vip application ONLINE ONLINE his01
ora....SM2.asm application ONLINE ONLINE his02
ora....02.lsnr application ONLINE ONLINE his02
ora.his02.gsd application ONLINE ONLINE his02
ora.his02.ons application ONLINE ONLINE his02
ora.his02.vip application ONLINE ONLINE his02
查看服务状态
$ srvctl status service -d his -s "his"
Service his is not running.
$ srvctl status service -d Yidan -s "emr"
Service emr is not running.
启动服务
$ srvctl start service -d his -s "his"
$ srvctl start service -d Yidan -s "emr"
$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....n1.inst application ONLINE ONLINE his01
ora....n2.inst application ONLINE ONLINE his02
ora....an1.srv application ONLINE ONLINE his01
ora....an2.srv application ONLINE ONLINE his02
ora....nEmr.cs application ONLINE ONLINE his02
ora.Yidan.db application ONLINE ONLINE his02
ora....an2.srv application ONLINE ONLINE his02
ora....cemr.cs application ONLINE ONLINE his02
ora.his.db application ONLINE ONLINE his02
ora....s1.inst application ONLINE ONLINE his01
ora....s2.inst application ONLINE ONLINE his02
ora....chis.cs application ONLINE ONLINE his01
ora....is1.srv application ONLINE ONLINE his01
ora....SM1.asm application ONLINE ONLINE his01
ora....01.lsnr application ONLINE ONLINE his01
ora.his01.gsd application ONLINE ONLINE his01
ora.his01.ons application ONLINE ONLINE his01
ora.his01.vip application ONLINE ONLINE his01
ora....SM2.asm application ONLINE ONLINE his02
ora....02.lsnr application ONLINE ONLINE his02
ora.his02.gsd application ONLINE ONLINE his02
ora.his02.ons application ONLINE ONLINE his02
ora.his02.vip application ONLINE ONLINE his02
在这里也能再次检查到 his 和emr 的service 状态
接下来检查监听
$ lsnrctl status
LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production on 25-AUG-2013 23:02:23
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER_HIS01
Version TNSLSNR for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production
Start Date 20-AUG-2013 08:48:12
Uptime 5 days 14 hr. 14 min. 11 sec
Trace Level off
Security ON: Local OS Authentication
SNMP ON
Listener Parameter File /home/oracle/10g/orapp/network/admin/listener.ora
Listener Log File /home/oracle/10g/orapp/network/log/listener_his01.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.200)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.202)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...
Service "+ASM_XPT" has 1 instance(s).
Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "Yidan" has 2 instance(s).
Instance "Yidan1", status READY, has 2 handler(s) for this service...
Instance "Yidan2", status READY, has 1 handler(s) for this service...
Service "YidanEmr" has 2 instance(s).
Instance "Yidan1", status READY, has 2 handler(s) for this service...
Instance "Yidan2", status READY, has 1 handler(s) for this service...
Service "YidanXDB" has 2 instance(s).
Instance "Yidan1", status READY, has 1 handler(s) for this service...
Instance "Yidan2", status READY, has 1 handler(s) for this service...
Service "Yidan_XPT" has 2 instance(s).
Instance "Yidan1", status READY, has 2 handler(s) for this service...
Instance "Yidan2", status READY, has 1 handler(s) for this service...
Service "his" has 2 instance(s).
Instance "his1", status READY, has 2 handler(s) for this service...
Instance "his2", status READY, has 1 handler(s) for this service...
Service "hisXDB" has 2 instance(s).
Instance "his1", status READY, has 3 handler(s) for this service...
Instance "his2", status READY, has 3 handler(s) for this service...
Service "his_XPT" has 2 instance(s).
Instance "his1", status READY, has 2 handler(s) for this service...
Instance "his2", status READY, has 1 handler(s) for this service...
Service "emr" has 1 instance(s).
Instance "Yidan2", status READY, has 1 handler(s) for this service...
Service "his" has 1 instance(s).
Instance "his1", status READY, has 2 handler(s) for this service...
The command completed successfully
上面多两个service 一个his 一个emr
之后再 client 端配置tnsname
his =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.200)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.201)(PORT = 1521))
(LOAD_BALANCE = yes)
(FAILOVER = ON)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = his)
)
)
emr =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.200)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.201)(PORT = 1521))
(LOAD_BALANCE = yes)
(FAILOVER = ON)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = emr)
)
)
测试:
C:\Users\liujun5>sqlplus sys/sys@his as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 3月 17 10:28:37 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL> select instance_number, instance_name from v$instance;
INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
1 his1
可以看到 his 会优先连接到 his1 也就是 节点1
C:\Users\liujun5>sqlplus sys/sys@emr as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 3月 17 10:29:22 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL> select instance_number, instance_name from v$instance;
INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
2 Yidan2
emr则会优先连接到 节点2 Yidan2




