先看Oracle 官方文檔上的兩段說明:
(1)Can I change the public hostname in my Oracle Database 10g Cluster using Oracle Clusterware?
Hostname changes are not supported in Oracle Clusterware (CRS), unless you want to perform a deletenode followed by a new addnode operation.
The hostname is used to store among other things the flag files and Oracle Clusterware stack will not start if hostname is changed.
(2)Does the hostname have to match the public name or can it be anything else?
When there is no vendor clusterware, only Oracle Clusterware, then the public node name must match the host name. When vendor clusterware is present, it determines the public node names, and the installer doesn't present an opportunity to change them. So, when you have a choice, always choose the hostname.
From: Metalink Note 220970.1 RAC Frequently Asked Questions:
根據官網上的這2段文字,我們可以看出2點:
(1). RAC 環境一旦安裝好後, 主機名稱就不能修改,除非先刪除節點,修改Hostname, 在添加節點。
(2). 主機名稱必須和public 名一致。這一點在安裝文檔中有特彆強調。
在Oracle 的Metalink 上沒有找到相關的修改方法,除了上面提到的刪除節點在添加節點。 其實還有一種很簡單的方法,就是重新運行CRS的設定檔(/u01/app/oracle/product/crs/install/rootconfig),重新格式化OCR和Voting disk,然後重新建立CRS的資源。
這些操作需要先關閉CRS。 所以在生產庫上,一般不會去做這樣的操作。 生產系統維護穩定第一。 但作為一個知識點,我們可以學習一下。
測試平台:RedHat 5.4 + Multipath + RAW + ASM + Oracle 10gR2
相關操作如下:
一. 停止CRS
使用$ORA_CRS_HOME/bin/crsctl stop crs 命令即可。
執行完該命令後, 所有的database,listeners,和其他註冊在CRS裡的resource都將停止。
二. 修改主機名稱
原來的主機名稱:
[root@rac1 bin]# hostname
rac1
[root@rac2 bin]# hostname
rac2
將主機名稱修改為racdb1 和 racdb2。
在節點1修改成如下:
[root@rac1 bin]# hostname racdb1
[root@rac1 bin]# hostname
racdb1
[root@rac1 bin]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=racdb1
GATEWAY=192.168.6.254
[root@rac1 bin]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost
# Public Network - (eth0)
192.168.6.223 racdb1
192.168.6.226 racdb2
# Private Interconnect - (eth1)
192.168.6.224 racdb1-priv
192.168.6.227 racdb2-priv
# Public Virtual IP (VIP) addresses - (eth0:1)
192.168.6.225 racdb1-vip
192.168.6.228 racdb2-vip
在節點2與節點1一樣。