본문 바로가기

빅데이터과정/RAC

#44_140811_RAC_환경구성

728x90

# RAC 환경구성






Application Cluster의 약자)
진짜 응용 프로그램의 집단






RAC 사용해야 하는 이유

1.    가용성 : 내가 접속한 인스턴스가 다운이 돼도 지속적인 서비스를 지원받을 수 있는 것
2.    확장성 : 하나의 storage에 여러 개의 server를 계속해서 확장가능 하게 하는 것





Shared Storage
Raw Device : 가장 보편적으로 사용
Clustered File System : 적용 사례가 늘어나고 있음
ASM(Automatic Storage Management) : 오라클이 자동으로 OS의 storage를 관리








RAC 환경구성





1.     rac1 폴더에서 rac1.vmx 파일을 텍스트 파일로 open
경로명에서 D:\ 를 C:\ 로 변경


2.     rac2 폴더에서 rac.1vmx 파일을 텍스트 파일로 open
경로명에서 D:\  C:\ 로 변경


3.     vmware로 vm\rac1\rac.vxm 파일 open
열어서 실행할 때 I move it 으로 실행


4.     vmware로 vm\rac2\rac.vxm 파일 open
열어서 실행할 때 I move it 으로 실행


5.     virtual network editor 들어가서 아래 그림처럼 변경
vmnet1, vmnet8 을 아래의 그림처럼 ip주소 변경









6.     putty 실행 후 ip주소 입력





7.     putty 설정 완료 확인
아래의 빨간글씨 파일이 online이 될때까지 기다려야 한다
만약 online으로 변경되지 않는다면 종료후 다시 시작한다
$ crs_stat -t : 응용 프로그램들의 현재 상태 확인
$ crs_stop -all : 응용 프로그램들을 한번에 모두 종료하는 명령어
$ crs_start -all : 응용 프로그램들을 모두 한번에 시작시키는 명령어

[rac1:yudb1:/home/oracle]crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora....SM1.asm application    ONLINE    UNKNOWN   rac1
ora....C1.lsnr application    ONLINE    OFFLINE   rac1
ora.rac1.ons   application    ONLINE    ONLINE    rac1
ora.rac1.vip   application    ONLINE    OFFLINE
ora....SM2.asm application    ONLINE    OFFLINE
ora....C2.lsnr application    ONLINE    OFFLINE
ora.rac2.ons   application    ONLINE    ONLINE    rac2
ora.rac2.vip   application    ONLINE    OFFLINE
ora....SLBA.cs application    ONLINE    UNKNOWN   rac1
ora....db1.srv application    ONLINE    UNKNOWN   rac1
ora....db2.srv application    ONLINE    OFFLINE
ora....OLBA.cs application    OFFLINE   OFFLINE
ora....db1.srv application    ONLINE    UNKNOWN   rac1
ora....db2.srv application    ONLINE    OFFLINE
ora.yudb.db    application    OFFLINE   OFFLINE
ora....b1.inst application    ONLINE    OFFLINE
ora....b2.inst application    ONLINE    OFFLINE




8.     instance가 2개다 잘올라오는지 확인
SQL> select instance_name, status
from gv$instance;





9.     다음 경로 이동해서 메모장으로 tnsnames.ora 파일을 열고 아래의 스크립트를 붙여넣고 저장한다
주의할 점은 메모장을 관리자 권한으로 열어야 한다
C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN

yudb_taf=
  (DESCRIPTION =
    (address_list=
     (load_balance=on)
     (failover=on)
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.110)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.120)(PORT = 1521)) )
    (CONNECT_DATA =
      (SERVICE_NAME = yudb)
      (failover_mode=(type=select)(method=basic) )
    )
)


YUDB1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.110)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = yudb)
      (INSTANCE_NAME = yudb1)
    )
  )


YUDB2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.120)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = yudb)
      (INSTANCE_NAME = yudb2)
    )
  )




10.  위 과정이 끝나면 SQLgate에서 아래와같이 yudb_taf가 목록에 보여야 하고 접속이 가능해야 한다










수행이 안된다면 아래와 같이 수행한다

1.    리소스를 많이 차지하는 작업을 종료
2.    재시작
crs_stop -all
crs_start -all
3.    양쪽노드의 root 유저로 각각 접속해서 reboot을 수행
$ su -
password : oracle
[root@rac1 ~]# reboot






완전히 컴퓨터를 종료할 때 정상적으로 종료하는 방법

1.    양쪽 노드 각각 root로 접속
$ su -
password : oracle
[root@rac1 ~]# init 0








node간 같은 스토리지 운영되는지 확인

# 192.168.10.20

>> ts01 테이블 스패이스를 만든다


SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
+DATA/yudb/datafile/system.259.743034645
+DATA/yudb/datafile/undotbs1.260.743034669
+DATA/yudb/datafile/sysaux.261.743034679
+DATA/yudb/datafile/undotbs2.263.743034691
+DATA/yudb/datafile/users.264.743034699
앞에 + 가 붙으면 ASM에 의해서 관리되는 것을 의미한다.
사용자가 볼려고 해도 보이지 않는다


SQL> create tablespace ts01 datafile size 10m;
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
+DATA/yudb/datafile/system.259.743034645
+DATA/yudb/datafile/undotbs1.260.743034669
+DATA/yudb/datafile/sysaux.261.743034679
+DATA/yudb/datafile/undotbs2.263.743034691
+DATA/yudb/datafile/users.264.743034699
+DATA/yudb/datafile/ts01.269.855335047
굳이 저장될 경로를 지정하지 않아도 ASM이 알아서 처리하고 있는 것을 볼 수 있다
다른 노드에서도 방금 생성한 테이블 스패이스를 확인할 수 있다

>> 다른 노드에서 ts01 테이블스패이스를 삭제하고 조회한다

# 192.168.10.20

SQL> drop tablespace ts01 including contents;
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
+DATA/yudb/datafile/system.259.743034645
+DATA/yudb/datafile/undotbs1.260.743034669
+DATA/yudb/datafile/sysaux.261.743034679
+DATA/yudb/datafile/undotbs2.263.743034691
+DATA/yudb/datafile/users.264.743034699
다른 노드에서 drop과 조회가 가능함을 확인할 수 있다






Alert 파일 보기


[rac1:yudb1:/home/oracle]dump

[rac1:yudb1:/u01/app/oracle/admin/yudb/bdump]tail -f al*






 Session 구분


아래의 경로로 이동

cd /u01/app/oracle/product/10.2.0/db_1/sqlplus/admin/

아래 명령어로 파일을 열고 아래의 소스를 붙여넣는다

vi glogin.sql


…………………………………………………..

COLUMN id_plus_exp FORMAT 990 HEADING i

COLUMN parent_id_plus_exp FORMAT 990 HEADING p

COLUMN plan_plus_exp FORMAT a60

COLUMN object_node_plus_exp FORMAT a8

COLUMN other_tag_plus_exp FORMAT a29

COLUMN other_plus_exp FORMAT a44

 

-- Default for XQUERY

COLUMN result_plus_xquery HEADING 'Result Sequence'

 

define_editor='vi'

set sqlp "SQL#1> "

[rac1:yudb1:/home/oracle]sqlplus "/as sysdba"

SQL#1>

위처럼 명령어 치는 부분에 세션 구분이 가능하다

 

 




Alert 파일 보기


[rac1:yudb1:/home/oracle]dump

[rac1:yudb1:/u01/app/oracle/admin/yudb/bdump]tail -f al*

 








'빅데이터과정 > RAC' 카테고리의 다른 글

#44_140813_RAC_DATAFILE 복구  (0) 2014.08.13
#43_140812_RAC_전자지갑  (0) 2014.08.12
#43_140812_RAC_INSTANCE STOP START  (0) 2014.08.12
#43_140812_RAC_UNDO TABLESPACE  (0) 2014.08.12
#43_140812_RAC_REDO LOG FILE  (0) 2014.08.12