이 부분은 초기 구축시에 2노드 RAC로 구축을 하다가 1개의 노드를 추가하는 경우의 예제입니다.
초기 구축시에 3노드 구성이 가능한 환경이라면, 굳이 2노드 RAC로 구축했다가 노드를 추가하는 번거로운 작업을 할 필요 없이, 최초 Grid 설치 시에 바로 3노드 RAC로 구성하면 됩니다.
1. 사전 준비
A) hosts 파일 수정
### Public 10.0.1.101 rac1.localdomain rac1 10.0.1.102 rac2.localdomain rac2 10.0.1.103 rac3.localdomain rac3 ### Private 10.0.5.101 rac1-priv.localdomain rac1-priv 10.0.5.102 rac2-priv.localdomain rac2-priv 10.0.5.103 rac3-priv.localdomain rac3-priv ### Virtual 10.0.1.111 rac1-vip.localdomain rac1-vip 10.0.1.112 rac2-vip.localdomain rac2-vip 10.0.1.113 rac3-vip.localdomain rac3-vip ### SCAN 10.0.1.110 rac-scan.localdomain rac-scan
전체 노드의 /etc/hosts 파일을 수정하여 추가하는 노드에 대한 접속 정보를 추가합니다.
B) 네트워크 연결 테스트
ping -c 3 rac1 ping -c 3 rac2 ping -c 3 rac3 ping -c 3 rac1-priv ping -c 3 rac2-priv ping -c 3 rac3-priv
[root@rac1 ~]# ping -c 3 rac1 PING rac1.localdomain (10.0.1.101) 56(84) bytes of data. 64 bytes from rac1.localdomain (10.0.1.101): icmp_seq=1 ttl=64 time=0.013 ms 64 bytes from rac1.localdomain (10.0.1.101): icmp_seq=2 ttl=64 time=0.020 ms 64 bytes from rac1.localdomain (10.0.1.101): icmp_seq=3 ttl=64 time=0.015 ms --- rac1.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.013/0.016/0.020/0.003 ms [root@rac1 ~]# ping -c 3 rac2 PING rac2.localdomain (10.0.1.102) 56(84) bytes of data. 64 bytes from rac2.localdomain (10.0.1.102): icmp_seq=1 ttl=64 time=0.359 ms 64 bytes from rac2.localdomain (10.0.1.102): icmp_seq=2 ttl=64 time=0.294 ms 64 bytes from rac2.localdomain (10.0.1.102): icmp_seq=3 ttl=64 time=0.397 ms --- rac2.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.294/0.350/0.397/0.042 ms [root@rac1 ~]# ping -c 3 rac3 PING rac3.localdomain (10.0.1.103) 56(84) bytes of data. 64 bytes from rac3.localdomain (10.0.1.103): icmp_seq=1 ttl=64 time=0.683 ms 64 bytes from rac3.localdomain (10.0.1.103): icmp_seq=2 ttl=64 time=0.587 ms 64 bytes from rac3.localdomain (10.0.1.103): icmp_seq=3 ttl=64 time=0.849 ms --- rac3.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 0.587/0.706/0.849/0.110 ms [root@rac1 ~]# ping -c 3 rac1-priv PING rac1-priv.localdomain (10.0.5.101) 56(84) bytes of data. 64 bytes from rac1-priv.localdomain (10.0.5.101): icmp_seq=1 ttl=64 time=0.016 ms 64 bytes from rac1-priv.localdomain (10.0.5.101): icmp_seq=2 ttl=64 time=0.023 ms 64 bytes from rac1-priv.localdomain (10.0.5.101): icmp_seq=3 ttl=64 time=0.018 ms --- rac1-priv.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 0.016/0.019/0.023/0.003 ms [root@rac1 ~]# ping -c 3 rac2-priv PING rac2-priv.localdomain (10.0.5.102) 56(84) bytes of data. 64 bytes from rac2-priv.localdomain (10.0.5.102): icmp_seq=1 ttl=64 time=1.44 ms 64 bytes from rac2-priv.localdomain (10.0.5.102): icmp_seq=2 ttl=64 time=0.224 ms 64 bytes from rac2-priv.localdomain (10.0.5.102): icmp_seq=3 ttl=64 time=0.314 ms --- rac2-priv.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.224/0.661/1.446/0.556 ms [root@rac1 ~]# ping -c 3 rac3-priv PING rac3-priv.localdomain (10.0.5.103) 56(84) bytes of data. 64 bytes from rac3-priv.localdomain (10.0.5.103): icmp_seq=1 ttl=64 time=0.904 ms 64 bytes from rac3-priv.localdomain (10.0.5.103): icmp_seq=2 ttl=64 time=0.518 ms 64 bytes from rac3-priv.localdomain (10.0.5.103): icmp_seq=3 ttl=64 time=0.317 ms --- rac3-priv.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.317/0.579/0.904/0.245 ms
[root@rac2 ~]# ping -c 3 rac1 PING rac1.localdomain (10.0.1.101) 56(84) bytes of data. 64 bytes from rac1.localdomain (10.0.1.101): icmp_seq=1 ttl=64 time=0.319 ms 64 bytes from rac1.localdomain (10.0.1.101): icmp_seq=2 ttl=64 time=1.31 ms 64 bytes from rac1.localdomain (10.0.1.101): icmp_seq=3 ttl=64 time=0.289 ms --- rac1.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 0.289/0.639/1.311/0.475 ms [root@rac2 ~]# ping -c 3 rac2 PING rac2.localdomain (10.0.1.102) 56(84) bytes of data. 64 bytes from rac2.localdomain (10.0.1.102): icmp_seq=1 ttl=64 time=0.010 ms 64 bytes from rac2.localdomain (10.0.1.102): icmp_seq=2 ttl=64 time=0.019 ms 64 bytes from rac2.localdomain (10.0.1.102): icmp_seq=3 ttl=64 time=0.014 ms --- rac2.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.010/0.014/0.019/0.004 ms [root@rac2 ~]# ping -c 3 rac3 PING rac3.localdomain (10.0.1.103) 56(84) bytes of data. 64 bytes from rac3.localdomain (10.0.1.103): icmp_seq=1 ttl=64 time=1.87 ms 64 bytes from rac3.localdomain (10.0.1.103): icmp_seq=2 ttl=64 time=0.347 ms 64 bytes from rac3.localdomain (10.0.1.103): icmp_seq=3 ttl=64 time=0.299 ms --- rac3.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 0.299/0.840/1.876/0.733 ms [root@rac2 ~]# ping -c 3 rac1-priv PING rac1-priv.localdomain (10.0.5.101) 56(84) bytes of data. 64 bytes from rac1-priv.localdomain (10.0.5.101): icmp_seq=1 ttl=64 time=0.288 ms 64 bytes from rac1-priv.localdomain (10.0.5.101): icmp_seq=2 ttl=64 time=0.513 ms 64 bytes from rac1-priv.localdomain (10.0.5.101): icmp_seq=3 ttl=64 time=0.583 ms --- rac1-priv.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 0.288/0.461/0.583/0.127 ms [root@rac2 ~]# ping -c 3 rac2-priv PING rac2-priv.localdomain (10.0.5.102) 56(84) bytes of data. 64 bytes from rac2-priv.localdomain (10.0.5.102): icmp_seq=1 ttl=64 time=0.013 ms 64 bytes from rac2-priv.localdomain (10.0.5.102): icmp_seq=2 ttl=64 time=0.023 ms 64 bytes from rac2-priv.localdomain (10.0.5.102): icmp_seq=3 ttl=64 time=0.050 ms --- rac2-priv.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.013/0.028/0.050/0.016 ms [root@rac2 ~]# ping -c 3 rac3-priv PING rac3-priv.localdomain (10.0.5.103) 56(84) bytes of data. 64 bytes from rac3-priv.localdomain (10.0.5.103): icmp_seq=1 ttl=64 time=1.39 ms 64 bytes from rac3-priv.localdomain (10.0.5.103): icmp_seq=2 ttl=64 time=0.573 ms 64 bytes from rac3-priv.localdomain (10.0.5.103): icmp_seq=3 ttl=64 time=0.510 ms --- rac3-priv.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 0.510/0.825/1.392/0.401 ms
[root@rac3 ~]# ping -c 3 rac1 PING rac1.localdomain (10.0.1.101) 56(84) bytes of data. 64 bytes from rac1.localdomain (10.0.1.101): icmp_seq=1 ttl=64 time=0.330 ms 64 bytes from rac1.localdomain (10.0.1.101): icmp_seq=2 ttl=64 time=0.804 ms 64 bytes from rac1.localdomain (10.0.1.101): icmp_seq=3 ttl=64 time=0.947 ms --- rac1.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 0.330/0.693/0.947/0.265 ms [root@rac3 ~]# ping -c 3 rac2 PING rac2.localdomain (10.0.1.102) 56(84) bytes of data. 64 bytes from rac2.localdomain (10.0.1.102): icmp_seq=1 ttl=64 time=0.327 ms 64 bytes from rac2.localdomain (10.0.1.102): icmp_seq=2 ttl=64 time=0.314 ms 64 bytes from rac2.localdomain (10.0.1.102): icmp_seq=3 ttl=64 time=0.999 ms --- rac2.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 0.314/0.546/0.999/0.321 ms [root@rac3 ~]# ping -c 3 rac3 PING rac3.localdomain (10.0.1.103) 56(84) bytes of data. 64 bytes from rac3.localdomain (10.0.1.103): icmp_seq=1 ttl=64 time=0.016 ms 64 bytes from rac3.localdomain (10.0.1.103): icmp_seq=2 ttl=64 time=0.017 ms 64 bytes from rac3.localdomain (10.0.1.103): icmp_seq=3 ttl=64 time=0.046 ms --- rac3.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 0.016/0.026/0.046/0.014 ms [root@rac3 ~]# ping -c 3 rac1-priv PING rac1-priv.localdomain (10.0.5.101) 56(84) bytes of data. 64 bytes from rac1-priv.localdomain (10.0.5.101): icmp_seq=1 ttl=64 time=0.271 ms 64 bytes from rac1-priv.localdomain (10.0.5.101): icmp_seq=2 ttl=64 time=0.888 ms 64 bytes from rac1-priv.localdomain (10.0.5.101): icmp_seq=3 ttl=64 time=0.394 ms --- rac1-priv.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 0.271/0.517/0.888/0.267 ms [root@rac3 ~]# ping -c 3 rac2-priv PING rac2-priv.localdomain (10.0.5.102) 56(84) bytes of data. 64 bytes from rac2-priv.localdomain (10.0.5.102): icmp_seq=1 ttl=64 time=0.306 ms 64 bytes from rac2-priv.localdomain (10.0.5.102): icmp_seq=2 ttl=64 time=0.506 ms 64 bytes from rac2-priv.localdomain (10.0.5.102): icmp_seq=3 ttl=64 time=0.990 ms --- rac2-priv.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 0.306/0.600/0.990/0.288 ms [root@rac3 ~]# ping -c 3 rac3-priv PING rac3-priv.localdomain (10.0.5.103) 56(84) bytes of data. 64 bytes from rac3-priv.localdomain (10.0.5.103): icmp_seq=1 ttl=64 time=0.015 ms 64 bytes from rac3-priv.localdomain (10.0.5.103): icmp_seq=2 ttl=64 time=0.026 ms 64 bytes from rac3-priv.localdomain (10.0.5.103): icmp_seq=3 ttl=64 time=0.046 ms --- rac3-priv.localdomain ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.015/0.029/0.046/0.012 ms
모든 노드에서 ping 테스트를 통해 네트워크 연결이 정상적인지 확인합니다.
2. 클러스터에 노드 추가
A) 클러스터 상태 확인
crsctl stat res -t
[root@rac2 ~]# crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.CRS.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.DATA.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.LISTENER.lsnr ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.RECO.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.asm ONLINE ONLINE rac1 Started ONLINE ONLINE rac2 Started ora.gsd OFFLINE OFFLINE rac1 OFFLINE OFFLINE rac2 ora.net1.network ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.ons ONLINE ONLINE rac1 ONLINE ONLINE rac2 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac1 ora.cvu 1 ONLINE ONLINE rac1 ora.oc4j 1 ONLINE ONLINE rac1 ora.rac1.vip 1 ONLINE ONLINE rac1 ora.rac2.vip 1 ONLINE ONLINE rac2 ora.racdb.db 1 ONLINE ONLINE rac1 Open 2 ONLINE ONLINE rac2 Open ora.scan1.vip 1 ONLINE ONLINE rac1
노드 추가 이전의 클러스터 상태를 조회 합니다.
B) grid 계정의 SSH 접속 설정
$GRID_HOME/oui/bin/runSSHSetup.sh -user grid -hosts "rac1 rac2 rac3" -advanced -exverify
[grid@+ASM1 ~]$ $GRID_HOME/oui/bin/runSSHSetup.sh -user grid -hosts "rac1 rac2 rac3" -advanced -exverify This script will setup SSH Equivalence from the host 'rac1' to specified remote hosts. ORACLE_HOME = /u01/app/11.2.0/grid JAR_LOC = /u01/app/11.2.0/grid/oui/jlib SSH_LOC = /u01/app/11.2.0/grid/oui/jlib OUI_LOC = /u01/app/11.2.0/grid/oui JAVA_HOME = /u01/app/11.2.0/grid/jdk Checking if the remote hosts are reachable. ClusterLogger - log file location: /home/grid/Logs/remoteInterfaces2019-03-06_08-48-25-AM.log Failed Nodes : rac1 rac2 rac3 Remote host reachability check succeeded. All hosts are reachable. Proceeding further... NOTE : As part of the setup procedure, this script will use ssh and scp to copy files between the local host and the remote hosts. You may be prompted for the password during the execution of the script. 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 클라이언트 공용 키와 개인 키를 포함하는 파일이 로컬 호스트에 존재하는 경우 현재 개인 키는 연관된 비밀번호 구문을 포함할 수도 있고 포함하지 않을 수도 있습니다. 비밀번호 구문을 기억하고 있으며 ssh-keygen을 재실행하지 않으려는 경우 'no'를 입력하십시오. 'yes'를 입력하면 스크립트가 기존 개인/공용 키 파일을 제거하고 이전 SSH 사용자 설정이 재설정됩니다. 'yes', 'no'를 입력하십시오. yes Enter the password: <grid 계정의 암호 입력> Logfile Location : /home/grid/SSHSetup2019-03-06_08-48-34-AM Checking binaries on remote hosts... Doing SSHSetup... Please be patient, this operation might take sometime...Dont press Ctrl+C... ClusterLogger - log file location: /home/grid/Logs/remoteInterfaces2019-03-06_08-48-34-AM.log Plugin : oracle.sysman.prov.remoteinterfaces.plugins.RemoteCommandSSH found in class path Changing Default Plugin from : oracle.sysman.prov.remoteinterfaces.plugins.RemoteCommandSSH to : oracle.sysman.prov.remoteinterfaces.plugins.RemoteCommandSSH Local Platform:- Linux ------------------------------------------------------------------------ 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 grid. 2. The server may have disabled public key based authentication. 3. The client public key on the server may be outdated. 4. ~grid or ~grid/.ssh on the remote host may not be owned by grid. 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 <OMS HOME>/sysman/prov/resources/ignoreMessages.txt file. ------------------------------------------------------------------------ --rac1:-- Running /usr/bin/ssh -x -l grid 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. 2019. 03. 06. (수) 08:49:11 KST ------------------------------------------------------------------------ --rac2:-- Running /usr/bin/ssh -x -l grid 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. 2019. 03. 06. (수) 08:49:11 KST ------------------------------------------------------------------------ --rac3:-- Running /usr/bin/ssh -x -l grid 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. 2019. 03. 06. (수) 08:49:11 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. 2019. 03. 06. (수) 08:49:12 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ 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. 2019. 03. 06. (수) 08:49:12 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ 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. 2019. 03. 06. (수) 08:49:12 KST ------------------------------------------------------------------------ -Verification from rac1 complete- ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac2 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. 2019. 03. 06. (수) 08:49:13 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac2 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. 2019. 03. 06. (수) 08:49:13 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac2 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. 2019. 03. 06. (수) 08:49:13 KST ------------------------------------------------------------------------ -Verification from rac2 complete- ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac3 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. 2019. 03. 06. (수) 08:49:13 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac3 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. 2019. 03. 06. (수) 08:49:14 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac3 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. 2019. 03. 06. (수) 08:49:14 KST ------------------------------------------------------------------------ -Verification from rac3 complete- SSH verification complete.
1번 노드(대표 노드)에서 암호가 필요없는 SSH 접속 설정을 위한 스크립트를 실행합니다.
기존에 암호 없는 SSH 접속을 위한 설정이 되어 있으므로 두번의 yes를 입력한 후에 grid 유저의 OS 계정 비밀번호를 입력해야 합니다.
C) Cluster Verification Utility 패키지 설치
scp $GRID_HOME/cv/rpm/cvuqdisk-1.0.9-1.rpm grid@rac3:/tmp
[grid@+ASM1 ~]$ scp $GRID_HOME/cv/rpm/cvuqdisk-1.0.9-1.rpm grid@rac3:/tmp cvuqdisk-1.0.9-1.rpm 100% 7974 7.8KB/s 00:00
Cluster Verification Utility 패키지 파일을 새로 추가할 노드로 전송합니다.
rpm -ivh /tmp/cvuqdisk-1.0.9-1.rpm
[root@rac3 rpm]# rpm -ivh /tmp/cvuqdisk-1.0.9-1.rpm 준비 중... ########################################### [100%] Using default group oinstall to install package 1:cvuqdisk ########################################### [100%]
root 유저로 패키지 파일을 클러스터에 추가될 노드에 설치합니다.
D) 사전 검증
$GRID_HOME/bin/cluvfy stage -pre nodeadd -n rac3 -fixup -verbose
[grid@+ASM1 ~]$ $GRID_HOME/bin/cluvfy stage -pre nodeadd -n rac3 -fixup -verbose 노드 추가에 대한 사전 확인 수행 노드 연결 가능성을 검사하는 중... 검사: "rac1" 노드에서의 노드 연결 가능성 대상 노드 연결 가능? ------------------------------------ ------------------------ rac3 예 결과: "rac1" 노드에서 노드 연결 가능성 검사를 성공했습니다. 사용자 equivalence를 검사하는 중... 검사: 사용자 "grid"에 대한 사용자 equivalence 노드 이름 상태 ------------------------------------ ------------------------ rac3 성공 결과: 사용자 "grid"에 대한 사용자 equivalence 검사를 성공했습니다. CRS 무결성을 검사하는 중... Clusterware 버전 일관성 검사를 성공했습니다. Oracle Clusterware가 "rac1" 노드에서 정상적으로 작동합니다. Oracle Clusterware가 "rac2" 노드에서 정상적으로 작동합니다. CRS 무결성 검사를 성공했습니다. 공유 리소스 검사 중... CRS 홈 위치를 확인하는 중... "/u01/app/11.2.0/grid"이(가) 공유되었습니다. 결과: 노드 추가에 필요한 공유 리소스 검사를 성공했습니다. 노드 연결을 검사하는 중... 호스트 구성 파일 확인 중... 노드 이름 상태 ------------------------------------ ------------------------ rac1 성공 rac2 성공 rac3 성공 호스트 구성 파일 확인을 성공했습니다. "rac1" 노드에 대한 인터페이스 정보 이름 IP 주소 서브넷 게이트웨이 Def. 게이트웨이 HW 주소 MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ eth0 10.0.1.101 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:E2:B3:31 1500 eth0 10.0.1.110 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:E2:B3:31 1500 eth0 10.0.1.111 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:E2:B3:31 1500 eth1 10.0.5.101 10.0.5.0 0.0.0.0 10.0.1.1 08:00:27:C8:AD:37 1500 eth1 169.254.152.198 169.254.0.0 0.0.0.0 10.0.1.1 08:00:27:C8:AD:37 1500 "rac2" 노드에 대한 인터페이스 정보 이름 IP 주소 서브넷 게이트웨이 Def. 게이트웨이 HW 주소 MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ eth0 10.0.1.102 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:3F:C6:63 1500 eth0 10.0.1.112 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:3F:C6:63 1500 eth1 10.0.5.102 10.0.5.0 0.0.0.0 10.0.1.1 08:00:27:82:7A:B8 1500 eth1 169.254.230.67 169.254.0.0 0.0.0.0 10.0.1.1 08:00:27:82:7A:B8 1500 "rac3" 노드에 대한 인터페이스 정보 이름 IP 주소 서브넷 게이트웨이 Def. 게이트웨이 HW 주소 MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ eth0 10.0.1.103 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:E7:AA:1A 1500 eth1 10.0.5.103 10.0.5.0 0.0.0.0 10.0.1.1 08:00:27:31:3A:31 1500 검사: "eth0" 인터페이스에 대한 노드 연결 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac1[10.0.1.101] rac1[10.0.1.110] 예 rac1[10.0.1.101] rac1[10.0.1.111] 예 rac1[10.0.1.101] rac2[10.0.1.102] 예 rac1[10.0.1.101] rac2[10.0.1.112] 예 rac1[10.0.1.101] rac3[10.0.1.103] 예 rac1[10.0.1.110] rac1[10.0.1.111] 예 rac1[10.0.1.110] rac2[10.0.1.102] 예 rac1[10.0.1.110] rac2[10.0.1.112] 예 rac1[10.0.1.110] rac3[10.0.1.103] 예 rac1[10.0.1.111] rac2[10.0.1.102] 예 rac1[10.0.1.111] rac2[10.0.1.112] 예 rac1[10.0.1.111] rac3[10.0.1.103] 예 rac2[10.0.1.102] rac2[10.0.1.112] 예 rac2[10.0.1.102] rac3[10.0.1.103] 예 rac2[10.0.1.112] rac3[10.0.1.103] 예 결과: "eth0" 인터페이스에 대한 노드 연결을 성공했습니다. 검사: "10.0.1.0" 서브넷의 TCP 접속 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac1:10.0.1.101 rac1:10.0.1.110 성공 rac1:10.0.1.101 rac1:10.0.1.111 성공 rac1:10.0.1.101 rac2:10.0.1.102 성공 rac1:10.0.1.101 rac2:10.0.1.112 성공 rac1:10.0.1.101 rac3:10.0.1.103 성공 결과: "10.0.1.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다. 검사: "eth1" 인터페이스에 대한 노드 연결 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac1[10.0.5.101] rac2[10.0.5.102] 예 rac1[10.0.5.101] rac3[10.0.5.103] 예 rac2[10.0.5.102] rac3[10.0.5.103] 예 결과: "eth1" 인터페이스에 대한 노드 연결을 성공했습니다. 검사: "10.0.5.0" 서브넷의 TCP 접속 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac1:10.0.5.101 rac2:10.0.5.102 성공 rac1:10.0.5.101 rac3:10.0.5.103 성공 결과: "10.0.5.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다. 서브넷 마스크 일관성 확인 중... "10.0.1.0" 서브넷에 대한 서브넷 마스크 일관성 검사를 성공했습니다. "10.0.5.0" 서브넷에 대한 서브넷 마스크 일관성 검사를 성공했습니다. 서브넷 마스크 일관성 검사를 성공했습니다. 결과: 노드 연결 검사를 성공했습니다. 멀티캐스트 통신을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.1.0" 서브넷을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.1.0" 서브넷 검사를 성공했습니다. 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.5.0" 서브넷을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.5.0" 서브넷 검사를 성공했습니다. 멀티캐스트 통신 검사를 성공했습니다. 검사: 총 메모리 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 1.9745GB (2070452.0KB) 1.5GB (1572864.0KB) 성공 rac3 1.9745GB (2070452.0KB) 1.5GB (1572864.0KB) 성공 결과: 총 메모리 검사를 성공했습니다. 검사: 사용 가능한 메모리 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 995.6406MB (1019536.0KB) 50MB (51200.0KB) 성공 rac3 1.9056GB (1998208.0KB) 50MB (51200.0KB) 성공 결과: 사용 가능한 메모리 검사를 성공했습니다. 검사: 교체 공간 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 3.9987GB (4192960.0KB) 2.9618GB (3105678.0KB) 성공 rac3 3.9987GB (4192960.0KB) 2.9618GB (3105678.0KB) 성공 결과: 교체 공간 검사를 성공했습니다. 검사: "rac1:/u01/app/11.2.0/grid,rac1:/tmp"에 대한 여유 디스크 공간 경로 노드 이름 마운트 위치 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ------------ ------------ /u01/app/11.2.0/grid rac1 / 12.3359GB 7.5GB 성공 /tmp rac1 / 12.3359GB 7.5GB 성공 결과: "rac1:/u01/app/11.2.0/grid,rac1:/tmp"에 대한 여유 디스크 공간 검사를 성공했습니다. 검사: "rac3:/u01/app/11.2.0/grid,rac3:/tmp"에 대한 여유 디스크 공간 경로 노드 이름 마운트 위치 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ------------ ------------ /u01/app/11.2.0/grid rac3 / 22.1123GB 7.5GB 성공 /tmp rac3 / 22.1123GB 7.5GB 성공 결과: "rac3:/u01/app/11.2.0/grid,rac3:/tmp"에 대한 여유 디스크 공간 검사를 성공했습니다. 검사: "grid"에 대한 사용자 존재 여부 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac1 성공 존재함(54322) rac3 성공 존재함(54322) UID 값이 54322인 다중 사용자를 검사하는 중 결과: UID 값이 54322인 다중 사용자 검사를 성공했습니다. 결과: "grid"에 대한 사용자 존재 여부 검사를 성공했습니다. 검사: 실행 레벨 노드 이름 실행 레벨 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 5 3,5 성공 rac3 3 3,5 성공 결과: 실행 레벨 검사를 성공했습니다. 검사: "최대 열린 파일 기술자"에 대한 완전 제한 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac1 완전 65536 65536 성공 rac3 완전 65536 65536 성공 결과: "최대 열린 파일 기술자"에 대한 완전 제한 검사를 성공했습니다. 검사: "최대 열린 파일 기술자"에 대한 부분 제한 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac1 부분 65536 1024 성공 rac3 부분 65536 1024 성공 결과: "최대 열린 파일 기술자"에 대한 부분 제한 검사를 성공했습니다. 검사: "최대 사용자 프로세스"에 대한 완전 제한 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac1 완전 16384 16384 성공 rac3 완전 16384 16384 성공 결과: "최대 사용자 프로세스"에 대한 완전 제한 검사를 성공했습니다. 검사: "최대 사용자 프로세스"에 대한 부분 제한 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac1 부분 16384 2047 성공 rac3 부분 16384 2047 성공 결과: "최대 사용자 프로세스"에 대한 부분 제한 검사를 성공했습니다. 검사: 시스템 구조 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 i686 x86 성공 rac3 i686 x86 성공 결과: 시스템 구조 검사를 성공했습니다. 검사: 커널 버전 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 2.6.39-400.215.10.el5uek 2.6.18 성공 rac3 2.6.39-400.215.10.el5uek 2.6.18 성공 결과: 커널 버전 검사를 성공했습니다. 검사: "semmsl"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 250 250 250 성공 rac3 250 250 250 성공 결과: "semmsl"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "semmns"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 32000 32000 32000 성공 rac3 32000 32000 32000 성공 결과: "semmns"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "semopm"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 100 100 100 성공 rac3 100 100 100 성공 결과: "semopm"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "semmni"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 128 128 128 성공 rac3 128 128 128 성공 결과: "semmni"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "shmmax"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 4294967295 4294967295 1060071424 성공 rac3 4294967295 4294967295 1060071424 성공 결과: "shmmax"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "shmmni"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 4096 4096 4096 성공 rac3 4096 4096 4096 성공 결과: "shmmni"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "shmall"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 268435456 268435456 2097152 성공 rac3 268435456 268435456 2097152 성공 결과: "shmall"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "file-max"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 6815744 6815744 6815744 성공 rac3 6815744 6815744 6815744 성공 결과: "file-max"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "ip_local_port_range"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 between 9000.0 & 65500.0 between 9000.0 & 65500.0 between 9000.0 & 65500.0 성공 rac3 between 9000.0 & 65500.0 between 9000.0 & 65500.0 between 9000.0 & 65500.0 성공 결과: "ip_local_port_range"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "rmem_default"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 262144 262144 262144 성공 rac3 262144 262144 262144 성공 결과: "rmem_default"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "rmem_max"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 4194304 4194304 4194304 성공 rac3 4194304 4194304 4194304 성공 결과: "rmem_max"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "wmem_default"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 262144 262144 262144 성공 rac3 262144 262144 262144 성공 결과: "wmem_default"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "wmem_max"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 1048586 1048586 1048576 성공 rac3 1048586 1048586 1048576 성공 결과: "wmem_max"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "aio-max-nr"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 1048576 1048576 1048576 성공 rac3 1048576 1048576 1048576 성공 결과: "aio-max-nr"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "make"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 make-3.81-3.el5 make-3.81 성공 rac3 make-3.81-3.el5 make-3.81 성공 결과: "make"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "binutils"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 binutils-2.17.50.0.6-26.el5 binutils-2.17.50.0.6 성공 rac3 binutils-2.17.50.0.6-26.el5 binutils-2.17.50.0.6 성공 결과: "binutils"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "gcc"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 gcc-4.1.2-55.el5 gcc-4.1.2 성공 rac3 gcc-4.1.2-55.el5 gcc-4.1.2 성공 결과: "gcc"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "gcc-c++"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 gcc-c++-4.1.2-55.el5 gcc-c++-4.1.2 성공 rac3 gcc-c++-4.1.2-55.el5 gcc-c++-4.1.2 성공 결과: "gcc-c++"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libgomp"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 libgomp-4.4.7-1.el5 libgomp-4.1.2 성공 rac3 libgomp-4.4.7-1.el5 libgomp-4.1.2 성공 결과: "libgomp"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libaio"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 libaio-0.3.106-5 libaio-0.3.106 성공 rac3 libaio-0.3.106-5 libaio-0.3.106 성공 결과: "libaio"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "glibc"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 glibc-2.5-123.0.1 glibc-2.5-24 성공 rac3 glibc-2.5-123.0.1 glibc-2.5-24 성공 결과: "glibc"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "compat-libstdc++-33"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 compat-libstdc++-33-3.2.3-61 compat-libstdc++-33-3.2.3 성공 rac3 compat-libstdc++-33-3.2.3-61 compat-libstdc++-33-3.2.3 성공 결과: "compat-libstdc++-33"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "elfutils-libelf"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 elfutils-libelf-0.137-3.el5 elfutils-libelf-0.125 성공 rac3 elfutils-libelf-0.137-3.el5 elfutils-libelf-0.125 성공 결과: "elfutils-libelf"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "elfutils-libelf-devel"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.125 성공 rac3 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.125 성공 결과: "elfutils-libelf-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "glibc-common"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 glibc-common-2.5-123.0.1 glibc-common-2.5 성공 rac3 glibc-common-2.5-123.0.1 glibc-common-2.5 성공 결과: "glibc-common"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "glibc-devel"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 glibc-devel-2.5-123.0.1 glibc-devel-2.5 성공 rac3 glibc-devel-2.5-123.0.1 glibc-devel-2.5 성공 결과: "glibc-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "glibc-headers"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 glibc-headers-2.5-123.0.1 glibc-headers-2.5 성공 rac3 glibc-headers-2.5-123.0.1 glibc-headers-2.5 성공 결과: "glibc-headers"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libaio-devel"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 libaio-devel-0.3.106-5 libaio-devel-0.3.106 성공 rac3 libaio-devel-0.3.106-5 libaio-devel-0.3.106 성공 결과: "libaio-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libgcc"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 libgcc-4.1.2-55.el5 libgcc-4.1.2 성공 rac3 libgcc-4.1.2-55.el5 libgcc-4.1.2 성공 결과: "libgcc"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libstdc++"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 libstdc++-4.1.2-55.el5 libstdc++-4.1.2 성공 rac3 libstdc++-4.1.2-55.el5 libstdc++-4.1.2 성공 결과: "libstdc++"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libstdc++-devel"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 libstdc++-devel-4.1.2-55.el5 libstdc++-devel-4.1.2 성공 rac3 libstdc++-devel-4.1.2-55.el5 libstdc++-devel-4.1.2 성공 결과: "libstdc++-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "sysstat"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 sysstat-7.0.2-13.0.1.el5 sysstat-7.0.2 성공 rac3 sysstat-7.0.2-13.0.1.el5 sysstat-7.0.2 성공 결과: "sysstat"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "ksh"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac1 ksh-20100621-20.el5 ksh-20060214 성공 rac3 ksh-20100621-20.el5 ksh-20060214 성공 결과: "ksh"에 대한 패키지 존재 여부 검사를 성공했습니다. UID 값이 0인 다중 사용자를 검사하는 중 결과: UID 값이 0인 다중 사용자 검사를 성공했습니다. 검사: 현재 그룹 ID 결과: 현재 그룹 ID 검사를 성공했습니다. 루트 사용자의 기본 그룹 일관성 검사를 시작하는 중입니다. 노드 이름 상태 ------------------------------------ ------------------------ rac1 성공 rac3 성공 루트 사용자의 기본 그룹에 대한 일관성 검사를 성공했습니다. OCR 무결성을 검사하는 중... OCR 무결성 검사를 성공했습니다. Oracle 클러스터 선호 디스크 구성을 검사하는 중... Oracle 클러스터 선호 디스크 구성 검사를 성공했습니다. 검사: 시간대 일관성 결과: 시간대 일관성 검사를 성공했습니다. NTP(Network Time Protocol)를 사용하여 시계 동기화 검사를 시작하는 중... NTP 구성 파일 검사가 시작되었습니다. 노드에서 NTP(Network Time Protocol) 구성 파일을 찾을 수 없습니다. 클러스터 노드에 대한 시간 동기화에 NTP 대신 Oracle CTSS(Cluster Time Synchronization Service)를 사용할 수 있습니다. 실행 중인 NTP 데몬 또는 서비스가 없는 것으로 확인되었습니다. 결과: NTP(Network Time Protocol)를 사용한 시계 동기화 검사를 성공했습니다. 사용자 "grid"이(가) "root" 그룹에 속해 있지 않은지 확인하는 중입니다. 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac1 성공 존재하지 않음 rac3 성공 존재하지 않음 결과: 사용자 "grid"이(가) "root" 그룹에 속해 있지 않습니다. 검사를 성공했습니다. 노드에서 "/etc/resolv.conf" 파일의 일관성을 검사하는 중 "/etc/resolv.conf" 파일에서 'domain' 및 'search' 항목이 하나씩만 정의되어 있는지 검사하는 중 "/etc/resolv.conf" 파일에 'domain' 항목과 'search' 항목이 모두 정의되지 않았습니다. "/etc/resolv.conf" 파일의 'domain' 항목이 노드에서 일치하는지 여부를 검사하는 중... "/etc/resolv.conf" 파일의 'domain' 항목이 노드에서 일치합니다. "/etc/resolv.conf" 파일의 'search' 항목이 노드에서 일치하는지 여부를 검사하는 중... "/etc/resolv.conf" 파일의 'search' 항목이 노드에서 일치합니다. 연결할 수 없는 노드에 대한 DNS 응답 시간을 검사하는 중 노드 이름 상태 ------------------------------------ ------------------------ rac1 성공 rac3 성공 모든 노드에서 연결할 수 없는 노드에 대한 DNS 응답 시간이 허용되는 제한 범위에 속합니다. "/etc/resolv.conf" 파일이 노드에서 일치합니다. Checking integrity of name service switch configuration file "/etc/nsswitch.conf" ... Checking if "hosts" entry in file "/etc/nsswitch.conf" is consistent across nodes... Checking file "/etc/nsswitch.conf" to make sure that only one "hosts" entry is defined More than one "hosts" entry does not exist in any "/etc/nsswitch.conf" file Check for integrity of name service switch configuration file "/etc/nsswitch.conf" passed 노드 추가에 대한 사전 확인을 성공했습니다.
추가할 노드에 대한 사전 검증 스크립트를 실행합니다.
반드시 모든 검증 사항을 통과한 상태에서 작업을 진행해야 문제 없이 설치가 진행됩니다.
$GRID_HOME/bin/cluvfy stage -post hwos -n rac3
[grid@+ASM1 ~]$ $GRID_HOME/bin/cluvfy stage -post hwos -n rac3 하드웨어 및 운영 체제 설정에 대한 사후 확인 수행 노드 연결 가능성을 검사하는 중... "rac1" 노드에서 노드 연결 가능성 검사를 성공했습니다. 사용자 equivalence를 검사하는 중... 사용자 "grid"에 대한 사용자 equivalence 검사를 성공했습니다. 노드 연결을 검사하는 중... 호스트 구성 파일 확인 중... 호스트 구성 파일 확인을 성공했습니다. 검사: "eth0" 인터페이스에 대한 노드 연결 "eth0" 인터페이스에 대한 노드 연결을 성공했습니다. "10.0.1.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다. 검사: "eth1" 인터페이스에 대한 노드 연결 "eth1" 인터페이스에 대한 노드 연결을 성공했습니다. "10.0.5.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다. 노드 연결 검사를 성공했습니다. 멀티캐스트 통신을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.1.0" 서브넷을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.1.0" 서브넷 검사를 성공했습니다. 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.5.0" 서브넷을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.5.0" 서브넷 검사를 성공했습니다. 멀티캐스트 통신 검사를 성공했습니다. UID 값이 0인 다중 사용자 검사를 성공했습니다. 시간대 일관성 검사를 성공했습니다. 공유 저장 영역 접근성을 검사하는 중... Disk 공유 노드(1개) ------------------------------------ ------------------------ /dev/sda rac3 Disk 공유 노드(1개) ------------------------------------ ------------------------ /dev/sdb rac3 Disk 공유 노드(1개) ------------------------------------ ------------------------ /dev/sdc rac3 Disk 공유 노드(1개) ------------------------------------ ------------------------ /dev/sdd rac3 Disk 공유 노드(1개) ------------------------------------ ------------------------ /dev/sde rac3 Disk 공유 노드(1개) ------------------------------------ ------------------------ /dev/sdf rac3 Disk 공유 노드(1개) ------------------------------------ ------------------------ /dev/sdg rac3 Disk 공유 노드(1개) ------------------------------------ ------------------------ /dev/sdh rac3 Disk 공유 노드(1개) ------------------------------------ ------------------------ /dev/sdi rac3 Disk 공유 노드(1개) ------------------------------------ ------------------------ /dev/sdj rac3 "rac3" 노드에서 공유 저장 영역 검사를 성공했습니다. Checking integrity of name service switch configuration file "/etc/nsswitch.conf" ... Check for integrity of name service switch configuration file "/etc/nsswitch.conf" passed 하드웨어 및 운영 체제 설정에 대한 사후 확인을 성공했습니다.
하드웨어와 운영체제에 대한 검증을 진행합니다.
마찬가지로 모든 항목을 통과해야 합니다.
$GRID_HOME/bin/cluvfy comp peer -refnode rac1 -n rac3 -orainv oinstall -osdba dba -verbose
[grid@+ASM1 ~]$ $GRID_HOME/bin/cluvfy comp peer -refnode rac1 -n rac3 -orainv oinstall -osdba dba -verbose 피어 호환성 확인 중 피어 호환성을 검사하는 중... 호환성 검사: 물리적 메모리[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 1.9745GB (2070452.0KB) 1.9745GB (2070452.0KB) 일치함 물리적 메모리 검사를 성공했습니다. 호환성 검사: 사용 가능한 메모리[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 1.905GB (1997492.0KB) 928.9805MB (951276.0KB) 일치하지 않음 사용 가능한 메모리 검사를 실패했습니다. 호환성 검사: 교체 공간[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 3.9987GB (4192960.0KB) 3.9987GB (4192960.0KB) 일치함 교체 공간 검사를 성공했습니다. 호환성 검사: "/u01/app/11.2.0/grid"에 대한 여유 디스크 공간[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 22.1104GB (2.3184384E7KB) 12.3242GB (1.292288E7KB) 일치하지 않음 여유 디스크 공간 검사를 실패했습니다. 호환성 검사: "/tmp"에 대한 여유 디스크 공간[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 22.1104GB (2.3184384E7KB) 12.3242GB (1.292288E7KB) 일치하지 않음 여유 디스크 공간 검사를 실패했습니다. 호환성 검사: "grid"에 대한 사용자 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 grid(54322) grid(54322) 일치함 "grid"에 대한 사용자 존재 여부 검사를 성공했습니다. 호환성 검사: "oinstall"에 대한 그룹 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 oinstall(54321) oinstall(54321) 일치함 "oinstall"에 대한 그룹 존재 여부 검사를 성공했습니다. 호환성 검사: "dba"에 대한 그룹 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 dba(54322) dba(54322) 일치함 "dba"에 대한 그룹 존재 여부 검사를 성공했습니다. 호환성 검사: "oinstall (기본)"의 "grid"에 대한 그룹 멤버쉽[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 예 예 일치함 "oinstall (기본)"의 "grid"에 대한 그룹 멤버쉽 검사를 성공했습니다. 호환성 검사: "dba"의 "grid"에 대한 그룹 멤버쉽[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 예 예 일치함 "dba"의 "grid"에 대한 그룹 멤버쉽 검사를 성공했습니다. 호환성 검사: 실행 레벨[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 3 5 일치하지 않음 실행 레벨 검사를 실패했습니다. 호환성 검사: 시스템 구조[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 i686 i686 일치함 시스템 구조 검사를 성공했습니다. 호환성 검사: 커널 버전[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 2.6.39-400.215.10.el5uek 2.6.39-400.215.10.el5uek 일치함 커널 버전 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "semmsl"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 250 250 일치함 커널 매개변수 "semmsl" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "semmns"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 32000 32000 일치함 커널 매개변수 "semmns" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "semopm"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 100 100 일치함 커널 매개변수 "semopm" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "semmni"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 128 128 일치함 커널 매개변수 "semmni" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "shmmax"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 4294967295 4294967295 일치함 커널 매개변수 "shmmax" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "shmmni"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 4096 4096 일치함 커널 매개변수 "shmmni" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "shmall"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 268435456 268435456 일치함 커널 매개변수 "shmall" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "file-max"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 6815744 6815744 일치함 커널 매개변수 "file-max" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "ip_local_port_range"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 between 9000.0 & 65500.0 between 9000.0 & 65500.0 일치함 커널 매개변수 "ip_local_port_range" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "rmem_default"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 262144 262144 일치함 커널 매개변수 "rmem_default" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "rmem_max"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 4194304 4194304 일치함 커널 매개변수 "rmem_max" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "wmem_default"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 262144 262144 일치함 커널 매개변수 "wmem_default" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "wmem_max"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 1048586 1048586 일치함 커널 매개변수 "wmem_max" 검사를 성공했습니다. 호환성 검사: 커널 매개변수 "aio-max-nr"[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 1048576 1048576 일치함 커널 매개변수 "aio-max-nr" 검사를 성공했습니다. 호환성 검사: "make"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 make-3.81-3.el5 make-3.81-3.el5 일치함 "make"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "binutils"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 binutils-2.17.50.0.6-26.el5 binutils-2.17.50.0.6-26.el5 일치함 "binutils"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "gcc"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 gcc-4.1.2-55.el5 gcc-4.1.2-55.el5 일치함 "gcc"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "gcc-c++"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 gcc-c++-4.1.2-55.el5 gcc-c++-4.1.2-55.el5 일치함 "gcc-c++"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "libgomp"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 libgomp-4.4.7-1.el5 libgomp-4.4.7-1.el5 일치함 "libgomp"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "libaio"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 libaio-0.3.106-5 libaio-0.3.106-5 일치함 "libaio"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "glibc"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 glibc-2.5-123.0.1 glibc-2.5-123.0.1 일치함 "glibc"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "compat-libstdc++-33"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 compat-libstdc++-33-3.2.3-61 compat-libstdc++-33-3.2.3-61 일치함 "compat-libstdc++-33"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "elfutils-libelf"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 elfutils-libelf-0.137-3.el5 elfutils-libelf-0.137-3.el5 일치함 "elfutils-libelf"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "elfutils-libelf-devel"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.137-3.el5 일치함 "elfutils-libelf-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "glibc-common"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 glibc-common-2.5-123.0.1 glibc-common-2.5-123.0.1 일치함 "glibc-common"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "glibc-devel"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 glibc-devel-2.5-123.0.1 glibc-devel-2.5-123.0.1 일치함 "glibc-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "glibc-headers"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 glibc-headers-2.5-123.0.1 glibc-headers-2.5-123.0.1 일치함 "glibc-headers"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "libaio-devel"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 libaio-devel-0.3.106-5 libaio-devel-0.3.106-5 일치함 "libaio-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "libgcc"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 libgcc-4.1.2-55.el5 libgcc-4.1.2-55.el5 일치함 "libgcc"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "libstdc++"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 libstdc++-4.1.2-55.el5 libstdc++-4.1.2-55.el5 일치함 "libstdc++"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "libstdc++-devel"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 libstdc++-devel-4.1.2-55.el5 libstdc++-devel-4.1.2-55.el5 일치함 "libstdc++-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "sysstat"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 sysstat-7.0.2-13.0.1.el5 sysstat-7.0.2-13.0.1.el5 일치함 "sysstat"에 대한 패키지 존재 여부 검사를 성공했습니다. 호환성 검사: "ksh"에 대한 패키지 존재 여부[참조 노드: rac1] 노드 이름 상태 참조 노드 상태 설명 ------------ ------------------------ ------------------------ ---------- rac3 ksh-20100621-20.el5 ksh-20100621-20.el5 일치함 "ksh"에 대한 패키지 존재 여부 검사를 성공했습니다. 피어 호환성 확인 작업을 실패했습니다. 다음 노드에 대한 검사를 실패했습니다. rac3
기존에 설치된 노드와 새로운 노드를 비교하는 검사입니다.
주요 항목의 경우 일치해야 하겠지만, 일부 항목(사용 가능한 메모리, 여유 디스크 공간, 실행 레벨 등)의 경우 설치 여부나 환경 설정에 따라서 일치하지 않아도 설치에 영향이 없는 것들이 있습니다.
E) Grid Infrastructure 복사
$GRID_HOME/oui/bin/addNode.sh -silent "CLUSTER_NEW_NODES={rac3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac3-vip}"
[grid@+ASM1 ~]$ $GRID_HOME/oui/bin/addNode.sh -silent "CLUSTER_NEW_NODES={rac3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac3-vip}" 노드 추가에 대한 사전 확인 수행 노드 연결 가능성을 검사하는 중... "rac1" 노드에서 노드 연결 가능성 검사를 성공했습니다. 사용자 equivalence를 검사하는 중... 사용자 "grid"에 대한 사용자 equivalence 검사를 성공했습니다. CRS 무결성을 검사하는 중... Clusterware 버전 일관성 검사를 성공했습니다. CRS 무결성 검사를 성공했습니다. 공유 리소스 검사 중... CRS 홈 위치를 확인하는 중... "/u01/app/11.2.0/grid"이(가) 공유되었습니다. 노드 추가에 필요한 공유 리소스 검사를 성공했습니다. 노드 연결을 검사하는 중... 호스트 구성 파일 확인 중... 호스트 구성 파일 확인을 성공했습니다. 검사: "eth0" 인터페이스에 대한 노드 연결 "eth0" 인터페이스에 대한 노드 연결을 성공했습니다. "10.0.1.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다. 검사: "eth1" 인터페이스에 대한 노드 연결 "eth1" 인터페이스에 대한 노드 연결을 성공했습니다. "10.0.5.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다. 서브넷 마스크 일관성 확인 중... "10.0.1.0" 서브넷에 대한 서브넷 마스크 일관성 검사를 성공했습니다. "10.0.5.0" 서브넷에 대한 서브넷 마스크 일관성 검사를 성공했습니다. 서브넷 마스크 일관성 검사를 성공했습니다. 노드 연결 검사를 성공했습니다. 멀티캐스트 통신을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.1.0" 서브넷을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.1.0" 서브넷 검사를 성공했습니다. 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.5.0" 서브넷을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.5.0" 서브넷 검사를 성공했습니다. 멀티캐스트 통신 검사를 성공했습니다. 총 메모리 검사를 성공했습니다. 사용 가능한 메모리 검사를 성공했습니다. 교체 공간 검사를 성공했습니다. "rac1:/u01/app/11.2.0/grid,rac1:/tmp"에 대한 여유 디스크 공간 검사를 성공했습니다. "rac3:/u01/app/11.2.0/grid,rac3:/tmp"에 대한 여유 디스크 공간 검사를 성공했습니다. UID 값이 54322인 다중 사용자 검사를 성공했습니다. "grid"에 대한 사용자 존재 여부 검사를 성공했습니다. 실행 레벨 검사를 성공했습니다. "최대 열린 파일 기술자"에 대한 완전 제한 검사를 성공했습니다. "최대 열린 파일 기술자"에 대한 부분 제한 검사를 성공했습니다. "최대 사용자 프로세스"에 대한 완전 제한 검사를 성공했습니다. "최대 사용자 프로세스"에 대한 부분 제한 검사를 성공했습니다. 시스템 구조 검사를 성공했습니다. 커널 버전 검사를 성공했습니다. "semmsl"에 대한 커널 매개변수 검사를 성공했습니다. "semmns"에 대한 커널 매개변수 검사를 성공했습니다. "semopm"에 대한 커널 매개변수 검사를 성공했습니다. "semmni"에 대한 커널 매개변수 검사를 성공했습니다. "shmmax"에 대한 커널 매개변수 검사를 성공했습니다. "shmmni"에 대한 커널 매개변수 검사를 성공했습니다. "shmall"에 대한 커널 매개변수 검사를 성공했습니다. "file-max"에 대한 커널 매개변수 검사를 성공했습니다. "ip_local_port_range"에 대한 커널 매개변수 검사를 성공했습니다. "rmem_default"에 대한 커널 매개변수 검사를 성공했습니다. "rmem_max"에 대한 커널 매개변수 검사를 성공했습니다. "wmem_default"에 대한 커널 매개변수 검사를 성공했습니다. "wmem_max"에 대한 커널 매개변수 검사를 성공했습니다. "aio-max-nr"에 대한 커널 매개변수 검사를 성공했습니다. "make"에 대한 패키지 존재 여부 검사를 성공했습니다. "binutils"에 대한 패키지 존재 여부 검사를 성공했습니다. "gcc"에 대한 패키지 존재 여부 검사를 성공했습니다. "gcc-c++"에 대한 패키지 존재 여부 검사를 성공했습니다. "libgomp"에 대한 패키지 존재 여부 검사를 성공했습니다. "libaio"에 대한 패키지 존재 여부 검사를 성공했습니다. "glibc"에 대한 패키지 존재 여부 검사를 성공했습니다. "compat-libstdc++-33"에 대한 패키지 존재 여부 검사를 성공했습니다. "elfutils-libelf"에 대한 패키지 존재 여부 검사를 성공했습니다. "elfutils-libelf-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. "glibc-common"에 대한 패키지 존재 여부 검사를 성공했습니다. "glibc-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. "glibc-headers"에 대한 패키지 존재 여부 검사를 성공했습니다. "libaio-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. "libgcc"에 대한 패키지 존재 여부 검사를 성공했습니다. "libstdc++"에 대한 패키지 존재 여부 검사를 성공했습니다. "libstdc++-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. "sysstat"에 대한 패키지 존재 여부 검사를 성공했습니다. "ksh"에 대한 패키지 존재 여부 검사를 성공했습니다. UID 값이 0인 다중 사용자 검사를 성공했습니다. 현재 그룹 ID 검사를 성공했습니다. 루트 사용자의 기본 그룹 일관성 검사를 시작하는 중입니다. 루트 사용자의 기본 그룹에 대한 일관성 검사를 성공했습니다. OCR 무결성을 검사하는 중... OCR 무결성 검사를 성공했습니다. Oracle 클러스터 선호 디스크 구성을 검사하는 중... Oracle 클러스터 선호 디스크 구성 검사를 성공했습니다. 시간대 일관성 검사를 성공했습니다. NTP(Network Time Protocol)를 사용하여 시계 동기화 검사를 시작하는 중... NTP 구성 파일 검사가 시작되었습니다. 실행 중인 NTP 데몬 또는 서비스가 없는 것으로 확인되었습니다. NTP(Network Time Protocol)를 사용한 시계 동기화 검사를 성공했습니다. 사용자 "grid"이(가) "root" 그룹에 속해 있지 않습니다. 검사를 성공했습니다. 노드에서 "/etc/resolv.conf" 파일의 일관성을 검사하는 중 "/etc/resolv.conf" 파일에 'domain' 항목과 'search' 항목이 모두 정의되지 않았습니다. "/etc/resolv.conf" 파일의 'domain' 항목이 노드에서 일치합니다. "/etc/resolv.conf" 파일의 'search' 항목이 노드에서 일치합니다. 모든 노드에서 연결할 수 없는 노드에 대한 DNS 응답 시간이 허용되는 제한 범위에 속합니다. "/etc/resolv.conf" 파일이 노드에서 일치합니다. Checking integrity of name service switch configuration file "/etc/nsswitch.conf" ... Check for integrity of name service switch configuration file "/etc/nsswitch.conf" passed VIP 구성을 검사하는 중입니다. VIP 서브넷 구성을 검사하는 중입니다. VIP 서브넷 구성 검사를 성공했습니다. VIP 연결 가능성을 검사하는 중 VIP 연결 가능성 검사를 성공했습니다. 노드 추가에 대한 사전 확인을 성공했습니다. Oracle Universal Installer 시작 중... 스왑 공간 확인 중: 500MB 이상이어야 합니다.. 실제 4037MB 성공 Oracle Universal Installer, 버전 11.2.0.4.0 Production Copyright (C) 1999, 2013, Oracle. All rights reserved. rac2,rac3 노드의 사용 가능 여부를 확인하기 위한 테스트 수행 중 ............................................................... 100% 완료되었습니다. . ----------------------------------------------------------------------------- 클러스터 노드 추가 요약 전역 설정 소스: /u01/app/11.2.0/grid 새 노드 공간 요구 사항 새 노드 rac3 /: 필요 4.80GB: 사용 가능 20.59GB 설치된 제품 제품 이름 Oracle Grid Infrastructure 11g 11.2.0.4.0 Java Development Kit 1.5.0.51.10 Installer SDK Component 11.2.0.4.0 Oracle One-Off Patch Installer 11.2.0.3.4 Oracle Universal Installer 11.2.0.4.0 Oracle RAC Required Support Files-HAS 11.2.0.4.0 Oracle USM Deconfiguration 11.2.0.4.0 Oracle Configuration Manager Deconfiguration 10.3.1.0.0 Enterprise Manager Common Core Files 10.2.0.4.5 Oracle DBCA Deconfiguration 11.2.0.4.0 Oracle RAC Deconfiguration 11.2.0.4.0 Oracle Quality of Service Management (Server) 11.2.0.4.0 Installation Plugin Files 11.2.0.4.0 Universal Storage Manager Files 11.2.0.4.0 Oracle Text Required Support Files 11.2.0.4.0 Automatic Storage Management Assistant 11.2.0.4.0 Oracle Database 11g Multimedia Files 11.2.0.4.0 Oracle Multimedia Java Advanced Imaging 11.2.0.4.0 Oracle Globalization Support 11.2.0.4.0 Oracle Multimedia Locator RDBMS Files 11.2.0.4.0 Oracle Core Required Support Files 11.2.0.4.0 Bali Share 1.1.18.0.0 Oracle Database Deconfiguration 11.2.0.4.0 Oracle Quality of Service Management (Client) 11.2.0.4.0 Expat libraries 2.0.1.0.1 Oracle Containers for Java 11.2.0.4.0 Perl Modules 5.10.0.0.1 Secure Socket Layer 11.2.0.4.0 Oracle JDBC/OCI Instant Client 11.2.0.4.0 Oracle Multimedia Client Option 11.2.0.4.0 LDAP Required Support Files 11.2.0.4.0 Character Set Migration Utility 11.2.0.4.0 Perl Interpreter 5.10.0.0.1 PL/SQL Embedded Gateway 11.2.0.4.0 OLAP SQL Scripts 11.2.0.4.0 Database SQL Scripts 11.2.0.4.0 Oracle Extended Windowing Toolkit 3.4.47.0.0 SSL Required Support Files for InstantClient 11.2.0.4.0 SQL*Plus Files for Instant Client 11.2.0.4.0 Oracle Net Required Support Files 11.2.0.4.0 Oracle Database User Interface 2.2.13.0.0 RDBMS Required Support Files for Instant Client 11.2.0.4.0 RDBMS Required Support Files Runtime 11.2.0.4.0 XML Parser for Java 11.2.0.4.0 Oracle Security Developer Tools 11.2.0.4.0 Oracle Wallet Manager 11.2.0.4.0 Enterprise Manager plugin Common Files 11.2.0.4.0 Platform Required Support Files 11.2.0.4.0 Oracle JFC Extended Windowing Toolkit 4.2.36.0.0 RDBMS Required Support Files 11.2.0.4.0 Oracle Ice Browser 5.2.3.6.0 Oracle Help For Java 4.2.9.0.0 Enterprise Manager Common Files 10.2.0.4.5 Deinstallation Tool 11.2.0.4.0 Oracle Java Client 11.2.0.4.0 Cluster Verification Utility Files 11.2.0.4.0 Oracle Notification Service (eONS) 11.2.0.4.0 Oracle LDAP administration 11.2.0.4.0 Cluster Verification Utility Common Files 11.2.0.4.0 Oracle Clusterware RDBMS Files 11.2.0.4.0 Oracle Locale Builder 11.2.0.4.0 Oracle Globalization Support 11.2.0.4.0 Buildtools Common Files 11.2.0.4.0 HAS Common Files 11.2.0.4.0 SQL*Plus Required Support Files 11.2.0.4.0 XDK Required Support Files 11.2.0.4.0 Agent Required Support Files 10.2.0.4.5 Parser Generator Required Support Files 11.2.0.4.0 Precompiler Required Support Files 11.2.0.4.0 Installation Common Files 11.2.0.4.0 Required Support Files 11.2.0.4.0 Oracle JDBC/THIN Interfaces 11.2.0.4.0 Oracle Multimedia Locator 11.2.0.4.0 Oracle Multimedia 11.2.0.4.0 Assistant Common Files 11.2.0.4.0 Oracle Net 11.2.0.4.0 PL/SQL 11.2.0.4.0 HAS Files for DB 11.2.0.4.0 Oracle Recovery Manager 11.2.0.4.0 Oracle Database Utilities 11.2.0.4.0 Oracle Notification Service 11.2.0.3.0 SQL*Plus 11.2.0.4.0 Oracle Netca Client 11.2.0.4.0 Oracle Advanced Security 11.2.0.4.0 Oracle JVM 11.2.0.4.0 Oracle Internet Directory Client 11.2.0.4.0 Oracle Net Listener 11.2.0.4.0 Cluster Ready Services Files 11.2.0.4.0 Oracle Database 11g 11.2.0.4.0 ----------------------------------------------------------------------------- 노드 추가를 위해 스크립트 인스턴스화 중 (2019년 3월 6일 수요일 오전 9시 05분 03초 KST) . 1% 완료되었습니다. 노드 추가 스크립트 인스턴스화 완료 원격 노드에 복사 중 (2019년 3월 6일 수요일 오전 9시 05분 06초 KST) ............................................................................................... 96% 완료되었습니다. 홈이 새 노드에 복사됨 노드에 인벤토리 저장 중 (2019년 3월 6일 수요일 오전 9시 08분 45초 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'을(를) 확인하십시오.
클러스터가 실행 중인 1번 노드에서 grid 유저로 addNode 스크립트를 실행합니다.
작업이 진행되면 1번 노드의 grid 파일이 3번 노드로 복사됩니다.
F) root 스크립트 실행
/u01/app/oraInventory/orainstRoot.sh
[root@rac3 ~]# /u01/app/oraInventory/orainstRoot.sh Oracle 인벤토리 포인터 파일 생성 중 (/etc/oraInst.loc) 다음 권한 변경 중/u01/app/oraInventory. 그룹에 대한 읽기, 쓰기 권한을 추가하는 중입니다. 월드에 대한 읽기, 쓰기, 실행 권한을 제거하는 중입니다. 그룹 이름 변경 중 /u01/app/oraInventory 대상 oinstall. 스크립트 실행이 완료되었습니다.
새로 추가되는 노드에서 root 스크립트를 실행합니다.
/u01/app/11.2.0/grid/root.sh
[root@rac3 ~]# /u01/app/11.2.0/grid/root.sh Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= grid 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 Installing Trace File Analyzer OLR initialization - successful Adding Clusterware entries to /etc/inittab 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. Configure Oracle Grid Infrastructure for a Cluster ... succeeded
두번째 root 스크립트를 실행하면 클러스터가 새로운 노드에 구성됩니다.
G) 클러스터 추가 결과 검증
crsctl stat res -t crsctl check crs crs_stat -t -v olsnodes -n srvctl status asm -a ocrcheck crsctl query css votedisk
[root@rac3 ~]# crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.CRS.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ONLINE ONLINE rac3 ora.DATA.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ONLINE ONLINE rac3 ora.LISTENER.lsnr ONLINE ONLINE rac1 ONLINE ONLINE rac2 ONLINE ONLINE rac3 ora.RECO.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ONLINE ONLINE rac3 ora.asm ONLINE ONLINE rac1 Started ONLINE ONLINE rac2 Started ONLINE ONLINE rac3 Started ora.gsd OFFLINE OFFLINE rac1 OFFLINE OFFLINE rac2 OFFLINE OFFLINE rac3 ora.net1.network ONLINE ONLINE rac1 ONLINE ONLINE rac2 ONLINE ONLINE rac3 ora.ons ONLINE ONLINE rac1 ONLINE ONLINE rac2 ONLINE ONLINE rac3 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac1 ora.cvu 1 ONLINE ONLINE rac1 ora.oc4j 1 ONLINE ONLINE rac1 ora.rac1.vip 1 ONLINE ONLINE rac1 ora.rac2.vip 1 ONLINE ONLINE rac2 ora.rac3.vip 1 ONLINE ONLINE rac3 ora.racdb.db 1 ONLINE ONLINE rac1 Open 2 ONLINE ONLINE rac2 Open ora.scan1.vip 1 ONLINE ONLINE rac1
[root@rac3 ~]# crsctl check crs CRS-4638: Oracle High Availability Services is online CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online
[root@rac3 ~]# crs_stat -t -v Name Type R/RA F/FT Target State Host ---------------------------------------------------------------------- ora.CRS.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora.DATA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE rac1 ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac1 ora.RECO.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE rac1 ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE rac1 ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE ora....network ora....rk.type 0/5 0/ ONLINE ONLINE rac1 ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE rac1 ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE rac1 ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac1 ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE rac1 ora.rac1.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1 ora.rac1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac1 ora....SM2.asm application 0/5 0/0 ONLINE ONLINE rac2 ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE rac2 ora.rac2.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac2.ons application 0/3 0/0 ONLINE ONLINE rac2 ora.rac2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac2 ora....SM3.asm application 0/5 0/0 ONLINE ONLINE rac3 ora....C3.lsnr application 0/5 0/0 ONLINE ONLINE rac3 ora.rac3.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac3.ons application 0/3 0/0 ONLINE ONLINE rac3 ora.rac3.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac3 ora.racdb.db ora....se.type 0/2 0/1 ONLINE ONLINE rac1 ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac1
[root@rac3 ~]# olsnodes -n rac1 1 rac2 2 rac3 3
[root@rac3 ~]# srvctl status asm -a ASM이 rac2,rac1,rac3에서 실행 중입니다. ASM이 사용으로 설정되었습니다.
[root@rac3 ~]# ocrcheck Status of Oracle Cluster Registry is as follows : Version : 3 Total space (kbytes) : 262120 Used space (kbytes) : 3336 Available space (kbytes) : 258784 ID : 2069672448 Device/File Name : +CRS Device/File integrity check succeeded Device/File not configured Device/File not configured Device/File not configured Device/File not configured Cluster registry integrity check succeeded Logical corruption check succeeded
[root@rac3 ~]# crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE 4435f23fc23e4fd9bfb52875ed961ea3 (ORCL:CRS1) [CRS] 2. ONLINE 35544d278bb94fe9bff36d237e4c2fd9 (ORCL:CRS2) [CRS] 3. ONLINE 44cf040691304fc6bf5ea3342d83220e (ORCL:CRS3) [CRS] Located 3 voting disk(s).
새로 추가된 노드에서 클러스터 서비스가 정상적으로 등록되었는지에 대한 검증을 수행합니다.
$GRID_HOME/bin/cluvfy stage -post nodeadd -n rac3 -verbose
[grid@+ASM3 ~]$ $GRID_HOME/bin/cluvfy stage -post nodeadd -n rac3 -verbose 노드 추가에 대한 사후 확인 수행 노드 연결 가능성을 검사하는 중... 검사: "rac3" 노드에서의 노드 연결 가능성 대상 노드 연결 가능? ------------------------------------ ------------------------ rac3 예 결과: "rac3" 노드에서 노드 연결 가능성 검사를 성공했습니다. 사용자 equivalence를 검사하는 중... 검사: 사용자 "grid"에 대한 사용자 equivalence 노드 이름 상태 ------------------------------------ ------------------------ rac3 성공 결과: 사용자 "grid"에 대한 사용자 equivalence 검사를 성공했습니다. 클러스터 무결성을 검사하는 중... 노드 이름 ------------------------------------ rac1 rac2 rac3 클러스터 무결성 검사를 성공했습니다. CRS 무결성을 검사하는 중... Clusterware 버전 일관성 검사를 성공했습니다. Oracle Clusterware가 "rac2" 노드에서 정상적으로 작동합니다. Oracle Clusterware가 "rac1" 노드에서 정상적으로 작동합니다. Oracle Clusterware가 "rac3" 노드에서 정상적으로 작동합니다. CRS 무결성 검사를 성공했습니다. 공유 리소스 검사 중... CRS 홈 위치를 확인하는 중... "/u01/app/11.2.0/grid"이(가) 공유되지 않았습니다. 결과: 노드 추가에 필요한 공유 리소스 검사를 성공했습니다. 노드 연결을 검사하는 중... 호스트 구성 파일 확인 중... 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 rac3 성공 호스트 구성 파일 확인을 성공했습니다. "rac2" 노드에 대한 인터페이스 정보 이름 IP 주소 서브넷 게이트웨이 Def. 게이트웨이 HW 주소 MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ eth0 10.0.1.102 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:3F:C6:63 1500 eth0 10.0.1.112 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:3F:C6:63 1500 eth1 10.0.5.102 10.0.5.0 0.0.0.0 10.0.1.1 08:00:27:82:7A:B8 1500 eth1 169.254.230.67 169.254.0.0 0.0.0.0 10.0.1.1 08:00:27:82:7A:B8 1500 "rac1" 노드에 대한 인터페이스 정보 이름 IP 주소 서브넷 게이트웨이 Def. 게이트웨이 HW 주소 MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ eth0 10.0.1.101 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:E2:B3:31 1500 eth0 10.0.1.110 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:E2:B3:31 1500 eth0 10.0.1.111 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:E2:B3:31 1500 eth1 10.0.5.101 10.0.5.0 0.0.0.0 10.0.1.1 08:00:27:C8:AD:37 1500 eth1 169.254.152.198 169.254.0.0 0.0.0.0 10.0.1.1 08:00:27:C8:AD:37 1500 "rac3" 노드에 대한 인터페이스 정보 이름 IP 주소 서브넷 게이트웨이 Def. 게이트웨이 HW 주소 MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ eth0 10.0.1.103 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:E7:AA:1A 1500 eth0 10.0.1.113 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:E7:AA:1A 1500 eth1 10.0.5.103 10.0.5.0 0.0.0.0 10.0.1.1 08:00:27:31:3A:31 1500 eth1 169.254.81.157 169.254.0.0 0.0.0.0 10.0.1.1 08:00:27:31:3A:31 1500 검사: "eth0" 인터페이스에 대한 노드 연결 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac2[10.0.1.102] rac2[10.0.1.112] 예 rac2[10.0.1.102] rac1[10.0.1.101] 예 rac2[10.0.1.102] rac1[10.0.1.110] 예 rac2[10.0.1.102] rac1[10.0.1.111] 예 rac2[10.0.1.102] rac3[10.0.1.103] 예 rac2[10.0.1.102] rac3[10.0.1.113] 예 rac2[10.0.1.112] rac1[10.0.1.101] 예 rac2[10.0.1.112] rac1[10.0.1.110] 예 rac2[10.0.1.112] rac1[10.0.1.111] 예 rac2[10.0.1.112] rac3[10.0.1.103] 예 rac2[10.0.1.112] rac3[10.0.1.113] 예 rac1[10.0.1.101] rac1[10.0.1.110] 예 rac1[10.0.1.101] rac1[10.0.1.111] 예 rac1[10.0.1.101] rac3[10.0.1.103] 예 rac1[10.0.1.101] rac3[10.0.1.113] 예 rac1[10.0.1.110] rac1[10.0.1.111] 예 rac1[10.0.1.110] rac3[10.0.1.103] 예 rac1[10.0.1.110] rac3[10.0.1.113] 예 rac1[10.0.1.111] rac3[10.0.1.103] 예 rac1[10.0.1.111] rac3[10.0.1.113] 예 rac3[10.0.1.103] rac3[10.0.1.113] 예 결과: "eth0" 인터페이스에 대한 노드 연결을 성공했습니다. 검사: "10.0.1.0" 서브넷의 TCP 접속 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac3:10.0.1.103 rac2:10.0.1.102 성공 rac3:10.0.1.103 rac2:10.0.1.112 성공 rac3:10.0.1.103 rac1:10.0.1.101 성공 rac3:10.0.1.103 rac1:10.0.1.110 성공 rac3:10.0.1.103 rac1:10.0.1.111 성공 rac3:10.0.1.103 rac3:10.0.1.113 성공 결과: "10.0.1.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다. 검사: "eth1" 인터페이스에 대한 노드 연결 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac2[10.0.5.102] rac1[10.0.5.101] 예 rac2[10.0.5.102] rac3[10.0.5.103] 예 rac1[10.0.5.101] rac3[10.0.5.103] 예 결과: "eth1" 인터페이스에 대한 노드 연결을 성공했습니다. 검사: "10.0.5.0" 서브넷의 TCP 접속 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac3:10.0.5.103 rac2:10.0.5.102 성공 rac3:10.0.5.103 rac1:10.0.5.101 성공 결과: "10.0.5.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다. 서브넷 마스크 일관성 확인 중... "10.0.1.0" 서브넷에 대한 서브넷 마스크 일관성 검사를 성공했습니다. "10.0.5.0" 서브넷에 대한 서브넷 마스크 일관성 검사를 성공했습니다. 서브넷 마스크 일관성 검사를 성공했습니다. 결과: 노드 연결 검사를 성공했습니다. 멀티캐스트 통신을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.1.0" 서브넷을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.1.0" 서브넷 검사를 성공했습니다. 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.5.0" 서브넷을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.5.0" 서브넷 검사를 성공했습니다. 멀티캐스트 통신 검사를 성공했습니다. 노드 응용 프로그램의 존재 여부를 검사하는 중... VIP 노드 응용 프로그램이 존재하는지 검사하는 중(필수) 노드 이름 필수 실행 중? 설명 ------------ ------------------------ ------------------------ ---------- rac2 예 예 성공 rac1 예 예 성공 rac3 예 예 성공 VIP 노드 응용 프로그램 검사를 성공했습니다. NETWORK 노드 응용 프로그램이 존재하는지 검사하는 중(필수) 노드 이름 필수 실행 중? 설명 ------------ ------------------------ ------------------------ ---------- rac2 예 예 성공 rac1 예 예 성공 rac3 예 예 성공 NETWORK 노드 응용 프로그램 검사를 성공했습니다. GSD 노드 응용 프로그램이 존재하는지 검사하는 중(선택 사항) 노드 이름 필수 실행 중? 설명 ------------ ------------------------ ------------------------ ---------- rac2 아니오 아니오 존재함 rac1 아니오 아니오 존재함 rac3 아니오 아니오 존재함 GSD 노드 응용 프로그램이 "rac2,rac1,rac3" 노드에서 오프라인 상태입니다. ONS 노드 응용 프로그램이 존재하는지 검사하는 중(선택 사항) 노드 이름 필수 실행 중? 설명 ------------ ------------------------ ------------------------ ---------- rac2 아니오 예 성공 rac1 아니오 예 성공 rac3 아니오 예 성공 ONS 노드 응용 프로그램 검사를 성공했습니다. SCAN(단일 클라이언트 액세스 이름) 검사 중... SCAN 이름 노드 실행 중? ListenerName 포트 실행 중? ---------------- ------------ ------------ ------------ ------------ ------------ rac-scan rac1 true LISTENER_SCAN1 1521 true SCAN 리스너에 대한 TCP 접속을 검사하는 중... 노드 ListenerName TCP 접속 가능 여부 ------------ ------------------------ ------------------------ rac3 LISTENER_SCAN1 예 SCAN 리스너에 대한 TCP 접속이 모든 클러스터 노드에 존재합니다. "rac-scan"에 대한 이름 분석 설정을 검사하는 중... Checking integrity of name service switch configuration file "/etc/nsswitch.conf" ... Checking if "hosts" entry in file "/etc/nsswitch.conf" is consistent across nodes... Checking file "/etc/nsswitch.conf" to make sure that only one "hosts" entry is defined More than one "hosts" entry does not exist in any "/etc/nsswitch.conf" file Check for integrity of name service switch configuration file "/etc/nsswitch.conf" passed SCAN 이름 IP 주소 상태 설명 ------------ ------------------------ ------------------------ ---------- rac-scan 10.0.1.110 성공 SCAN VIP 및 리스너 설정 확인을 성공했습니다. 사용자 "grid"이(가) "root" 그룹에 속해 있지 않은지 확인하는 중입니다. 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac3 성공 존재하지 않음 결과: 사용자 "grid"이(가) "root" 그룹에 속해 있지 않습니다. 검사를 성공했습니다. 모든 노드에 Clusterware가 설치되었는지 여부를 검사하는 중... Clusterware 설치 검사를 성공했습니다. CTSS 리소스가 모든 노드에서 실행 중인지 여부를 검사하는 중... 검사: 모든 노드에서 실행 중인 CTSS 리소스 노드 이름 상태 ------------------------------------ ------------------------ rac3 성공 결과: CTSS 리소스 검사를 성공했습니다. 모든 노드에서 시간 오프셋에 대해 CTSS를 질의하는 중... 결과: 시간 오프셋에 대한 CTSS 질의를 성공했습니다. CTSS 상태 검사가 시작되었습니다. 검사: CTSS 상태 노드 이름 상태 ------------------------------------ ------------------------ rac3 활성 CTSS가 활성 상태입니다. 모든 노드에서 시계 시간 오프셋 검사가 계속 진행됩니다. 참조 시간 오프셋 제한: 1000.0밀리초 검사: 참조 시간 오프셋 노드 이름 시간 오프셋 상태 ------------ ------------------------ ------------------------ rac3 0.0 성공 시간 오프셋이 다음 노드 집합의 지정된 제한 범위에 속합니다. "[rac3]" 결과: 시계 시간 오프셋 검사를 성공했습니다. Oracle Cluster Time Synchronization Service 검사를 성공했습니다. 노드 추가에 대한 사후 확인을 성공했습니다.
노드 추가가 정상적으로 되었는지에 대한 사후 검증 스크립트를 새로 추가된 노드에서 실행합니다.
3. 데이터베이스에 노드 추가
A) oracle 계정의 SSH 접속 설정
$ORACLE_HOME/oui/bin/runSSHSetup.sh -user oracle -hosts "rac1 rac2 rac3" -advanced -exverify
[oracle@racdb1 ~]$ $ORACLE_HOME/oui/bin/runSSHSetup.sh -user oracle -hosts "rac1 rac2 rac3" -advanced -exverify This script will setup SSH Equivalence from the host 'rac1' to specified remote hosts. ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1 JAR_LOC = /u01/app/oracle/product/11.2.0/db_1/oui/jlib SSH_LOC = /u01/app/oracle/product/11.2.0/db_1/oui/jlib OUI_LOC = /u01/app/oracle/product/11.2.0/db_1/oui JAVA_HOME = /u01/app/oracle/product/11.2.0/db_1/jdk Checking if the remote hosts are reachable. ClusterLogger - log file location: /home/oracle/Logs/remoteInterfaces2019-03-06_09-23-14-AM.log Failed Nodes : rac1 rac2 rac3 Remote host reachability check succeeded. All hosts are reachable. Proceeding further... NOTE : As part of the setup procedure, this script will use ssh and scp to copy files between the local host and the remote hosts. You may be prompted for the password during the execution of the script. 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 클라이언트 공용 키와 개인 키를 포함하는 파일이 로컬 호스트에 존재하는 경우 현재 개인 키는 연관된 비밀번호 구문을 포함할 수도 있고 포함하지 않을 수도 있습니다. 비밀번호 구문을 기억하고 있으며 ssh-keygen을 재실행하지 않으려는 경우 'no'를 입력하십시오. 'yes'를 입력하면 스크립트가 기존 개인/공용 키 파일을 제거하고 이전 SSH 사용자 설정이 재설정됩니다. 'yes', 'no'를 입력하십시오. yes Enter the password: Logfile Location : /home/oracle/SSHSetup2019-03-06_09-23-21-AM Checking binaries on remote hosts... Doing SSHSetup... Please be patient, this operation might take sometime...Dont press Ctrl+C... ClusterLogger - log file location: /home/oracle/Logs/remoteInterfaces2019-03-06_09-23-21-AM.log Plugin : oracle.sysman.prov.remoteinterfaces.plugins.RemoteCommandSSH found in class path Changing Default Plugin from : oracle.sysman.prov.remoteinterfaces.plugins.RemoteCommandSSH to : oracle.sysman.prov.remoteinterfaces.plugins.RemoteCommandSSH Local Platform:- Linux ------------------------------------------------------------------------ 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 <OMS HOME>/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. 2019. 03. 06. (수) 09:23:58 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. 2019. 03. 06. (수) 09:23:59 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. 2019. 03. 06. (수) 09:23:59 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. 2019. 03. 06. (수) 09:23:59 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ 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. 2019. 03. 06. (수) 09:23:59 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ 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. 2019. 03. 06. (수) 09:24:00 KST ------------------------------------------------------------------------ -Verification from rac1 complete- ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac2 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. 2019. 03. 06. (수) 09:24:00 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac2 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. 2019. 03. 06. (수) 09:24:00 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac2 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. 2019. 03. 06. (수) 09:24:01 KST ------------------------------------------------------------------------ -Verification from rac2 complete- ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac3 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. 2019. 03. 06. (수) 09:24:01 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac3 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. 2019. 03. 06. (수) 09:24:01 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac3 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. 2019. 03. 06. (수) 09:24:01 KST ------------------------------------------------------------------------ -Verification from rac3 complete- SSH verification complete.
1번 노드(대표 노드)에서 암호가 필요없는 SSH 접속 설정을 위한 스크립트를 실행합니다.
기존에 암호 없는 SSH 접속을 위한 설정이 되어 있으므로 두번의 yes를 입력한 후에 grid 유저의 OS 계정 비밀번호를 입력해야 합니다.
B) Database 복사
$ORACLE_HOME/oui/bin/addNode.sh -silent "CLUSTER_NEW_NODES={rac3}"
[oracle@racdb1 ~]$ $ORACLE_HOME/oui/bin/addNode.sh -silent "CLUSTER_NEW_NODES={rac3}" 노드 추가에 대한 사전 확인 수행 노드 연결 가능성을 검사하는 중... "rac1" 노드에서 노드 연결 가능성 검사를 성공했습니다. 사용자 equivalence를 검사하는 중... 사용자 "oracle"에 대한 사용자 equivalence 검사를 성공했습니다. WARNING: "rac3" 노드가 이미 클러스터에 속해 있는 것 같습니다. 노드 추가에 대한 사전 확인을 성공했습니다. Oracle Universal Installer 시작 중... 스왑 공간 확인 중: 500MB 이상이어야 합니다.. 실제 4032MB 성공 Oracle Universal Installer, 버전 11.2.0.4.0 Production Copyright (C) 1999, 2013, Oracle. All rights reserved. rac2,rac3 노드의 사용 가능 여부를 확인하기 위한 테스트 수행 중 ............................................................... 100% 완료되었습니다. . ----------------------------------------------------------------------------- 클러스터 노드 추가 요약 전역 설정 소스: /u01/app/oracle/product/11.2.0/db_1 새 노드 공간 요구 사항 새 노드 rac3 /: 필요 4.82GB: 사용 가능 16.44GB 설치된 제품 제품 이름 Oracle Database 11g 11.2.0.4.0 Java Development Kit 1.5.0.51.10 Installer SDK Component 11.2.0.4.0 Oracle One-Off Patch Installer 11.2.0.3.4 Oracle Universal Installer 11.2.0.4.0 Oracle USM Deconfiguration 11.2.0.4.0 Oracle Configuration Manager Deconfiguration 10.3.1.0.0 Oracle DBCA Deconfiguration 11.2.0.4.0 Oracle RAC Deconfiguration 11.2.0.4.0 Oracle Database Deconfiguration 11.2.0.4.0 Oracle Configuration Manager Client 10.3.2.1.0 Oracle Configuration Manager 10.3.8.1.0 Oracle ODBC Driverfor Instant Client 11.2.0.4.0 LDAP Required Support Files 11.2.0.4.0 SSL Required Support Files for InstantClient 11.2.0.4.0 Bali Share 1.1.18.0.0 Oracle Extended Windowing Toolkit 3.4.47.0.0 Oracle JFC Extended Windowing Toolkit 4.2.36.0.0 Oracle Real Application Testing 11.2.0.4.0 Oracle Database Vault J2EE Application 11.2.0.4.0 Oracle Label Security 11.2.0.4.0 Oracle Data Mining RDBMS Files 11.2.0.4.0 Oracle OLAP RDBMS Files 11.2.0.4.0 Oracle OLAP API 11.2.0.4.0 Platform Required Support Files 11.2.0.4.0 Oracle Database Vault option 11.2.0.4.0 Oracle RAC Required Support Files-HAS 11.2.0.4.0 SQL*Plus Required Support Files 11.2.0.4.0 Oracle Display Fonts 9.0.2.0.0 Oracle Ice Browser 5.2.3.6.0 Oracle JDBC Server Support Package 11.2.0.4.0 Oracle SQL Developer 11.2.0.4.0 Oracle Application Express 11.2.0.4.0 XDK Required Support Files 11.2.0.4.0 RDBMS Required Support Files for Instant Client 11.2.0.4.0 SQLJ Runtime 11.2.0.4.0 Database Workspace Manager 11.2.0.4.0 RDBMS Required Support Files Runtime 11.2.0.4.0 Oracle Globalization Support 11.2.0.4.0 Exadata Storage Server 11.2.0.1.0 Provisioning Advisor Framework 10.2.0.4.3 Enterprise Manager Database Plugin -- Repository Support 11.2.0.4.0 Enterprise Manager Repository Core Files 10.2.0.4.5 Enterprise Manager Database Plugin -- Agent Support 11.2.0.4.0 Enterprise Manager Grid Control Core Files 10.2.0.4.5 Enterprise Manager Common Core Files 10.2.0.4.5 Enterprise Manager Agent Core Files 10.2.0.4.5 RDBMS Required Support Files 11.2.0.4.0 regexp 2.1.9.0.0 Agent Required Support Files 10.2.0.4.5 Oracle 11g Warehouse Builder Required Files 11.2.0.4.0 Oracle Notification Service (eONS) 11.2.0.4.0 Oracle Text Required Support Files 11.2.0.4.0 Parser Generator Required Support Files 11.2.0.4.0 Oracle Database 11g Multimedia Files 11.2.0.4.0 Oracle Multimedia Java Advanced Imaging 11.2.0.4.0 Oracle Multimedia Annotator 11.2.0.4.0 Oracle JDBC/OCI Instant Client 11.2.0.4.0 Oracle Multimedia Locator RDBMS Files 11.2.0.4.0 Precompiler Required Support Files 11.2.0.4.0 Oracle Core Required Support Files 11.2.0.4.0 Sample Schema Data 11.2.0.4.0 Oracle Starter Database 11.2.0.4.0 Oracle Message Gateway Common Files 11.2.0.4.0 Oracle XML Query 11.2.0.4.0 XML Parser for Oracle JVM 11.2.0.4.0 Oracle Help For Java 4.2.9.0.0 Installation Plugin Files 11.2.0.4.0 Enterprise Manager Common Files 10.2.0.4.5 Expat libraries 2.0.1.0.1 Deinstallation Tool 11.2.0.4.0 Oracle Quality of Service Management (Client) 11.2.0.4.0 Perl Modules 5.10.0.0.1 JAccelerator (COMPANION) 11.2.0.4.0 Oracle Containers for Java 11.2.0.4.0 Perl Interpreter 5.10.0.0.1 Oracle Net Required Support Files 11.2.0.4.0 Secure Socket Layer 11.2.0.4.0 Oracle Universal Connection Pool 11.2.0.4.0 Oracle JDBC/THIN Interfaces 11.2.0.4.0 Oracle Multimedia Client Option 11.2.0.4.0 Oracle Java Client 11.2.0.4.0 Character Set Migration Utility 11.2.0.4.0 Oracle Code Editor 1.2.1.0.0I PL/SQL Embedded Gateway 11.2.0.4.0 OLAP SQL Scripts 11.2.0.4.0 Database SQL Scripts 11.2.0.4.0 Oracle Locale Builder 11.2.0.4.0 Oracle Globalization Support 11.2.0.4.0 SQL*Plus Files for Instant Client 11.2.0.4.0 Required Support Files 11.2.0.4.0 Oracle Database User Interface 2.2.13.0.0 Oracle ODBC Driver 11.2.0.4.0 Oracle Notification Service 11.2.0.3.0 XML Parser for Java 11.2.0.4.0 Oracle Security Developer Tools 11.2.0.4.0 Oracle Wallet Manager 11.2.0.4.0 Cluster Verification Utility Common Files 11.2.0.4.0 Oracle Clusterware RDBMS Files 11.2.0.4.0 Oracle UIX 2.2.24.6.0 Enterprise Manager plugin Common Files 11.2.0.4.0 HAS Common Files 11.2.0.4.0 Precompiler Common Files 11.2.0.4.0 Installation Common Files 11.2.0.4.0 Oracle Help for the Web 2.0.14.0.0 Oracle LDAP administration 11.2.0.4.0 Buildtools Common Files 11.2.0.4.0 Assistant Common Files 11.2.0.4.0 Oracle Recovery Manager 11.2.0.4.0 PL/SQL 11.2.0.4.0 Generic Connectivity Common Files 11.2.0.4.0 Oracle Database Gateway for ODBC 11.2.0.4.0 Oracle Programmer 11.2.0.4.0 Oracle Database Utilities 11.2.0.4.0 Enterprise Manager Agent 10.2.0.4.5 SQL*Plus 11.2.0.4.0 Oracle Netca Client 11.2.0.4.0 Oracle Multimedia Locator 11.2.0.4.0 Oracle Call Interface (OCI) 11.2.0.4.0 Oracle Multimedia 11.2.0.4.0 Oracle Net 11.2.0.4.0 Oracle XML Development Kit 11.2.0.4.0 Oracle Internet Directory Client 11.2.0.4.0 Database Configuration and Upgrade Assistants 11.2.0.4.0 Oracle JVM 11.2.0.4.0 Oracle Advanced Security 11.2.0.4.0 Oracle Net Listener 11.2.0.4.0 Oracle Enterprise Manager Console DB 11.2.0.4.0 HAS Files for DB 11.2.0.4.0 Oracle Text 11.2.0.4.0 Oracle Net Services 11.2.0.4.0 Oracle Database 11g 11.2.0.4.0 Oracle OLAP 11.2.0.4.0 Oracle Spatial 11.2.0.4.0 Oracle Partitioning 11.2.0.4.0 Enterprise Edition Options 11.2.0.4.0 ----------------------------------------------------------------------------- 노드 추가를 위해 스크립트 인스턴스화 중 (2019년 3월 6일 수요일 오전 9시 25분 26초 KST) . 1% 완료되었습니다. 노드 추가 스크립트 인스턴스화 완료 원격 노드에 복사 중 (2019년 3월 6일 수요일 오전 9시 25분 29초 KST) ............................................................................................... 96% 완료되었습니다. 홈이 새 노드에 복사됨 노드에 인벤토리 저장 중 (2019년 3월 6일 수요일 오전 9시 31분 02초 KST) . 100% 완료되었습니다. 인벤토리 저장 완료 WARNING: 각각의 새 클러스터 노드에서 "루트" 사용자로 다음 구성 스크립트를 실행해야 합니다. 아래 목록의 각 스크립트 뒤에는 노드 목록이 표시됩니다. /u01/app/oracle/product/11.2.0/db_1/root.sh #On nodes rac3 구성 스크립트 실행: 1. 터미널 창을 엽니다. 2. "루트"로 로그인합니다. 3. 각 클러스터 노드에서 스크립트를 실행합니다. /u01/app/oracle/product/11.2.0/db_1의 클러스터 노드 추가을(를) 성공했습니다. 자세한 내용은 '/tmp/silentInstall.log'을(를) 확인하십시오.
Database가 실행 중인 1번 노드에서 oracle 유저로 addNode 스크립트를 실행합니다.
작업이 진행되면 1번 노드의 database 파일이 3번 노드로 복사됩니다.
C) root 스크립트 실행
/u01/app/oracle/product/11.2.0/db_1/root.sh
[root@rac3 ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/11.2.0/db_1 Enter the full pathname of the local bin directory: [/usr/local/bin]: The contents of "dbhome" have not changed. No need to overwrite. The contents of "oraenv" have not changed. No need to overwrite. The contents of "coraenv" have not changed. No need to overwrite. 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. Finished product-specific root actions.
새로 추가되는 노드에서 root 스크립트를 실행합니다.
D) 권한 확인
$ORACLE_HOME/bin/cluvfy comp admprv -o db_config -d $ORACLE_HOME -n rac1,rac2,rac3 -verbose
[oracle@racdb3 ~]$ $ORACLE_HOME/bin/cluvfy comp admprv -o db_config -d $ORACLE_HOME -n rac1,rac2,rac3 -verbose 관리 권한 확인 중 사용자 equivalence를 검사하는 중... 검사: 사용자 "oracle"에 대한 사용자 equivalence 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 rac3 성공 결과: 사용자 "oracle"에 대한 사용자 equivalence 검사를 성공했습니다. 관리 권한을 검사하는 중... 검사: "oracle"에 대한 사용자 존재 여부 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함(54321) rac1 성공 존재함(54321) rac3 성공 존재함(54321) UID 값이 54321인 다중 사용자를 검사하는 중 결과: UID 값이 54321인 다중 사용자 검사를 성공했습니다. 결과: "oracle"에 대한 사용자 존재 여부 검사를 성공했습니다. 검사: "oinstall"에 대한 그룹 존재 여부 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함 rac1 성공 존재함 rac3 성공 존재함 결과: "oinstall"에 대한 그룹 존재 여부 검사를 성공했습니다. 검사: "oinstall" 그룹[기본]의 사용자 "oracle"에 대한 멤버쉽 노드 이름 사용자가 존재함 그룹이 존재함 그룹의 사용자 기본 상태 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 예 예 예 예 성공 rac1 예 예 예 예 성공 rac3 예 예 예 예 성공 결과: "oinstall" 그룹[기본]의 사용자 "oracle"에 대한 멤버쉽 검사를 성공했습니다. 검사: "dba"에 대한 그룹 존재 여부 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함 rac1 성공 존재함 rac3 성공 존재함 결과: "dba"에 대한 그룹 존재 여부 검사를 성공했습니다. 검사: "dba" 그룹의 사용자 "oracle"에 대한 멤버쉽 노드 이름 사용자가 존재함 그룹이 존재함 그룹의 사용자 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 예 예 예 성공 rac1 예 예 예 성공 rac3 예 예 예 성공 결과: "dba" 그룹의 사용자 "oracle"에 대한 멤버쉽 검사를 성공했습니다. 관리 권한 검사를 성공했습니다. 관리 권한 확인 작업을 성공했습니다.
복사된 database 파일들에 대한 권한을 확인합니다.
E) 디렉토리 권한 변경
chmod 770 /u01/app/oracle chmod 770 /u01/app/oracle/cfgtoollogs chmod -R 775 /u01/app/oracle/diag
[root@rac3 ~]# chmod 770 /u01/app/oracle [root@rac3 ~]# chmod 770 /u01/app/oracle/cfgtoollogs chmod: cannot access `/u01/app/oracle/cfgtoollogs': 그런 파일이나 디렉토리가 없음 [root@rac3 ~]# chmod -R 775 /u01/app/oracle/diag
grid 유저에게 속한 디렉토리의 권한을 동일 그룹에 속한 유저(oracle)에게 쓰기가 가능하도록 변경합니다.
F) DBCA로 인스턴스 추가
1) silent 모드
dbca -silent -addInstance -nodeList rac3 -gdbName racdb -instanceName racdb3 -sysDBAUserName sys -sysDBAPassword oracle_4U
[oracle@racdb1 ~]$ dbca -silent -addInstance -nodeList rac3 -gdbName racdb -instanceName racdb3 -sysDBAUserName sys -sysDBAPassword oracle_4U 인스턴스 추가 중 1% 완료 2% 완료 6% 완료 13% 완료 20% 완료 26% 완료 33% 완료 40% 완료 46% 완료 53% 완료 66% 완료 인스턴스 관리 완료 중입니다. 76% 완료 100% 완료 자세한 내용은 로그 파일 "/u01/app/oracle/cfgtoollogs/dbca/racdb/racdb.log"을(를) 참조하십시오.
DBCA의 silent 모드로 새로운 노드에 RAC 데이터베이스의 인스턴스를 생성할 수 있습니다.
2) OUI 사용
dbca
OUI(Oracle Universal Installer)를 사용하여 인스턴스를 추가할 수 있습니다.
'Oracle RAC(Real Application Clusters) 데이터베이스'를 선택하고 [다음]을 클릭합니다.
'인스턴스 관리'를 선택하고 [다음]을 클릭합니다.
'인스턴스 추가'를 선택하고 [다음]을 클릭합니다.
인스턴스를 추가할 노드에서 수행할 경우 다음과 같이 에러가 발생합니다.
반드시 로컬 인스턴스가 있는 노드에서 작업을 수행해야 합니다.
인스턴스를 추가할 데이터베이스를 선택합니다.
사용자 이름에 "sys" 비밀번호에 sys 계정의 비밀번호(예: "oracle_4U")를 입력하고 [다음]을 클릭합니다.
[다음]을 클릭합니다.
인스턴스 이름을 확인하고 인스턴스를 추가할 노드를 선택한 후 [다음]을 클릭합니다.
추가될 인스턴스의 데이블스페이스, 데이터 파일, 리두 로그 그룹 정보를 확인할 수 있습니다.
변경할 부분이 없다면 [완료]를 클릭합니다.
추가될 인스턴스에 대한 요약 정보를 확인할 수 있습니다.
내용을 검토하고 변경할 부분이 없다면, [확인]을 클릭합니다.
인스턴스가 추가됩니다.
작업이 완료되면 [아니요]를 클릭합니다.
G) 데이터베이스 추가 결과 검증
crsctl stat res -t srvctl status instance -d racdb -i racdb3 srvctl status database -d racdb -v
[oracle@racdb3 ~]$ crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.CRS.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ONLINE ONLINE rac3 ora.DATA.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ONLINE ONLINE rac3 ora.LISTENER.lsnr ONLINE ONLINE rac1 ONLINE ONLINE rac2 ONLINE ONLINE rac3 ora.RECO.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ONLINE ONLINE rac3 ora.asm ONLINE ONLINE rac1 Started ONLINE ONLINE rac2 Started ONLINE ONLINE rac3 Started ora.gsd OFFLINE OFFLINE rac1 OFFLINE OFFLINE rac2 OFFLINE OFFLINE rac3 ora.net1.network ONLINE ONLINE rac1 ONLINE ONLINE rac2 ONLINE ONLINE rac3 ora.ons ONLINE ONLINE rac1 ONLINE ONLINE rac2 ONLINE ONLINE rac3 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac1 ora.cvu 1 ONLINE ONLINE rac1 ora.oc4j 1 ONLINE ONLINE rac1 ora.rac1.vip 1 ONLINE ONLINE rac1 ora.rac2.vip 1 ONLINE ONLINE rac2 ora.rac3.vip 1 ONLINE ONLINE rac3 ora.racdb.db 1 ONLINE ONLINE rac1 Open 2 ONLINE ONLINE rac2 Open 3 ONLINE ONLINE rac3 Open ora.scan1.vip 1 ONLINE ONLINE rac1
[oracle@racdb3 ~]$ srvctl status instance -d racdb -i racdb3 racdb3 인스턴스가 rac3 노드에서 실행 중임
[oracle@racdb3 ~]$ srvctl status database -d racdb -v racdb1 인스턴스가 rac1 노드에서 실행 중입니다. 인스턴스 상태: Open. racdb2 인스턴스가 rac2 노드에서 실행 중입니다. 인스턴스 상태: Open. racdb3 인스턴스가 rac3 노드에서 실행 중입니다. 인스턴스 상태: Open.
데이터베이스 인스턴스가 정상적으로 생성되었는지 확인합니다.
select inst_id, instance_name, status from gv$instance order by inst_id;
SQL> select inst_id, instance_name, status 2 from gv$instance order by inst_id; INST_ID INSTANCE_NAME STATUS ---------- ---------------- ------------ 1 racdb1 OPEN 2 racdb2 OPEN 3 racdb3 OPEN
Database에 접속해서 인스턴스 정보를 검색합니다.
{}