کلاستری با سه نود در حال سرویس دهی می باشد که به دلایل پرفورمنسی قصد داریم نود دیگری را به این کلاستر اضافه کنیم:
[grid@RAC2 ~]$ olsnodes -s -t
RAC2 Active Unpinned
RAC1 Active Unpinned
RAC4 Active Unpinned
[oracle@RAC2 ~]$ srvctl status database -d db18c
Instance db18c1 is running on node RAC2
Instance db18c3 is running on node RAC1
Instance db18c4 is running on node RAC4
همانطور که در خروجی دستور مشاهده می کنید، سه نود با نامهای RAC1,RAC2,RAC4 در کلاستر موجود هستند و قصد داریم نود RAC3 را به این مجموعه اضافه کنیم.
با این فرض که مقدمات پیکربندی Oracle RAC 18c قبلا در سرور RAC3 انجام شده، در طی سه مرحله زیر، نود RAC3 را به کلاستر اضافه می کنیم:
1.اجرای gridSetup.sh برای نصب grid در نود جدید
2.اجرای addnode.sh برای نصب نرم افزار اوراکل در نود جدید
3.اجرای DBCA برای اضافه و اجرا کردن instance در کلاستر جدید
قبل از استارت این مراحل، با اتصال به نود شماره یک(RAC1) و با اجرای دستور زیر بررسی می کنیم که RAC3 آماده اضافه شدن به کلاستر هست؟
[grid@RAC1 ~]$ cluvfy stage -pre nodeadd -n RAC3
بخشی از خروجی این دستور را در قسمت زیر مشاهده می کنید:
Verifying Physical Memory …PASSED
Verifying Free Space: RAC3:/usr,RAC3:/var,RAC3:/etc,RAC3:/grid18c/home,RAC3:/sbin …PASSED
Verifying Users With Same UID: 502 …PASSED
Verifying User Existence: oracle …PASSED
Verifying User Existence: grid …
Verifying Users With Same UID: 501 …PASSED
Verifying User Existence: grid …PASSED
Verifying Package: binutils-2.20.51.0.2 …PASSED
Verifying Package: compat-libcap1-1.10 …PASSED
Verifying Group Existence: asmadmin …PASSED
Verifying ‘/etc/init.d/oracleasm’ …PASSED
CVU operation performed: stage -pre nodeadd
Date: Aug 13, 2020 2:27:48 PM
CVU home: /grid18c/home/
User: grid
اجرای دستور gridSetup.sh
برای نصب نرم افزار Grid Infrastructure در نود RAC3 می توان gridSetup.sh را به صورت گرافیکی و یا silent اجرا کرد که در ادامه نحوه اجرای گرافیگی آن را مشاهده خواهید کرد.
توجه: به جای استفاده از اسکریپت gridSetup.sh می توان از اسکریپت addnode.sh هم استفاده کرد:
./addNode.sh -silent “CLUSTER_NEW_NODES={RAC3}” “CLUSTER_NEW_VIRTUAL_HOSTNAMES={RAC3-vip}”
برای شروع، دستور gridSetup.sh را در یکی از نودهای موجود در کلاستر {RAC1,RAC2,RAC4} اجرا می کنیم:
[grid@RAC2 ~]$ cd /grid18c/home/
[grid@RAC2 home]$ ./gridSetup.sh
در مرحله اول از اجرای gridSetup.sh، گزینه Add more nodes to the cluster را انتخاب می کنیم:
در مرحله بعد، public hostname و virtual hostname نود جدید را تعیین می کنیم:
با تعیین پسورد کاربر grid، عملیات ssh connectivity را هم در این مرحله انجام می دهیم:
نرم افزار گرید آماده نصب در نود جدید می باشد:
به عنوان گام پایانی از اجرای gridSetup.sh، اسکریپت root.sh را در نود RAC3 اجرا می کنیم تا resourceهای کلاستر به این نود اضافه و اجرا شوند:
[root@RAC3 ~]# /grid18c/home/root.sh
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘RAC3’
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘RAC3’ has completed
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
2020/08/15 09:09:18 CLSRSC-594: Executing installation step 16 of 20: ‘InstallKA’.
2020/08/15 09:09:19 CLSRSC-594: Executing installation step 17 of 20: ‘InitConfig’.
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘RAC3’
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘RAC3’ has completed
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘RAC3’
CRS-2673: Attempting to stop ‘ora.drivers.acfs’ on ‘RAC3’
CRS-2677: Stop of ‘ora.drivers.acfs’ on ‘RAC3’ succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘RAC3’ has completed
CRS-4133: Oracle High Availability Services has been stopped.
2020/08/15 09:09:29 CLSRSC-594: Executing installation step 18 of 20: ‘StartCluster’.
2020/08/15 09:11:12 CLSRSC-594: Executing installation step 19 of 20: ‘ConfigNode’.
clscfg: EXISTING configuration version 5 detected.
clscfg: version 5 is 12c Release 2.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user ‘root’, privgrp ‘root’..
Operation successful.
2020/08/15 09:11:38 CLSRSC-594: Executing installation step 20 of 20: ‘PostConfig’.
2020/08/15 09:11:45 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster … succeeded
با اجرای root.sh، اجرای gridSetup.sh هم به پایان خواهد رسید.
با دستورات زیر خواهیم دید که عملیات به درستی انجام شده و نود RAC3 به کلاستر اضافه شده است:
[grid@RAC3 bin]$ olsnodes -s -t
RAC2 Active Unpinned
RAC1 Active Unpinned
RAC4 Active Unpinned
RAC3 Active Unpinned
[grid@RAC3 ~]$ cd /grid18c/home/bin/
[grid@RAC3 bin]$ ./cluvfy stage -post nodeadd -n RAC3
Verifying Node Connectivity …
Verifying Hosts File …PASSED
Verifying Check that maximum (MTU) size packet goes through subnet …PASSED
Verifying Node Connectivity …PASSED
Verifying Cluster Integrity …PASSED
Verifying Node Addition …
Verifying CRS Integrity …PASSED
Verifying Clusterware Version Consistency …PASSED
Verifying ‘/grid18c/home’ …PASSED
Verifying Node Addition …PASSED
Verifying Multicast or broadcast check …PASSED
Verifying Node Application Existence …PASSED
Verifying Single Client Access Name (SCAN) …
Verifying DNS/NIS name service ‘s010.ensn.k0.naja’ …
Verifying Name Service Switch Configuration File Integrity …PASSED
Verifying DNS/NIS name service ‘s010.ensn.k0.naja’ …PASSED
Verifying Single Client Access Name (SCAN) …PASSED
Verifying User Not In Group “root”: grid …PASSED
CVU operation performed: stage -post nodeadd
Date: Aug 15, 2020 9:13:22 AM
CVU home: /grid18c/home/
User: grid
اجرای addnode.sh برای نصب نرم افزار اوراکل در نود جدید
در این مرحله قصد داریم با اجرای اسکریپت addnode.sh، نرم افزار اوراکل را در نود RAC3 نصب کنیم. برای این کار به یکی از نودهای {RAC1,RAC2,RAC4} متصل شده و دستور زیر را از طریق کاربر اوراکل اجرا می کنیم:
[oracle@RAC2 ~]$ cd /oracle18c/home/addnode/
[oracle@RAC2 addnode]$ ./addnode.sh “CLUSTER_NEW_NODES={RAC3}”
مشابه مرحله قبلی، اجرای این اسکریپت هم پیچیدگی خاصی ندارد از اینرو از توضیحات اضافه پرهیز می کنیم:
[root@RAC3 ~]# /oracle18c/home/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /oracle18c/home
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
اجرای DBCA
در مرحله قبلی، با اجرای اسکریپت addnode.sh، صرفا نرم افزار اوراکل به نود جدید اضافه شد و هنوز instanceای در این سرور اضافه و اجرا نشده است:
[oracle@RAC3 ~]$ srvctl status database –d db18c
Instance db18c1 is running on node RAC2
Instance db18c3 is running on node RAC1
Instance db18c4 is running on node RAC4
برای اضافه کردن instance به کلاستر نود RAC3، دستور dbca را در سرور RAC2 اجرا می کنیم:
پس از پایان یافتن اجرای دستور DBCA، با استفاده از دستور زیر خواهیم دید که instanceای در نود RAC3 در حال اجرا می باشد:
[oracle@RAC3 ~]$ srvctl status database –d db18c
Instance db18c1 is running on node RAC2
Instance db18c2 is running on node RAC3
Instance db18c3 is running on node RAC1
Instance db18c4 is running on node RAC4
همچنین تناظر بین instance و نود را با ویوی gv$instance می توان مشاهده کرد:
SQL> select inst_id,instance_name,host_name from gv$instance;
INST_ID INSTANCE_NAME HOST_NAME
———- —————- —————————————-
2 db18c2 RAC3
3 db18c3 RAC1
4 db18c4 RAC4
1 db18c1 RAC2
در پایان با اجرای دستور زیر خواهیم دید که نود RAC3 به کلاستر اضافه شده و resourceهای ضروری هم در حالت online قرار دارند:
[root@RAC3 bin]# ./crsctl status resource -t -n rac3