[오라클]RAC 리스너 / TNS / JDBC(OCI, THIN) 설정
- 업무 파티션을 하고자 할 경우 각 업무별로 장애가 발생하지 않는 평시에
RACDB1으로 접속하여 사용할 것인지 RACDB2로 접속하여 사용할 것인지를 결정하여야 함.
- 업무파티션의 기준은 각각의 노드에서 테이블 단위의 DML(INSERT,UPDATE,DELETE)이
최소화되도록 설계하여야 함.
1. 리스너 설정(listener.ora)
-----------------------
# Local Listener를 사용하도록 설정(RACDB1)
LISTENER_HOSTNAME1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = VIP_HOSTNAME1)(PORT = 1521)(IP=FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME1) (PORT = 1521)(IP=FIRST))
(ADDRESS = (PROTOCOL = IPC)(KEY = extproc))
)
)
SID_LIST_LISTENER_HOSTNAME1 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
2. TNS(tnsnames.ora) 설정 필요 - JDBC OCI 방식
----------------------------------------------
# JDBC OCI 방식으로 설정하여 사용하고자 할 경우 TNS설정이 필요하며
# RACDB에 접속하는 방식은 SQL*Net을 사용하게 됨
# (SELECT인 것만 FAILOVER할 수 있도록 설정한 예, 주로 많이 사용하는 설정)
TNS_RACDB1 = (DESCRIPTION=
(LOAD_BALANCE=OFF)
(FAILOVER=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=VIP_HOSTNAME1)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=VIP_HOSTNAME2)(PORT=1521))
(CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = RACDB)
(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC))
)
)
TNS_RACDB2 = (DESCRIPTION=
(LOAD_BALANCE=OFF)
(FAILOVER=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=VIP_HOSTNAME2)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=VIP_HOSTNAME1)(PORT=1521))
(CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = RACDB)
(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC))
)
)
1] RACDB1에 접속하고자 하는 설정
jdbc:oracle:oci:@TNS_RACDB1
2 RACDB2 접속하고자 하는 설정
jdbc:oracle:oci:@TNS_RACDB2
3. TNS(tnsnames.ora) 설정 필요없음 - JDBC thin 방식
-----------------------------------------------
1] RACDB1에 접속하고자 하는 설정
jdbc:oracle:thin:@(DESCRIPTION=
(FAIL_OVER=ON)
(LOAD_BALANCE=OFF)
(ADDRESS=(PROTOCOL=TCP)(HOST=100.100.52.111)(PORT=1521)) # RACDB1 Virtual-IP 사용
(ADDRESS=(PROTOCOL=TCP)(HOST=100.100.52.112)(PORT=1521)) # RACDB2 Virtual-IP 사용
(CONNECT_DATA=(SERVICE_NAME=RACDB)))
2] RACDB2에 접속하고자 하는 설정
jdbc:oracle:thin:@(DESCRIPTION=
(FAIL_OVER=ON)
(LOAD_BALANCE=OFF)
(ADDRESS=(PROTOCOL=TCP)(HOST=100.100.52.112)(PORT=1521)) # RACDB2 Virtual-IP 사용
(ADDRESS=(PROTOCOL=TCP)(HOST=100.100.52.111)(PORT=1521)) # RACDB1 Virtual-IP 사용
(CONNECT_DATA=(SERVICE_NAME=RACDB)))
'01.오라클 > 001.DB 관리' 카테고리의 다른 글
[오라클]LOB를 가진 테이블의 관리 (0) | 2012.12.19 |
---|---|
[오라클]DDL-시퀀스의 LAST값 변경 (0) | 2012.12.19 |
[오라클]Redo Log Resize 방법 (0) | 2012.12.19 |
[오라클]테이블스페이스 생성 및 관리 (0) | 2012.12.19 |
[오라클]DB 기본 관리 쿼리 (0) | 2012.12.19 |