小知識:Oracle RAC添加服務名實現單節點訪問


環境:Oracle 11.2.0.4 RAC(2 nodes)

1.查看RAC IP配置信息

我們先查看下環境的IP分配情況,一般確認/etc/hosts配置無誤,可直接快速看下hosts配置相關內容:

#public ip
192.168.1.61  jystdrac1
192.168.1.63  jystdrac2
#virtual ip
192.168.1.62  jystdrac1-vip
192.168.1.64  jystdrac2-vip
#scan ip
192.168.1.65  jystdrac-scan

服務名選擇系統名+VIP最后一位,即crm62、crm64,從而便於區分服務名默認優先連接哪一個節點;

2.添加服務名並啟動服務

正常情況下,只連接到某一個節點進行跑批從而最大化避免gc類等待,但要求如果該節點發生故障,是可以連接到另外節點的。 這里就主要用到`-r`和`-a`兩個參數分別指定preferred instances和available instances,下面具體規划為:

服務名 crm62 的 preferred instances 是 crmdb1,available instances 是 crmdb2;
服務名 crm64 的 preferred instances 是 crmdb2,available instances 是 crmdb1.

[oracle@jystdrac1 ~]$ 
srvctl add service -d crmdb -s crm62 -r "crmdb1" -a "crmdb2"
srvctl add service -d crmdb -s crm64 -r "crmdb2" -a "crmdb1"
srvctl start service -d crmdb -s "crm62,crm64"

注意:
1.不需要sqlplus下使用alter system 命令去修改service_names參數值,因為添加對應服務名且服務啟動后,服務名就會自動增加對應值;
2.一般適用於跑批等特殊業務場景,用於防止不必要的gc產生反而影響效率。

3.停止服務並刪除服務名

這一步屬於是回退方案,不管因為什么原因,想去掉新增的服務名,只需停止並刪除對應服務名,應用修改為之前的連接配置即可。
[oracle@jystdrac1 ~]$ 
srvctl stop service -d crmdb -s "crm62,crm64"
srvctl remove service -d crmdb -s crm62
srvctl remove service -d crmdb -s crm64


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM