Oracle/RAC

RAC설치하기(RHEL4, 10g, ASM, VMWare환경) #5 ; 오라클엔진설치 및 패치, 리스너 구성, ASM설치 및 패치, DB생성 후 테스트

에몽이ㅋ 2012. 3. 1. 13:47
모든 노드 켜져있는 상태에서 아무 한 노드에서만 설치하면 됩니다!

오라클엔진 설치
$ cd /home/oracle/pkg/database 
$ ./runInstaller 
1. 시작화면 : 다음클릭
2. EE유형 선택(디폴트) : 다음클릭
3. 경로에 $ORACLE_HOME(/home/oracle/product/10g/db)이 입력되어있는지 확인 후 다음
4. 클러스터설치 : 모두선택 클릭 후 다음
5. 필요조건검사 : TEST환경이므로 확인클릭 후 다음
6. 구성옵션 : 데이터베이스 소프트웨어만 설치클릭 후 다음
7. 요약 : 설치클릭
8. 설치화면
9. 각 노드에서 root로 파일실행 후 확인
 
10. 종료


오라클엔진 패치
$ cd /home/oracle/pkg/Disk1 
$ ./runInstalle
1. 시작 : 다음
2. 홈세부정보지정 : 경로에 /home/oracle/product/10g/db확인 후 다음
3. 업데이트 수신안함 후 다음
4. 클러스터설치 : 둘다 선택되어있는거 확인 후 다음
5. 필요조건검사: TEST환경이니 체크 후 다음
6. 요약 : 설치
7. 설치화면
8. 각 노드에서 root로 파일실행 후 확인(overwrite 모두 y입력)
9. 종료 

오라클 설치,패치 완료!!



리스너구성(netca)
$ netca
1. 클러스터구성
2. 모든 노드선택 후 다음
3. 리스너구성선택 후 다음
4. 추가 선택 후 다음
5. 다음
6. 다음
7. 포트그대로 다음
8. 다른 리스너 아니오 다음 


ASM 설치 및 패치
$ cd /home/oracle/pkg/database 
$ ./runInstaller 
1. 시작 : 다음
2. Enterprise Edition 다음
3. OraDb10g_home2(/home/oracle/product/10g/asm) 입력(ORA_ASM_HOME) 후 다음
4. 클러스터설치에서 모두선택 후(rac1, rac2 모두 체크가 됨) 다음
5. 필요조건(메모리는 확인 후 다음)
6. 구성옵션 : ASM선택 후 암호입력 후 다음
7. ASM구성 : 디스크그룹 DATA확인 후 raw6, 7 선택 후 다음(8은 FRA용)
8. 설치클릭
9. 설치화면
10. Configuration Assistant 상태 2가지가 모두 성공하면 자동으로 다음으로 넘어감
11. 각 노드에서 루트로 해당파일 실행 /home/oracle/product/10g/asm/root.sh
(overwrite : y)
12. 실행 후 확인 후 종료
13. 확인
[root@rac2 10g]# crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora....SM1.asm application    ONLINE    ONLINE    rac1 << ASM설치확인
ora....C1.lsnr application    ONLINE    ONLINE    rac1  << 리스너구성확인
ora.rac1.gsd   application    ONLINE    ONLINE    rac1
ora.rac1.ons   application    ONLINE    ONLINE    rac1
ora.rac1.vip   application    ONLINE    ONLINE    rac1
ora....SM2.asm application    ONLINE    ONLINE    rac2 << ASM설치확인
ora....C2.lsnr application    ONLINE    ONLINE    rac2  << 리스너구성확인
ora.rac2.gsd   application    ONLINE    ONLINE    rac2
ora.rac2.ons   application    ONLINE    ONLINE    rac2
ora.rac2.vip   application    ONLINE    ONLINE    rac2


ASM패치
패치를 위해 ASM정지 후 상태확인
(저는 node1에서 실행했습니다.)
$ srvctl stop asm -n rac1
$ srvctl stop asm -n rac2
$ crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora....SM1.asm application    OFFLINE   OFFLINE  <<
ora....C1.lsnr application    ONLINE    ONLINE    rac1
ora.rac1.gsd   application    ONLINE    ONLINE    rac1
ora.rac1.ons   application    ONLINE    ONLINE    rac1
ora.rac1.vip   application    ONLINE    ONLINE    rac1
ora....SM2.asm application    OFFLINE   OFFLINE  <<
ora....C2.lsnr application    ONLINE    ONLINE    rac2
ora.rac2.gsd   application    ONLINE    ONLINE    rac2
ora.rac2.ons   application    ONLINE    ONLINE    rac2
ora.rac2.vip   application    ONLINE    ONLINE    rac2

OFFLINE확인 후 패치실행
$ cd /home/oracle/pkg/Disk1 
$ ./runInstaller 
1. 시작화면 : 다음
2. 경로 home2(아까전에 /home/oracle/product/10g/asm)선택 후 다음
3. 업데이트수신안함
4. 노드 둘다 선택되어있는거 확인하고 다음
5. 필요조건(TEST환경이기때문에 확인하고 다음)
6. 설치
7. 설치화면
8. 스크립트실행(각 노드에서 루트로 스크립트 실행 후 확인)
overwrite : y
9. 종료

서비스 재시작
노드 1에서
$ srvctl start asm -n rac1
$ srvctl start asm -n rac2 
입력 후 crs_stat -t에서 ASM이 ONLINE되었는지 확인
[oracle@rac1 ~]$ crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora....SM1.asm application    ONLINE    ONLINE    rac1
ora....C1.lsnr application    ONLINE    ONLINE    rac1
ora.rac1.gsd   application    ONLINE    ONLINE    rac1
ora.rac1.ons   application    ONLINE    ONLINE    rac1
ora.rac1.vip   application    ONLINE    ONLINE    rac1
ora....SM2.asm application    ONLINE    ONLINE    rac2
ora....C2.lsnr application    ONLINE    ONLINE    rac2
ora.rac2.gsd   application    ONLINE    ONLINE    rac2
ora.rac2.ons   application    ONLINE    ONLINE    rac2
ora.rac2.vip   application    ONLINE    ONLINE    rac2

ASM 설치, 패치 완료!!!



DB생성하기
node 1에서 
$ dbca
 
시작 : Oracle Real Application Clusters 데이터베이스선택 후 다음
1 : 데이터베이스 생성 후 다음
2 : 모두선택 후 다음
3 : 사용자 정의데이터베이스 선택 후 다음
4 : 데이터베이스 ID,SID : rac입력 후 다음
5 : Enterprise Manager 체크해제 후 다음
6 : 암호설정 후 다음
7 : ASM선택 후 다음
8 : 새로만들기 클릭 후 디스크그룹이름(FRA), 외부, /dev/raw/raw8 선택 후 확인
9 : ASM디스크그룹 : DATA만 선택(FRA는 체크해제)
10 : 데이터베이스 파일위치 : 그대로두고 다음
11 : 플래시복구영역지정 체크 후 찾아보기 클릭 후 FRA선택(사용가능한 크기기억),
     플래시 복구영역크기에 사용가능한 크기만큼 입력 후 다음
12 : 데이터베이스 내용 : 표준데이터베이스 구성요소 클릭 후 모두 체크해제 후 확인
Enterprise Manager저장소도 체크해제
13 : 데이터베이스 서비스 : 변경없이 다음클릭
14 : 초기화 매개변수 : 캐릭터셋 탭에서 Choose from Character Sets(Database Character Set)에서 KO16MSWIN949 선택 후 다음
15 : 데이터베이스 저장영역 : 그냥 다음
16 : 생성옵션 : 데이터베이스 생성 체크확인 후 완료
17 : 요약 : 확인 클릭
18 : DB생성화면 --> 완료시 완료클릭(자동으로 클러스터 데이터베이스 시작됨)

확인
$ crs_stat -t

Name           Type           Target    State     Host
------------------------------------------------------------
ora.rac.db     application    ONLINE    ONLINE    rac2  << 확인
ora....c1.inst application    ONLINE    ONLINE    rac1
ora....c2.inst application    ONLINE    ONLINE    rac2
ora....SM1.asm application    ONLINE    ONLINE    rac1
ora....C1.lsnr application    ONLINE    ONLINE    rac1
ora.rac1.gsd   application    ONLINE    ONLINE    rac1
ora.rac1.ons   application    ONLINE    ONLINE    rac1
ora.rac1.vip   application    ONLINE    ONLINE    rac1
ora....SM2.asm application    ONLINE    ONLINE    rac2
ora....C2.lsnr application    ONLINE    ONLINE    rac2
ora.rac2.gsd   application    ONLINE    ONLINE    rac2
ora.rac2.ons   application    ONLINE    ONLINE    rac2
ora.rac2.vip   application    ONLINE    ONLINE    rac2

DB생성완료!!!

테스트하기
$ crs_stop -f ora.rac.db
$ crs_start -f ora.rac.db 

[oracle@rac1 ~]$ crs_stop -f ora.rac.db
Attempting to stop `ora.rac.db` on member `rac2`
Stop of `ora.rac.db` on member `rac2` succeeded.
[oracle@rac1 ~]$ crs_start -f ora.rac.db
Attempting to start `ora.rac.db` on member `rac1`
Start of `ora.rac.db` on member `rac1` succeeded.

[oracle@rac1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Thu Mar 1 03:41:36 2012

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
+DATA/rac/controlfile/current.256.776748549
+FRA/rac/controlfile/current.256.776748549

SQL> select status from v$instance;

STATUS
------------
OPEN

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+DATA/rac/datafile/system.259.776748561
+DATA/rac/datafile/undotbs1.260.776748573
+DATA/rac/datafile/sysaux.261.776748581
+DATA/rac/datafile/undotbs2.263.776748593
+DATA/rac/datafile/users.264.776748601


$ lsnrctl status   리스너확인


rac1에 oltp 서비스 생성, rac2는 fail-over용으로 설정하기
$ srvctl add service -d RAC -s oltp_service -r RAC1 -a RAC2


oltp 서비스 시작 / 상태 확인
$ srvctl start service -d RAC -s oltp_service
$ srvctl status service -d RAC -s oltp_service

[oracle@rac1 ~]$ srvctl status service -d RAC -s oltp_service
oltp_service 서비스가 rac1 인스턴스에서 실행 중임

SQL> show parameter service  (RAC1)

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      oltp_service


SQL> show parameter service (RAC2)

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      rac

SQL> shutdown abort (RAC1 비정상종료)
ORACLE instance shut down.
SQL> show parameter service (RAC2 파라미터 조회)

NAME                      TYPE        VALUE
--------------------- ----------- ------------------------------
service_names            string      oltp_service  << RAC1을 대체하고 있습니다.
(캐시 퓨전발생)

여기까지 RAC설치입니다!!!