www.idatabank.com Oracle Parallel Server 2005. 06. 16 데이타뱅크시스템즈 대구광역시동구신천 3 동 95 대구벤처센터 12F Tel : 053746-5817 Fax : 053746-5815
목차 1. 개요 Hardware Architecture Oracle Parallel Server Architecture Client Failover 1
1. 개요 1.1 Oracle Parallel Server Oracle Parallel Server ( 이하 OPS라칭함 는하나의 Database Service 를여러 System 에서동시에제공해준다. OPS 는 Hardware Cluster 구성하에서동작하며 Shared Storage 를필요로한다. High Availability( 고가용성 를제공한다. Client Fail-over 기능을제공한다. Server 의 load 를분산해준다. 2
2. Hardware Architecture 2.1 Hardware component OPS 는 Hardware Cluster 상에서운영된다. Cluster 는각각의 Server 를공유된하나의그룹으로구성한다. Cluster 는다음과같은 Component 들로구성된다. 1. Processer Node 2. Cluster Interconnect 3. Shared Storage subsystem 3
2. Hardware Architecture 2.2 확장성 Server 의용량부족을해결하기위해 Server 의부분적인업그레이드를하는것이가능하며 High Availability 를제공함으로써 Service 의중단없이확장이가능하다. Server 의용량부족을해결하기위해 Cluster 상에 Node 를추가하는것이가능하다. 2.3 고가용성 특정 Node 하나에장애가발생하더라도다른 Node 에의해지속적인 Service 를제공할수있다. Hardware 유지보수를위해 Service 를중단하는일이줄어든다. 4
3. Oracle Parallel Server Architecture 3.1 Oracle Instance & Database User process Shared pool Instance SGA Server process PGA Library Data dict. Data buffer Redo log buffer SMON DBW0 PMON CKPT LGWR Others Parameter file Password file Data Control Database Redo log Archived log 5
3. Oracle Parallel Server Architecture 3.2 Oracle Parallel Server Instance A Instance B Shared pool Library Data dict. SGA Data buffer Redo log buffer inter connect inter processing Shared pool Library Data dict. SGA Data buffer Redo log buffer SMON DBW0 PMON CKPT LGWR Others SMON DBW0 PMON CKPT LGWR Others Server A Server B Shared Storage Parameter file Password file Data Control Database Redo log Archived log 6
4.1 개요 4. Client Failover Client 는 Instance 에접속하여 Job 을수행한다. Instance A, Instance B 가있다고가정하고 Instance A 에장애가발생하여 Service 가불가능할때Instance B 로Client 를자동재접속하는기능을제공한다. Client 의 SQL*Net 에설정하여야하며 Oracle 8 이상의 Version 에서지원된다. connection이이루어진후에발생하는모든 failover는 Transparent Application Failover 코드에의해처리된다. 7
4. Client Failover 4.2 TAF 설정 Parameter 설명 1. failover_mode : run time 시에 failover 가가능하게한다. 2. TYPE (Required : failover 후의 operation 을지정한다. SESSION - failover 발생시새로운 session 이다른 instance 에 reconnection 되며이전 session 에서의모든 uncommit 된작업은 rollback 된다. select 도이어서진행되지못한다. SELECT - failover 발생시새로운 session 이다른 instance 에 reconnection 되며이때 long query 나복잡한 query 등의작업수행시작업이이어서진행된다. 단, dml 작업은 rollback 된다. NONE - This is the default. No automatic failover 3. METHOD : 어떻게 failover 할지를지정한다. BASIC - failover 발생시에 backup instance(server 로다시접속한다. PRECONNECT - primary instance 와 backup instance 두개에모두 connection 맺어놓은후 failover 시에 backup instance 를통해 service 한다. *** < 중요 > 현재 PRECONNECT 는최소한 8.0.5 는되어야하며 BASIC 은 8.0.6 이나 8.1.5 에서만가능하다. 4. BACKUP : failover 시접속할 instance 의정보를기술한다. tnsnames.ora 의 alias name 을기술한다. 8
4. Client Failover 4.3 Basic Connection Failover Example <tnsnames.ora> node1.world = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP(Host = node1(port = 1521 (CONNECT_DATA = (SID = OPS1 (FAILOVER_MODE = (BACKUP = node2 (TYPE = SELECT (METHOD = PRECONNECT node2.world = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP(Host = node2(port = 1521 (CONNECT_DATA = (SID = OPS2 (FAILOVER_MODE = (BACKUP = node1 (TYPE = SELECT (METHOD = PRECONNECT 9
4. Client Failover 4.4 Advanced Connection Failover Example <tnsnames.ora> node1.world = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL= TCP(Host= node1(port= 1521 (CONNECT_DATA =(SID = OPS1(SERVER=DEDICATED (FAILOVER_MODE=(BACKUP= node2(type=session(method=preconnect (DESCRIPTION =(ADDRESS = (PROTOCOL= TCP(Host= node2(port= 1521 (CONNECT_DATA =(SID = OPS2(SERVER=DEDICATED (FAILOVER_MODE=(BACKUP = node1(type=select(method=preconnect node2.world = (DESCRIPTION_LIST = (DESCRIPTION =(ADDRESS = (PROTOCOL= TCP(Host= node2(port= 1521 (CONNECT_DATA =(SID = OPS2(SERVER=DEDICATED (FAILOVER_MODE=(BACKUP= node1(type=session(method=preconnect (DESCRIPTION = (ADDRESS = (PROTOCOL= TCP(Host= node1(port= 1521 (CONNECT_DATA = (SID = OPS1(SERVER=DEDICATED (FAILOVER_MODE=(BACKUP = node2(type=select(method=preconnect 10