참조사이트 :
http://blog.grid-it.nl/index.php/2011/04/13/adding-a-new-node-to-an-oacle-11gr2-cluster/
http://oracle-cookies.blogspot.com/2010/12/extending-my-rac-with-new-node.html
addNode.sh(export IGNORE_PREADDNODE_CHECKS=Y 부분참조)
등등 글 중간중간 링크사이트들
1. user equivalance 설정하기
( http://martincarstenbach.wordpress.com/2010/12/22/adding-user-equivalence-for-rac-the-easy-way/ 참조하였습니다.)
1.1 sshUserSetup.sh 실행 (설치파일이 있는 노드에서 진행하세요)
$ cd /<GRID_INSTALL_PATH>/sshsetup
$ pwd
/u01/grid/sshsetup
$ ./sshUserSetup.sh -user oracle -hosts "rac1 rac2 rac3" -noPromptPassphrase -advanced
1.2 테스트
세 노드 모두에서 아래 명령어를 실행해서, 어느 곳에서도 비밀번호를 묻지 않아야합니다.(known list관련 메시지는 상관없습니다.)
2. 설치전 검증하기
2.1 runcluvfy.sh 이용 (설치파일이 있는 노드에서 진행하세요)
$ cd /
$ pwd
/u01/grid
$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2,rac3 -r 11gR2 -verbose > ./check1.log
이후 check1.log 파일을 확인해봅니다.
tmp관련 에러, ASMLib관련에러, total memory에러는 실습환경이므로 무시하겠습니다.
패키지관련에러는 무조건 해결해야합니다.
실행예제
2.2 운영중인 노드와 추가할 노드의 환경 비교(운영중인 노드에서 실행하세요)
2.3 노드를 추가할 수 있는지 검증(2.1 과정과 거의 동일한 과정입니다.)
$ cluvfy stage -pre nodeadd -n rac3 -fixup -verbose > check_nodeadd.log
3. 노드추가작업진행 (addNode.sh 이용) (oracle Grid(clusterware)가 설치되어있는 노드에서 진행하세요)
$ cd /<GRID_INSTALLED_PATH>/oui/bin
3.1 추가작업 후 후속작업 (root로 지정된 스크립트 실행)
(추가한 노드(rac3)에서
# /u01/app/oraInventory/orainstRoot.sh
# /u01/app/11.2.0/grid/root.sh 실행 )
3.2 crs_stat -t 확인
--> RAC운영중 RAC node 추가하기(3)으로
http://blog.grid-it.nl/index.php/2011/04/13/adding-a-new-node-to-an-oacle-11gr2-cluster/
http://oracle-cookies.blogspot.com/2010/12/extending-my-rac-with-new-node.html
addNode.sh(export IGNORE_PREADDNODE_CHECKS=Y 부분참조)
등등 글 중간중간 링크사이트들
1. user equivalance 설정하기
( http://martincarstenbach.wordpress.com/2010/12/22/adding-user-equivalence-for-rac-the-easy-way/ 참조하였습니다.)
1.1 sshUserSetup.sh 실행 (설치파일이 있는 노드에서 진행하세요)
$ cd /<GRID_INSTALL_PATH>/sshsetup
$ pwd
/u01/grid/sshsetup
$ ./sshUserSetup.sh -user oracle -hosts "rac1 rac2 rac3" -noPromptPassphrase -advanced
[oracle@rac1 sshsetup]$ ./sshUserSetup.sh -user oracle -hosts "rac1 rac2 rac3" -noPromptPassphrase -advanced The output of this script is also logged into /tmp/sshUserSetup_2012-04-26-18-09-57.log Hosts are rac1 rac2 rac3 user is oracle Platform:- Linux Checking if the remote hosts are reachable PING rac1 (192.168.0.15) 56(84) bytes of data. 64 bytes from rac1 (192.168.0.15): icmp_seq=1 ttl=64 time=0.014 ms 64 bytes from rac1 (192.168.0.15): icmp_seq=2 ttl=64 time=0.016 ms 64 bytes from rac1 (192.168.0.15): icmp_seq=3 ttl=64 time=0.016 ms 64 bytes from rac1 (192.168.0.15): icmp_seq=4 ttl=64 time=0.017 ms 64 bytes from rac1 (192.168.0.15): icmp_seq=5 ttl=64 time=0.017 ms --- rac1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4001ms rtt min/avg/max/mdev = 0.014/0.016/0.017/0.001 ms PING rac2 (192.168.0.16) 56(84) bytes of data. 64 bytes from rac2 (192.168.0.16): icmp_seq=1 ttl=64 time=0.230 ms 64 bytes from rac2 (192.168.0.16): icmp_seq=2 ttl=64 time=0.125 ms 64 bytes from rac2 (192.168.0.16): icmp_seq=3 ttl=64 time=0.195 ms 64 bytes from rac2 (192.168.0.16): icmp_seq=4 ttl=64 time=0.352 ms 64 bytes from rac2 (192.168.0.16): icmp_seq=5 ttl=64 time=0.224 ms --- rac2 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4001ms rtt min/avg/max/mdev = 0.125/0.225/0.352/0.074 ms PING rac3 (192.168.0.17) 56(84) bytes of data. 64 bytes from rac3 (192.168.0.17): icmp_seq=1 ttl=64 time=1.31 ms 64 bytes from rac3 (192.168.0.17): icmp_seq=2 ttl=64 time=0.128 ms 64 bytes from rac3 (192.168.0.17): icmp_seq=3 ttl=64 time=0.146 ms 64 bytes from rac3 (192.168.0.17): icmp_seq=4 ttl=64 time=0.111 ms 64 bytes from rac3 (192.168.0.17): icmp_seq=5 ttl=64 time=0.095 ms --- rac3 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4001ms rtt min/avg/max/mdev = 0.095/0.359/1.316/0.478 ms Remote host reachability check succeeded. The following hosts are reachable: rac1 rac2 rac3. The following hosts are not reachable: . All hosts are reachable. Proceeding further... firsthost rac1 numhosts 3 The script will setup SSH connectivity from the host rac1 to all the remote hosts. After the script is executed, the user can use SSH to run commands on the remote hosts or copy files between this host rac1 and the remote hosts without being prompted for passwords or confirmations. NOTE 1: As part of the setup procedure, this script will use ssh and scp to copy files between the local host and the remote hosts. Since the script does not store passwords, you may be prompted for the passwords during the execution of the script whenever ssh or scp is invoked. NOTE 2: AS PER SSH REQUIREMENTS, THIS SCRIPT WILL SECURE THE USER HOME DIRECTORY AND THE .ssh DIRECTORY BY REVOKING GROUP AND WORLD WRITE PRIVILEDGES TO THESE directories. Do you want to continue and let the script make the above mentioned changes (yes/no)? yes The user chose yes User chose to skip passphrase related questions. Creating .ssh directory on local host, if not present already Creating authorized_keys file on local host Changing permissions on authorized_keys to 644 on local host Creating known_hosts file on local host Changing permissions on known_hosts to 644 on local host Creating config file on local host If a config file exists already at /home/oracle/.ssh/config, it would be backed up to /home/oracle/.ssh/config.backup. Creating .ssh directory and setting permissions on remote host rac1 THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR oracle. THIS IS AN SSH REQUIREMENT. The script would create ~oracle/.ssh/config file on remote host rac1. If a config file exists already at ~oracle/.ssh/config, it would be backed up to ~oracle/.ssh/config.backup. The user may be prompted for a password here since the script would be running SSH on host rac1. Warning: Permanently added 'rac1,192.168.0.15' (RSA) to the list of known hosts. oracle@rac1's password: Done with creating .ssh directory and setting permissions on remote host rac1. Creating .ssh directory and setting permissions on remote host rac2 THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR oracle. THIS IS AN SSH REQUIREMENT. The script would create ~oracle/.ssh/config file on remote host rac2. If a config file exists already at ~oracle/.ssh/config, it would be backed up to ~oracle/.ssh/config.backup. The user may be prompted for a password here since the script would be running SSH on host rac2. Warning: Permanently added 'rac2,192.168.0.16' (RSA) to the list of known hosts. Done with creating .ssh directory and setting permissions on remote host rac2. Creating .ssh directory and setting permissions on remote host rac3 THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR oracle. THIS IS AN SSH REQUIREMENT. The script would create ~oracle/.ssh/config file on remote host rac3. If a config file exists already at ~oracle/.ssh/config, it would be backed up to ~oracle/.ssh/config.backup. The user may be prompted for a password here since the script would be running SSH on host rac3. Warning: Permanently added 'rac3,192.168.0.17' (RSA) to the list of known hosts. Done with creating .ssh directory and setting permissions on remote host rac3. Copying local host public key to the remote host rac1 The user may be prompted for a password or passphrase here since the script would be using SCP for host rac1. oracle@rac1's password: Done copying local host public key to the remote host rac1 Copying local host public key to the remote host rac2 The user may be prompted for a password or passphrase here since the script would be using SCP for host rac2. Done copying local host public key to the remote host rac2 Copying local host public key to the remote host rac3 The user may be prompted for a password or passphrase here since the script would be using SCP for host rac3. Done copying local host public key to the remote host rac3 Creating keys on remote host rac1 if they do not exist already. This is required to setup SSH on host rac1. Creating keys on remote host rac2 if they do not exist already. This is required to setup SSH on host rac2. Creating keys on remote host rac3 if they do not exist already. This is required to setup SSH on host rac3. Updating authorized_keys file on remote host rac1 Updating known_hosts file on remote host rac1 Updating authorized_keys file on remote host rac2 Updating known_hosts file on remote host rac2 Updating authorized_keys file on remote host rac3 Updating known_hosts file on remote host rac3 cat: /home/oracle/.ssh/known_hosts.tmp: No such file or directory cat: /home/oracle/.ssh/authorized_keys.tmp: No such file or directory SSH setup is complete. ------------------------------------------------------------------------ Verifying SSH setup =================== The script will now run the date command on the remote nodes using ssh to verify if ssh is setup correctly. IF THE SETUP IS CORRECTLY SETUP, THERE SHOULD BE NO OUTPUT OTHER THAN THE DATE AND SSH SHOULD NOT ASK FOR PASSWORDS. If you see any output other than date or are prompted for the password, ssh is not setup correctly and you will need to resolve the issue and set up ssh again. The possible causes for failure could be: 1. The server settings in /etc/ssh/sshd_config file do not allow ssh for user oracle. 2. The server may have disabled public key based authentication. 3. The client public key on the server may be outdated. 4. ~oracle or ~oracle/.ssh on the remote host may not be owned by oracle. 5. User may not have passed -shared option for shared remote users or may be passing the -shared option for non-shared remote users. 6. If there is output in addition to the date, but no password is asked, it may be a security alert shown as part of company policy. Append the additional text to the/sysman/prov/resources/ignoreMessages.txt file. ------------------------------------------------------------------------ --rac1:-- Running /usr/bin/ssh -x -l oracle rac1 date to verify SSH connectivity has been setup from local host to rac1. IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR. 2012. 04. 26. (목) 18:10:22 KST ------------------------------------------------------------------------ --rac2:-- Running /usr/bin/ssh -x -l oracle rac2 date to verify SSH connectivity has been setup from local host to rac2. IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR. 2012. 04. 26. (목) 18:10:23 KST ------------------------------------------------------------------------ --rac3:-- Running /usr/bin/ssh -x -l oracle rac3 date to verify SSH connectivity has been setup from local host to rac3. IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR. 2012. 04. 26. (목) 18:10:24 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac1 to rac1 IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. bash: -c: line 0: unexpected EOF while looking for matching `"' bash: -c: line 1: syntax error: unexpected end of file ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac1 to rac2 IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. bash: -c: line 0: unexpected EOF while looking for matching `"' bash: -c: line 1: syntax error: unexpected end of file ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac1 to rac3 IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. bash: -c: line 0: unexpected EOF while looking for matching `"' bash: -c: line 1: syntax error: unexpected end of file ------------------------------------------------------------------------ -Verification from complete- SSH verification complete.
1.2 테스트
세 노드 모두에서 아래 명령어를 실행해서, 어느 곳에서도 비밀번호를 묻지 않아야합니다.(known list관련 메시지는 상관없습니다.)
ssh rac1 date ssh rac2 date ssh rac3 date ssh rac1-priv date ssh rac2-priv date ssh rac3-priv date
2. 설치전 검증하기
2.1 runcluvfy.sh 이용 (설치파일이 있는 노드에서 진행하세요)
$ cd /
$ pwd
/u01/grid
$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2,rac3 -r 11gR2 -verbose > ./check1.log
이후 check1.log 파일을 확인해봅니다.
tmp관련 에러, ASMLib관련에러, total memory에러는 실습환경이므로 무시하겠습니다.
패키지관련에러는 무조건 해결해야합니다.
실행예제
Performing pre-checks for cluster services setup Checking node reachability... Check: Node reachability from node "rac1" Destination Node Reachable? ------------------------------------ ------------------------ rac2 yes rac1 yes rac3 yes Result: Node reachability check passed from node "rac1" Checking user equivalence... Check: User equivalence for user "oracle" Node Name Comment ------------------------------------ ------------------------ rac2 passed rac1 passed rac3 passed Result: User equivalence check passed for user "oracle" Checking node connectivity... Checking hosts config file... Node Name Status Comment ------------ ------------------------ ------------------------ rac2 passed rac1 passed rac3 passed Verification of the hosts config file successful Interface information for node "rac2" Name IP Address Subnet Gateway Def. Gateway HW Address MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ eth0 192.168.0.16 192.168.0.0 0.0.0.0 192.168.0.1 00:0C:29:F4:43:91 1500 eth0 192.168.0.116 192.168.0.0 0.0.0.0 192.168.0.1 00:0C:29:F4:43:91 1500 eth1 192.168.79.131 192.168.79.0 0.0.0.0 192.168.0.1 00:0C:29:F4:43:9B 1500 eth1 169.254.195.106 169.254.0.0 0.0.0.0 192.168.0.1 00:0C:29:F4:43:9B 1500 Interface information for node "rac1" Name IP Address Subnet Gateway Def. Gateway HW Address MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ eth0 192.168.0.15 192.168.0.0 0.0.0.0 192.168.0.1 00:0C:29:47:D7:2F 1500 eth0 192.168.0.115 192.168.0.0 0.0.0.0 192.168.0.1 00:0C:29:47:D7:2F 1500 eth0 192.168.0.30 192.168.0.0 0.0.0.0 192.168.0.1 00:0C:29:47:D7:2F 1500 eth1 192.168.79.130 192.168.79.0 0.0.0.0 192.168.0.1 00:0C:29:47:D7:39 1500 eth1 169.254.64.15 169.254.0.0 0.0.0.0 192.168.0.1 00:0C:29:47:D7:39 1500 Interface information for node "rac3" Name IP Address Subnet Gateway Def. Gateway HW Address MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ eth0 192.168.0.17 192.168.0.0 0.0.0.0 192.168.0.1 00:0C:29:DA:B7:AA 1500 eth1 192.168.79.132 192.168.79.0 0.0.0.0 192.168.0.1 00:0C:29:DA:B7:B4 1500 Check: Node connectivity of subnet "192.168.0.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------- rac2[192.168.0.16] rac2[192.168.0.116] yes rac2[192.168.0.16] rac1[192.168.0.15] yes rac2[192.168.0.16] rac1[192.168.0.115] yes rac2[192.168.0.16] rac1[192.168.0.30] yes rac2[192.168.0.16] rac3[192.168.0.17] yes rac2[192.168.0.116] rac1[192.168.0.15] yes rac2[192.168.0.116] rac1[192.168.0.115] yes rac2[192.168.0.116] rac1[192.168.0.30] yes rac2[192.168.0.116] rac3[192.168.0.17] yes rac1[192.168.0.15] rac1[192.168.0.115] yes rac1[192.168.0.15] rac1[192.168.0.30] yes rac1[192.168.0.15] rac3[192.168.0.17] yes rac1[192.168.0.115] rac1[192.168.0.30] yes rac1[192.168.0.115] rac3[192.168.0.17] yes rac1[192.168.0.30] rac3[192.168.0.17] yes Result: Node connectivity passed for subnet "192.168.0.0" with node(s) rac2,rac1,rac3 Check: TCP connectivity of subnet "192.168.0.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------- rac1:192.168.0.15 rac2:192.168.0.16 passed rac1:192.168.0.15 rac2:192.168.0.116 passed rac1:192.168.0.15 rac1:192.168.0.115 passed rac1:192.168.0.15 rac1:192.168.0.30 passed rac1:192.168.0.15 rac3:192.168.0.17 passed Result: TCP connectivity check passed for subnet "192.168.0.0" Check: Node connectivity of subnet "192.168.79.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------- rac2[192.168.79.131] rac1[192.168.79.130] yes rac2[192.168.79.131] rac3[192.168.79.132] yes rac1[192.168.79.130] rac3[192.168.79.132] yes Result: Node connectivity passed for subnet "192.168.79.0" with node(s) rac2,rac1,rac3 Check: TCP connectivity of subnet "192.168.79.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------- rac1:192.168.79.130 rac2:192.168.79.131 passed rac1:192.168.79.130 rac3:192.168.79.132 passed Result: TCP connectivity check passed for subnet "192.168.79.0" Check: Node connectivity of subnet "169.254.0.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------- rac2[169.254.195.106] rac1[169.254.64.15] yes Result: Node connectivity passed for subnet "169.254.0.0" with node(s) rac2,rac1 Check: TCP connectivity of subnet "169.254.0.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------- rac1:169.254.64.15 rac2:169.254.195.106 passed Result: TCP connectivity check passed for subnet "169.254.0.0" Interfaces found on subnet "192.168.0.0" that are likely candidates for VIP are: rac2 eth0:192.168.0.16 eth0:192.168.0.116 rac1 eth0:192.168.0.15 eth0:192.168.0.115 eth0:192.168.0.30 rac3 eth0:192.168.0.17 Interfaces found on subnet "192.168.79.0" that are likely candidates for a private interconnect are: rac2 eth1:192.168.79.131 rac1 eth1:192.168.79.130 rac3 eth1:192.168.79.132 Result: Node connectivity check passed Checking ASMLib configuration. Node Name Comment ------------------------------------ ------------------------ rac2 passed rac1 passed rac3 (failed) ASMLib is not configured. Result: Check for ASMLib configuration failed. Check: Total memory Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 1.2348GB (1294772.0KB) 1.5GB (1572864.0KB) failed rac1 1.2348GB (1294772.0KB) 1.5GB (1572864.0KB) failed rac3 1.2348GB (1294772.0KB) 1.5GB (1572864.0KB) failed Result: Total memory check failed Check: Available memory Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 472.9531MB (484304.0KB) 50MB (51200.0KB) passed rac1 616.7695MB (631572.0KB) 50MB (51200.0KB) passed rac3 1.0795GB (1131984.0KB) 50MB (51200.0KB) passed Result: Available memory check passed Check: Swap space Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 2.4973GB (2618584.0KB) 1.5GB (1572864.0KB) passed rac1 2.4973GB (2618584.0KB) 1.5GB (1572864.0KB) passed rac3 2.4973GB (2618584.0KB) 1.5GB (1572864.0KB) passed Result: Swap space check passed Check: Free disk space for "rac2:/tmp" Path Node Name Mount point Available Required Comment ---------------- ------------ ------------ ------------ ------------ ------------ /tmp rac2 / 1.1992GB 1GB passed Result: Free disk space check passed for "rac2:/tmp" Check: Free disk space for "rac1:/tmp" Path Node Name Mount point Available Required Comment ---------------- ------------ ------------ ------------ ------------ ------------ /tmp rac1 / 995.1806MB 1GB failed Result: Free disk space check failed for "rac1:/tmp" Check: Free disk space for "rac3:/tmp" Path Node Name Mount point Available Required Comment ---------------- ------------ ------------ ------------ ------------ ------------ /tmp rac3 / 1.1846GB 1GB passed Result: Free disk space check passed for "rac3:/tmp" Check: User existence for "oracle" Node Name Status Comment ------------ ------------------------ ------------------------ rac2 exists(1200) passed rac1 exists(1200) passed rac3 exists(1200) passed Checking for multiple users with UID value 1200 Result: Check for multiple users with UID value 1200 passed Result: User existence check passed for "oracle" Check: Group existence for "oinstall" Node Name Status Comment ------------ ------------------------ ------------------------ rac2 exists passed rac1 exists passed rac3 exists passed Result: Group existence check passed for "oinstall" Check: Group existence for "dba" Node Name Status Comment ------------ ------------------------ ------------------------ rac2 exists passed rac1 exists passed rac3 exists passed Result: Group existence check passed for "dba" Check: Membership of user "oracle" in group "oinstall" [as Primary] Node Name User Exists Group Exists User in Group Primary Comment ---------------- ------------ ------------ ------------ ------------ ------------ rac2 yes yes yes yes passed rac1 yes yes yes yes passed rac3 yes yes yes yes passed Result: Membership check for user "oracle" in group "oinstall" [as Primary] passed Check: Membership of user "oracle" in group "dba" Node Name User Exists Group Exists User in Group Comment ---------------- ------------ ------------ ------------ ---------------- rac2 yes yes yes passed rac1 yes yes yes passed rac3 yes yes yes passed Result: Membership check for user "oracle" in group "dba" passed Check: Run level Node Name run level Required Comment ------------ ------------------------ ------------------------ ---------- rac2 5 3,5 passed rac1 5 3,5 passed rac3 5 3,5 passed Result: Run level check passed Check: Hard limits for "maximum open file descriptors" Node Name Type Available Required Comment ---------------- ------------ ------------ ------------ ---------------- rac2 hard 65536 65536 passed rac1 hard 65536 65536 passed rac3 hard 65536 65536 passed Result: Hard limits check passed for "maximum open file descriptors" Check: Soft limits for "maximum open file descriptors" Node Name Type Available Required Comment ---------------- ------------ ------------ ------------ ---------------- rac2 soft 1024 1024 passed rac1 soft 1024 1024 passed rac3 soft 1024 1024 passed Result: Soft limits check passed for "maximum open file descriptors" Check: Hard limits for "maximum user processes" Node Name Type Available Required Comment ---------------- ------------ ------------ ------------ ---------------- rac2 hard 16384 16384 passed rac1 hard 16384 16384 passed rac3 hard 16384 16384 passed Result: Hard limits check passed for "maximum user processes" Check: Soft limits for "maximum user processes" Node Name Type Available Required Comment ---------------- ------------ ------------ ------------ ---------------- rac2 soft 2047 2047 passed rac1 soft 2047 2047 passed rac3 soft 2047 2047 passed Result: Soft limits check passed for "maximum user processes" Check: System architecture Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 i686 x86 passed rac1 i686 x86 passed rac3 i686 x86 passed Result: System architecture check passed Check: Kernel version Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 2.6.18-238.el5PAE 2.6.18 passed rac1 2.6.18-238.el5PAE 2.6.18 passed rac3 2.6.18-238.el5PAE 2.6.18 passed Result: Kernel version check passed Check: Kernel parameter for "semmsl" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 250 250 passed rac1 250 250 passed rac3 250 250 passed Result: Kernel parameter check passed for "semmsl" Check: Kernel parameter for "semmns" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 32000 32000 passed rac1 32000 32000 passed rac3 32000 32000 passed Result: Kernel parameter check passed for "semmns" Check: Kernel parameter for "semopm" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 100 100 passed rac1 100 100 passed rac3 100 100 passed Result: Kernel parameter check passed for "semopm" Check: Kernel parameter for "semmni" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 128 128 passed rac1 128 128 passed rac3 128 128 passed Result: Kernel parameter check passed for "semmni" Check: Kernel parameter for "shmmax" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 4294967295 662923264 passed rac1 4294967295 662923264 passed rac3 4294967295 662923264 passed Result: Kernel parameter check passed for "shmmax" Check: Kernel parameter for "shmmni" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 4096 4096 passed rac1 4096 4096 passed rac3 4096 4096 passed Result: Kernel parameter check passed for "shmmni" Check: Kernel parameter for "shmall" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 268435456 2097152 passed rac1 268435456 2097152 passed rac3 268435456 2097152 passed Result: Kernel parameter check passed for "shmall" Check: Kernel parameter for "file-max" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 6815744 6815744 passed rac1 6815744 6815744 passed rac3 6815744 6815744 passed Result: Kernel parameter check passed for "file-max" Check: Kernel parameter for "ip_local_port_range" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 between 9000 & 65500 between 9000 & 65500 passed rac1 between 9000 & 65500 between 9000 & 65500 passed rac3 between 9000 & 65500 between 9000 & 65500 passed Result: Kernel parameter check passed for "ip_local_port_range" Check: Kernel parameter for "rmem_default" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 4194304 262144 passed rac1 4194304 262144 passed rac3 4194304 262144 passed Result: Kernel parameter check passed for "rmem_default" Check: Kernel parameter for "rmem_max" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 4194304 4194304 passed rac1 4194304 4194304 passed rac3 4194304 4194304 passed Result: Kernel parameter check passed for "rmem_max" Check: Kernel parameter for "wmem_default" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 262144 262144 passed rac1 262144 262144 passed rac3 262144 262144 passed Result: Kernel parameter check passed for "wmem_default" Check: Kernel parameter for "wmem_max" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 1048576 1048576 passed rac1 1048576 1048576 passed rac3 1048576 1048576 passed Result: Kernel parameter check passed for "wmem_max" Check: Kernel parameter for "aio-max-nr" Node Name Configured Required Comment ------------ ------------------------ ------------------------ ---------- rac2 1048576 1048576 passed rac1 1048576 1048576 passed rac3 1048576 1048576 passed Result: Kernel parameter check passed for "aio-max-nr" Check: Package existence for "make-3.81( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 make-3.81-3.el5 make-3.81( i686) passed rac1 make-3.81-3.el5 make-3.81( i686) passed rac3 make-3.81-3.el5 make-3.81( i686) passed Result: Package existence check passed for "make-3.81( i686)" Check: Package existence for "binutils-2.17.50.0.6( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 binutils-2.17.50.0.6-14.el5 binutils-2.17.50.0.6( i686) passed rac1 binutils-2.17.50.0.6-14.el5 binutils-2.17.50.0.6( i686) passed rac3 binutils-2.17.50.0.6-14.el5 binutils-2.17.50.0.6( i686) passed Result: Package existence check passed for "binutils-2.17.50.0.6( i686)" Check: Package existence for "gcc-4.1.2( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 gcc-4.1.2-50.el5 gcc-4.1.2( i686) passed rac1 gcc-4.1.2-50.el5 gcc-4.1.2( i686) passed rac3 gcc-4.1.2-50.el5 gcc-4.1.2( i686) passed Result: Package existence check passed for "gcc-4.1.2( i686)" Check: Package existence for "gcc-c++-4.1.2( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 gcc-c++-4.1.2-50.el5 gcc-c++-4.1.2( i686) passed rac1 gcc-c++-4.1.2-50.el5 gcc-c++-4.1.2( i686) passed rac3 gcc-c++-4.1.2-50.el5 gcc-c++-4.1.2( i686) passed Result: Package existence check passed for "gcc-c++-4.1.2( i686)" Check: Package existence for "libgomp-4.1.2( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 libgomp-4.4.4-13.el5 libgomp-4.1.2( i686) passed rac1 libgomp-4.4.4-13.el5 libgomp-4.1.2( i686) passed rac3 libgomp-4.4.4-13.el5 libgomp-4.1.2( i686) passed Result: Package existence check passed for "libgomp-4.1.2( i686)" Check: Package existence for "libaio-0.3.106( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 libaio-0.3.106-5 libaio-0.3.106( i686) passed rac1 libaio-0.3.106-5 libaio-0.3.106( i686) passed rac3 libaio-0.3.106-5 libaio-0.3.106( i686) passed Result: Package existence check passed for "libaio-0.3.106( i686)" Check: Package existence for "glibc-2.5-24( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 glibc-2.5-58 glibc-2.5-24( i686) passed rac1 glibc-2.5-58 glibc-2.5-24( i686) passed rac3 glibc-2.5-58 glibc-2.5-24( i686) passed Result: Package existence check passed for "glibc-2.5-24( i686)" Check: Package existence for "compat-libstdc++-33-3.2.3( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 compat-libstdc++-33-3.2.3-61 compat-libstdc++-33-3.2.3( i686) passed rac1 compat-libstdc++-33-3.2.3-61 compat-libstdc++-33-3.2.3( i686) passed rac3 compat-libstdc++-33-3.2.3-61 compat-libstdc++-33-3.2.3( i686) passed Result: Package existence check passed for "compat-libstdc++-33-3.2.3( i686)" Check: Package existence for "elfutils-libelf-0.125( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 elfutils-libelf-0.137-3.el5 elfutils-libelf-0.125( i686) passed rac1 elfutils-libelf-0.137-3.el5 elfutils-libelf-0.125( i686) passed rac3 elfutils-libelf-0.137-3.el5 elfutils-libelf-0.125( i686) passed Result: Package existence check passed for "elfutils-libelf-0.125( i686)" Check: Package existence for "elfutils-libelf-devel-0.125( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.125( i686) passed rac1 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.125( i686) passed rac3 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.125( i686) passed Result: Package existence check passed for "elfutils-libelf-devel-0.125( i686)" Check: Package existence for "glibc-common-2.5( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 glibc-common-2.5-58 glibc-common-2.5( i686) passed rac1 glibc-common-2.5-58 glibc-common-2.5( i686) passed rac3 glibc-common-2.5-58 glibc-common-2.5( i686) passed Result: Package existence check passed for "glibc-common-2.5( i686)" Check: Package existence for "glibc-devel-2.5( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 glibc-devel-2.5-58 glibc-devel-2.5( i686) passed rac1 glibc-devel-2.5-58 glibc-devel-2.5( i686) passed rac3 glibc-devel-2.5-58 glibc-devel-2.5( i686) passed Result: Package existence check passed for "glibc-devel-2.5( i686)" Check: Package existence for "glibc-headers-2.5( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 glibc-headers-2.5-58 glibc-headers-2.5( i686) passed rac1 glibc-headers-2.5-58 glibc-headers-2.5( i686) passed rac3 glibc-headers-2.5-58 glibc-headers-2.5( i686) passed Result: Package existence check passed for "glibc-headers-2.5( i686)" Check: Package existence for "libaio-devel-0.3.106( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 libaio-devel-0.3.106-3.2 libaio-devel-0.3.106( i686) passed rac1 libaio-devel-0.3.106-3.2 libaio-devel-0.3.106( i686) passed rac3 libaio-devel-0.3.106-3.2 libaio-devel-0.3.106( i686) passed Result: Package existence check passed for "libaio-devel-0.3.106( i686)" Check: Package existence for "libgcc-4.1.2( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 libgcc-4.1.2-50.el5 libgcc-4.1.2( i686) passed rac1 libgcc-4.1.2-50.el5 libgcc-4.1.2( i686) passed rac3 libgcc-4.1.2-50.el5 libgcc-4.1.2( i686) passed Result: Package existence check passed for "libgcc-4.1.2( i686)" Check: Package existence for "libstdc++-4.1.2( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 libstdc++-4.1.2-50.el5 libstdc++-4.1.2( i686) passed rac1 libstdc++-4.1.2-50.el5 libstdc++-4.1.2( i686) passed rac3 libstdc++-4.1.2-50.el5 libstdc++-4.1.2( i686) passed Result: Package existence check passed for "libstdc++-4.1.2( i686)" Check: Package existence for "libstdc++-devel-4.1.2( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 libstdc++-devel-4.1.2-50.el5 libstdc++-devel-4.1.2( i686) passed rac1 libstdc++-devel-4.1.2-50.el5 libstdc++-devel-4.1.2( i686) passed rac3 libstdc++-devel-4.1.2-50.el5 libstdc++-devel-4.1.2( i686) passed Result: Package existence check passed for "libstdc++-devel-4.1.2( i686)" Check: Package existence for "sysstat-7.0.2( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 sysstat-7.0.2-3.el5 sysstat-7.0.2( i686) passed rac1 sysstat-7.0.2-3.el5 sysstat-7.0.2( i686) passed rac3 sysstat-7.0.2-3.el5_5.1 sysstat-7.0.2( i686) passed Result: Package existence check passed for "sysstat-7.0.2( i686)" Check: Package existence for "ksh-20060214( i686)" Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 ksh-20100202-1.el5_5.1 ksh-20060214( i686) passed rac1 ksh-20100202-1.el5_5.1 ksh-20060214( i686) passed rac3 ksh-20100202-1.el5_5.1 ksh-20060214( i686) passed Result: Package existence check passed for "ksh-20060214( i686)" Checking for multiple users with UID value 0 Result: Check for multiple users with UID value 0 passed Check: Current group ID Result: Current group ID check passed Starting Clock synchronization checks using Network Time Protocol(NTP)... NTP Configuration file check started... The NTP configuration file "/etc/ntp.conf" is available on all nodes NTP Configuration file check passed Checking daemon liveness... Check: Liveness for "ntpd" Node Name Running? ------------------------------------ ------------------------ rac2 yes rac1 yes rac3 yes Result: Liveness check passed for "ntpd" Check for NTP daemon or service alive passed on all nodes Checking NTP daemon command line for slewing option "-x" Check: NTP daemon command line Node Name Slewing Option Set? ------------------------------------ ------------------------ rac2 yes rac1 yes rac3 yes Result: NTP daemon slewing option check passed Checking NTP daemon's boot time configuration, in file "/etc/sysconfig/ntpd", for slewing option "-x" Check: NTP daemon's boot time configuration Node Name Slewing Option Set? ------------------------------------ ------------------------ rac2 yes rac1 yes rac3 yes Result: NTP daemon's boot time configuration check for slewing option passed Checking whether NTP daemon or service is using UDP port 123 on all nodes Check for NTP daemon or service using UDP port 123 Node Name Port Open? ------------------------------------ ------------------------ rac2 yes rac1 yes rac3 yes NTP common Time Server Check started... PRVF-5408 : NTP Time Server "108.71.253.20" is common only to the following nodes "rac3" PRVF-5408 : NTP Time Server "128.10.254.6" is common only to the following nodes "rac2" NTP Time Server "121.182.147.191" is common to all nodes on which the NTP daemon is running PRVF-5408 : NTP Time Server "133.100.9.2" is common only to the following nodes "rac2,rac1" PRVF-5408 : NTP Time Server "211.115.194.21" is common only to the following nodes "rac3" NTP Time Server ".LOCL." is common to all nodes on which the NTP daemon is running Check of common NTP Time Server passed Clock time offset check from NTP Time Server started... Checking on nodes "[rac2, rac1, rac3]"... Check: Clock time offset from NTP Time Server Time Server: 121.182.147.191 Time Offset Limit: 1000.0 msecs Node Name Time Offset Status ------------ ------------------------ ------------------------ rac2 -107.79 passed rac1 -35.325 passed rac3 24.222 passed Time Server "121.182.147.191" has time offsets that are within permissible limits for nodes "[rac2, rac1, rac3]". Time Server: .LOCL. Time Offset Limit: 1000.0 msecs Node Name Time Offset Status ------------ ------------------------ ------------------------ rac2 0.0 passed rac1 0.0 passed rac3 0.0 passed Time Server ".LOCL." has time offsets that are within permissible limits for nodes "[rac2, rac1, rac3]". Clock time offset check passed Result: Clock synchronization check using Network Time Protocol(NTP) passed Checking Core file name pattern consistency... Core file name pattern consistency check passed. Checking to make sure user "oracle" is not in "root" group Node Name Status Comment ------------ ------------------------ ------------------------ rac2 does not exist passed rac1 does not exist passed rac3 does not exist passed Result: User "oracle" is not part of "root" group. Check passed Check default user file creation mask Node Name Available Required Comment ------------ ------------------------ ------------------------ ---------- rac2 0022 0022 passed rac1 0022 0022 passed rac3 0022 0022 passed Result: Default user file creation mask check passed Checking consistency of file "/etc/resolv.conf" across nodes Checking the file "/etc/resolv.conf" to make sure only one of domain and search entries is defined File "/etc/resolv.conf" does not have both domain and search entries defined Checking if domain entry in file "/etc/resolv.conf" is consistent across the nodes... domain entry in file "/etc/resolv.conf" is consistent across nodes Checking if search entry in file "/etc/resolv.conf" is consistent across the nodes... search entry in file "/etc/resolv.conf" is consistent across nodes Checking DNS response time for an unreachable node Node Name Status ------------------------------------ ------------------------ rac2 passed rac1 passed rac3 passed The DNS response time for an unreachable node is within acceptable limit on all nodes File "/etc/resolv.conf" is consistent across nodes Check: Time zone consistency Result: Time zone consistency check passed Starting check for Huge Pages Existence ... Check for Huge Pages Existence passed Starting check for Hardware Clock synchronization at shutdown ... Check for Hardware Clock synchronization at shutdown passed Pre-check for cluster services setup was unsuccessful on all the nodes.
2.2 운영중인 노드와 추가할 노드의 환경 비교(운영중인 노드에서 실행하세요)
$ cluvfy comp peer -n rac3 -refnode rac1 -r 11gR2 > check.log (실행 후 check.log 파일 확인)
2.3 노드를 추가할 수 있는지 검증(2.1 과정과 거의 동일한 과정입니다.)
$ cluvfy stage -pre nodeadd -n rac3 -fixup -verbose > check_nodeadd.log
3. 노드추가작업진행 (addNode.sh 이용) (oracle Grid(clusterware)가 설치되어있는 노드에서 진행하세요)
$ cd /<GRID_INSTALLED_PATH>/oui/bin
$ pwd
/u01/app/11.2.0/grid/oui/bin
$ export IGNORE_PREADDNODE_CHECKS=Y
$ export IGNORE_PREADDNODE_CHECKS=Y
$ ./addNode.sh CLUSTER_NEW_NODES={rac3} CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac3-vip}
(추가할 노드의 이름과, vip를 지정해주세요)[oracle@rac1 bin]$ ./addNode.sh CLUSTER_NEW_NODES={rac3} CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac3-vip} Oracle Universal Installer 시작 중... 스왑 공간 확인 중: 500MB 이상이어야 합니다.. 실제 1890MB 성공 모니터 확인 중: 최소 256 색상을 표시하도록 구성되어 있어야 합니다.. 실제 16777216 성공 Oracle Universal Installer, 버전 11.2.0.2.0 Production Copyright (C) 1999, 2010, Oracle. All rights reserved. rac2,rac3 노드의 사용 가능 여부를 확인하기 위한 테스트 수행 중 ............................................................... 100% 완료되었습니다. . ----------------------------------------------------------------------------- 클러스터 노드 추가 요약 전역 설정 소스: /u01/app/11.2.0/grid 새 노드 공간 요구 사항 새 노드 rac3 /u01: 필요 3.58GB: 사용 가능 18.29GB 설치된 제품 제품 이름 Oracle Grid Infrastructure 11.2.0.2.0 Sun JDK 1.5.0.24.08 Installer SDK Component 11.2.0.2.0 Oracle One-Off Patch Installer 11.2.0.0.2 Oracle Universal Installer 11.2.0.2.0 Oracle USM Deconfiguration 11.2.0.2.0 Oracle Configuration Manager Deconfiguration 10.3.1.0.0 Enterprise Manager Common Core Files 10.2.0.4.3 Oracle DBCA Deconfiguration 11.2.0.2.0 Oracle RAC Deconfiguration 11.2.0.2.0 .... 중략 .... Oracle Internet Directory Client 11.2.0.2.0 Oracle Net Listener 11.2.0.2.0 Cluster Ready Services Files 11.2.0.2.0 Oracle Database 11g 11.2.0.2.0 ----------------------------------------------------------------------------- 노드 추가를 위해 스크립트 인스턴스화 중 (2012년 4월 26일 목요일 오후 7시 32분 07초 KST) . 1% 완료되었습니다. 노드 추가 스크립트 인스턴스화 완료 원격 노드에 복사 중 (2012년 4월 26일 목요일 오후 7시 32분 09초 KST) ............................................................................................... 96% 완료되었습니다. 홈이 새 노드에 복사됨 노드에 인벤토리 저장 중 (2012년 4월 26일 목요일 오후 7시 36분 40초 KST) . 100% 완료되었습니다. 인벤토리 저장 완료 WARNING:이 세션의 하나 이상의 노드에 새 인벤토리가 생성되었습니다. 하지만 아직 이 시스템의 중앙 인벤토리로 등록되지는 않았습니다. 새 인벤토리를 등록하려면 'rac3' 노드에 대한 루트 권한으로 /u01/app/oraInventory/orainstRoot.sh에서 스크립트를 실행하십시오. 인벤토리를 등록하지 않으면 설치한 제품을 갱신하거나 패치하지 못할 수 있습니다. 다음 구성 스크립트는 각 클러스터 노드에서 "루트" 사용자로 실행해야 합니다. /u01/app/oraInventory/orainstRoot.sh #On nodes rac3 /u01/app/11.2.0/grid/root.sh #On nodes rac3 구성 스크립트 실행: 1. 터미널 창을 엽니다. 2. "루트"로 로그인합니다. 3. 각 클러스터 노드에서 스크립트를 실행합니다. /u01/app/11.2.0/grid의 클러스터 노드 추가을(를) 성공했습니다. 자세한 내용은 '/tmp/silentInstall.log'을(를) 확인하십시오.
3.1 추가작업 후 후속작업 (root로 지정된 스크립트 실행)
(추가한 노드(rac3)에서
# /u01/app/oraInventory/orainstRoot.sh
# /u01/app/11.2.0/grid/root.sh 실행 )
[root@rac3 oraInventory]# /u01/app/oraInventory/orainstRoot.sh Oracle 인벤토리 포인터 파일 생성 중 (/etc/oraInst.loc) 다음 권한 변경 중/u01/app/oraInventory. 그룹에 대한 읽기, 쓰기 권한을 추가하는 중입니다. 월드에 대한 읽기, 쓰기, 실행 권한을 제거하는 중입니다. 그룹 이름 변경 중 /u01/app/oraInventory 대상 oinstall. 스크립트 실행이 완료되었습니다. [root@rac3 oraInventory]# [root@rac3 oraInventory]# /u01/app/11.2.0/grid/root.sh Running Oracle 11g root script... The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/11.2.0/grid Enter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... 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. Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params Creating trace directory LOCAL ADD MODE Creating OCR keys for user 'root', privgrp 'root'.. Operation successful. OLR initialization - successful Adding daemon to inittab ACFS-9200: Supported ACFS-9300: ADVM/ACFS distribution files found. ACFS-9307: Installing requested ADVM/ACFS software. ACFS-9308: Loading installed ADVM/ACFS drivers. ACFS-9321: Creating udev for ADVM/ACFS. ACFS-9323: Creating module dependencies - this may take some time. ACFS-9327: Verifying ADVM/ACFS devices. ACFS-9309: ADVM/ACFS installation correctness verified. CRS-4402: CSS 데몬이 배타 모드에서 시작되었지만 활성 CSS 데몬이 노드 rac1, 번호 1에서 발견되어 종료 중입니다. An active cluster was found during exclusive startup, restarting to join the cluster clscfg: EXISTING configuration version 5 detected. clscfg: version 5 is 11g Release 2. Successfully accumulated necessary OCR keys. Creating OCR keys for user 'root', privgrp 'root'.. Operation successful. 설치할 패키지를 준비하고 있습니다... cvuqdisk-1.0.9-1 Configure Oracle Grid Infrastructure for a Cluster ... succeeded
3.2 crs_stat -t 확인
[Name Type Target State Host ------------------------------------------------------------ ora....ER.lsnr ora....er.type ONLINE ONLINE rac1 ora....N1.lsnr ora....er.type ONLINE ONLINE rac1 ora....VOTE.dg ora....up.type ONLINE ONLINE rac1 ora.ORADATA.dg ora....up.type ONLINE ONLINE rac1 ora....LASH.dg ora....up.type ONLINE ONLINE rac1 ora.asm ora.asm.type ONLINE ONLINE rac1 ora.cvu ora.cvu.type ONLINE ONLINE rac1 ora.gsd ora.gsd.type ONLINE ONLINE rac1 ora....network ora....rk.type ONLINE ONLINE rac1 ora.ons ora.ons.type ONLINE ONLINE rac1 ora....SM1.asm application ONLINE ONLINE rac1 ora....C1.lsnr application ONLINE ONLINE rac1 ora.rac1.gsd application ONLINE ONLINE rac1 ora.rac1.ons application ONLINE ONLINE rac1 ora.rac1.vip ora....t1.type ONLINE ONLINE rac1 ora....SM2.asm application ONLINE ONLINE rac2 ora....C2.lsnr application ONLINE ONLINE rac2 ora.rac2.gsd application ONLINE ONLINE rac2 ora.rac2.ons application ONLINE ONLINE rac2 ora.rac2.vip ora....t1.type ONLINE ONLINE rac2 ora....SM3.asm application ONLINE ONLINE rac3 ora....C3.lsnr application ONLINE ONLINE rac3 ora.rac3.gsd application ONLINE ONLINE rac3 ora.rac3.ons application ONLINE ONLINE rac3 ora.rac3.vip ora....t1.type ONLINE ONLINE rac3 ora.racdb.db ora....se.type ONLINE ONLINE rac1 ora....ry.acfs ora....fs.type ONLINE ONLINE rac1 ora.scan1.vip ora....ip.type ONLINE ONLINE rac1
--> RAC운영중 RAC node 추가하기(3)으로