Oracle2009. 10. 13. 16:57

복사 http://blog.naver.com/y2k29t/80092610918

"모르는 것이 약이다." 이 말을 참 좋아했는데, 이번 여행동안은 "아는것이 힘이다!!"가 더 중요하다는 걸 알았습니다.

OS에 대해서 거의 무지상태라....설치하면서도 이게 왜 이렇게 되는지, 에러가 나도 왜 나는지...알지 못 해서 책 찾아가면서 하느라 시간이 오래걸렸네요...

그럼에도 불구하고 여전히 OS는 무지상태라눈.....

(OS를 차근 차근 공부해야겠어요~~~)

아~~!! 아래 내용이 반말체임을 양해 부탁드립니다...^^;;

 

===================================================================================================================

VMWare를 이용하여 Oracle Enterprise Linux 기반 Oracle RAC 10g 설치

<?xml:namespace prefix = o /> 

. 노트북 사양

메모리 2G

하드디스크 160G

OS Windows XP Professional Service Pack2

 

. 설치 가이드

  1. VMWare를 이용하여 Oracle Enterprise Linux 기반 Oracle RAC 10g 설치하기, Vincent Chan

  2. Linux, iSCSI 환경에서 Oracle RAC 10g Release 2 클러스터 설치하기, Jeffrey Hunter

  3. 기타 여러 문서들...

 

. 10g RAC 설치 시 발생했던 문제점과 해결 방법

1. 메모리 : 2G에서도 잘 작동은 하나, 윈도우나 VMWare상의 리눅스 모두 느리다. (많은 인내심이 필요함)

2. VMWare Server 1.0.3 Download : 다운로드 받아서 설치하면 시리얼번호를 입력하라고 나온다…

시리얼 번호를 받기 위해서는 “resister” 회원가입을 해야 한다. 난 혼자 사용할 거라 시리얼번호를 하나만 받았다.

 

3. 가상 머신 구성

  ① Virtual Machine Settings : VMWare Server 1.0.3에는 기본으로 floppy disk가 없으므로 삭제 할 필요가 없다

  ② USB 추가 : Virtual Machine Settings에서 USB 선택하고 ADD를 클릭한다.(소프트웨어를 리눅스 파일에 옮겨야하므로 필요)

  ③ 추가된 USB는 필요 할 때마다, “Ctrl + D” 혹은 “VM → Removable Devices → USB → 인식된 장치를 체크” 해주면 리눅스에 mount된다.

 

4. 가상 머신에 Enterprise Linux 설치 할 때 주의 사항

  1) Network Configuration : RAC를 설치 하기 전에 궁금했던 부분이었다. IP Address를 어떻게 설정하나..

가이드에 나온 대로 설정하면 된다(가상 IP가 필요한 이유는 “Linux, iSCSI 환경에서 Oracle RAC 10g Release 2 클러스터 설치하기” 참고).

    ⓐ 하나의 데이터베이스를 여러 대의 서버가 공유해서 사용하고, Clusterware & DB설치 할 때, 노드 간에 동일한 데이터를 동시에 액세스할 경우 ping 발생, 특정 노드의 fail 발생 시 정상인 다른 노드로 접속되는 것 등 노드간의 통신이 필요한 경우가 있다. 그래서 IP Address와 Hostname은 field 상황에 맞게 설정하며. 이는 한 노드에서 다른 노드로 원격 접속 설정에 필요하다. 여기서는 테스트 용이므로 임시로 IP Address와 Hostname을 설정한다. (혜은이 생각…. 보충 및 수정 필요)

    ⓑ eth0(public network), eth1(interconnect. 노드간의 직접 연결 담당)

  2) Selecting System tool in the Package Group Selection : Enterprise Linux Release 4 Update 4의 kernel이 “ELsmp”이므로 “ocfs-2-2.6.9-42.0.0.0.1ELsmp”, “oracleasm-2.6.9-42.0.0.0.1ELsmp”를 선택해야 설치가 된다.

  3) 커널 모듈의 종류

     ① xxx.EL-xx.rpm : for single processor

     ② xxx.ELsmp-xx.rpm : for multiple processor

     ③ xxx.ELhugemem- for hugemem

 

5. 방화벽 비활성화로 설정 : 방화벽이 설정되어 있으면 Oracle Clusterware실행 시 crash(프로세스 실패)된다.

  ① error message

     oac_init:2: Could not connect to server, clsc retcode = 9

     a_init:12!: Client init unsuccessful : [32]

     ibctx:1:ERROR: INVALID FORMAT

     proprinit : problem reading the bootblock or superbloc 22

 

6. 오라클 사용자의 생성

  1) shell 설정

    ① ksh : 자동 완성 기능 없음. ksh로 설정 시 오라클 사용자 환경 파일은 “.profile”이다.

    ② bash : 자동 완성 기능 있음. Bash로 설정 시 오라클 사용자 환경 파일은 “.bash_profile”이다.

    ③ shell 변경 : 변경하려는 계정으로 로그인 → $chsh → [/bin/ksh]:/bin/bash → 재로그인(시스템에 적용됨)

      ⓐ 문제점 : 환경 파일에 설정한 환경변수들(ORACLE_BASE, ORACLE_HOME등)을 인식하지 못해서 폴더가 생성되지 않거나 설치 해당 경로를 인식하지 못하는 등의 에러 발생.

      ⓑ 해결책 : 환경 파일을 shell에 맞게 구성하거나, 사용자 생성 할 때부터 원하는 shell로 구성한다.

 

  2) “파일시스템 디렉토리 구조의 생성”에서 오타

     mkdir –p $ORACLE_BASE/admin

     mkdir –p $ORACLE_HOME

     mkdir –p $ORA_CRS_HOME

 

  3) oracle 사용자의 shell Limit 설정 : root계정에서 실행

  4) Enterprise Liux 소프트웨어 패키지 설치 : VMWare에서 “Ctrl + D”를 눌러서 CD-ROM에서 “use ISO Img”로 설정을 변경해서 CD를 mount한 후, redhat ISO 3번 파일에 필요한 패키지를 설치한다.

  5) redhat ISO 3번 CD : ocfs와 oracleasm 패키지 설치와 관련된 파일, libaio-0.3.105-2.i386.rpm, openmotif21-2.1.30-11.RHEL4.6.i386.rpm 파일이 있다.

 

7. oracleasm 패키지 설치

1) 설치 순서 : 리눅스 설치할 때 설치가 되나, 설치가 안되었거나 재설치 할 때 참고

                  oracleasm-support-2.0.3-2 → oracleasm-2.6.9-42.0.0.0.1ELsmp → oracleasmlib-2.0.2-1 

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = v />

 

8. DISPLAY 환경 변수 설정

  1) Can’t open DISPLAY error

    ① 설치 가이드 방법 대로 설정하면 아래 그림과 같은 에러


    ② 해결 방법

    ⓐ method1

       rac1]ssh –X oracle@rac2

       rac2]export DISPLAY=rac1:0.0

       rac2]xclock

    ⓑ method2 : method1에서 에러 발생시

       rac1]ssh –Y oracle@rac2

       rac2] xclock 

  2) X11Forward error 발생

    ① X11Forwarding이 활성화되어 있으면 오라클 설치 작업이 실패한다.


 

      Oracle DATABASE configuration Assistance 단계에서 멈춘 이유를 알 수 없지만, 처음부터 다시 설치 작업을 했을 때 X11Forwarding을 비활성화하고 ⒝모든 노드에서 "scandisks"를 수행했더니 제대로 설치가 완료 되었다.(원인 파악 안됨)


    ② 해결 방법 : X11Forwarding을 비활성화 한다.

è      /etc/ssh/sshd.config에서 “X11Forwarding no” 로 설정을 변경한다.( “#X11Forwarding yes” 주석처리)

 

9. ASM 설정

  1)한 노드에서만 ASM 디스크를 생성한다.

  2) 새로운 볼륨인식모든 노드에서 수행한다.

      # /etc/init.d/oracleasm scandisks

 

10. 파일시스템 마운트

  1) 설치 전에 “mount”명령어를 통해서 OCFS2가 마운트 되었는지 확인 해야 한다.

    ① 마운트가 안 되었을 경우 발생하는 에러(⒜각 노드간의 원격 접속이 안되거나,⒝해당 경로의 permission이 "oracle"로 설정이 안되어 있어도 같은 에러가 발생된다.)


    ② 마운트가 된 상태 확인

       # mount

          …

          /dev/sde1 on /ocfs type ocfs2 (rw,_netdev,datavolume,nointr,heartbeat=local)

 

    ③ 커널 모듈을 로드하고 OCFS2 파일 시스템을 마운트 하는데 필요한 설정이 완료 된 후에 o2cb 플래그 설정 확인

       #su root

       #chkconfig __list o2cb

           o2cb 0:off 1:off 2:on 3:on 4:on 5:on 6:off

       ⊙ 굵은 글씨는 반드시 "on"으로 설정 되어 있어야 한다.

 

11.Oracle Clusterware와 Oracle Database 10gR2 설치 실행 경로

  1) 설치 가이드대로 할 경우에 "staging"폴더를 생성하지 않았으므로 에러 발생

  2)해경방법

     ① USB에 있는 clusterware와 database 소프트웨어를 oracle폴더로 복사한 후, 이 폴더에 압축을 푼다.

         (oracle폴더에는 clusterware, database폴더가 생성된다)

     ② /u01/app/oracle/clusterware/runInstaller

     ③ /u01/app/oracle/database/runInstaller

 

12. Oracle Database 10g R2 설치

  1)설치 전 사전 점검 작업 수행

     # cd clusterware/cluvfy

     # ./runcluvfy.sh stage -pre dbinst -n rac1,rac2 -r 10gR2 -verbose

  2)Oracel Database 10g R2 설치 명령

     # /u01/app/oracle/database/runInstaller -ignoreSysPrereqs

  3)Create Disk Groups : 디스크 그룹 생성

      ① "Change Disk Discovery Path"를 클릭해서 디스크 경로를 변경했을 때 발생되는 문제점

        ⓐ 설치 후 v$asm_disk 에서 header_status가 unknown으로 나타난다.

        ⓑ 백업/복구 테스트:복구가 제대로 수행 안됨.

      ② 해결 방법:아직 해결 못함.


 

⊙ Change Disk Discovery Path Click  → '/u01/oradata/devdb/asmdisk1','/u01/oradata/devdb/asmdisk2','/u01/oradata/devdb/asmdisk3'

 


   

13. 애플리케이션 리소스의 시작/중단

  1) oracle 계정으로 로그인한 후 애플리케이션 리소스를 중단 한 후 시작해야 한다.

     srvctl stop instance -d devdb -i devdb1

     srvctl stop asm -n rac1

     srvctl stop nodeapps -n rac1

 

     srvctl start instance -d devdb -i devdb1

     srvctl start asm -n rac1

     srvctl start nodeapps -n rac1

 

    ⊙ devdb : database name

    devdb1/devdb2 : instance name

    rac1/rac2 : hostname

 

  2) crs관련 디렉토리와 파일의 permission 때문에 nodeapps가 시작 안 됨.

    ① $ORA_CRS_HOME/crs_1:root:oinstall을 "oracle:oinstall"로 변경

    ② $ORACLE_HOME/racg:oracle:oinstall을 "oracle:dba"로 변경

    ③ ocfs/clusterware/ocr:root:oinstall을 :"oracle:oistall"로 변경 


 

 

 

  3)asm 시작 에러 : $ORA_CRS_HOME에서 "bin, crs, lib"폴더가 root:oinstall로 되어 있었다. 그래서 "oracle:oinstall"로 변경해서 해결함


 

14. Clusterware, database설치 실패 후, 성공적인 재설치를 위해서 모든 파일들을 깨끗하게 정리 해야 한다.

  1) 에러 메시지

  2) 해결 방법 : 아래 문서들 참고

     10G RAC: CRS 설치 실패 후 정리 방법

     CRS 와 10G REAL APPLICATION CLUSTERS

Posted by Julyus