1. Grid 설치
A) 환경 설정 및 OUI 실행
# grid_env export LANG=C cd <Grid 설치 파일 압축 디렉토리> ./runInstaller
Linux 7 에서는 11g의 OUI에서 한글이 표기가 되지 않으므로 LANG=C 설정으로 언어 표기를 초기화한 후 OUI를 실행합니다.
‘Skip software updates’를 선택하고 <Next>를 클릭합니다.
‘Install and Configure Oracle Grid Infrastructure for a Cluster’를 선택하고 <Next>를 클릭합니다.
‘Advanced Installation’을 선택하고 <Next>를 클릭합니다.
언어에 ‘Korean’을 추가하고 <Next>를 클릭합니다
Cluster Name에 “rac”, SCAN Name에 “rac-scan”, SCAN Port에 “1521”을 입력합니다.
Configure GNS를 해제하고 <Next>를 클릭합니다
<Add> 버튼을 클릭하여 RAC2 노드에 대한 정보를 추가합니다.
Public Hostname에 ‘rac2’ 와 Virtual Hostname에 ‘rac2-vip’를 입력하고 <OK>를 클릭합니다.
SSH 구성을 위해 <SSH Connecivity>를 클릭합니다.
OS Password에 oracle 유저의 암호(“oracle”)를 입력하고 <Setup>을 클릭합니다
SSH 설정이 완료되었으면 <OK>를 클릭합니다
설치를 진행하기 위해 <Next>를 클릭합니다.
enp0s3은 ‘Public’, enp0s8은 ‘Private’로 선택되었는지 체크하고 <Next>를 클릭합니다
ASM에 데이터베이스를 구성할 것이므로 ‘Oracle Automatic Storage Management (Oracle ASM)’을 선택하고 <Next>를 클릭합니다.
먼저 클러스터 환경을 구성하고 저장할 디스크 그룹을 생성합니다.
디스크 그룹 이름에 ‘CRS'를 입력하고 ‘ORCL:CRS1’부터 ‘ORCL:CRS3’까지 선택하고 <Next>를 클릭합니다.
Redundancy는 ‘Normal’을 유지하고 AU Size는 기본값(1MB)으로 둡니다.
'Use same passwords for these accounts’를 선택하고 암호에 ‘oracle_4U’를 입력한 후 <Next>를 클릭합니다
‘Do not use Intelligent Platform Management Interface(IPMI)’ 선택 후 <Next>를 클릭합니다
ASM 관련 그룹이 제대로 선택되어 있는지 확인하고 <Next>를 클릭합니다.
Oracle Base가 “/u01/app/oracle”, Software Location이 “/u01/app/11g/grid”로 되어 있는지 확인하고 <Next>를 클릭합니다.
Inventory Directory가 "/u01/app/oraInventory"로 되어 있는지 확인하고 <Next>를 클릭합니다
오라클 설치에 필요한 조건 검사가 진행됩니다.
패키지 관련 2가지 waring이 있습니다. 이중에 cvuqdisk 패키지는 <Fix & Check Again>에서 수정이 가능합니다.
<Fix & Check Again>을 클릭하면 root 유저로 스크립트를 실행할 수 있는 안내창이 나옵니다.
B) runfixup 쉘 실행
/tmp/CVU_11.2.0.4.0_oracle/runfixup.sh
[root@rac1 ~]# /tmp/CVU_11.2.0.4.0_oracle/runfixup.sh Response file being used is :/tmp/CVU_11.2.0.4.0_oracle/fixup.response Enable file being used is :/tmp/CVU_11.2.0.4.0_oracle/fixup.enable Log file location: /tmp/CVU_11.2.0.4.0_oracle/orarun.log Installing Package /tmp/CVU_11.2.0.4.0_oracle//cvuqdisk-1.0.9-1.rpm 준비 중... ################################# [100%] Updating / installing... 1:cvuqdisk-1.0.9-1 ################################# [100%]
[root@rac2 ~]# /tmp/CVU_11.2.0.4.0_oracle/runfixup.sh Response file being used is :/tmp/CVU_11.2.0.4.0_oracle/fixup.response Enable file being used is :/tmp/CVU_11.2.0.4.0_oracle/fixup.enable Log file location: /tmp/CVU_11.2.0.4.0_oracle/orarun.log Installing Package /tmp/CVU_11.2.0.4.0_oracle//cvuqdisk-1.0.9-1.rpm 준비 중... ################################# [100%] Updating / installing... 1:cvuqdisk-1.0.9-1 ################################# [100%]
안내 창에서 가이드 된 스크립트를 root 유저 권한으로 모든 노드에서 수행합니다.
그리고 다시 OUI 화면으로 돌아와 <OK>를 클릭하면 재검사가 수행됩니다.
남아있는 pdksh 패키지는 리눅스 7에서는 더이상 제공되지 않으며, 오라클(문서 1962046.1)로부터 무시해도 되는 패키지임을 확인 받았으므로 'Ignore All'을 체크하고 <Next>를 클릭합니다.
해당 패키지를 무시하는 것과 관련하여 안내 창이 뜨면 <Yes>를 클릭합니다.
설치 내역에 대한 요약 정보를 확인할 수 있습니다.
수정할 부분이 없으면 <Install>을 클릭합니다.
Grid Infrastructure 설치가 진행됩니다
구성 스크립트를 실행하라는 창이 뜹니다.
스크립트를 실행하기에 앞서 먼저 1837001 패치를 수행해야 합니다.
해당 패치를 수행하지 않고 구성 스크립트를 실행할 경우, 클러스터 구성 과정 중에 에러가 발생하며 작업이 진행되지 않습니다.
따라서 반드시 해당 패치를 스크립트 수행 전에 적용해야 합니다. (최소 두 번째 스크립트 수행 전)
C) Grid 18370031 패치
export ORACLE_BASE=/u01/app/oracle export GRID_HOME=/u01/app/11g/grid $GRID_HOME/OPatch/opatch version mv $GRID_HOME/OPatch $GRID_HOME/OPatch.old unzip <패치 파일 다운로드 디렉토리>/p6880880_112000_Linux-x86-64.zip -d $GRID_HOME chown -R oracle:oinstall $GRID_HOME/OPatch $GRID_HOME/OPatch/opatch version
[root@rac1 ~]# export ORACLE_BASE=/u01/app/oracle [root@rac1 ~]# export GRID_HOME=/u01/app/11g/grid [root@rac1 ~]# $GRID_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.4 OPatch succeeded. [root@rac1 ~]# mv $GRID_HOME/OPatch $GRID_HOME/OPatch.old [root@rac1 ~]# unzip /media/sf_oracle/11.2/p6880880_112000_Linux-x86-64.zip -d $GRID_HOME/ Archive: /media/sf_oracle/11.2/p6880880_112000_Linux-x86-64.zip ... << 중략 >> ... inflating: /u01/app/11g/grid/OPatch/operr [root@rac1 ~]# chown -R oracle:oinstall $GRID_HOME/OPatch [root@rac1 ~]# $GRID_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.23 OPatch succeeded.
[root@rac2 ~]# export ORACLE_BASE=/u01/app/oracle [root@rac2 ~]# export GRID_HOME=/u01/app/11g/grid [root@rac2 ~]# $GRID_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.4 OPatch succeeded. [root@rac2 ~]# mv $GRID_HOME/OPatch $GRID_HOME/OPatch.old [root@rac2 ~]# unzip /media/sf_oracle/11.2/p6880880_112000_Linux-x86-64.zip -d $GRID_HOME/ Archive: /media/sf_oracle/11.2/p6880880_112000_Linux-x86-64.zip ... << 중략 >> ... inflating: /u01/app/11g/grid/OPatch/operr [root@rac2 ~]# chown -R oracle:oinstall $GRID_HOME/OPatch [root@rac2 ~]# $GRID_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.23 OPatch succeeded.
먼저 패치를 위해 $GRID_HOME의 Opatch 파일을 최신 버전으로 업데이트 합니다.
Grid를 설치할 모든 노드에 업데이트해야 합니다.
grid_env opatch napply -local <패치 압축 해제 디렉토리>/18370031 opatch lspatches
[racdb1:/home/oracle]> grid_env [+ASM1:/home/oracle]> opatch napply -local /media/sf_oracle/11.2/18370031 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/11g/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11g/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11g/grid/cfgtoollogs/opatch/opatch2020-03-28_14-35-25오후_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 18370031 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/11g/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/11g/grid'에 Interim 패치 '18370031'을(를) 적용하는 중 oracle.crs, 11.2.0.4.0 구성요소를 패치하는 중... Patch 18370031 successfully applied. Log file location: /u01/app/11g/grid/cfgtoollogs/opatch/opatch2020-03-28_14-35-25오후_1.log OPatch succeeded. [+ASM1:/home/oracle]> opatch lspatches 18370031;Grid Infrastructure Patch Set Update : 11.2.0.4.x (gibugno) OPatch succeeded.
[racdb2:/home/oracle]> grid_env [+ASM2:/home/oracle]> opatch napply -local /media/sf_oracle/11.2/18370031 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/11g/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11g/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11g/grid/cfgtoollogs/opatch/opatch2020-03-28_14-39-24오후_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 18370031 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/11g/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/11g/grid'에 Interim 패치 '18370031'을(를) 적용하는 중 oracle.crs, 11.2.0.4.0 구성요소를 패치하는 중... Patch 18370031 successfully applied. Log file location: /u01/app/11g/grid/cfgtoollogs/opatch/opatch2020-03-28_14-39-24오후_1.log OPatch succeeded. [+ASM2:/home/oracle]> opatch lspatches 18370031;Grid Infrastructure Patch Set Update : 11.2.0.4.x (gibugno) OPatch succeeded.
업데이트한 Opatch 파일로 18370031 패치를 Grid에 적용합니다.
설치하고자 하는 모든 노드에서 각각 실행해야 합니다.
D) root 스크립트 실행
/u01/app/oraInventory/orainstRoot.sh
[root@rac1 ~]# /u01/app/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall. The execution of the script is complete.
[root@rac2 ~]# /u01/app/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall. The execution of the script is complete.
패치가 정상적으로 되었으면 첫번째 구성 스크립트를 실행햡니다.
클러스터를 구성할 모든 노드에 빠찜없이 수행합니다.
/u01/app/11g/grid/root.sh
[root@rac1 ~]# /u01/app/11g/grid/root.sh Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/11g/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/11g/grid/crs/install/crsconfig_params Creating trace directory User ignored Prerequisites during installation Installing Trace File Analyzer OLR initialization - successful root wallet root wallet cert root cert export peer wallet profile reader wallet pa wallet peer wallet keys pa wallet keys peer cert request pa cert request peer cert pa cert peer root cert TP profile reader root cert TP pa root cert TP peer pa cert TP pa peer cert TP profile reader pa cert TP profile reader peer cert TP peer user cert pa user cert Adding Clusterware entries to oracle-ohasd.service CRS-2672: Attempting to start 'ora.mdnsd' on 'rac1' CRS-2676: Start of 'ora.mdnsd' on 'rac1' succeeded CRS-2672: Attempting to start 'ora.gpnpd' on 'rac1' CRS-2676: Start of 'ora.gpnpd' on 'rac1' succeeded CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac1' CRS-2672: Attempting to start 'ora.gipcd' on 'rac1' CRS-2676: Start of 'ora.cssdmonitor' on 'rac1' succeeded CRS-2676: Start of 'ora.gipcd' on 'rac1' succeeded CRS-2672: Attempting to start 'ora.cssd' on 'rac1' CRS-2672: Attempting to start 'ora.diskmon' on 'rac1' CRS-2676: Start of 'ora.diskmon' on 'rac1' succeeded CRS-2676: Start of 'ora.cssd' on 'rac1' succeeded ASM이 성공적으로 생성되고 시작되었습니다. 디스크 그룹 CRS이(가) 성공적으로 생성되었습니다. clscfg: -install mode specified Successfully accumulated necessary OCR keys. Creating OCR keys for user 'root', privgrp 'root'.. Operation successful. CRS-4256: Updating the profile Successful addition of voting disk 3d565099b3bd4f12bfd953417f1d8120. Successful addition of voting disk 2f539dd6cd254ffabf7378fadde45b24. Successful addition of voting disk 56d9ca743a024f5fbf23d5ba055ee1c5. Successfully replaced voting disk group with +CRS. CRS-4256: Updating the profile CRS-4266: Voting file(s) successfully replaced ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE 3d565099b3bd4f12bfd953417f1d8120 (ORCL:CRS1) [CRS] 2. ONLINE 2f539dd6cd254ffabf7378fadde45b24 (ORCL:CRS2) [CRS] 3. ONLINE 56d9ca743a024f5fbf23d5ba055ee1c5 (ORCL:CRS3) [CRS] Located 3 voting disk(s). CRS-2672: Attempting to start 'ora.asm' on 'rac1' CRS-2676: Start of 'ora.asm' on 'rac1' succeeded CRS-2672: Attempting to start 'ora.CRS.dg' on 'rac1' CRS-2676: Start of 'ora.CRS.dg' on 'rac1' succeeded Configure Oracle Grid Infrastructure for a Cluster ... succeeded
[root@rac2 ~]# /u01/app/11g/grid/root.sh Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/11g/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/11g/grid/crs/install/crsconfig_params Creating trace directory User ignored Prerequisites during installation Installing Trace File Analyzer OLR initialization - successful Adding Clusterware entries to oracle-ohasd.service CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node rac1, number 1, and is terminating An active cluster was found during exclusive startup, restarting to join the cluster Configure Oracle Grid Infrastructure for a Cluster ... succeeded
첫번째 구성 스크립트를 모든 노드에서 수행한 후, 두번째 구성 스크립트도 모든 노드에서 수행합니다.
반드시 한 노드에서 작업이 끝난 후에 다음 노드에서 작업을 진행해야 하며, 절대로 동시에 여러 노드에서 수행하면 안됩니다.
스크립트 실행을 모두 완료하였으면 OUI 화면으로 돌아와서 구성 스크립트 실행 창의 <OK> 버튼을 클릭합니다.
클러스터용 Oracle Grid Infrastructure 구성 작업이 진행됩니다.
Grid 설치가 모두 성공했습니다.
<Close> 버튼을 클릭해서 종료합니다
crsctl stat res -t
[root@rac1 ~]# crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.CRS.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.LISTENER.lsnr 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 rac2 ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE rac1 ora.LISTENER_SCAN3.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.scan1.vip 1 ONLINE ONLINE rac2 ora.scan2.vip 1 ONLINE ONLINE rac1 ora.scan3.vip 1 ONLINE ONLINE rac1
{}