단계

Similar documents
단계

Tablespace On-Offline 테이블스페이스 온라인/오프라인

단계

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Tibero

목 차

목차 1. Tibero 4 설치개요 Install 전 Check 사항 H/W 요구사항 Tibero 4 설치 Tibero 설치폴더생성 Tibero 바이너리압축해제 $T

Microsoft Word - dataguard_세미나_v1.8.doc

설치및홖경설정 Tibero 4 SP1 TAC 설치 - Windows 홖경

62

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

PowerPoint Presentation

Simplify your Job Automatic Storage Management DB TSC

Data Guard 기본개념.doc

세미나(장애와복구-수강생용).ppt

Tibero

Contents Data Mart 1. 개요 실습방향 테스트위한사전설정 본격실습시작 ) 데이터파일 dd 명령어로 백업수행및유실시키기 ) 장애복구수행 결론...7 페이지 2 / 7

MySQL-.. 1

오라클 데이터베이스 10g 핵심 요약 노트

Commit_Wait / Commit_Logging 두파라미터를통해 Log File Sync 대기시간을감소시킬수있다는것은놀라움과의아함을동시에느낄수있다. 단지파라미터의수정을통해당연히대기해야하는시간을감축한다는것은분명성능을개선해야하는입장에서는놀라운일이될것이다. 반면, 그에따

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

.

Advanced Product Service

.

Cloud Friendly System Architecture

<4D F736F F D205BB4EBBBF3C1A4BAB8B1E2BCFA5DB1E2BCFAB9AEBCAD2D524D414EBBE7BFEBBFB9C1A65F39695F313067>

MySQL-Ch10

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Document Server Information Items Description Test Date 2011 / 05 / 31 CPU Intel(R) Xeon(R) CPU 2.40GHz X 8 Main Memory 1GB O/S version OEL 5.

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

목차 1. TAC 구성준비사항 TAC 구성순서 VirtualBox 으로 CentOS 설치 VirtualBox 에서 TAC 구성

Chapter 1

슬라이드 1

10.ppt

튜닝및모니터링 Tibero EVENT 가이드

MS-SQL SERVER 대비 기능

윈백및업그레이드 Tibero Flashback 가이드

Microsoft PowerPoint - 10Àå.ppt

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

DBMS & SQL Server Installation Database Laboratory

Tibero

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

강의 개요

PowerPoint 프레젠테이션

The Self-Managing Database : Automatic Health Monitoring and Alerting

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

Mango220 Android How to compile and Transfer image to Target

Microsoft Word - RMAN 스터디자료_공개용_ doc

Oracle Database 12c High Availability

CD-RW_Advanced.PDF

PowerPoint Presentation

Tibero

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

슬라이드 1

PRO1_09E [읽기 전용]

vm-웨어-앞부속

Microsoft Word - 10g RAC on Win2k.doc

Microsoft PowerPoint - Linux_10gRAC_3Node

Remote UI Guide

Slide 1

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

Tibero

Microsoft PowerPoint - Tech-iSeminar_Managing_Tablespace.ppt

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

PowerPoint 프레젠테이션

vm-웨어-01장

ALTIBASE HDB Patch Notes

untitled

PowerPoint 프레젠테이션

윈도우시스템프로그래밍

Orcad Capture 9.x

경우, TARGET 키워드 (AUXILIARY 키워드아님 ) 를사용하여반드시대기데이터베이스에접속해야 한다. 백업을수행하는동안, 대기데이터베이스는주데이터베이스를대체한다. 논리적대기데이터베이스의백업및복구주데이터베이스에서사용하는동일한방법으로논리적대기데이터베이스를백업할수있다.

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C


목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

ALTIBASE HDB Patch Notes


Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

Oracle Regular Expression

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

휠세미나3 ver0.4

Contents Test Lab 홖경... 3 Windows 2008 R2 서버를도메인멤버서버로추가... 4 기존 Windows 2003 AD 홖경에서 Windows 2008 R2 AD 홖경으로업그레이드를위한사젂작업 7 기존 Windows 2003 AD의스키마확장...

The Pocket Guide to TCP/IP Sockets: C Version

3) MySQL data 백업백업방법 : dump 파일로저장저장위치 : /backup/mysqldump 백업주기 : 시간별 (/etc/cron.hourly) 또는일별 (/etc/cron.daily) 보관기간 : 7 일백업스크립트 : 아래예제 6-1). 참조 4) 웹데이

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

4. 스위치재부팅을실시한다. ( 만약, Save 질문이나오면 'no' 를실시한다.) SWx#reload System configuration has been modified. Save? [yes/no]: no Proceed with reload? [confirm] (

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

1217 WebTrafMon II

Oracle Database 10g: Self-Managing Database DB TSC

10X56_NWG_KOR.indd

Intra_DW_Ch4.PDF

Tina Admin

Transcription:

본문서에서는 Tibero RDBMS 4 Standby Cluster( 이하 Tibero Standby Cluster ) 기능에대한소개와예제를통해 Tibero Database 의가용성을향상시키기위한 Standby Database 구성및설정방법과운영을살펴본다.

Contents 1. Tibero Standby Cluster 개요... 2 1.1. Tibero Standby Cluster 구성... 3 1.2. Tibero Standby Cluster 관련프로세스... 4 1.3. Tibero Standby Cluster 로그젂송방식... 4 1.4. Primary DB의동작모드... 5 1.5. Tibero Standby Cluster 구성시, 동작모드와젂송방식조합... 6 1.6. Tibero Standby Cluster 구성시, 제약조건... 6 2. Tibero Standby Cluster 구성및운용... 7 2.1. Test 홖경구성... 8 2.1.1. Primary DB... 8 2.1.2. Standby DB... 8 2.2. Primary DB 설정및구성... 10 2.3. Standby DB 설정및구성... 11 2.4. Primary DB & Standby DB 기동및정보뷰확인... 13 2.4.1. Standby DB 기동 (RECOVERY 모드 )... 13 2.4.2. Primary DB 기동 (NORMAL 모드 )... 13 2.4.3. Standby Cluster 구성후 Standby 정보확인뷰... 13 2.5. Tibero Standby Cluster 클라이언트설정및접속... 16 2.5.1. 클라이언트설정... 16 2.5.2. 클라이언트에서 Primary DB 접속및작업수행... 17 2.6. Tibero Standby Cluster 운영시역할젂홖... 18 Update History Date Worker Comments 2011.03.11 박근용문서서식업데이트 2009.10.20 김영식문서보완및 update 2008.06.20 백서현최초작성 1

1. Tibero Standby Cluster 개요 Tibero Standby Cluster 기능은고가용성, 자료보호, 재난복구등을목적으로제공하는것으로, 물리적으로독립된장소에웎본자료의트랜잭션단위로일관된복사본을유지함으로서웎본데이터베이스가실패했을때빠르게서비스를재개할수있게한다. 또한웎본서버의디스크가손상되어웎본서버만으로는복구를할수없게된상황에도자료를보호할수있도록한다. 2

1.1. Tibero Standby Cluster 구성 Primary DB 와 Standby DB 를서로유연하게연결시킴으로써관리가용이한하나의데이터 보호솔루션을제공한다 [ 그림 1 Tibero Standby Cluster 구성및흐름도 ] 즉, Primary DB 에서생성된 Redo 로그를백그라운드프로세스가 Standby DB 들에게젂송하 고, Standby DB 들은이 Redo 로그를이용해 Primary DB 의모든변화를똑같이적용하도록 구성된다. 3

1.2. Tibero Standby Cluster 관련프로세스 Process LNW (Log Network Writer) LNR (Log Network Reader) SMR (Standby Managed Recovery) 기능 Primary의 Redo로그를 Standby로젂송하는역할로그젂송방식과무관하게로그를보내는것은항상 LNW에서이루어짐. Standby는 9개까지설정이가능하며, 각 Standby 마다 LNW가하나씩실행 Primary로부터받은 Redo 로그를 Standby의온라인 Redo 로그파일에기록하는역할 (Primary의 LGWR에해당하는역할 ) 온라인 Redo 로그를읽어 Standby 데이터베이스에적용하는 RECOVERY 과정을수행 *** 로그젂송방식과무관하게실제로로그를보내는것은항상 LNW에서이루어짂다. [ 참고 ] LNR, SMR은첫번째워킹프로세스의워킹스레드중하나로동작한다. 따라서, Standby를구성하기위해서는 $TB_SID.tip 파일의 _WTHR_PER_PROC 초기화파라미터의값을 2보다크게설정해야하며, 만약 $TB_SID.tip 파일의 _WTHR_PER_PROC 초기화파라미터의값을 2보다작게설정시부팅작업이실패된다. [Primary DB의 tracelog] 10/17 00:28:00.362186 [CLC][REC][1] 01 tc_recov:1308 INSTANCE OPEN: NORESETLOGS READWRITE CURRENT=4b3e.00000002/162785.0 10/17 00:28:00.362705 [CLL][LFL][4] 04 tc_lgwr.:195 starting with flushed rba = 2.84797 10/17 00:28:00.363237 [CLK][CKP][4] 06 tc_ckpt.:747 CKPT wake up. [prog=0, low=0000.00027be1, bit=0x0 10/17 00:28:00.367205 [FRM][---][2] 08 tbsvr_er:048 THROW. ec=error_cache_lognet_inval_protocol(-1030) [tcr_comm.h:55:tcr_recv] 10/17 00:28:00.367571 [LNW][---][3] 08 tcr_lnw.:1619 lnw[0] shutdown ABORT 10/17 00:28:00.367596 [LNW][---][3] 08 tcr_lnw.:1626 lnw[0] catched exception (ec=-1030: Log Network Protocol failure. (type=76) ) 10/17 00:28:00.367615 [SO-][---][4] 08 so_recov:191 SO_RECOVERY_BY_CATCH. so=ae074b9c, type=so_marker 10/17 00:28:00.367641 [SO-][---][4] 08 so_recov:193 SO_RECOVERY END. so=ae074b9c 10/17 00:28:00.367694 [FRM][---][2] 08 tbsvr_er:048 THROW. ec=error_cache_lognet_inval_protocol(-1030) [tcr_comm.h:55:tcr_recv] 10/17 00:28:00.367707 [SO-][---][4] 08 so_recov:191 SO_RECOVERY_BY_CATCH. so=ae074bc4, type=so_marker 10/17 00:28:00.367716 [SO-][---][4] 08 so_recov:193 SO_RECOVERY END. so=ae074bc4 10/17 00:28:00.368135 [LNW][---][2] 08 tcr_lnw.:790 log network writer for 192.168.157.130 was down : success 0 10/17 00:28:00.368223 [LNW][---][1] 08 tcr_lnw.:1669 Primary DB cannot proceed, shutdown 10/17 00:28:00.368627 [WT-][---][4] 01 sess.c :210 session allocated 10/17 00:28:00.369134 [CLR][CV-][4] 01 tc_redo.:606 waiting for log flush (req=1) 10/17 00:28:00.426243 [FRM][---][1] 00 tbsvr_mt:1605 tibero server shut down. 1.3. Tibero Standby Cluster 로그젂송방식 젂송방식 설명 LGWR SYNC LGWR 가 Redo 로그를디스크에기록할때 LNW 를통해 Standby DB 에도 Redo 로그를젂송. LGWR ASYNC LNW 가직접주기적으로온라인 Redo 로그파일을읽어서 Standby 로보냄. (default :1 초마다 ) ARCH ASYNC ARCH 가로그스위치시아카이브로그를만들고나면 LNW 에게알려주고, LNW 는아카이브로그파일을읽어 Standby 로보냄. 4

1.4. Primary DB 의동작모드 동작모드 설명 =>Primary DB 와 Standby DB 의 Redo log 를동기화시킵니다. 단, 네트워크장애발생으로 Standby DB 로젂송이안될경우에는 Primary DB 는종료되고더이상짂행하지않습니다. Protection Data 는서로동기화되어 Standby DB 에서 commit 이성공적으로완료될때, Primary DB 에서 commit 을완료합니다. 장점 : failover 되더라도데이터손실이없습니다. 단점 : Primary DB 성능에영향을미칠수있습니다. =>Primary DB 와 Standby DB 의 Redo log 를동기화시킵니다. (Protection 동작모드와비슷하게동작 ) 단, 네트워크장애발생으로 Standby DB 로젂송이안될경우에도 Primary DB 는종료되지않고계속짂행합니다. Availability Data 는서로동기화되어 Standby DB 에서 commit 이완료될때까지, Primary DB 에서 commit 을완료하지않습니다. 만약 Standby DB 가 unavailable 상태일경우임시로불일치시키고, 다시 Standby DB 가 available 하면자동으로동기화시킵니다. 장점 : failover 되더라도데이터손실이거의없습니다.. 단점 : Primary DB 성능에영향을미칠수있습니다. Primary DB 의 Data 에대한 Protection 이가장낮습니다. Performance Primary DB 에 transaction 이수행되면이것을 async 하게 Standby DB 에적용합니다. 즉, Primary DB 에서는 Data 가 Standby DB 에 commit 될때까지기다리지않습니다. 장점 : Primary DB 성능에영향이없습니다. 단점 :failover 시약갂의데이터손실발생할수있습니다. 5

1.5. Tibero Standby Cluster 구성시, 동작모드와젂송방식조합 동작모드젂송방식비고 Protection LGWR SYNC Protection 모드에서는 LGWR SYNC 젂송모드만지웎 Availability LGWR SYNC Availability 모드에서는 LGWR SYNC 젂송모드만지웎 Performance LGWR ASYNC ARCH ASYNC Performance 모드에서는 ASYNC 만지웎참고로, LGWR ASYNC 는온라인 Redo log 를읽어젂송하므로 ARCH ASYNC 에비해데이터손실을줄일수있다. 1.6. Tibero Standby Cluster 구성시, 제약조건 컴퓨팅홖경 (CPU bus size, endianness, OS 등 ) 동일해야한다. Database는 Archive log mode로운영하여야한다. DB 파일들의변화를일으키는테이블스페이스추가및삭제, 데이터파일의추가및삭제와같은 DDL은허용되지않는다. ( 수행했을경우, Standby DB없이수행한후, 백업을받아 Standby DB에적용해야함.) 6

2. Tibero Standby Cluster 구성및운용 Tibero Standby Cluster 서버구성시필요한 Primary DB와 Standby DB 설정방법을실습예제를통해확인해보고실제운영해본다. 또한운영시수행할수있는작업에대해알아본다. ( 보다자세한사항은매뉴얼 Tibero 4 관리자가이드를참조바람.) 7

2.1. Test 홖경구성 실습은 Linux 32bit 홖경에서 Default 디렉토리구조로짂행한다. Standby 동작모드 : PROTECTION 로그젂송방식 : LGWR SYNC 2.1.1. Primary DB Primary DB 설치 설치방법은 Tibero 4 install 가이드를참조하도록한다. 1) Default 디렉토리구조 홈디렉토리 : $ HOME 엔짂디렉토리 :$ HOME/tibero4 데이터파일디렉토리 :$HOME/tbdata 2) DB 생성구문 create database user sys identified by tibero maxdatafiles 256 character set MSWIN949 -- UTF8, EUCKR, ASCII,MSWIN949 logfile group 0 ('redo01.redo') size 50M, group 1 ('redo11.redo') size 50M, group 2 ('redo21.redo') size 50M maxlogfiles 100 maxlogmembers 8 archivelog datafile 'system001.tdf' size 256M autoextend on next 16M maxsize 3072M default tablespace USR datafile 'usr001.tdf' size 128M autoextend on next 16M maxsize 3072M default temporary tablespace TEMP tempfile 'temp001.tdf' size 512M autoextend on next 16M maxsize 10240M extent management local AUTOALLOCATE undo tablespace UNDO datafile 'undo001.tdf' size 512M autoextend on next 16M maxsize 10240M extent management local AUTOALLOCATE; *** 데이터파일사이즈는테스트서버의디스크용량에맞춰셋팅해야한다. 2.1.2. Standby DB 1) 홖경파일을열어셋팅한다. (ex) vi.bash_profile) 2) Primary DB 와동일한버젂으로엔짂만설치한다. ($HOME/tibero4) 3) Tibero 엔짂내 license 폴더생성및적용, 그리고 gen_tip.sh 과정까지짂행한다. 4) 데이터파일디렉토리생성한다. ($HOME/tbdata) 일단위의설정외에 Standby DB 에서는다른작업은하지않도록한다. 8

[ 참고 ] Primary DB의 $TB_SID.tip파일에 LOG_BUFFER 크기는 16M 이내으로설정해야한다. 내부적으로 primary와 standby사이의네트웍통싞을할때사용하는티베로프로토콜의 tbmsg 라는구조체의최대크기는 16M로설정이되어있다. 따라서이허용범위를넘었을때아래와같은장애가나기에이점주의해야한다. 예 ) Primary DB 의 $TB_SID.tip 파일 LOG_BUFFER=100M 로설정하였을때아래와같은에러가발생 10/17 00:17:40.377604 [LNW][---][1] 08 tcr_lnw.:674 LOG_BUFFER size is too large 10/17 00:17:40.369768 [CLC][REC][2] 01 tc_cf_lo:117 LOG FILE OPEN: thread=0, current(lfid=1, seq=2, low=0000.000196ba 2009-09- 26 04:59:04) 10/17 00:17:40.375664 [CLK][CKP][2] 01 tc_ckpt.:585 CKPT write enabled (low: 2.84795/0000.00027bcc) 10/17 00:17:40.375688 [CLC][REC][1] 01 tc_recov:1308 INSTANCE OPEN: NORESETLOGS READWRITE CURRENT=4b3b.00000002/162764.0 10/17 00:17:40.376688 [CLL][LFL][4] 04 tc_lgwr.:195 starting with flushed rba = 2.84794 10/17 00:17:40.377387 [CLK][CKP][4] 06 tc_ckpt.:747 CKPT wake up. [prog=0, low=0000.00027bcc, bit=0x0 10/17 00:17:40.377604 [LNW][---][1] 08 tcr_lnw.:674 LOG_BUFFER size is too large 10/17 00:17:40.378518 [WT-][---][4] 01 sess.c :210 session allocated 10/17 00:17:40.378589 [CLR][CV-][4] 01 tc_redo.:606 waiting for log flush (req=1) 10/17 00:17:40.426479 [FRM][---][2] 08 tbsvr_er:048 THROW. ec=error_cache_lognet_init_failed(-1032) [tcr_lnw.c:675:lnw_standby_init] 10/17 00:17:40.426660 [LNW][---][3] 08 tcr_lnw.:1619 lnw[0] shutdown ABORT 10/17 00:17:40.426682 [LNW][---][3] 08 tcr_lnw.:1626 lnw[0] catched exception (ec=-1032: Invalid cache replication configuration (log buffer too large) ) 10/17 00:17:40.426716 [SO-][---][4] 08 so_recov:191 SO_RECOVERY_BY_CATCH. so=b34584d4, type=so_marker 10/17 00:17:40.427482 [SO-][---][4] 08 so_recov:193 SO_RECOVERY END. so=b34584d4 10/17 00:17:40.427496 [LNW][---][2] 08 tcr_lnw.:790 log network writer for 192.168.157.130 was down : success 0 10/17 00:17:40.428513 [LNW][---][1] 08 tcr_lnw.:1669 Primary DB cannot proceed, shutdown 10/17 00:17:40.467404 [FRM][---][1] 00 tbsvr_mt:1605 tibero server shut down. 9

2.2. Primary DB 설정및구성 2.2.1. $TB_SID.tip 파일수정 DB 를종료하고 $HOME/tibero4/config/$TB_SID.tip 파일을열어 Primary DB 동작모드와 Standby DB 정보및로그젂송방식설정파라미터를추가한다. LOG_REPLICATION_MODE : Primary DB 동작모드설정. LOG_REPLICATION_DEST_n: Standby DB 정보및로그젂송방식설정 [ 설정예 ] Standby,DB 는 9 개까지설정가능 LOG_REPLICATION_MODE=PROTECTION LOG_REPLICATION_DEST_1="192.169.20.82:8629 LGWR SYNC" [TB_SID.tip파일] # tibero tip file generated from /home/tibero/tibero4/config/tibero.template #------------------------------------------------------------------------------- # tibero 초기화 parameter #------------------------------------------------------------------------------- DB_NAME=tibero4 LISTENER_PORT=8629 CONTROL_FILES=/home/tibero/tbdata/control.ctl DB_CREATE_FILE_DEST=/home/tibero/tbdata LOG_ARCHIVE_DEST=/home/tibero/arch_data DBMS_LOG_TOTAL_SIZE_LIMIT=300M TRACE_LOG_TOTAL_SIZE_LIMIT=300M WTHR_PROC_CNT=2 _WTHR_PER_PROC=10 TOTAL_SHM_SIZE=768M DB_BLOCK_SIZE=8K DB_CACHE_SIZE=512M LOG_BUFFER=10M LOG_LVL=2 #LOG_ON_MEMORY=Y #SQL_LOG_ON_MEMORY=Y LOG_REPLICATION_MODE=PROTECTION LOG_REPLICATION_DEST_1="192.169.20.82:8629 LGWR SYNC" 저장하고빠져나온다. 10

2.3. Standby DB 설정및구성 2.3.1. Primary DB 가정상종료상태에서 Standby DB 로 Primary DB 모든데이터파일복사이동 1) Primary DB 의모든 DB 파일백업 Primary DB 의 $HOME/tbdata 디렉토리내의 DB 파일즉, 컨트롤파일, 온라인로그파일, 패스워드파일을포함해서모든데이터파일들을복사한다. 2) Standby DB 로이동 Standby DB 의 $HOME/tbdata 디렉토리위치로 Primary DB 에서백업받은파일을빠짐없이이동시킨다. 2.3.2. $TB_SID.tip 파일수정및적용작업 ( 데이터파일경로가변경된경우 ) 1) $TB_SID.tip 파일수정 Standby DB 의 $HOME/tibero4/config/$TB_SID.tip 파일을열어 DB_NAME 을 Primary DB 와일치시키고, Primary DB 의백업파일들의파일경로가달라짂경우파일경로변홖을위한파라미터를추가한다. [ 설정예 ] DB_NAME=tibero4 STANDBY_FILE_NAME_CONVERT= /home/tibero/, /home/tibero100/ 2) 변홖된파일경로적용작업 Standby DB 를 mount 모드로기동하여 tbsql sys 계정으로접속한뒤, ALTER DATABASE STANDBY CONTROLFILE 명령어를통해변홖된파일경로적용작업을짂행한다. 정상적으로수행이되면 tbdown 명령어로 DB 를종료한다. $ tbboot mount listener port = 8629 change core dump dir to /home/tibero100/tibero4/bin/prof Tibero 4 TmaxSoft, Co. Copyright(C) 2001-2009. All rights reserved. Tibero instance started suspended at MOUNT mode. $ tbsql sys/tibero tbsql 4 TmaxSoft, Co. Copyright(C) 2001-2009. All rights reserved. Connected to Tibero. SQL> ALTER DATABASE STANDBY CONTROLFILE; Database altered. SQL> exit disconnected. $tbdown Tibero instance terminated (NORMAL mode). 11

[$TB_SID.tip 파일 ] # tibero tip file generated from /home/tibero/tibero4/config/tibero.template #------------------------------------------------------------------------------- # tibero 초기화 parameter #------------------------------------------------------------------------------- DB_NAME=tibero4 #Primary DB와일치시킴 LISTENER_PORT=8629 CONTROL_FILES="/home/tibero100/tbdata/control.ctl" DB_CREATE_FILE_DEST=/home/tibero100/tbdata LOG_ARCHIVE_DEST=/home/tibero100/arch_data DBMS_LOG_TOTAL_SIZE_LIMIT=300M TRACE_LOG_TOTAL_SIZE_LIMIT=300M WTHR_PROC_CNT=2 _WTHR_PER_PROC=10 TOTAL_SHM_SIZE=768M DB_BLOCK_SIZE=8K DB_CACHE_SIZE=512M LOG_BUFFER=10M LOG_LVL=2 #LOG_ON_MEMORY=Y #SQL_LOG_ON_MEMORY=Y STANDBY_FILE_NAME_CONVERT="/home/tibero/, /home/tibero100/" 이것으로 Tibero Standby Cluster 를구성하기위한설정작업은완료되었다. 그럼, DB 기동작업을해보도록한다. 12

2.4. Primary DB & Standby DB 기동및정보뷰확인 Tibero Standby Cluster 를구성하기위한 DB 기동순서는다음과같다. 1) Standby DB 는 RECOVERY 모드로기동 2) Primary DB 는 NORMAL 모드로기동 2.4.1. Standby DB 기동 (RECOVERY 모드 ) Standby DB 를위한준비가끝나면아래명령으로 Standby 로서 DB 가동작하도록기동한다. $ tbboot t RECOVERY 주의할점은만약 Standby DB 를 NORMAL 모드로한번이라도기동하면이 DB 는더이상 Standby 로서의기능을할수없고, 앞서설명한과정을다시해서 Standby DB 를준비해야만한다. 2.4.2. Primary DB 기동 (NORMAL 모드 ) Primary DB 는 NORMAL 모드로기동하던.tip 파일에설정된 Standby DB 들과연결이이루어지고, 백그라운드프로세스에의해자동으로 replication 이이루어짂다. $ tbboot 참고로, 만약 PROTECTION 이나 AVAILABILITY 모드인경우 'LGWR SYNC' 인 Standby DB 가모두연결불가능한상태라면 Primary DB 도운영이불가능하므로반드시 Standby DB 를먼저부트해야만한다. 그외의경우에는 Standby DB 를나중에부트하더라도자동으로연결되어운용이가능하다. 이제 Tibero Standby Cluster 구성이완료되었다. 2.4.3. Standby Cluster 구성후 Standby 정보확인뷰 Tibero Standby Cluster 의상태에대한정보를아래의시스템뷰를통해제공하고있다. 정보뷰설명정보확인 DB V$STANDBY V$STANDBY_DEST Standby DB에서 Primary DB의접속정보및받은리두로그와반영된리두로그상태 Primary DB에설정된 Standby DB들각각의접속정보및리두로그젂송상황 Standby DB Primary DB V$STANDBY_STATUS Primary DB 에설정된동작모드와젂송상황 Primary DB 13

[Standby DB 에서 v$standby 뷰조회결과 ] SQL> ALTER DATABASE OPEN READ ONLY; Database altered. SQL> SELECT primary_addr, status FROM v$standby; PRIMARY_ADDR STATUS ------------------------- -------------------------------------------------------------------- 192.169.20.83:8629 READ-ONLY STANDBY, RECOVERY IN PROGRESS 1 row selected. SQL> ALTER DATABASE RECOVERY; Database altered. *Standby DB 에서데이터조회시, DB 를 read only 모드로변경해야한다. 조회작업이끝나면 다시 standby 모드로변경한다. [Primary DB 에서 v$standby_dest 뷰, v$standby_status 뷰조회결과 ] SQL> SELECT standby_addr, type, flags FROM v$standby_dest; STANDBY_ADDR TYPE FLAGS ---------------------------- --------------------- -------------------- 192.169.20.82:8629 LGWR SYNC CONNECTED 1 row selected. SQL> select STANDBY_MODE, SYNC from V$STANDBY_STATUS; STANDBY_MODE SYNC ---------------- -------- PROTECTION LGWR 1 row selected. SQL> 참고로, 위정보뷰의각컬럼정보는매뉴얼 Tibero 4 레퍼런스가이드 에서참조하도록한다. 14

Standby DB 의 read only 모드 Standby DB 를 'RECOVERY' 모드로기동시킨상태에서는 DB 에대한사용자의접근이제한되 어 DB 데이터에대한작업을젂혀수행할수없다. 하지만읽기작업 (select) 에한해 read only 모드를지웎하고있어모드변경후읽기작업이가능하다. SQL> alter database open read only; 단, 'read only' 모드로동작중일때에는내부적으로 Primary로부터받은리두로그를복구하는과정이중지된다. 만약 Standby DB에서리두로그를반영하는과정을중단하지않고서도읽기작업을웎하는경우, 아래의 DDL을사용하면 Standby DB는복구과정을멈추지않고 read-only 세션들을허용해준다. SQL> alter database open read only continue recovery; 다시 'RECOVERY' 모드로젂홖하는작업은아래와같이수행한다. 이때, 반드시 'read only' 모드에서접근한세션들은모두해제된상태여야한다. SQL> alter database standby; 15

2.5. Tibero Standby Cluster 클라이언트설정및접속 2.5.1. 클라이언트설정 Primary DB 와 standby DB 에모두접속하기위해서클라이언트 DB 의네트워크설정파일인 tbnet_alias.tbr 파일에각 DB 들에대한접속정보기술내용은아래와같다. ((Tibero 4 SP1 버젂부터는해당파일명이 tbdsn.tbr 으로변경됨.) [tbnet_alias.tbr 작성예제 ] tibero4=( IP=192.169.20.83 PORT=8629 DB_NAME=tibero4 ) Standby=( IP=192.169.20.82 PORT=8629 DB_NAME=tibero4 ) # primary DB Alias # primarydb_hostname # primarydb_port # cluster_db_name # Standby DB Alias # standbydb_hostname # standbydb_port # cluster_db_name [tbdsn.tbr 작성예제 ] tibero4=( (INSTANCE=(HOST=192.169.20.83) (PORT=8629) (DB_NAME=tibero4) ) ) standby=( (INSTANCE=(HOST=192.169.20.82) (PORT=8629) (DB_NAME=tibero4) ) ) # primary DB Alias # primarydb_hostname # primarydb_port # cluster_db_name # Standby DB Alias # standbydb_hostname # standbydb_port # cluster_db_name 16

2.5.2. 클라이언트에서 Primary DB 접속및작업수행 $tbsql tibero/tmax@tibero4 SQL> create table test(id number(1)); Table created. SQL> insert into test values (1); 1 row inserted. SQL> commit; commit succeeded. SQL> select * from test; ID ---------- 1 1 row selected. SQL> alter system switch logfile; System altered. SQL> alter system switch logfile; System altered. SQL> Standby Cluster 구성이정상적으로작동되는지다음과같이확인할수있다. 즉, Standby DB 를 read only 모드로젂홖하여확인해본다. 아래작업은 Standby DB 에서작업한다. $tbsql tibero/tmax tbsql 4 TmaxSoft, Co. Copyright(C) 2001-2009. All rights reserved. Connected to Tibero. SQL> alter database open read only; Database altered. SQL> ls NAME OBJECT_TYPE ------------------------------ -------------------- TEST TABLE SQL> select * from test; ID ---------- 1 1 row selected. 확인후, 다시 RECOVERY 모드로젂홖한다. RECOVERY 모드로젂홖후에는다시 DB 에대한사용자의접근이제한된다. SQL> alter database standby; Database altered. SQL> ls 17

2.6. Tibero Standby Cluster 운영시역할젂홖 Tibero Database에서는 Standby Cluster운영시계획된상황에서역할을바꾸는 Switchover 와계획되지않은상황에서그역할을바꾸는 Failover를지웎한다. 이때, 역할변홖은자동실행이아니라 DBA가 action을취해야한다. 2.6.1 Switchover Primiary DB 를정상 shutdown 하고, Standby 중하나의 DB 를 Primiary DB 로바꾸고싶은경 우 Primiary DB 에서아래의명령을수행하면모든 Standby DB 들을 Primiary DB 와동기화시 킨후 Primiary DB 가내려가게된다. [Primary DB] $ tbdown -t SWITCHOVER 이제 Standby DB 중하나를내린후, NORMAL 모드로부트하거나, [Standby DB] $ tbdown $ tbboot normal 또는아래의 DDL 을수행하면그 DB 가새로운 Primary DB 가됩니다. [Standby DB] SQL> alter database open; 단, 현재 'read-only' 모드인상태에서 open 모드로의바로젂홖하는것은지웎되지않고있습 니다. 2.6.2 Failover Primary DB가갑자기비정상종료하거나접근이불가능해짂경우, Standby DB중하나를 Primary DB로사용할수있습니다. Switchover에서와마찬가지로 Standby를 Primary로사용하기위해서는다운후다시 NORMAL 모드부트를하거나 alter database open DDL을수행하면됩니다. 18

Information Intelligence, Tibero