向基於 Linux 的 Oracle RAC 10g 叢集新增新節點
向基於 Linux 的 Oracle RAC 10g 叢集新增新節點
關於將節點新增到現有 Oracle RAC 10g 第 2 版叢集的分步指南
2006 年 9 月釋出
在多數業務中,Oracle 真正應用叢集 (RAC) 配置的主要業務要求是整個系統中資料庫層的可伸縮性 — 這樣,當使用者數增加時,可將額外例項新增到該叢集來分發該負載。
在 Oracle RAC 10g 中,這個特定的功能已經變得更加容易。當節點/例項變成可用狀態後,Oracle 即可透過必需的幾個設定步驟來包含這個即插即用功能。
[@more@]在本文中,我將討論將節點新增到現有 Oracle RAC 10g 第 2 版叢集所需的步驟。
當前環境
出於演示目的,我們這裡的環境是一個四節點的 Rd Hat Linux 叢集。該任務是新增一個附加節點,從而使它成為一個五節點叢集。
資料庫名 | 節點編號 | 資料庫版本 | 例項編號 | 作業系統核心版本 | 檔案系統 | 叢集管理器 |
SSKYDB | 四個節點 — oradb1、oradb2、oradb3 和 oradb4 | 10.2.0.1 | 四個例項 — SSKY1、SSKY2、SSKY3 和 SSKY4 | Red Hat Enterprise Linux AS 3 | OCFS 1.0 和 ASM | Oracle 叢集件 |
該過程將透過以下 7 個步驟實現:
- 考慮依賴性和前提條件
- 配置網路元件
- 安裝 Oracle 叢集件
- 配置 Oracle 叢集件
- 安裝 Oracle 軟體
- 新增新例項(一個或多個)
- 執行日常管理任務
第 1 步:考慮依賴性和前提條件
任何軟體安裝或升級的第一個主要步驟都是確保系統的完整備份可用,包括作業系統和資料檔案。下一步是驗證系統要求、作業系統版本和所有應用程式補丁級別。
新節點應該具有與現有節點相同的作業系統版本,包括 Oracle 所需的所有補丁。在這個示例中,由於駐留在節點 1 到 4 上的作業系統是 Red Hat Enterprise Linux 3,因此新節點也應該具有該版本。此外,為了維持當前命名慣例,應該將新節點稱為 oradb5。
除了基本的作業系統外,還應該安裝 Oracle 需要的以下程式包:
[root@oradb5 root]# rpm -qa | grep -i gcc
compat-gcc-c++-7.3-2.96.128
compat-gcc-7.3-2.96.128
libgcc-3.2.3-42
gcc-3.2.3-42
[root@oradb5 root]# rpm -qa | grep -i openmotif
openmotif-2.2.3-3.RHEL3
openmotif21-2.1.30-8
[root@oradb5 root]# rpm -qa | grep -i glibc
glibc-2.3.3-74
glibc-utils-2.3.3-74
glibc-kernheaders-2.4-8.34.1
glibc-common-2.3.3-74
glibc-headers-2.3.3-74
glibc-devel-2.3.3-74
[root@oradb5 root]# rpm -qa | grep -i compat
compat-libstdc++-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-gcc-7.3-2.96.128
compat-db-4.0.14-5
compat-libstdc++-devel-7.3-2.96.128
[root@oradb5 root]#
使用以下值更新核心引數。
kernel.core_uses_pid = 1
kernel.hostname = oradb5.sumsky.net
kernel.domainname = sumsky.net
kernel.shmall = 2097152
#kernel.shmmax = 536870912
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.shmseg = 4096
kernel.sem = 250 32000 100 150
kernel.msgmnl = 2878
kernel.msgmnb = 65535
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
將下列引數新增到 /etc/security/limits.conf。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
將裝置新增到 /etc/fstab — 將裝置定義從現有節點之一複製到 oradb5。
[root@oradb5 root]$ more /etc/fstab
LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/sda2 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
/dev/sdb5 /u01 ocfs _netdev 0 0
/dev/sdb6 /u02 ocfs _netdev 0 0
/dev/sdb7 /u03 ocfs _netdev 0 0
/dev/sdb8 /u04 ocfs _netdev 0 0
/dev/sdb9 /u05 ocfs _netdev 0 0
/dev/sdb10 /u06 ocfs _netdev 0 0
/dev/sdb14 /u14 ocfs _netdev 0 0
接下來,建立管理使用者。Oracle 的每個安裝都要求每個節點上有一個管理使用者帳戶。在所有現有節點中,管理所有者是 oracle,因此下一步是在節點 oradb5 上建立管理使用者帳戶。當建立該使用者帳戶時,重要的是使用者 oracle 的 UID 和 GID 需要與其他 RAC 節點的相同。該資訊可以使用以下命令獲取:
[oracle@oradb1 oracle]$ id oracle
uid=500(oracle) gid=500(oinstall) groups=501(dba), 502(oper)
作為根連線到 oradb5(基於 Linux 或 Unix 的環境)並建立以下作業系統組。
groupadd -g 500 oinstall
groupadd -g 501 dba
groupadd -g 502 oper
當建立這些組之後,使用以下命令建立 oracle 使用者帳戶作為 dba 組的成員,然後使用 passwd(密碼)命令重新設定使用者密碼。
useradd -u 500 -g oinstall -G dba, oper oracle
passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
當建立組和使用者之後,應該驗證它們以確保以下命令的輸出與該叢集的所有節點等同。
[root@oradb5 root]$ id oracle
uid=500(oracle) gid=500(oinstall) groups=501(dba), 502(oper)
第 2 步:配置網路元件
在節點 oradb5 上將所有網路地址新增到 /etc/hosts 檔案。此外,要在叢集的其他四個節點上交叉註冊節點 oradb5 資訊。
root@oradb5 root]# more /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.2.10 oradb1.sumsky.net oradb1
192.168.2.20 oradb2.sumsky.net oradb2
192.168.2.30 oradb3.sumsky.net oradb3
192.168.2.40 oradb4.sumsky.net oradb4
192.168.2.50 oradb5.sumsky.net oradb5
#Private Network/interconnect
10.168.2.110 oradb1-priv.sumsky.net oradb1-priv
10.168.2.120 oradb2-priv.sumsky.net oradb2-priv
10.168.2.130 oradb3-priv.sumsky.net oradb3-priv
10.168.2.140 oradb4-priv.sumsky.net oradb4-priv
10.168.2.150 oradb5-priv.sumsky.net oradb5-priv
# VIP
192.168.2.15 oradb1-vip.sumsky.net oradb1-vip
192.168.2.25 oradb2-vip.sumsky.net oradb2-vip
192.168.2.35 oradb3-vip.sumsky.net oradb3-vip
192.168.2.45 oradb4-vip.sumsky.net oradb4-vip
192.168.2.55 oradb5-vip.sumsky.net oradb5-vip
用 SSH 建立使用者等效項。當向叢集新增節點時,Orale 將在其中執行初始安裝的節點的檔案複製到該叢集的新節點。這樣的複製過程可以透過使用 ssh 協議(如果可用)來進行,也可以使用遠端複製 (rcp) 來進行。為了使複製操作成功,RAC 節點上的 oracle 使用者必須能夠在無需提供密碼或口令短語的情況下登入到新的 RAC 節點。
當前,現有的四個節點配置為使用 ssh。要在新節點上配置 oracle 帳戶來使用無需任何密碼的 ssh,執行以下任務:
- 為使用者 oracle 建立身份驗證金鑰。要建立此金鑰,請將當前目錄更改為 oracle 使用者的預設登入目錄並執行以下操作:
2. [oracle@oradb5 oracle]$ ssh-keygen -t dsa -b 1024
3. Generating public/private dsa key pair.
4. Enter file in which to save the key (/home/oracle/.ssh/id_dsa):
5. Created directory '/home/oracle/.ssh'.
6. Enter passphrase (empty for no passphrase):
7. Enter same passphrase again:
8. Your identification has been saved in /home/oracle/.ssh/id_dsa.
9. Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
10. The key fingerprint is:
11. b6:07:42:ae:47:56:0a:a3:a5:bf:75:3e:21:85:8d:30 oracle@oradb5.sumsky.net
12. [oracle@oradb5 oracle]$
- 從新節點生成的金鑰應新增到所有節點上的 /home/oracle/.ssh/id_dsa/authorized_keys 檔案中,這意味著每個節點都應包含叢集中所有其他節點的金鑰。
14. [oracle@oradb5 oracle]$ cd .ssh
15. [oracle@oradb5 .ssh]$ cat id_dsa.pub > authorized_keys
當建立完金鑰並將其複製到所有節點之後,oracle 使用者帳戶無需使用密碼就可以從一個節點連線到另一個節點上的另一個 oracle 帳戶。這允許 Oracle Universal Installer 將安裝節點的檔案複製到叢集的其他節點。以下輸出是從節點 oradb1 到節點 oradb5 顯示 ssh 的驗證。
[oracle@oradb1 oracle]$ ssh oradb1 hostname
oradb1.sumsky.net
[oracle@oradb1 oracle]$ ssh oradb5 hostname
Oradb5.sumsky.net
[oracle@oradb1 oracle]$ ssh oradb1-priv hostname
oradb1.sumsky.net
[oracle@oradb1 oracle]$ ssh oradb5-priv hostname
Oradb5.sumsky.net
注意:首次執行這些測試時,作業系統將顯示一個金鑰並請求使用者接受或拒絕。輸入“Yes”將接受並註冊此金鑰。應該在其他所有節點上跨叢集中的所有介面執行這些測試,但 VIP 除外。
第 3 步:安裝 Oracle 叢集件
Oracle 叢集件已經安裝在叢集上;這裡的任務是將新節點新增到叢集配置中。要執行該任務,需要執行 Oracle 提供的名為 addnode 的實用程式,該工具位於 Clusterware 的主 oui/bin 目錄中。Oracle 叢集件有兩個檔案(Oracle 叢集資訊庫 (OCR) 和 Oracle 叢集同步服務 (CSS) 表決磁碟),它們包含有關該叢集以及由 Oracle 叢集件管理的應用程式的資訊。這些檔案需要使用關於新節點的資訊進行更新。叢集件安裝過程的第一步是驗證新節點是否準備好進行安裝。
叢集驗證。在 Oracle 資料庫 10g 第 2 版中,Oracle 引入了一個稱為 Oracle 叢集驗證實用程式 (CVU) 的新實用程式作為該叢集件軟體的一部分。使用適當的引數執行該實用程式可以確定叢集狀態。在該階段,在安裝 Oracle 叢集件之前,應該執行兩個驗證:
- 如果硬體和作業系統配置已經完成:
2. cluvfy stage -post hwos -n oradb1,oradb5
3. Performing post-checks for hardware and operating system setup
4. Checking node reachability...
5. Node reachability check passed from node "oradb1".
6. Checking user equivalence...
7. User equivalence check passed for user "oracle".
8. Checking node connectivity...
9. Node connectivity check passed for subnet "192.168.2.0" with node(s) oradb5,oradb1.
10. Node connectivity check passed for subnet "10.168.2.0" with node(s) oradb5,oradb1.
11. Suitable interfaces for the private interconnect on subnet "192.168.2.0":
12. oradb5 eth0:192.168.2.50 eth0:192.168.2.55
13. oradb1 eth0:192.168.2.10 eth0:192.168.2.15
14. Suitable interfaces for the private interconnect on subnet "10.168.2.0":
15. oradb5 eth1:10.168.2.150
16. oradb1 eth1:10.168.2.110
17. Checking shared storage accessibility...
18.Shared storage check failed on nodes "oradb5".
19. Post-check for hardware and operating system setup was unsuccessful on all the nodes.
正如突出顯示的部分一樣,上面的驗證失敗於儲存檢查驗證;節點 oradb5 無法檢視儲存裝置。在這個特定示例中,磁碟沒有足夠的許可權。
如果忽略該錯誤繼續安裝,Oracle 叢集件安裝將失敗。但如果在重新執行前解決了該錯誤,該驗證步驟將成功,如下所示。
Checking shared storage accessibility...
Shared storage check passed on nodes "oradb5,oradb1".
Post-check for hardware and operating system setup was successful on all the nodes.
- 在安裝 Oracle 叢集件之前請對節點列表中的所有節點執行相應的檢查。
21. [oracle@oradb1 cluvfy]$ cluvfy stage -pre crsinst -n oradb1,oradb5
22. Performing pre-checks for cluster services setup
23. Checking node reachability...
24. Node reachability check passed from node "oradb1".
25. Checking user equivalence...
26. User equivalence check passed for user "oracle".
27. Checking administrative privileges...
28. User existence check passed for "oracle".
29. Group existence check passed for "oinstall".
30. Membership check for user "oracle" in group "oinstall" [as Primary] failed.
31. Check failed on nodes:
32. oradb5,oradb1
33. Administrative privileges check passed.
34. Checking node connectivity...
35. Node connectivity check passed for subnet "192.168.2.0" with node(s) oradb5,oradb1.
36. Node connectivity check passed for subnet "10.168.2.0" with node(s) oradb5,oradb1.
37. Suitable interfaces for the private interconnect on subnet "192.168.2.0":
38. oradb5 eth0:192.168.2.50 eth0:192.168.2.55
39. oradb1 eth0:192.168.2.10 eth0:192.168.2.15
40. Suitable interfaces for the private interconnect on subnet "10.168.2.0":
41. oradb5 eth1:10.168.2.150
42. oradb1 eth1:10.168.2.110
43. Checking system requirements for 'crs'...
44. Total memory check passed.
45. Check failed on nodes:
46. oradb5,oradb1
47. Free disk space check passed.
48. Swap space check passed.
49. System architecture check passed.
50. Kernel version check passed.
51. Package existence check passed for "make-3.79".
52. Package existence check passed for "binutils-2.14".
53. Package existence check passed for "gcc-3.2".
54. Package existence check passed for "glibc-2.3.2-95.27".
55. Package existence check passed for "compat-db-4.0.14-5".
56. Package existence check passed for "compat-gcc-7.3-2.96.128".
57. Package existence check passed for "compat-gcc-c++-7.3-2.96.128".
58. Package existence check passed for "compat-libstdc++-7.3-2.96.128".
59. Package existence check passed for "compat-libstdc++-devel-7.3-2.96.128".
60. Package existence check passed for "openmotif-2.2.3".
61. Package existence check passed for "setarch-1.3-1".
62. Group existence check passed for "dba".
63. Group existence check passed for "oinstall".
64. User existence check passed for "nobody".
65. System requirement failed for 'crs'
66. Pre-check for cluster services setup was successful on all the nodes.
第 4 步:配置 Oracle 叢集件
執行 OUI 需要執行該安裝程式的終端與 X-windows 相容。否則,應安裝相應的 X-windows 模擬器並使用以下語法透過 DISPLAY 命令呼叫此模擬器。
export DISPLAY=
例如:
[oracle@oradb1 oracle]$export DISPLAY=192.168.2.101:0.0
下一步是在新節點 oradb5 上配置叢集件。為此,如前所述,Oracle 已經提供了一個新的稱為 addNode.sh 的可執行檔案,它位於
- 執行指令碼
/oui/bin/addNode.sh 。 - Welcome — 單擊 Next。
- 指定要透過新增來安裝的叢集節點 — 在該螢幕中,OUI 列出了叢集的現有節點,並在下半個螢幕中列出了要新增到適當列中的新節點(一個或多個)資訊。輸入資訊之後,單擊 Next。
公共節點名稱 | 私有節點名稱 | 虛擬主機名稱 |
oradb5 | oradb5-priv | oradb5-vip |
- 叢集節點新增總結 — 驗證新節點列在“New Nodes”下拉選單之下並單擊 Install。
- 當需要的所有叢集件元件從 oradb1 複製到 oradb5 之後,OUI 將提示執行三個檔案:
/usr/app/oracle/oraInventory/orainstRoot.sh on node oradb5
[root@oradb5 oraInventory]# ./orainstRoot.sh
Changing permissions of /usr/app/oracle/oraInventory to 770.
Changing groupname of /usr/app/oracle/oraInventory to dba.
The execution of the script is complete
[root@oradb5 oraInventory]#
/usr/app/oracle/product/10.2.0/crs/install/rootaddnode.sh on node oradb1.(addnoderoot.sh 檔案將使用 srvctl 實用程式將新節點資訊新增到 OCR。請注意下面指令碼輸出末尾的具有 nodeapps 引數的 srvctl 命令。)
[root@oradb1 install]# ./rootaddnode.sh
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
Attempting to add 1 new nodes to the configuration
Using ports: CSS=49895 CRS=49896 EVMC=49898 and
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/73920/viewspace-1035084/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HAC叢集新增新節點
- Oracle RAC新增節點Oracle
- Oracle叢集軟體管理-新增和刪除叢集節點Oracle
- oracle11g RAC新增節點Oracle
- oracle11g_RAC新增刪除節點Oracle
- Oracle 11g RAC重新新增節點Oracle
- 【RAC】Oracle10g rac新增刪除節點命令參考Oracle
- oracle 11g rac新增節點前之清除節點資訊Oracle
- Oracle優化案例-新增RAC節點(二十九)Oracle優化
- 私有IP丟失造成Oracle 12C RAC叢集節點不能啟動Oracle
- 記錄一下oracle 19c的叢集節點移除、新增操作Oracle
- Oracle Linux 6.7中 Oracle 11.2.0.4 RAC叢集CRS異常處理OracleLinux
- linux搭建kafka叢集,多master節點叢集說明LinuxKafkaAST
- Oracle 10g 增刪節點Oracle 10g
- DKHhadoop叢集新增節點管理功能的操作步驟Hadoop
- AIX 5.3 Install Oracle 10g RAC 錯誤集錦AIOracle 10g
- rac新增節點前之清除節點資訊
- rac新增節點容易遇到的問題
- oracle RAC 診斷叢集狀態命令Oracle
- Windows 11.2.0.4 RAC安裝配置以及RAC新增節點Windows
- RAC節點hang住, oracle bug導致了cpu過高,無法啟動叢集隔離Oracle
- 安裝Oracle 11G RAC 遇到的2個問題——Failed to run "oifcfg" 和 找不到叢集節點OracleAI
- Oracle 10g RAC故障處理Oracle 10g
- k8s叢集刪除和新增node節點K8S
- oracle 11.2.0.4 rac叢集等待事件enq: TM - contentionOracle事件ENQ
- Oracle叢集(RAC)時間同步(ntp和CTSS)Oracle
- 記一次oracle 19c RAC叢集重啟單節點DB啟動異常(二)Oracle
- rac新增節點步驟(11g)
- consul 多節點/單節點叢集搭建
- Oracle資料庫從Linux x86單機遷移到Solaries雙節點RAC叢集經驗分享-備份策略驗證Oracle資料庫Linux
- Oracle RAC日常運維-NetworkManager導致叢集故障Oracle運維
- 【ASK_ORACLE】Relink RAC叢集詳細步驟Oracle
- Oracle資料庫從Linux x86單機遷移到Solaries雙節點RAC叢集經驗分享-生產環境切換Oracle資料庫Linux
- Oracle資料庫從Linux x86單機遷移到Solaries雙節點RAC叢集經驗分享-測試環境驗證Oracle資料庫Linux
- 11gR2 RAC新增節點步驟
- 4.2 叢集節點初步搭建
- Solaris叢集節點重啟
- rac新增節點容易遇到的問題(11g)
- 11g rac新增節點容易遇到的問題