1. 설치 스크립트 실행
./runInstaller
grid 유저로 접속한 후 설치 파일이 있는 경로로 이동하여 ./runInstaller를 실행합니다.
2. Oracle Universal Installer로 설치
A) 소프트웨어 갱신 다운로드
‘소프트웨어 갱신 건너뛰기’를 선택하고 [다음]을 클릭합니다.
B) 설치 옵션
‘클러스터에 대한 Oracle Grid Infrastructure 설치 및 구성’을 선택하고 [다음]을 클릭합니다.
C) 설치 유형
‘고급 설치’를 선택하고 [다음]을 클릭합니다.
D) 제품 언어
실행될 언어에 ‘한국어’가 포함되어있는지 확인하고 [다음]을 클릭합니다.
E) Grid 플러그 앤 플레이
클러스터 이름에 “rac”, SCAN 이름에 “rac-scan”, SCAN 포트에 “1521”을 입력합니다.
GNS 구성을 해제하고 [다음]을 클릭합니다.
F) 클러스터 노드 정보
[추가] 버튼을 클릭하여 RAC2 노드에 대한 정보를 추가합니다.
호스트 이름에 ‘rac2’, 가상 IP 이름에 ‘rac2-vip’를 입력하고 [확인]을 클릭합니다.
SSH 구성을 위해 [SSH 접속]을 클릭합니다.
자동으로 RAC1과 RAC2의 SSH 접속을 설정하는 과정이 잠시 진행됩니다.
OS 비밀번호에 grid 유저의 암호(“oracle”)를 입력하고 [설정]을 클릭합니다.
SSH 설정이 완료되었으면 [확인]을 클릭합니다.
설치를 진행하기 위해 [다음]을 클릭합니다.
G) 사전 검증 스크립트 실행
cd <설치 파일 압축 해제 경로>/grid ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
[grid@+ASM1 ~]$ cd /media/sf_oracle/grid [grid@+ASM1 grid]$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose 클러스터 서비스 설정에 대한 사전 확인 수행 노드 연결 가능성을 검사하는 중... 검사: "rac1" 노드에서의 노드 연결 가능성 대상 노드 연결 가능? ------------------------------------ ------------------------ rac2 예 rac1 예 결과: "rac1" 노드에서 노드 연결 가능성 검사를 성공했습니다. 사용자 equivalence를 검사하는 중... 검사: 사용자 "grid"에 대한 사용자 equivalence 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 결과: 사용자 "grid"에 대한 사용자 equivalence 검사를 성공했습니다. 노드 연결을 검사하는 중... 호스트 구성 파일 확인 중... 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 호스트 구성 파일 확인을 성공했습니다. "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:41:E2:15 1500 eth1 10.0.5.102 10.0.5.0 0.0.0.0 10.0.1.1 08:00:27:FE:C2:E7 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:D5:AB:C7 1500 eth1 10.0.5.101 10.0.5.0 0.0.0.0 10.0.1.1 08:00:27:4E:5C:08 1500 검사: "10.0.1.0" 서브넷에 대한 노드 연결 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac2[10.0.1.102] rac1[10.0.1.101] 예 결과: rac2,rac1개의 노드를 사용하는 "10.0.1.0" 서브넷에 대한 노드 연결을 성공했습니다. 검사: "10.0.1.0" 서브넷의 TCP 접속 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac1:10.0.1.101 rac2:10.0.1.102 성공 결과: "10.0.1.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다. 검사: "10.0.5.0" 서브넷에 대한 노드 연결 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac2[10.0.5.102] rac1[10.0.5.101] 예 결과: rac2,rac1개의 노드를 사용하는 "10.0.5.0" 서브넷에 대한 노드 연결을 성공했습니다. 검사: "10.0.5.0" 서브넷의 TCP 접속 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac1:10.0.5.101 rac2:10.0.5.102 성공 결과: "10.0.5.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다. "10.0.1.0" 서브넷에서 발견된 VIP 후보로 적합한 인터페이스: rac2 eth0:10.0.1.102 rac1 eth0:10.0.1.101 "10.0.5.0" 서브넷에서 발견된 전용 상호 접속 후보로 적합한 인터페이스: rac2 eth1:10.0.5.102 rac1 eth1:10.0.5.101 서브넷 마스크 일관성 확인 중... "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" 서브넷 검사를 성공했습니다. 멀티캐스트 통신 검사를 성공했습니다. ASMLib 구성을 검사하는 중입니다. 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 결과: ASMLib 구성 검사를 성공했습니다. 검사: 총 메모리 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 1.9745GB (2070452.0KB) 1.5GB (1572864.0KB) 성공 rac1 1.9745GB (2070452.0KB) 1.5GB (1572864.0KB) 성공 결과: 총 메모리 검사를 성공했습니다. 검사: 사용 가능한 메모리 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 1.9032GB (1995624.0KB) 50MB (51200.0KB) 성공 rac1 1.7433GB (1827972.0KB) 50MB (51200.0KB) 성공 결과: 사용 가능한 메모리 검사를 성공했습니다. 검사: 교체 공간 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 3.9987GB (4192960.0KB) 2.9618GB (3105678.0KB) 성공 rac1 3.9987GB (4192960.0KB) 2.9618GB (3105678.0KB) 성공 결과: 교체 공간 검사를 성공했습니다. 검사: "rac2:/tmp"에 대한 여유 디스크 공간 경로 노드 이름 마운트 위치 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ------------ ------------ /tmp rac2 / 22.0713GB 1GB 성공 결과: "rac2:/tmp"에 대한 여유 디스크 공간 검사를 성공했습니다. 검사: "rac1:/tmp"에 대한 여유 디스크 공간 경로 노드 이름 마운트 위치 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ------------ ------------ /tmp rac1 / 21.811GB 1GB 성공 결과: "rac1:/tmp"에 대한 여유 디스크 공간 검사를 성공했습니다. 검사: "grid"에 대한 사용자 존재 여부 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함(54322) rac1 성공 존재함(54322) UID 값이 54322인 다중 사용자를 검사하는 중 결과: UID 값이 54322인 다중 사용자 검사를 성공했습니다. 결과: "grid"에 대한 사용자 존재 여부 검사를 성공했습니다. 검사: "oinstall"에 대한 그룹 존재 여부 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함 rac1 성공 존재함 결과: "oinstall"에 대한 그룹 존재 여부 검사를 성공했습니다. 검사: "dba"에 대한 그룹 존재 여부 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함 rac1 성공 존재함 결과: "dba"에 대한 그룹 존재 여부 검사를 성공했습니다. 검사: "oinstall" 그룹[기본]의 사용자 "grid"에 대한 멤버쉽 노드 이름 사용자가 존재함 그룹이 존재함 그룹의 사용자 기본 상태 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 예 예 예 예 성공 rac1 예 예 예 예 성공 결과: "oinstall" 그룹[기본]의 사용자 "grid"에 대한 멤버쉽 검사를 성공했습니다. 검사: "dba" 그룹의 사용자 "grid"에 대한 멤버쉽 노드 이름 사용자가 존재함 그룹이 존재함 그룹의 사용자 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 예 예 예 성공 rac1 예 예 예 성공 결과: "dba" 그룹의 사용자 "grid"에 대한 멤버쉽 검사를 성공했습니다. 검사: 실행 레벨 노드 이름 실행 레벨 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 3 3,5 성공 rac1 5 3,5 성공 결과: 실행 레벨 검사를 성공했습니다. 검사: "최대 열린 파일 기술자"에 대한 완전 제한 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 완전 65536 65536 성공 rac1 완전 65536 65536 성공 결과: "최대 열린 파일 기술자"에 대한 완전 제한 검사를 성공했습니다. 검사: "최대 열린 파일 기술자"에 대한 부분 제한 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 부분 65536 1024 성공 rac1 부분 65536 1024 성공 결과: "최대 열린 파일 기술자"에 대한 부분 제한 검사를 성공했습니다. 검사: "최대 사용자 프로세스"에 대한 완전 제한 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 완전 16384 16384 성공 rac1 완전 16384 16384 성공 결과: "최대 사용자 프로세스"에 대한 완전 제한 검사를 성공했습니다. 검사: "최대 사용자 프로세스"에 대한 부분 제한 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 부분 16384 2047 성공 rac1 부분 16384 2047 성공 결과: "최대 사용자 프로세스"에 대한 부분 제한 검사를 성공했습니다. 검사: 시스템 구조 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 i686 x86 성공 rac1 i686 x86 성공 결과: 시스템 구조 검사를 성공했습니다. 검사: 커널 버전 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 2.6.39-400.215.10.el5uek 2.6.18 성공 rac1 2.6.39-400.215.10.el5uek 2.6.18 성공 결과: 커널 버전 검사를 성공했습니다. 검사: "semmsl"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 250 250 250 성공 rac1 250 250 250 성공 결과: "semmsl"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "semmns"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 32000 32000 32000 성공 rac1 32000 32000 32000 성공 결과: "semmns"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "semopm"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 100 100 100 성공 rac1 100 100 100 성공 결과: "semopm"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "semmni"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 128 128 128 성공 rac1 128 128 128 성공 결과: "semmni"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "shmmax"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 4294967295 4294967295 1060071424 성공 rac1 4294967295 4294967295 1060071424 성공 결과: "shmmax"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "shmmni"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 4096 4096 4096 성공 rac1 4096 4096 4096 성공 결과: "shmmni"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "shmall"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 268435456 268435456 2097152 성공 rac1 268435456 268435456 2097152 성공 결과: "shmall"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "file-max"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 6815744 6815744 6815744 성공 rac1 6815744 6815744 6815744 성공 결과: "file-max"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "ip_local_port_range"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 between 9000.0 & 65500.0 between 9000.0 & 65500.0 between 9000.0 & 65500.0 성공 rac1 between 9000.0 & 65500.0 between 9000.0 & 65500.0 between 9000.0 & 65500.0 성공 결과: "ip_local_port_range"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "rmem_default"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 262144 262144 262144 성공 rac1 262144 262144 262144 성공 결과: "rmem_default"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "rmem_max"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 4194304 4194304 4194304 성공 rac1 4194304 4194304 4194304 성공 결과: "rmem_max"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "wmem_default"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 262144 262144 262144 성공 rac1 262144 262144 262144 성공 결과: "wmem_default"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "wmem_max"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 1048586 1048586 1048576 성공 rac1 1048586 1048586 1048576 성공 결과: "wmem_max"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "aio-max-nr"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 1048576 1048576 1048576 성공 rac1 1048576 1048576 1048576 성공 결과: "aio-max-nr"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "make"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 make-3.81-3.el5 make-3.81 성공 rac1 make-3.81-3.el5 make-3.81 성공 결과: "make"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "binutils"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 binutils-2.17.50.0.6-26.el5 binutils-2.17.50.0.6 성공 rac1 binutils-2.17.50.0.6-26.el5 binutils-2.17.50.0.6 성공 결과: "binutils"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "gcc"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 gcc-4.1.2-55.el5 gcc-4.1.2 성공 rac1 gcc-4.1.2-55.el5 gcc-4.1.2 성공 결과: "gcc"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "gcc-c++"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 gcc-c++-4.1.2-55.el5 gcc-c++-4.1.2 성공 rac1 gcc-c++-4.1.2-55.el5 gcc-c++-4.1.2 성공 결과: "gcc-c++"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libgomp"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libgomp-4.4.7-1.el5 libgomp-4.1.2 성공 rac1 libgomp-4.4.7-1.el5 libgomp-4.1.2 성공 결과: "libgomp"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libaio"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libaio-0.3.106-5 libaio-0.3.106 성공 rac1 libaio-0.3.106-5 libaio-0.3.106 성공 결과: "libaio"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "glibc"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 glibc-2.5-123.0.1 glibc-2.5-24 성공 rac1 glibc-2.5-123.0.1 glibc-2.5-24 성공 결과: "glibc"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "compat-libstdc++-33"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 compat-libstdc++-33-3.2.3-61 compat-libstdc++-33-3.2.3 성공 rac1 compat-libstdc++-33-3.2.3-61 compat-libstdc++-33-3.2.3 성공 결과: "compat-libstdc++-33"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "elfutils-libelf"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 elfutils-libelf-0.137-3.el5 elfutils-libelf-0.125 성공 rac1 elfutils-libelf-0.137-3.el5 elfutils-libelf-0.125 성공 결과: "elfutils-libelf"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "elfutils-libelf-devel"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.125 성공 rac1 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.125 성공 결과: "elfutils-libelf-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "glibc-common"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 glibc-common-2.5-123.0.1 glibc-common-2.5 성공 rac1 glibc-common-2.5-123.0.1 glibc-common-2.5 성공 결과: "glibc-common"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "glibc-devel"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 glibc-devel-2.5-123.0.1 glibc-devel-2.5 성공 rac1 glibc-devel-2.5-123.0.1 glibc-devel-2.5 성공 결과: "glibc-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "glibc-headers"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 glibc-headers-2.5-123.0.1 glibc-headers-2.5 성공 rac1 glibc-headers-2.5-123.0.1 glibc-headers-2.5 성공 결과: "glibc-headers"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libaio-devel"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libaio-devel-0.3.106-5 libaio-devel-0.3.106 성공 rac1 libaio-devel-0.3.106-5 libaio-devel-0.3.106 성공 결과: "libaio-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libgcc"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libgcc-4.1.2-55.el5 libgcc-4.1.2 성공 rac1 libgcc-4.1.2-55.el5 libgcc-4.1.2 성공 결과: "libgcc"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libstdc++"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libstdc++-4.1.2-55.el5 libstdc++-4.1.2 성공 rac1 libstdc++-4.1.2-55.el5 libstdc++-4.1.2 성공 결과: "libstdc++"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libstdc++-devel"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libstdc++-devel-4.1.2-55.el5 libstdc++-devel-4.1.2 성공 rac1 libstdc++-devel-4.1.2-55.el5 libstdc++-devel-4.1.2 성공 결과: "libstdc++-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "sysstat"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 sysstat-7.0.2-13.0.1.el5 sysstat-7.0.2 성공 rac1 sysstat-7.0.2-13.0.1.el5 sysstat-7.0.2 성공 결과: "sysstat"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "ksh"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 ksh-20100621-20.el5 ksh-20060214 성공 rac1 ksh-20100621-20.el5 ksh-20060214 성공 결과: "ksh"에 대한 패키지 존재 여부 검사를 성공했습니다. UID 값이 0인 다중 사용자를 검사하는 중 결과: UID 값이 0인 다중 사용자 검사를 성공했습니다. 검사: 현재 그룹 ID 결과: 현재 그룹 ID 검사를 성공했습니다. 루트 사용자의 기본 그룹 일관성 검사를 시작하는 중입니다. 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 루트 사용자의 기본 그룹에 대한 일관성 검사를 성공했습니다. NTP(Network Time Protocol)를 사용하여 시계 동기화 검사를 시작하는 중... NTP 구성 파일 검사가 시작되었습니다. 노드에서 NTP(Network Time Protocol) 구성 파일을 찾을 수 없습니다. 클러스터 노드에 대한 시간 동기화에 NTP 대신 Oracle CTSS(Cluster Time Synchronization Service)를 사용할 수 있습니다. 실행 중인 NTP 데몬 또는 서비스가 없는 것으로 확인되었습니다. 결과: NTP(Network Time Protocol)를 사용한 시계 동기화 검사를 성공했습니다. 코어 파일 이름 패턴 일관성을 검사하는 중... 코어 파일 이름 패턴 일관성 검사를 성공했습니다. 사용자 "grid"이(가) "root" 그룹에 속해 있지 않은지 확인하는 중입니다. 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재하지 않음 rac1 성공 존재하지 않음 결과: 사용자 "grid"이(가) "root" 그룹에 속해 있지 않습니다. 검사를 성공했습니다. 기본 사용자 파일 생성 마스크 검사 노드 이름 사용 가능 필수 설명 ------------ ------------------------ ------------------------ ---------- rac2 0022 0022 성공 rac1 0022 0022 성공 결과: 기본 사용자 파일 생성 마스크 검사를 성공했습니다. 노드에서 "/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 응답 시간을 검사하는 중 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 모든 노드에서 연결할 수 없는 노드에 대한 DNS 응답 시간이 허용되는 제한 범위에 속합니다. "/etc/resolv.conf" 파일이 노드에서 일치합니다. 검사: 시간대 일관성 결과: 시간대 일관성 검사를 성공했습니다. 클러스터 서비스 설정에 대한 사전 확인을 성공했습니다.
별도로 텍스트 모드의 터미널을 열거나 ssh 접속을 하여 Grid 설치를 위한 사전 준비가 제대로 되었는지 확인합니다.
H) 네트워크 인터페이스 사용
잠시 공용 및 전용 인터페이스에 대한 검증이 진행됩니다.
테스트를 모두 통과하였으면 다시 OUI 설치 화면으로 돌아와서 네트워크 인터페이스 사용 환경을 확인합니다.
eth0은 ‘공용’, eth1은 ‘전용’을 선택되었는지 체크하고 [확인]을 클릭합니다.
I) 저장 영역 옵션
ASM에 데이터베이스를 구성할 것이므로 ‘Oracle ASM(Automatic Storage Management)’를 선택하고 [다음]을 클릭합니다.
J) ASM 디스크 그룹 생성
먼저 클러스터 환경을 구성하고 저장할 디스크 그룹을 생성합니다.
디스크 그룹 이름에 ‘CRS'를 입력하고 ‘ORCL:CRS1’부터 ‘ORCL:CRS3’까지 선택하고 [다음]을 클릭합니다.
중복성은 ‘보통’을 유지하고 AU 크기는 기본값(1MB)으로 둡니다.
ASM 비밀번호
이러한 계정에 동일한 비밀번호 사용’을 체크하고 암호에 ‘oracle_4U’를 입력한 후 [다음]을 클릭합니다.
버그 : 만약 암호가 입력되지 않는 경우 [뒤로] 버튼을 클릭해서 이전 화면으로 돌아갑니다.
‘디스크 그룹 이름’에 임의의 키를 입력하고 지운 후 다시 돌아와서 시도하면 암호가 입력됩니다.
K) 실패 분리
‘IPMI(Intelligent Platform Management Interface) 사용 안함’ 선택 후 [다음]을 클릭합니다.
L) 운영 체제 그룹
ASM 관련 그룹이 제대로 선택되어 있는지 확인하고 [다음]을 클릭합니다,
M) 설치 위치
잠시 로컬 노드와 원격 노드에 대한 경로 검사를 마치고 다음 화면으로 이동합니다.
Oracle Base가 “/u01/app/oracle”, 소프트웨어 위치가 “/u01/app/11.2.0/grid”로 되어 있는지 확인하고 [다음]을 클릭합니다.
N) 인벤토리 생성
인벤토리 디렉토리가 "/u01/app/oraInventory"로 되어 있는지 확인하고 [다음]을 클릭합니다.
O) 필요 조건 검사
추가로 실패하거나 수정이 필요한 사항이 있을 경우, 다음과 같은 안내 메시지가 나옵니다.
[수정 및 다시 확인] 버튼을 클릭하여 지시 또는 권고한 사항대로 작업을 수행하여, 검사에 실패한 내용이 없도록 조치를 취한 후 설치를 진행해야 합니다.
이 케이스는 cvuqdisk 패키지 설치가 누락이 된 것으로, 수정 스크립트를 설치할 모든 노드에서 실행하면 문제가 해결됩니다.
/tmp/CVU_11.2.0.4.0_grid/runfixup.sh
[root@rac1 ~]# /tmp/CVU_11.2.0.4.0_grid/runfixup.sh Response file being used is :/tmp/CVU_11.2.0.4.0_grid/fixup.response Enable file being used is :/tmp/CVU_11.2.0.4.0_grid/fixup.enable Log file location: /tmp/CVU_11.2.0.4.0_grid/orarun.log Installing Package /tmp/CVU_11.2.0.4.0_grid//cvuqdisk-1.0.9-1.rpm 준비 중... ########################################### [100%] 1:cvuqdisk ########################################### [100%]
[root@rac2 ~]# /tmp/CVU_11.2.0.4.0_grid/runfixup.sh Response file being used is :/tmp/CVU_11.2.0.4.0_grid/fixup.response Enable file being used is :/tmp/CVU_11.2.0.4.0_grid/fixup.enable Log file location: /tmp/CVU_11.2.0.4.0_grid/orarun.log Installing Package /tmp/CVU_11.2.0.4.0_grid//cvuqdisk-1.0.9-1.rpm 준비 중... ########################################### [100%] 1:cvuqdisk ########################################### [100%]
반드시 실패한 검사 결과가 없도록 조치를 취한 후에 설치를 진행해야 합니다.
오라클 설치에 필요한 조건 검사가 진행됩니다.
검사 결과 이상이 없으면 다음 과정으로 넘어갑니다.
(여기까지 매뉴얼 대로 작업을 진행했다면 에러 없이 다음 단계로 넘어갑니다.)
P) 요약
설치 내역에 대한 요약 정보를 확인할 수 있습니다.
이상이 없으면 [설치]를 클릭합니다.
Q) 제품 설치
본격적인 Grid Infrastructure 설치가 진행됩니다.
로컬 노드(rac1)의 구성이 완료되면 원격 노드(rac2)로 파일을 복사합니다.
구성 스크립트를 실행하라는 창이 뜹니다.
/u01/app/oraInventory/orainstRoot.sh
[root@rac1 ~]# /u01/app/oraInventory/orainstRoot.sh 다음 권한 변경 중/u01/app/oraInventory. 그룹에 대한 읽기, 쓰기 권한을 추가하는 중입니다. 월드에 대한 읽기, 쓰기, 실행 권한을 제거하는 중입니다. 그룹 이름 변경 중 /u01/app/oraInventory 대상 oinstall. 스크립트 실행이 완료되었습니다.
[root@rac2 ~]# /u01/app/oraInventory/orainstRoot.sh 다음 권한 변경 중/u01/app/oraInventory. 그룹에 대한 읽기, 쓰기 권한을 추가하는 중입니다. 월드에 대한 읽기, 쓰기, 실행 권한을 제거하는 중입니다. 그룹 이름 변경 중 /u01/app/oraInventory 대상 oinstall. 스크립트 실행이 완료되었습니다.
먼저 root 사용자 권한으로 첫번째 스크립트를 실행합니다.
1번 노드에서 수행을 종료한 후에 2번 노드에서 수행해야 합니다.
/u01/app/11.2.0/grid/root.sh
1번 노드에서 먼저 수행합니다.
[root@rac1 ~]# /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 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 '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 00b230442ae14fd7bf881010a09d65ed. Successful addition of voting disk 95ecc580b2ac4ff9bf12e879457e0f3a. Successful addition of voting disk 5a928850d3054f2ebf66d6780238d571. 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 00b230442ae14fd7bf881010a09d65ed (ORCL:CRS1) [CRS] 2. ONLINE 95ecc580b2ac4ff9bf12e879457e0f3a (ORCL:CRS2) [CRS] 3. ONLINE 5a928850d3054f2ebf66d6780238d571 (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
1번 노드에서 작업이 모두 완료된 후에 2번 노드에서 실행합니다.
[root@rac2 ~]# /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 inittab CRS-4402: CSS 데몬이 배타 모드에서 시작되었지만 활성 CSS 데몬이 노드 rac1, 번호 1에서 발견되어 종료 중입니다. An active cluster was found during exclusive startup, restarting to join the cluster Configure Oracle Grid Infrastructure for a Cluster ... succeeded
첫번째 스크립트를 모두 수행한 후에 root 권한으로 두번째 스크립트를 수행합니다.
반드시 한 노드에서 작업이 끝난 후에 다음 노드에서 작업을 진행해야 하며, 절대로 동시에 여러 노드에서 수행하면 안됩니다.
스크립트 실행을 모두 완료하였으면 OUI 화면으로 돌아와서 구성 스크립트 실행 창의 [확인] 버튼을 클릭합니다.
클러스터용 Oracle Grid Infrastructure 구성 작업이 진행됩니다.
R) 완료
Grid 설치가 모두 성공했습니다.
[닫기] 버튼을 클릭해서 종료합니다.
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 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 rac1
클러스터 서비스가 정상적으로 수행되는 것을 확인합니다.