1. DBCA를 이용한 TAF 서비스 등록
§ DBCA실행
Oracle Real Application Cluster database를 선택하고 Next클릭
Service Management를 선택하고 Next클릭
Next클릭
Add 버튼을 클릭하여 다음과 같이 서비스 이름을 입력. OK버튼 클릭.
그림과 같이 설정하고 Finish클릭
OK를 클릭하여 서비스 생성.
서비스 생성 완료. No를 클릭하여 DBCA종료.
§ 서비스 생성 확인
rac1 > crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.devdb.db application ONLINE ONLINE rac2
ora....b1.inst application ONLINE ONLINE rac1
ora....b2.inst application ONLINE ONLINE rac2
ora...._TAF.cs application ONLINE ONLINE rac1
ora....db1.srv 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
혹은....
rac1 > crs_stat -p | grep devdb_TAF
NAME=ora.devdb.devdb_TAF.cs
NAME=ora.devdb.devdb_TAF.devdb1.srv
§ tnsnames.ora 파일 확인(서버쪽)
다음의 내용이 추가되어 있음을 확인할 수 있다.
DEVDB_TAF =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip.mycorpdomain.com)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip.mycorpdomain.com)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = devdb_TAF)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)
2. 클라이언트 쪽 tnsnames.ora 파일 수정
§ 서버쪽의 DEVDB_TAF를 복사하여 붙여넣는다.
DEVDB_TAF =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = devdb_TAF)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)
3. 클라이언트 접속 및 failover
§ scott/tiger로 접속한다. è sqlplus scott/tiger@devdb_taf
§ 접속한 서버가 몇 번째 노드인지 다음과 같이 확인한다.
SQL> select userenv('instance') from dual;
USERENV('INSTANCE')
-----------------------
1
§ 서버에서도 다음과 같은 쿼리로 확인한다.
SQL> col machine for a25
SQL> select inst_id, sid, machine, failover_type, failover_method, failed_over
2 from gv$session
3 where username='SCOTT';
INST_ID SID MACHINE FAILOVER_T FAILOVER_M FAI
---------- ---------- ------------------------------- ------------- ------------ ---
1 143 WORKGROUP\YEOHYUNSEUNG SELECT BASIC NO
§ 1번 노드 강제 종료
§ Active 서버에서 failover 된 scott 유저 확인
SQL> /
INST_ID SID MACHINE FAILOVER_TYPE FAILOVER_M FAI
---------- ---------- ------------------------- ------------- ------------------- ---
2 153 WORKGROUP\YEOHYUNSEUNG SELECT BASIC YES

rpm_for_oracle10g.alz
Prev
Rss Feed