'2016/06/02'에 해당되는 글 3건

  1. 2016.06.02 ■ [11gR2 RAC 설치(ASM ISCSI)] 08. Oracle Grid Infrastructure 설치
  2. 2016.06.02 ■ [11gR2 RAC 설치(ASM ISCSI)] 07. RAC 의 Storage 구성 (02.Shared Storage 구성)
  3. 2016.06.02 ■ [11gR2 RAC 설치(ASM ISCSI)] 05. mk01n01 구성(VM 복제)

■ [11gR2 RAC 설치(ASM ISCSI)] 08. Oracle Grid Infrastructure 설치

DBMS/[Oracle] ■ 01. Installation & Patches 2016.06.02 21:06

■ Oracle Grid Infrastructure 설치


- [11gR2 RAC 설치(ASM ISCSI)] 02 ~ 07 까지 Grid 를 설치하기 위한 OS 및 Network 작업이었다.

  여기서는 Oracle Grid Infrastructure 설치한다.


[Oracle Grid Infrastructure 설치] 01. Grid software를 전송

-- mk01n01
[root@mk01n01 ~]# mkdir -p /u01/stage
[root@mk01n01 ~]# chown  grid:dba /u01/stage
[root@mk01n01 ~]# chmod -R 755 /u01/stage

-- mk01n02
[root@mk01n02 ~]# mkdir -p /u01/stage
[root@mk01n02 ~]# chown  grid:dba /u01/stage
[root@mk01n02 ~]# chmod -R 755 /u01/stage
01. 각 DB 서버에서 Grid S/W를 전송할 stage 디렉토리를 생성 후 이 디렉토리에 fileziller 및 winscp 같은 ftp 툴로 1번노드  mk01n01 서버에만 grid S/W 를 전송한다.

[Oracle Grid Infrastructure 설치)] 02. Grid software를 압축해제

[root@mk01n01 ~]#su - grid
[grid@mk01n01 stage]$  unzip /u01/stage p13390677_112040_Linux-x86-64_3of7.zip

...
   creating: grid/stage/globalvariables/
  inflating: grid/stage/globalvariables/variable.properties  
  inflating: grid/stage/globalvariables/globalvar.xml  
   creating: grid/rpm/
  inflating: grid/rpm/cvuqdisk-1.0.9-1.rpm  
  inflating: grid/runcluvfy.sh       
  inflating: grid/welcome.html       
[grid@mk01n01 stage]$ unzip /u01/stage/p13390677_112040_Linux-x86-64_4of7.zip

...
 creating: client/stage/Queries/PasswordQueries/0.0.3/1/
  inflating: client/stage/Queries/PasswordQueries/0.0.3/1/PasswordQueries.jar  
   creating: client/stage/Queries/fileQueries/
   creating: client/stage/Queries/fileQueries/10.1.0.3.0/
   creating: client/stage/Queries/fileQueries/10.1.0.3.0/1/
  inflating: client/stage/Queries/fileQueries/10.1.0.3.0/1/fileQueries.jar  
   creating: client/stage/Queries/OCAQueries/
   creating: client/stage/Queries/OCAQueries/1.0.1/
   creating: client/stage/Queries/OCAQueries/1.0.1/1/
  inflating: client/stage/Queries/OCAQueries/1.0.1/1/OCAQueries.jar  
  inflating: client/stage/processes.properties  
  inflating: client/welcome.html     
  inflating: client/runInstaller     
   creating: client/response/
  inflating: client/response/netca.rsp  
  inflating: client/response/client_install.rsp  
  
[grid@mk01n01 stage]$ 

[Oracle Grid Infrastructure 설치] 03. cvuqdisk RPM 설치

[root@mk01n01 rpm]# rpm -Uvh cvuqdisk-1.0.9-1.rpm 
Preparing...                ########################################### [100%]
Using default group oinstall to install package
   1:cvuqdisk               ########################################### [100%]

03. Grid software를 압축해제 하면 cvuqdisk-1.0.9-1.rpm 이 있다 이 RPM 을 각 DB 서버에 설치를 한다.
(이 RPM 은 GRID 설치시 각노드의 환경을 검사하는 rpm 으로 꼭 설치되어야 한다.)

[11gR2 RAC 설치(ASM ISCSI)] 04. X window 설정 및 grid 설치 시작

[grid@mk01n01 stage]$ export DISPLAY=192.168.0.3:0.0        --> 이 IP 는 PC 의 ip  0:0 은 트레이아이콘의 Xmanager 아이콘에 마우스을 가져다 대면 나온다.

[grid@mk01n01 stage]$ cd grid
[grid@mk01n01 grid]$ ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.   Actual 2976 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 4094 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2016-05-17_04-21-00PM. Please wait ...

04. 위와 같이 x window 설정이후 runinstaller를 실행하면 아래 그림 [11gR2 RAC 설치(ASM ISCSI)] 05 와 같이 GRID 를 설치하는 화면이 나타난다.


[Oracle Grid Infrastructure 설치] 05 . GRID 설치(GUI 설치) 1.

05. runinstaller 를 수행하면 위 와 같이 GUI로 GRID 설치화면이 나타나는데 

① 은 11.2.0.4 패치셋 이라 나타나는것이고 오라클 홈페이지에서 다운받을 수 있는 파일 11.2.0.1 설치 파일은 ① 부분이 없다.

따라서 패치셋으로 GRID 를 설치하려면 ① 체크하고 ② [Next] 버튼으로 다음 화면으로 이동 하면 되며

② 11.2.0.1 에서는 그냥 바로 ② [Next] 버튼을 클릭하면 된다.


[Oracle Grid Infrastructure 설치] 06 . GRID 설치(GUI 설치) 2.

06. 여기서 우리는 일단 GRID S/W 만 설치할 예정이기 때문에 [Install Oracle Grid Infrastructure Only] 선택 한다. -> [Next] 다음으로 이동.


[Oracle Grid Infrastructure 설치] 07. GRID 설치(GUI 설치) 3.

07. ① [Advanced Installation] 을 선택 -> ② [Next] 로 다음 화면으로 이동한다.


[Oracle Grid Infrastructure 설치] 07. GRID 설치(GUI 설치) 4.

07.① S/W 설치후 사용할 언어를 선택한다. (English , Korean 선택). -> ② [Next] 버튼으로 다음으로 이동한다.


[Oracle Grid Infrastructure 설치] 08. GRID 설치(GUI 설치) 5.

08. ①의 [Cluster Name][SCAN Name], [SCAN Port] 를 설정 한다. 

     ① [Cluster Name] : mk01n01-scan      <-- /etc/hosts 파일의 scan ip의 hostname 의 alias 를 설정

         [SCAN Name ]  : scan.test.com      <-- /etc/hosts 파일의 scan ip의 hostname 을 설정

         [SCAN IP ]      : 1521                 <-- test 로 사용하기 위한 것이므로 1521 포트 사용.

    ② 모두 설정 후 [Next] 버튼을 클릭하여 다음으로 이동.


[Oracle Grid Infrastructure 설치] 09. GRID 설치(GUI 설치) 6.

09. 여기서는 오라클 RAC 의 VIP를 세팅하한다. 오라클 CRS(Cluster Ready System)가 online 상태가 되면 CRS 는 VIP 를 띄우는데 이때 필요한 설정이다. 물론 이 정보는 /etc/hosts 파일을 읽어서 VIP를 띄우기 때문에 Public IP 와 VIP 는 /etc/hosts 파일에 정의되어 있어야 한다. 

[Add] 버튼을 클릭하면 아래 [Oracle Grid Infrastructure 설치] 10 과 같이 2번노드의 hostname과 VIP hostname의 설정을 추가하는 설정창이 나타난다.


[Oracle Grid Infrastructure 설치] 10. GRID 설치(GUI 설치) 7.

10. [Oracle Grid Infrastructure 설치] 09. 에서 말한바와 같이 각각 public host와  private host를 추가 하기 위해서 public hostname 정보와 private hostname 정보를 입력한다.

    ① mk01n02의 hostname 을 입력한다.

    ② mk01n02-vip 의 hostname을 입력한다.

    ③ 설정이 끝난후 [OK] 버튼을 클릭하여 mk01n02의 hostname 및 virtual hostname을 추가한다.



[Oracle Grid Infrastructure 설치] 11. GRID 설치(GUI 설치) 8.

11. 위와 같이 [Oracle Grid Infrastructure 설치] 09. 에서 mk01n02의 Public IP와 Private IP를 추가하면 ① 과 같이 IP 정보들이 설정되며 ② [SSH Connectivity...] 버튼을 클릭하여 각 호스트 별로(Public host, Virtual host) SSH 설정을 하게 된다.


[Oracle Grid Infrastructure 설치] 12. GRID 설치(GUI 설치) 9.

12. ① GRID 설치 user(난 grid 로 했다.)의 패스워드를 ②에 입력 후 ③[setup] 버튼을 클릭하면 위와 같이 각 host에 대해서 Equivalance 설정을 자동으로 한다. 

   ※ 물론 수동으로 하는 방법도 있으며 다음번에 Post 하도록 하겠다.


[Oracle Grid Infrastructure 설치] 13. GRID 설치(GUI 설치) 10.

13. [Oracle Grid Infrastructure 설치] 12. 의 과정이 끝나면 위와 같이 선택한 노드들에대해서 SSH의 Passwordless 가 설정되었다고 팝업창이 나타난다. ① 의 메세지 확인후 [OK] 버튼을 클릭 하면 팝업창이 사라지며 확인 차 ② 번 버튼을 클릭하여 아래 [Oracle Grid Infrastructure 설치] 13 과 같이 제대로 설정되었다고 나타나게 된다. (이건 내 습관이다.)


[Oracle Grid Infrastructure 설치] 14GRID 설치(GUI 설치) 11.


14[Oracle Grid Infrastructure 설치] 13. 에서 말했듯이 Test 버튼을 클릭하게 되면 위 ①과 같이 선택된 노드들간의 검사를 진행한다.



[Oracle Grid Infrastructure 설치] 15GRID 설치(GUI 설치) 12.

15. [Oracle Grid Infrastructure 설치] 14. 에서 이미 각 선택된 노드들 간의 Passwordlesss 가 설정 되었다고 팝업창이 나타난다. [OK] 버튼을 클릭하여 다음으로 이동. 


[Oracle Grid Infrastructure 설치] 16GRID 설치(GUI 설치) 13.

16. 각 DB 서버별로 사용할 IP 대역을 설정한다. ① 192.168.12.0 대역은 public IP를 사용 ② 192.168.13.0 대역은 Private IP 로 사용한다. 


[Oracle Grid Infrastructure 설치] 17GRID 설치(GUI 설치) 14.

17. 여기에서 우리는 ASM (Automatic Storage Management) 으로 RAC를 구성하므로 ① Oracle Automatic Storage Management 을 선택 후 ② [Next] 버튼을 클릭해서 다음으로 넘어간다.


[Oracle Grid Infrastructure 설치] 18GRID 설치(GUI 설치) 15.

18. 여기서는 파일 위치를 설정하한다.

          ① ASM 의 diskgroup 명을 설정(OCR_VOTE 로 변경)

          ② Redendency를 설정(앞에서 high로 설정하기위해서 세팅해왔으므로 여기서 [High]를 설정한다.)

          ③ [Candidate] 체크박스를 클릭하면 보통 각 disk 들이 보이는데 여기서는 보이지 않아서 

          ④ [Change Discovery Path] 를 클릭후 disk 위치를 입력한다.

          ⑤ [Next] 버튼을 클릭하여 다음으로 이동

※ 보통 기본 path는 /dev/sd* 로 잡혀있다.

   하지만 oracleasm 설정을 하면 /dev/oracleasm/disks/ 디렉토리가 생성되며 그하위에 oracleasm disk 파일 들이 생성된다. 따라서 /dev/oracleasm/disks/* 로 입력하여 ocr 및 votedisk 파일이 위치할 asmdisk를 선택한다.


[Oracle Grid Infrastructure 설치] 19GRID 설치(GUI 설치) 16.

19. 위와 같이 diskgroup 을 설정한다.

     ① diskgroup명 설정  (ocr_vote용 diskgroup 생성)

     ② Redendency 설정 ([high] 설정)

     ③ AU size 설정      (test용이므로 1MB 설정)

     ④ ASM disk 선택    (각 용도에 맞는 disk 설정)

     ⑤ diskgroup을 설정할 asmdisk 모두 선택했으면 [Next] 버튼을 클릭하여 다음으로 이동


          ※ 보통 diskgoup 을 [high] 로 설정을 하면 asmdisk 를 3개만 선택하면 diskgroup 이 생성된다.

             하지만 votedisk 를 [high] redendency 로 설정하려면 위와 같이 최소 4개 asmdisk을 선택해야 한다.

     

[Oracle Grid Infrastructure 설치] 20GRID 설치(GUI 설치) 17.


20. 여기서는 ASM instance 의 패스워드를 설정하는데 ①을 선택해서 sys 및 asmsnmp user의 패스워드를 같게 한다.(물론 다르게 해도 되지만 같게 설정)

     ②, ③ 패스워드 설정 후 ④ [Next] 버튼으로 다음으로 이동한다.


[Oracle Grid Infrastructure 설치] 21GRID 설치(GUI 설치) 18.

21. 위 [Oracle Grid Infrastructure 설치] 20. 에서 패스워드 설정 시 간단히 하게 되면 이와 같은 팝업창을 만난다. 최소 8자 이상 대소문자, 숫자, 특수문자가 섞여있어야 오라클에서 recommand 를 하지만 나중에 다시 바꿀수 있으므로 쉽게 설정했다.


[Oracle Grid Infrastructure 설치] 22GRID 설치(GUI 설치) 19.

22. 위는 IPMI를 설정하는 화면으로 IPMI 를 설정하지 않기 위해 ①을 선택 후 [Next]를 클릭하여 다음으로 이동.


※ IPMI란 서버 관리를 위한 관리 인터페이스로 원격지나 로컬서버의 상태를 

   파악하고 제어할 수 있는 기능의 인터페이스로 많은 수의 서버를 관리할 때

   유용하게 사용되는 유틸이나 여기서는 설정하지 않는다.


[Oracle Grid Infrastructure 설치] 23GRID 설치(GUI 설치) 20.

23. 여기서는 OSASM Group 및 OSDBA Group, OSOper Group 을 설정한다. 

OS에서 group 생성시 dba 로만 설정하기 위해 dba OS group 만 생성했기 때문에 ①의 모든 Group 을 dba로 설정한다. 모든 group을 dba로 설정 이 후 [Next]버튼을 클릭하여 다음으로 이동한다.


[Oracle Grid Infrastructure 설치] 24GRID 설치(GUI 설치) 21.

24. 위 [Oracle Grid Infrastructure 설치] 23. 에서 모두 같은 group 으로 설정했기 때문에 ①과 같이 Warning이 팝업창으로 나타난다. ①에서 [Yes] 버튼을 클릭하면 같은 group으로 설정하게 된다. ① 버튼을 클릭하여 다음으로 이동한다.


[Oracle Grid Infrastructure 설치] 25GRID 설치(GUI 설치) 22. 

25. ① [Brows...] 버튼을 클릭하여 위와 같이 Oracle Base 의 위치를 설정한다. (grid base 의 위치이다.)

    ② [Brows...] 버튼을 클릭하여 실질적으로 S/W가 위치할 위치를 설정한다.(grid home 의 위치이다.)

     ③ [Oracle Base][Software Location] 의 위치를 제대로 설정했다면 ③ [Next]버튼을 클릭하여 다음으로 이동한다.


[Oracle Grid Infrastructure 설치] 26GRID 설치(GUI 설치) 23. 

26[Browse...] 버튼을 클릭하여 Oracle Inventory 위치를 지정 한 후 ② [Next] 버튼을 클릭하여 다음으로 이동한다.


[Oracle Grid Infrastructure 설치] 27GRID 설치(GUI 설치) 24. 


27. [Perform Prerequisite Checks] 는 Grid 설치 이전에 각 DB 서버에 설치되어야 할 패키지, Kernel에 세팅되어야 할 값, 그리고 NTP 등등을 체크해야 한다. 

② 에서는 체크에 실패한 패키지나 설정사항들이 나타나며 그중 하나하나를 선택해서 

[more details] 버튼을 클릭하면 ④ 와 같이 detail 한 정보들을 나타내는 팝업창이 나타난다.


이때 모든 세팅값이 pass 되어야 하며 간혹 상위 버전의 패키지 들이 설치되었는데 check되지 못 하거나 다른 설정사항들이  충분히 설정되어었는데도 불구하고 failed 가 나타날 경우가 있다. 충분히 검토되고 MOS(my oracle support)에서도 confirm 을 한다면 ⑤ Ignore Al 의 check 박스에 체크하고 [Install] 버튼을 클릭하여 Grid의 설치를 진행한다.


[Oracle Grid Infrastructure 설치] 28GRID 설치(GUI 설치) 25. 

28. [Oracle Grid Infrastructure 설치] 27 까지 모든 setting이 끝나고 [Install] 버튼을 클릭하면 위와 같이 Install을 진행한다. 이때 [Details]버튼을 클릭하면 위와 같이 팝업창이 나타나며 Install에대한 detail 을 확인하며 Install을 진행할 수있다.


[Oracle Grid Infrastructure 설치] 29GRID 설치(GUI 설치) 25. 


29. 설치가 거의 완료 될때 쯤 ①번의 팝업창이 나타난다.
① 팝업창의 스크립트를 순서대로 노드별로 수행한다.
   1번 스크립트(/u01/app/oraInventory/orainstRoot.sh )를 mk01n01과 mk01n02에 각각 차례대로 수행.
# mk01n01 에서 아래 스크립트 수행
[root@mk01n01 ~]# /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

# mk01n02 에서 아래 스크립트 수행
[root@mk01n02 ~]# /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

  1번 스크립트(/u01/app/oraInventory/orainstRoot.sh)를 mk01n01과 mk01n02에 각각 차례대로 수행.
### mk01n01 에서 아래 스크립트 수행
[root@mk01n01 ~]# /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@mk01n01 ~]# /u01/app/11.2.0/grid_home/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_home

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_home/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 inittab
CRS-2672: Attempting to start 'ora.mdnsd' on 'mk01n01'
CRS-2676: Start of 'ora.mdnsd' on 'mk01n01' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'mk01n01'
CRS-2676: Start of 'ora.gpnpd' on 'mk01n01' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'mk01n01'
CRS-2672: Attempting to start 'ora.gipcd' on 'mk01n01'
CRS-2676: Start of 'ora.cssdmonitor' on 'mk01n01' succeeded
CRS-2676: Start of 'ora.gipcd' on 'mk01n01' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'mk01n01'
CRS-2672: Attempting to start 'ora.diskmon' on 'mk01n01'
CRS-2676: Start of 'ora.diskmon' on 'mk01n01' succeeded
CRS-2676: Start of 'ora.cssd' on 'mk01n01' succeeded

ASM created and started successfully.

Disk Group OCR_VOTE created successfully.

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 363c4953ab084f56bf388a935f526aed.
Successful addition of voting disk 17002ce23f114f40bfc5d745f1b60477.
Successful addition of voting disk 8d98423c32dd4f98bf57c8f825f6fa4f.
Successful addition of voting disk 09fa6fc15fc14f81bfd2f61fac4a98d6.
Successful addition of voting disk 96682027e3ea4ffbbfa6174e10319bf9.
Successfully replaced voting disk group with +OCR_VOTE.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   363c4953ab084f56bf388a935f526aed (/dev/oracleasm/disks/OCR_VOTE03) [OCR_VOTE]
 2. ONLINE   17002ce23f114f40bfc5d745f1b60477 (/dev/oracleasm/disks/OCR_VOTE02) [OCR_VOTE]
 3. ONLINE   8d98423c32dd4f98bf57c8f825f6fa4f (/dev/oracleasm/disks/OCR_VOTE01) [OCR_VOTE]
 4. ONLINE   09fa6fc15fc14f81bfd2f61fac4a98d6 (/dev/oracleasm/disks/RECO01) [OCR_VOTE]
 5. ONLINE   96682027e3ea4ffbbfa6174e10319bf9 (/dev/oracleasm/disks/RECO02) [OCR_VOTE]
Located 5 voting disk(s).
CRS-2672: Attempting to start 'ora.asm' on 'mk01n01'
CRS-2676: Start of 'ora.asm' on 'mk01n01' succeeded
CRS-2672: Attempting to start 'ora.OCR_VOTE.dg' on 'mk01n01'
CRS-2676: Start of 'ora.OCR_VOTE.dg' on 'mk01n01' succeeded
Configure Oracle Grid Infrastructure for a Cluster ... succeeded



###  mk01n02 에서 아래 스크립트 수행

[root@mk01n02 ~]# /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@mk01n02 ~]# /u01/app/11.2.0/grid_home/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_home

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_home/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
OLR initialization - successful
Adding Clusterware entries to inittab
CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node mk01n01, 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


[Oracle Grid Infrastructure 설치] 28GRID 설치(GUI 설치) 26.  

28. GRID 설치완료.


[Oracle Grid Infrastructure 설치] 29GRID 설치(GUI 설치) 27.  


[root@mk01n02 ~]# crsctl status res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.OCR_VOTE.dg
               ONLINE  ONLINE       mk01n01                                      
               ONLINE  ONLINE       mk01n02                                      
ora.asm
               ONLINE  ONLINE       mk01n01                  Started             
               ONLINE  ONLINE       mk01n02                  Started             
ora.gsd
               OFFLINE OFFLINE      mk01n01                                      
               OFFLINE OFFLINE      mk01n02                                      
ora.net1.network
               ONLINE  ONLINE       mk01n01                                      
               ONLINE  ONLINE       mk01n02                                      
ora.ons
               ONLINE  ONLINE       mk01n01                                      
               ONLINE  ONLINE       mk01n02                                      
ora.registry.acfs
               ONLINE  ONLINE       mk01n01                                      
               ONLINE  ONLINE       mk01n02                                      
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       mk01n01                                      
ora.cvu
      1        ONLINE  ONLINE       mk01n01                                      
ora.mk01n01.vip
      1        ONLINE  ONLINE       mk01n01                                      
ora.mk01n02.vip
      1        ONLINE  ONLINE       mk01n02                                      
ora.oc4j
      1        ONLINE  ONLINE       mk01n01                                      
ora.scan1.vip
      1        ONLINE  ONLINE       mk01n01               
      

29, grid 설치완료 후 crs 명령으로 위와 같이 crs 상태확인.


■ [11gR2 RAC 설치(ASM ISCSI)] 07. RAC 의 Storage 구성 (02.Shared Storage 구성)

DBMS/[Oracle] ■ 01. Installation & Patches 2016.06.02 20:30

■ RAC 의 Storage 구성 (02.Shared Storage 구성)

여기서는 각 DB 노드에 Shared Volumn 을 공급하기 위해 앞서서 설치한 Shared Storage 솔루션의 구성 후속 작업이다.



[RAC 의 Storage 구성 (02.Shared Storage 구성)] 01. /etc/hosts 파일 수정.

[root@storage ~]# vi /etc/hosts                              <-- 아래 사항들을 추가한다.

127.0.0.1 localhost.localdomain localhost

# Storage

192.168.12.5          storage.test.com       storage

# 11gR2 RAC Setting

# Public
192.168.12.11         mk01n01.test.com         mk01n01
192.168.12.12         mk01n02.test.com         mk01n02

# Private
192.168.13.11         mk01n01-priv.test.com    mk01n01-priv
192.168.13.12         mk01n02-priv.test.com    mk01n02-priv

# Vitural 
192.168.12.13         mk01n01-vip.test.com     mk01n01-vip
192.168.12.14         mk01n02-vip.test.com     mk01n02-vip

# SCAN
192.168.12.15         scan.test.com            mark01-scan              

46. 콘솔에서 root user로 위와 같이 접속후 /etc/hosts 파일을 수정한다.. (위사항 추가.)

    Storage 서버에서 위와 같이 각 DB 노드의 IP 를 정의 한다.

     ※ 통신을 위한 pulic IP와 private IP만 정의 되어있어도 된다.


[RAC 의 Storage 구성 (02.Openfiler 설치)] 02. vi /etc/initiators.deny 파일 수정

[root@storage ~]# vi /etc/initiators.deny    --> 이파일 열어서 주석처리 아래와 같이 iqn 부분 주석처리.

# PLEASE DO NOT MODIFY THIS CONFIGURATION FILE!
# This configuration file was autogenerated
# by Openfiler. Any manual changes will be overwritten
# Generated at: Mon May 16 16:20:20 KST 2016

iqn.2006-01.com.openfiler:tsn.2151a0d1ff7e ALL


# End of Openfiler configuration

47. /etc/initiators.deny 이 파일에 Iqn이 정의되어 있으면 설정된 IP 에서의 접근을 거부 하는 것으로 default 값은 ALL 이다. 이 파일의 iqn에 ALL 로 설정되어있으면 모든 접근을 거부한다는 의미 이므로 주석처리한다.


[RAC 의 Storage 구성 (02.Shared Storage 구성)] 03. 각 DB 서버의 iscsi 서비스 start 및 iSCSI discovery

-- 1번노드
# 1. iscsi 서비스 start 및 부팅시 동작하도록 chkconfig 

[root@mk01n01 ~]# service iscsi start
iscsid (pid  1735) is running...
Setting up iSCSI targets: iscsiadm: No records found
                                                           [  OK  ]
[root@mk01n01 ~]# chkconfig iscsid on
[root@mk01n01 ~]# chkconfig iscsi on

# 2. DB 서버 에서 storage 서버로 discovery 

[root@mk01n01 ~]# iscsiadm -m discovery -t sendtargets -p storage-priv
192.168.13.5:3260,1 iqn.2006-01.com.openfiler:tsn.2151a0d1ff7e
192.168.12.5:3260,1 iqn.2006-01.com.openfiler:tsn.2151a0d1ff7e

-- 2번노드
# 1. iscsi 서비스 start 및 부팅시 동작하도록 chkconfig 

[root@mk01n02 ~]# service iscsi start
iscsid (pid  1732) is running...
Setting up iSCSI targets: iscsiadm: No records found
                                                           [  OK  ]
[root@mk01n02 ~]# chkconfig iscsid on
[root@mk01n02 ~]# chkconfig iscsi on

# 2. DB 서버 에서 storage 서버로 discovery 
[root@mk01n02 ~]# iscsiadm -m discovery -t sendtargets -p storage-priv
192.168.13.5:3260,1 iqn.2006-01.com.openfiler:tsn.2151a0d1ff7e
192.168.12.5:3260,1 iqn.2006-01.com.openfiler:tsn.2151a0d1ff7e

48. Openfiler 에서 설정한 Shared storage 를 각 DB 노드에서 인식을 시키려면 위와 같이 

# 1. iscsi 서비스를 start 및 부팅시 동작하도록 chkconfig 로 모든 runlevel 에서 동작하도록 설정 후

# 2. DB 서버에서 shared disk 를 인식하도록 discovery 한다. 

 (위 화면은 discovery 시 private IP 로만 discovery 시켰기 때문에 private IP 만 확인되어야 하나 public IP 도 같이 나타난다 아무래도 openfiler 버그로 생각된다.)


[RAC 의 Storage 구성 (02.Shared Storage 구성)] 04. 각 DB 서버에서 Shared volumn 확인 및 fdisk

# 1. 모든 노드 에서 아래와 같이 disk 확인
[root@mk01n01 ~]# fdisk -l |perl -ne 'print if /\/dev\/sd[b-z]/'
Disk /dev/sdj: 5368 MB, 5368709120 bytes
/dev/sdj1               1        7599     5242849   83  Linux
Disk /dev/sdk: 5368 MB, 5368709120 bytes
/dev/sdk1               1        7599     5242849   83  Linux
Disk /dev/sdg: 2147 MB, 2147483648 bytes
/dev/sdg1               1       21846     2097121   83  Linux
Disk /dev/sdf: 2147 MB, 2147483648 bytes
/dev/sdf1               1       21846     2097121   83  Linux
Disk /dev/sdh: 5368 MB, 5368709120 bytes
/dev/sdh1               1        7599     5242849   83  Linux
Disk /dev/sdb: 2147 MB, 2147483648 bytes
/dev/sdb1               1       21846     2097121   83  Linux
Disk /dev/sdd: 2147 MB, 2147483648 bytes
/dev/sdd1               1       21846     2097121   83  Linux
Disk /dev/sde: 2147 MB, 2147483648 bytes
/dev/sde1               1       21846     2097121   83  Linux
Disk /dev/sdc: 2147 MB, 2147483648 bytes
/dev/sdc1               1       21846     2097121   83  Linux
Disk /dev/sdi: 5368 MB, 5368709120 bytes
/dev/sdi1               1        7599     5242849   83  Linux
Disk /dev/sdl: 5368 MB, 5368709120 bytes
/dev/sdl1               1        7599     5242849   83  Linux
Disk /dev/sdo: 5368 MB, 5368709120 bytes
/dev/sdo1               1        7599     5242849   83  Linux
Disk /dev/sdm: 5368 MB, 5368709120 bytes
/dev/sdm1               1        7599     5242849   83  Linux
Disk /dev/sdr: 5368 MB, 5368709120 bytes
/dev/sdr1               1        7599     5242849   83  Linux
Disk /dev/sdn: 5368 MB, 5368709120 bytes
/dev/sdn1               1        7599     5242849   83  Linux
Disk /dev/sdp: 5368 MB, 5368709120 bytes
/dev/sdp1               1        7599     5242849   83  Linux
Disk /dev/sds: 5368 MB, 5368709120 bytes
/dev/sds1               1        7599     5242849   83  Linux
Disk /dev/sdq: 5368 MB, 5368709120 bytes
/dev/sdq1               1        7599     5242849   83  Linux


# 2. fdisk disk

[root@mk01n01 ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): u
Changing display/entry units to sectors

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First sector (62-4194303, default 62):         
Using default value 62
Last sector or +size or +sizeM or +sizeK (62-4194303, default 4194303): 
Using default value 4194303

Command (m for help): p

Disk /dev/sdb: 2147 MB, 2147483648 bytes
67 heads, 62 sectors/track, 1009 cylinders, total 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              62     4194303     2097121   83  Linux
Partition 1 does not end on cylinder boundary.

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

49. #1 과 같이 모든 node 에서 disk 를 확인한다. 

(openfiler 의 버그로 2배정도 disk 가 좀더 많이 나타난다. 따라서 fdisk 시에 되는것과 안되는것을 체크해서 admgroup 생성시 잘 사용해야 한다.)



 -- 확인한 실제 DISK명


Disk /dev/sdb: 2147 MB, 2147483648 bytes

Disk /dev/sdc: 2147 MB, 2147483648 bytes

Disk /dev/sdd: 2147 MB, 2147483648 bytes

Disk /dev/sdh: 5368 MB, 5368709120 bytes

Disk /dev/sdi: 5368 MB, 5368709120 bytes

Disk /dev/sdk: 5368 MB, 5368709120 bytes
Disk /dev/sdl: 5368 MB, 5368709120 bytes
Disk /dev/sdm: 5368 MB, 5368709120 bytes


[RAC 의 Storage 구성 (02.Shared Storage 구성)] 05. oracle asm 을 위한 환경 설정(모든노드)

-- 1번노드

[root@mk01n01 ~]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: grid    
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver:                     [  OK  ]
Scanning the system for Oracle ASMLib disks:               [  OK  ]

-- 2번노드

[root@mk01n02 ~]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: grid
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver:                     [  OK  ]
Scanning the system for Oracle ASMLib disks:               [  OK  ]

05. 여기서는 위와 같이 oracleasm 설정을 위해 위와 같이 oracleasm library 를 호출하여 oracleasm 환경을 설정한다.


[RAC 의 Storage 구성 (02.Shared Storage 구성)] 06. ocr_vote 디스크 생성

[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE01 /dev/sdb1
Writing disk header: done
Instantiating disk: done
[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE02 /dev/sdd1
Writing disk header: done
Instantiating disk: done
[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE03 /dev/sdf1
Writing disk header: done
Instantiating disk: done

06. 여러분은 위 [RAC 의 Storage 구성 (02.Shared Storage 구성)] 03 에서 discovery 시 생성한 volumn 보다 2배정도 많은 disk 가 보인것을 확인했을 것이다. 

이는 openfiler 버그 때문인것으로 추정되며 

위와 같이 asmdisk 생성시 중복되는 disk 가 없이 생성해야 한다.

(물론 이미 생성한 disk 라면 아래와 같이 이미 할당된 disk 라고 나타난다.)


-- 아래와 같이 error 를 만나도 당황하지 않아도 된다 이미 할당된것은 에러메시지와 함께 재할당되지 않는다.


[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE01 /dev/sdb1

Writing disk header: done

Instantiating disk: done

[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE02 /dev/sdc1

Device "/dev/sdc1" is already labeled for ASM disk "OCR_VOTE01"

[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE02 /dev/sdd1

Writing disk header: done

Instantiating disk: done

[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE03 /dev/sde1

Device "/dev/sde1" is already labeled for ASM disk "OCR_VOTE02"

[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE03 /dev/sdf1

Writing disk header: done

Instantiating disk: done



[RAC 의 Storage 구성 (02.Shared Storage 구성)] 07. DATA 및 RECO 디스크 생성

[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE01 /dev/sdb1
Writing disk header: done
Instantiating disk: done
[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE02 /dev/sdc1
Device "/dev/sdc1" is already labeled for ASM disk "OCR_VOTE01"
[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE02 /dev/sdd1
Writing disk header: done
Instantiating disk: done
[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE03 /dev/sde1
Device "/dev/sde1" is already labeled for ASM disk "OCR_VOTE02"
[root@mk01n01 ~]# oracleasm createdisk OCR_VOTE03 /dev/sdf1
Writing disk header: done
Instantiating disk: done
[root@mk01n01 ~]# 
[root@mk01n01 ~]# oracleasm createdisk DATA01 /dev/sdh1
Writing disk header: done
Instantiating disk: done
[root@mk01n01 ~]# oracleasm createdisk DATA02 /dev/sdi1
Device "/dev/sdi1" is already labeled for ASM disk "DATA01"
[root@mk01n01 ~]# 
[root@mk01n01 ~]# oracleasm createdisk DATA02 /dev/sdj1
Writing disk header: done
Instantiating disk: done
[root@mk01n01 ~]# oracleasm createdisk DATA03 /dev/sdk1
Device "/dev/sdk1" is already labeled for ASM disk "DATA02"
[root@mk01n01 ~]# oracleasm createdisk DATA03 /dev/sdl1
Writing disk header: done
Instantiating disk: done
[root@mk01n01 ~]# oracleasm createdisk RECO01 /dev/sdm1
Device "/dev/sdm1" is already labeled for ASM disk "DATA03"
[root@mk01n01 ~]# oracleasm createdisk RECO01 /dev/sdn1
Writing disk header: done
Instantiating disk: done
[root@mk01n01 ~]# oracleasm createdisk RECO02 /dev/sdo1
Device "/dev/sdo1" is already labeled for ASM disk "RECO01"
[root@mk01n01 ~]# oracleasm createdisk RECO02 /dev/sdp1
Writing disk header: done
Instantiating disk: done
[root@mk01n01 ~]# oracleasm createdisk RECO03 /dev/sdq1
Device "/dev/sdq1" is already labeled for ASM disk "RECO02"
[root@mk01n01 ~]# oracleasm createdisk RECO03 /dev/sdr1
Writing disk header: done
Instantiating disk: done

07. 여기도 마찬가지로 중복으로 할당되었기 때문에 위와 같은 시행착오를 거쳐야 한다.

(버그가 고쳐지면 재 수정하도록 하겠다.)


[RAC 의 Storage 구성 (02.Shared Storage 구성)] 08. 제대로 생성된 asmdisk list

oracleasm createdisk OCR_VOTE01 /dev/sdb1

oracleasm createdisk OCR_VOTE02 /dev/sdd1

oracleasm createdisk OCR_VOTE03 /dev/sdf1


oracleasm createdisk DATA01 /dev/sdh1

oracleasm createdisk DATA02 /dev/sdj1

oracleasm createdisk DATA03 /dev/sdl1

oracleasm createdisk RECO01 /dev/sdn1

oracleasm createdisk RECO02 /dev/sdp1

oracleasm createdisk RECO03 /dev/sdr1 

08. 위에서 adm disk 가 제개로 생성되었 다면 위 list 대로 생성되었을 것이다.

(high rependency 로 diskgroup을 생성하기 위해서는 최소 3개이상의 disk 가 필요하기 때문에 위와 같이 difk를 3개 씩 생성 했다.)



[RAC 의 Storage 구성 (02.Shared Storage 구성)] 09. ASM disk scandisks


-- mk01n01

[root@mk01n01 ~]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
[root@mk01n01 ~]# oracleasm listdisks
DATA01
DATA02
DATA03
OCR_VOTE01
OCR_VOTE02
OCR_VOTE03
RECO01
RECO02
RECO03

-- mk01n02

[root@mk01n02 ~]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
Instantiating disk "OCR_VOTE02"
Instantiating disk "DATA02"
Instantiating disk "OCR_VOTE03"
Instantiating disk "DATA01"
Instantiating disk "OCR_VOTE01"
Instantiating disk "DATA03"
Instantiating disk "RECO01"
Instantiating disk "RECO02"
Instantiating disk "RECO03"
[root@mk01n02 ~]# oracleasm listdisks
DATA01
DATA02
DATA03
OCR_VOTE01
OCR_VOTE02
OCR_VOTE03
RECO01
RECO02
RECO03

09. 위 [RAC 의 Storage 구성 (02.Shared Storage 구성)] 07 에서 만든 asm disk 를 scandisks 한다.

그냥 oracleasm listdisks 를 하면 disk를 scan 하지 않았기 때문에 원격지 node 에서는 안보일수 있다.

따라서 모든 노드에서 한번은 scandisks 를 해줘야 한다.


이로써 모든 DB 서버에 shared disk 를 인식 시켰다.


■ [11gR2 RAC 설치(ASM ISCSI)] 05. mk01n01 구성(VM 복제)

DBMS/[Oracle] ■ 01. Installation & Patches 2016.06.02 14:02

■ [11gR2 RAC 설치(ASM ISCSI)] 05. mk01n01 구성(VM 복제)