Oracle的service功能簡介
Service 是連線oracle的一種方式。而且可以透過service 將不同的連線區分開來。例如,為不同的部門、業務建立不同的service,從而可以將連線對映到不同的伺服器上(叢集環境)以進行區分。從而也能看出service具有高可用性和負載均衡性。而且透過DRM(資源管理器)可以為不同的service分配不同的資源。
實驗環境:
11.2.0.4 雙節點RAC,系統為redhat 6.4NODE1的VIP:192.168.17.177
NODE2的VIP: 192.168.17.166
SCANIP:192.168.17.100
一、一 service的建立:
建立一個為名為 mgrser 的service ,優先連線racdb2 ,racdb2 不可用時連線racdb1,管理策略為automatic,Failover方式為basic,Failover type 為session
[oracle@NODE2 ~]$ srvctl add service -d racdb -s mgrser -r racdb2 -a racdb1 -y automatic -m basic -e session -z 3 -w 10
檢視資源狀態:
[grid@NODE2 ~]$ crsctl status res -t
發現建立完mgrser後,會有對應的資源ora.racdb.mgrser.svc,只是現在為離線狀態。
檢視service的狀態:為not running
二、啟動service:
[oracle@NODE2 ~]$ srvctl start service -d racdb -s mgrser
檢視service的狀態:發現在racdb2上running。因為我們指定的優先例項為racdb2。
檢視資源狀態:
[grid@NODE2 ~]$ crsctl status res -t
發現資源ora.racdb.mgrser.svc現在為online狀態,且在node2上。
三、二 使用service
在tnsnames.ora 中配置連線串,指定service_name = mgrser
manager1=
(description =
(address = (protocol = tcp)(host = 192.168.17.100)(port = 1521))
(connect_data =
(server = dedicated)
(service_name = mgrser)
))
manager2=
(description =
(address = (protocol = tcp)(host = 192.168.17.177)(port = 1521))
(address = (protocol = tcp)(host = 192.168.17.166)(port = 1521))
(failover= on)
(connect_data =
(service_name = mgrser)
))
兩個節點均配置。tnsping保證ping通。
使用連線串manager1連線資料庫:sqlplus lpfei/lpf@manager1
NODE1上:
NODE2上:
發現均優先連線racdb2,使用連線串manager2連線資料庫也是優先連線到racdb2.
四、三 將racdb2例項關閉
檢視mgrser 的status,自動切換到racdb1
檢查資源狀態,ora.racdb.mgrser.svc也自動切換到racdb1
使用連線串manager1連線資料庫:sqlplus lpfei/lpf@manager1
連線到racdb1。
五、四 Open 例項racdb2
racdb2開啟後mgrser依然在racdb1上執行,不會自動切換為racdb2,儘管racdb2為優先例項,但是racdb2宕掉後,服務會自動切換到racdb1(如四的實驗)。
若要恢復mgrser在racdb2上需執行reload:
[oracle@NODE2 ~]$ srvctl relocate service -d racdb -s mgrser -i racdb1 -t racdb2
六、注意:建立的mgrse 會被註冊到監聽器上,但是隻註冊到正在running的例項監聽上。
這一點很重要因為在優先例項(如racdb2)宕掉以後,所有的原先連線在racdb2上的連線全都會連線到racdb1上,這是應該的,也是必須的。
但是當racdb2回覆後,所有透過服務名為mgrser的連線不會自動切換到racdb2,這有可能會造成racdb1的負載過高。當不知道因為建立service造成時這種現象時,
很可能會以為問題出現在監聽器上,有可能會手動新增服務(如:alter system set service_names='mgrser' scope=spfile;)切記這樣操作不可行。必須執行reload才行,
或將所有例項都指定為優先組(這樣做似乎沒有意義了)。
節點二的監聽狀況:
節點一的監聽狀況:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29618264/viewspace-2155974/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- service型別及功能簡介+pod型別型別
- Oracle後臺程式的功能簡介Oracle
- Istio所有模組、Service、Pod的功能介紹
- Oracle資料庫的閃回查詢功能簡介Oracle資料庫
- WebSphere Service Registry and Repository API 簡介WebAPI
- .Text中的TrackBack功能簡介
- 完整的FTP類 功能簡介FTP
- HHDBCS便捷功能簡介
- ORACLE temp表的簡介Oracle
- 路由器功能簡介路由器
- openview功能簡介(轉載)View
- 【Azure 應用服務】App Service 執行狀況健康檢查功能簡介 (Health check)APP
- 【Oracle】Oracle logminer功能介紹Oracle
- Oracle Text簡介Oracle
- Oracle:srvctl 簡介Oracle
- Oracle:PGA 簡介Oracle
- Oracle程式簡介Oracle
- Oracle MTS簡介Oracle
- ORACLE SEQUENCE的簡單介紹Oracle
- Service Worker學習與實踐(二)——PWA簡介
- EMQ 管理控制檯功能簡介MQ
- 鬧鐘應用功能簡介
- 美顏api全功能簡介API
- Oracle PSU 簡介Oracle
- Oracle Data Guard簡介Oracle
- Oracle:RAC 程式簡介Oracle
- ORACLE監聽簡介Oracle
- Oracle約束簡介Oracle
- Oracle NOSQL DATABASE簡介OracleSQLDatabase
- oracle“SQL Trace”簡介OracleSQL
- 簡介oracle檢視Oracle
- Oracle10g 的Recyclebin簡介Oracle
- ORACLE中各類NAME的簡介Oracle
- oracle備份功能簡述Oracle
- android studio模版功能簡介Android
- Oracle PL/SQL塊簡介OracleSQL
- 2.5.1. Oracle net簡介Oracle
- oracle驗證方式簡介Oracle