슬라이드 1

Size: px
Start display at page:

Download "슬라이드 1"

Transcription

1 c

2 ALTIBASE HDB ADMINISTRATION I INTRODUCTION to ALTIBASE HDB ALTIBASE HDB CONCEPT 타 DBMS와의비교 INSTALLATION STARTUP & STOP isql

3 ALTIBASE HDB CONCEPT

4 DBMS 특징 메모리 DBMS 의특징 빠른데이터처리성능 데이터와인덱스를모두메모리에저장하여처리하므로빠른데이터처리가능 메모리인덱스는 RID가아닌 Physical한포인터로관리하기때문에액세스가빠름 디스크 I/O로인한성능저하가거의발생하지않음 OLTP성업무에사용하기적합 물리적메모리의크기만큼만데이터를적재할수있는제약사항이있음 DATABASE ENGINE MEMORY LAYER Memory Tablespace DISK STORAGE LAYER

5 DBMS 특징 디스크 DBMS 의특징 대용량데이터처리 메모리 DBMS에비해데이터의저장공간에대한제약이거의없음 History성데이터, DW 용으로사용하기적합 처리성능에제한 디스크I/O로인한성능저하발생 Buffer에데이터상주시켜도인덱스는디스크에생성됨 DATABASE ENGINE MEMORY LAYER DISK STORAGE LAYER Memory Buffer DISK Tablespace

6 Hybrid DBMS 도입배경 Hybrid DBMS 를통한효율성증대 일반적 MMDBMS 의적용 ( 혼용구조 ) Hybrid DBMS 의적용 MMDBMS 데이터동기화필요 DBA APPLICATION Resource Hybrid DBMS 통합엔진 DBA APPLICATION Resource DRDBMS 유지보수 유지보수 관리에서운영, 구성적인모든비용과노력들이두개의 DBMS 를전부제어해야만함 메모리와디스크저장장치를하나의엔진에서완벽하게융합되어제공함으로효율성극대화 관리적비용 : DRDBMS + MMDBMS 비용추가 운영적비용 : DRDBMS + MMDBMS 비용추가 구성적비용 : DRDBMS + MMDBMS 비용추가 관리적비용 : Hybrid DBMS 만을관리 [ 비용 ½ 절감 ] 운영적비용 : Hybrid DBMS 만을관리 [ 비용 ½ 절감 ] 구성적비용 : Hybrid DBMS 만을관리 [ 비용 ½ 절감 ]

7 Hybrid DBMS Hybrid DBMS Concept 사용자는 Memory DBMS, Disk DBMS 의구분없이하나의 DBMS 만접근 ALTIBASE HDB MEMORY LAYER DISK STORAGE LAYER Memory Tablespace Memory Buffer DISK Tablespace

8 타 DBMS 와의비교

9 Architecture 비교 기능 O사 DB ALTIBASE HDB 비고 DBMS Process구조 Multi Process 구조 Multi Thread 구조 모델 Relational DBMS 구조 Relational DBMS 구조 아키텍처 Client-Server 구조 Client-Server 구조 데이터베이스클러스터링 (RAC) 이중화 (Replication) High Availability 방식 별개 Instance Storage 공유 별개 Instance Storage 별도 Replication 은테이블의데이터만복제됨 스키마공유 스키마별도 데이터공유 데이터복제 64bit 모드지원 지원됨 지원됨 Locking Mode Row-Level Locking Row-Level Locking MVCC를지원함 DB Recovery Datafile & Redo logfile 이용 Datafile & Redo logfile 이용 DeadLock Detection Auto Deadlock Detect & Recovery Auto Deadlock Detect & Recovery

10 Architecture 비교 기능 O 사 DB ALTIBASE HDB 비고 DB 정보파일 Control 파일 loganchor 파일 Online 로그파일 Redo log 파일 (Recycle) Redo log 파일 (Sequential) Archive 로그파일 %t_%s_%r.arc logfile0 ~ Undo TBS System TBS UNDO 사용자지정 SYSTEM, SYSAUX SYS_TBS_DISK_UNDO SYS_TBS_MEM_DIC, SYS_TBS_MEM_DATA, SYS_TBS_DISK_DATA Temp TBS TEMP 사용자지정 SYS_TBS_DISK_TEMP 사용자지정 Memory TBS 없음사용자지정 Volatile TBS 없음사용자지정 Disk TBS 사용자지정사용자지정

11 STORAGE 비교 O사 DB Storage 구조 ALTIBASE HDB Storage 구조기능 O사 DB ALTIBASE HDB 데이터베이스 (DB) 데이터베이스 (DB) Database Database 테이블스페이스 (Tablespace) 테이블스페이스 (Tablespace) Tablespace Segment Tablespace Segment 관리구조 데이터파일 (Datafile) 세그먼트 (Segment) Extent 데이터파일 (Datafile) 세그먼트 (Segment) Extent Block Page Extent Extent Block Page

12 일반기능비교 ALTIBASE HDB O 사 DB 비고 Table 지원됨지원됨 Multi Key-Index 지원됨 지원됨 Stored Procedure 지원됨 지원됨 Stored Function 지원됨 지원됨 Package 지원됨 지원됨 Trigger 지원됨 지원됨 View 지원됨지원됨 Sequence 지원됨지원됨 Queue 지원됨지원됨 Monitoring View 지원됨지원됨 권한관리 지원됨 지원됨 Role 지원됨 지원됨 V6.5 부터지원 Snapshot 지원안됨 지원됨 DB Link 지원됨 지원됨

13 일반기능비교 ALTIBASE HDB O사 DB 비고 Synonym 지원됨 지원됨 Table partitioning 지원됨 지원됨 User Defined Type 지원됨 지원됨 Procedure 에서만지원됨 Cluster Object 지원안됨 지원됨 On-Line Backup 지원됨 지원됨 XML 지원 지원안됨 지원됨 DB공간자동확장 지원됨 지원됨

14 SQL 비교 ALTIBASE HDB O 사 DB 비고 SQL 표준 SQL (ANSI-SQL92 지원 ) 표준 SQL, 변형 SQL (ANSI-SQL92, ANSI- SQL1999 지원 ) Sub-query(In-Line View) 지원됨지원됨 ANSI-SQL1999 의객체지향기능은지원하지않음 Sub-query(Scalar) 지원됨 지원됨 Sub-query(=,IN,EXISTS) 지원됨 지원됨 Equi Join 지원됨 지원됨 Inner Join 지원됨 지원됨 Outer Join 지원됨지원됨 Self Join 지원됨지원됨 계층적질의 CONNECT BY ~ WITH 지원됨 지원됨 Array Processing 지원됨지원됨 Move 구문지원됨지원안됨 O 사 Style Outer Join(+) 지원

15 SQL 비교 ALTIBASE HDB O 사 DB 비고 Queue Enqueue/Dequeue Advanced Queue 사용구문 / 방법의차이 SELECT ~ FOR UPDATE 지원됨 지원됨 Join 사용은지원하지않음 SELECT DISTINCT ~ 지원됨 지원됨 UNION 지원됨지원됨 UNION ALL 지원됨 지원됨 INTERSECT 지원됨 지원됨 MINUS 지원됨지원됨 CERATE TABLE AS SELECT ~ 지원됨 지원됨 Literal/Bind SQL 지원됨 지원됨 VIEW를통한 DML 지원됨 지원됨 Hint 기능 지원됨 지원됨 Cost Optimizer 지원됨 지원됨 Parallel Select 지원안됨 지원됨 Parallel Insert 지원됨 지원됨 Parallel Index Build 지원됨 지원됨

16 New Features(6.3.1)

17 Job Scheduler

18 Job Scheduler Job scheduler 저장프로시저에실행일정을결합한 JOB 객체를제공 한개의 JOB에는한개의프로시저만등록 JOB_SCHEDULER_ENABLE 과 JOB_THREAD_COUNT 프로퍼티설정필요 SYS 사용자만이 JOB을생성, 변경, 삭제할수있음 Job scheduler 의시작및종료 Job scheduler 시작 isql> ALTER SYSTEM SET job_scheduler_enable = 1 ; Alter success. isql> ALTER SYSTEM SET job_thread_count = 8 ; => property 파일을수정해야함 Alter success. Job scheduler 종료 isql> ALTER SYSTEM SET job_scheduler_enable = 0 ; Alter success.

19 작업생성 구문 CREATE JOB job_name EXEC procedure_name START expr1 END expr2 INTERVAL number {YEAR MONTH DAY HOUR MINUTE} ; 예제 이름이 proc1 인프로시저가현재부터실행되어 1 시간주기로작업을실행후, 3 일후에끝나도록 JOB 을생성하라. isql> CREATE JOB job1 2 EXEC proc1 3 START sysdate 4 END sysdate INTERVAL 1 HOUR; Create success.

20 작업변경 구문 ALTER JOB job_name SET execute_procedure_statement START expr1 END expr2 INTERVAL number {YEAR MONTH DAY HOUR MINUTE} ; 예제 Job1 이실행되는시작시간을 2014 년 1 월 1 일 로변경하라 isql> ALTER JOB job1 2 SET START to_date( , YYYYMMDD ); Alter success. Job1 의실행주기를 10 분간격으로변경하라 isql> ALTER JOB job1 2 SET INTERVAL 10 MINUTE; Alter success.

21 작업삭제 구문 DROP JOB job_name ; 예제 이름이 job1 인 JOB 을제거하라 isql> DROP JOB job1; Drop success.

22 Function Based Index

23 함수기반인덱스 함수기반인덱스 함수또는수식의결과값을기반으로생성하는인덱스 WHERE절에함수또는산술표현을자주사용시빠른검색속도를보장 QUERY_REWRITE_ENABLE 를 1로변경한후인덱스사용가능 예제 isql> ALTER SESSION SET EXPLAIN PLAN = ON; Alter success. isql> CREATE INDEX NVL_IDX ON employee (NVL(salary, 0)); Create success. isql> SELECT eno, ename, salary FROM employee 2 WHERE (NVL(salary, 0)) < ; ENO ENAME SALARY EJJUNG 7 HJMIN JDLEE 13 KWKIM DIKIM 5 rows selected PROJECT ( COLUMN_COUNT: 3, TUPLE_SIZE: 35, COST: 0.31 ) SCAN ( TABLE: EMPLOYEE, FULL SCAN, ACCESS: 20, COST: 0.24 )

24 함수기반인덱스 예제 isql> ALTER SESSION SET QUERY_REWRITE_ENABLE = 1; Alter success. isql> SELECT eno, ename, salary FROM employee 2 WHERE (NVL(salary, 0)) < ; ENO ENAME SALARY EJJUNG 8 JDLEE 20 DIKIM 7 HJMIN KWKIM rows selected PROJECT ( COLUMN_COUNT: 3, TUPLE_SIZE: 35, COST: 0.07 ) SCAN ( TABLE: EMPLOYEE, INDEX: NVL_IDX, RANGE SCAN, ACCESS: 5, COST: 0.00 )

25 압축컬럼

26 컬럼압축 개념 압축컬럼 중복된데이터를딕셔너리테이블에별도로저장하고, 그데이터를가리키는 OID 로대체함 압축테이블 압축컬럼이속해있는테이블 압축컬럼을포함하는테이블생성시, 서버에서압축컬럼별로딕셔너리테이블과유니크인덱스를자동으로생성하여관리함 Employee 테이블 NAME DEPARTMENT POSITION KIM Sales Clerk OID PARK Personal Manager OID LEE Marketing Manager OID YUN Sales Clerk OID MIN Marketing Staff OID JEONG Personal Staff OID 압축컬럼 POSITION Manager Staff Clerk Dictionary 테이블

27 컬럼압축 압축테이블생성 구문 isql> CREATE TABLE EMPLOYEE ( 2 NAME CHAR(20), 3 DEPARTMENT CHAR(20), 4 POSITION CHAR(20) 5 ) COMPRESS ( DEPARTMENT, POSITION MAXROWS 100 ); NAME CHAR(20) 압축테이블 DEPARTMENT CHAR(20) 압축컬럼 POSITION CHAR(20) KIM OID OID PARK OID OID LEE OID OID YUN OID OID MIN OID OID JEONG OID OID DEPARTMENT CHAR(20) Marketing Sales Personal POSITION CHAR(20) Manager Staff Clerk Dictionary 테이블 Dictionary 테이블

28 컬럼압축 주의사항 INSERT / UPDATE 시주의사항 Insert 하는값이 Dictionary 테이블에존재하는지조회후, 존재한다면해당 OID 값을저장함 존재하지않으면 Dictionary 테이블에해당값을 Insert 후, OID 를얻어서테이블에저장함 ( 성능저하발생 ) INSERT ( Yu, Sales, Manager ); 압축테이블 INSERT ( Yu, Consulting, Manager ); NAME CHAR(20) DEPARTMENT CHAR(20) POSITION CHAR(20) KIM OID OID PARK OID OID LEE OID OID YUN OID OID MIN OID OID JEONG OID OID YU OID OID DEPARTMENT CHAR(20) Marketing Sales Personal Consulting POSITION CHAR(20) Manager Staff Clerk Dictionary 테이블 Dictionary 테이블

29 컬럼압축 주의사항 DELETE 시주의사항 DELETE 실행후, 딕셔너리테이블에 unpointed data 가남아있을수있음 테이블 Reorganize 작업을통해 unpointed data 를삭제할수있음 DELETE FROM EMPLOYEE ; NAME CHAR(20) 압축테이블 DEPARTMENT CHAR(20) POSITION CHAR(20) KIM OID OID PARK OID OID LEE OID OID YUN OID OID MIN OID OID JEONG OID OID DEPARTMENT CHAR(20) Marketing Sales Personal POSITION CHAR(20) Manager Staff Clerk Dictionary 테이블 Dictionary 테이블

30 컬럼압축 주의사항 REORGANIZE 테이블에 X Lock 을획득후, Reorganize 작업을실행함 딕셔너리테이블과인덱스의 unpointed 데이터를삭제함 isql> ALTER TABLE EMPLOYEE 2 REORGANIZE COLUMN ( DEPARTMENT, POSITION ); DEPARTMENT CHAR(20) Marketing Sales Sales Personal Dictionary 테이블 POSITION CHAR(20) Manager Staff 지원되는 Data Type Staff Clerk CHAR, VARCHAR, NCHAR, NVARCHAR, BYTE, BIT, VARBIT, NIBBLE, DATE CHAR, VARCHAR 의경우 precision이 8 이상인경우에만압축이허용됨 Dictionary 테이블

31 컬럼압축 주의사항 압축컬럼추가 ALTER TABLE ~ ADD COLUMN 구문을사용하여압축컬럼을추가할수있음 컬럼추가없이기존컬럼압축은안됨 (DROP COLUMN ADD COLUMN) ALTER TABLE EMPLOYEE ADD COLUMN (JOIN_DATE CHAR(20) ) COMPRESS (JOIN_DATE) ; NAME CHAR(20) DEPARTMENT CHAR(20) POSITION CHAR(20) JOIN_DATE CHAR(20) KIM Sales Clerk OID PARK Personal Manager LEE Marketing Manager YUN Sales Clerk MIN Marketing Staff JEONG Personal Staff OID OID OID OID OID JOIN_DATE CHAR(20) Dictionary 테이블

32 STARTUP & SHUTDOWN

33 STARTUP STARTUP 과정 구동단계는총 4 단계로구분 각단계마다 "STARTUP" 이라는구문을이용하여다음단계로전이 PROCESS 단계 내부모듈의초기화및 isql 이접속가능하도록프로세스를구동 프로퍼티및라이센스파일의유무및정합성을체크 DB 작업도일체수행할수없음 ( 단, CREATE/DROP DATABASE 만수행가능 ) CONTROL 단계 DB 복구가가능한수준까지내부모듈을준비 복구수행및데이터베이스운영모드 (archive 모드 ) 를변경가능함 DB 복구에필요한메타및성능뷰를조회할수있음 META 단계 DB 구동을위해메모리 / 디스크데이터파일의정합성을체크 Restart recovery 를수행 내부주요쓰레드를활성화 SERVICE 단계 사용자가 DB 를사용할수있도록모든준비를완료

34 STARTUP 구동하기 Shell::/home/alti1> isql sysdba Altibase Client Query utility. Release Version Copyright 2000, ALTIBASE HDB Corporation or its subsidiaries. All Rights Reserved Write UserID : sys Write Password : manager ISQL_CONNECTION = UNIX, SERVER = , PORT_NO = [ERR-910FB : Connected to idle instance] isql(sysdba)> STARTUP SERVICE; Connecting to the DB server... Connected..... [RP] Initialization : [PASS] --- STARTUP Process SUCCESS ---

35 STARTUP 구동이후프로세스확인 OS 에서제공하는 "ps" 명령을통해프로세스 ID 를확인가능 (alti1 사용자인경우 ) Shell::/home/alti1> ps -ef grep "altibase -p boot from" grep alti1 grep -v grep alti :05:09? 0:51 /home/alti1/altibase_home/bin/altibase -p boot from admin OS 명령어를이용한 CPU 및메모리의사용량 Shell::/home/alti1> export UNIX95=1 ( 일부 OS 에서아래 ps o 옵션이안될경우사용 ) Shell::/home/alti1> ps o pcpu,vsz p <altibase_process_id> %CPU VSZ (Kbyte 단위로표시됨 )

36 SHUTDOWN SHUTDOWN 과정 SHUTDOWN 과정은 STARTUP의역순으로진행 STARTUP과달리단계의전이는존재하지않음 "SHUTDOWN" 구문을통해진행가능 아래의 3가지옵션에따라다른동작을수행 NORMAL 옵션 접속한세션이정상종료될때까지대기후 STOP과정을진행 IMMEDIATE 옵션 접속한세션을강제종료시킨후 STOP과정을진행 강제종료되는세션의트랜잭션은모두롤백처리 ABORT 옵션 "kill -9" 와같이프로세스를강제로종료시킴 이경우정상종료와달리재구동시에 restart recovery라는자동복구과정이진행됨

37 SHUTDOWN 종료하기 Shell::/home/alti1> isql sysdba Altibase Client Query utility. Release Version Copyright 2000, ALTIBASE HDB Corporation or its subsidiaries. All Rights Reserved Write UserID : sys Write Password : manager ISQL_CONNECTION = UNIX, SERVER = , PORT_NO = [ERR-910FB : Connected to idle instance] isql(sysdba)> SHUTDOWN IMMEDIATE; Ok..Shutdown Proceeding... TRANSITION TO PHASE : Shutdown Altibase [RP] Finalization : PASS shutdown immediate success.

38 SERVER SCRIPT server 스크립트 $ALTIBASE_HOME/bin/ 에위치 DB의구동, 종료, 및 DB생성등을쉽게할수있도록제공되는쉘스크립트 명령행인자구분 create start stop restart kill 설명 DB 를쉽게생성하는기능 ex) shell> server create MS949 UTF8 ALTIBASE HDB 를구동시키는기능 ex) shell> server start ALTIBASE HDB 를정상적인과정으로종료하는기능 ex) shell> server stop ALTIBASE HDB 를재구동하는기능 ex) shell> server restart ALTIBASE HDB 를강제로 kill 시키는기능 ex) shell> server kill

39 SERVER SCRIPT server 스크립트의 start 부분 #!/bin/sh ADMIN="${ALTIBASE_HOME}/bin/isql -u sys -p manager sysdba -noprompt" ISQL="${ALTIBASE_HOME}/bin/isql -s localhost -u sys -p manager -silent" if [ "$1" = "status" ]; then MODE=`echo $* cut -f 2-4 -d ' '` if [ "$MODE" = "status" ]; then MODE= fi fi case "$1" in # server 실행시첫번째인자값이 "start" 인경우 'start') # for WINDOWS natc if [ -f ${ALTIBASE_HOME}/bin/chkFileLock ]; then # 이미구동된상태인지체크 chkfilelock >> ${ALTIBASE_HOME}/flock.log fi ${ADMIN} << EOF # startup SQL구문을 isql을통해실행하는형태 startup quit EOF

40 SERVER SCRIPT server 스크립트의 stop 부분 #!/bin/sh ADMIN="${ALTIBASEHOME}/bin/isql -u sys -p manager sysdba -noprompt" ISQL="${ALTIBASE_HOME}/bin/isql -s localhost -u sys -p manager -silent".... case "$1" in # server 실행시첫번째인자값이 "stop" 인경우 'stop') ${ADMIN} << EOF > /dev/null ALTER SYSTEM SET CHECKPOINT_BULK_WRITE_PAGE_COUNT = 0; ALTER SYSTEM SET CHECKPOINT_BULK_WRITE_SLEEP_SEC = 0; ALTER SYSTEM SET CHECKPOINT_BULK_WRITE_SLEEP_USEC = 0; quit; EOF killcheckserver > ${ALTIBASE_HOME}/trc/killCheckServer.log 2>&1 ${ADMIN} << EOF shutdown immediate; # shutdown SQL 구문을 isql 을통해실행하는형태 quit; EOF

41 SERVER SCRIPT server 스크립트를이용하는구동 Shell::/home/alti1> server start Altibase Client Query utility. Release Version Copyright 2000, ALTIBASE HDB Corporation or its subsidiaries. All Rights Reserved ISQL_CONNECTION = UNIX, SERVER = , PORT_NO = [ERR-910FB : Connected to idle instance] Connecting to the DB server... Connected..... [RP] Initialization : [PASS] --- STARTUP Process SUCCESS --- Command execute success.

42 SERVER SCRIPT server 스크립트를이용하여종료 Shell::/home/alti1> server stop Altibase Client Query utility. Release Version Copyright 2000, ALTIBASE HDB Corporation or its subsidiaries. All Rights Reserved ISQL_CONNECTION = UNIX, SERVER = , PORT_NO = Ok..Shutdown Proceeding... TRANSITION TO PHASE : Shutdown Altibase [RP] Finalization : PASS shutdown immediate success.

43 isql

44 isql isql $ALTIBASE_HOME/bin 에위치 DB에접속하여질의수행및결과를조회하는유틸리티 DBA권한으로 DB 구동및종료, 백업및복구의수행 세션의강제종료를수행 Shell::/home/alti1> isql u sys p manager port nls_use MS949 s Altibase Client Query utility. Release Version Copyright 2000, ALTIBASE HDB Corporation or its subsidiaries. All Rights Reserved ISQL_CONNECTION = TCP, SERVER = , PORT_NO = isql>

45 isql is 스크립트 $ALTIBASE_HOME/bin 에위치 isql의입력시옵션들을생략하고접속할수있도록제공하는스크립트 Shell::/home/alti1> cat $ALTIBASE_HOME/bin/is #!/bin/sh trap "" TSTP ${ALTIBASE_HOME}/bin/isql -s u sys -p manager $*

46 isql isql 실행시입력옵션 입력옵션 설명 -s ALTIBASE HDB 서버가위치한 IP 를지정 -u ALTIBASE HDB 사용자명을지정 -p DB 사용자의패스워드를지정 -port -nls_use ALTIBASE HDB Listen Port 번호를지정 ALTIBASE HDB 생성시입력한문자셋을지정 -o isql 에서실행한결과를저장할파일명을지정 -f isql 에서수행할질의및명령을저장한입력파일명을지정 -h 입력옵션에대한도움말을출력 -silent isql 배너를화면에출력하지않게할경우지정

47 isql isql 실행후옵션 (1) 옵션 설명 테이블구성정보를확인 지정된파일명을실행! OS 명령을수행하고자할경우 h 수행된질의의목록을확인 / 직전에수행한질의를재수행 ed autocommit spool [filename] show all show user 직전에수행한질의를편집하고자할경우현재세션의 autocommit 모드를변경할경우 spool 명령에입력된파일에현재수행결과를기록 isql의현재설정상태및사용자명을출력 isql에접속한사용자명을출력

48 isql isql 실행후옵션 (2) colsize 옵션 컬럼사이즈의길이를지정 설명 linesize pagesize heading timing vertical foreignkeys querylogging 하나의레코드의출력라인의길이를지정 지정된개수만큼레코드출력후컬럼타이틀을출력 출력결과에서컬럼타이틀을보이거나감추도록설정 실행한질의의수행시간을 1/100 초단위로출력 컬럼들을세로로출력한라인에 ( 컬럼명 : Value ) 형태로결과를출력 desc 명령으로테이블조회시참조키정보를출력 수행한변경질의를 $ALTIBASE_HOME/trc/isql_query.log 파일에수행한질의를시간순으로저장

49 isql glogin.sql isql 접속할때자동으로수행시키려는설정값을전역으로설정할경우사용 $ALTIBASE_HOME/conf/glogin.sql 로저장 login.sql glogin.sql 과동일하며 isql 을실행하는유저에게만적용하고자할경우사용 isql 을실행하는디렉토리에 login.sql 을저장 glogin.sql, login.sql 이동시에존재할경우 glogin.sql login.sql 순으로적용 isql 에서주석처리 Single Line 주석 : -- comment Multi Line 주석 : /* comment */ isql> -- test comment isql> SELECT /* comments */ sysdate FROM dual;

50 isql isql 사용예 : 일반조회시와 VERTICAL 옵션의사용의차이 isql> SELECT * FROM t1 LIMIT 3; A rows selected. isql> SET VERTICAL ON; isql> SELECT * FROM t1 LIMIT 3; A : 1 A : 2 A : 3 3 rows selected. isql>

51 isql isql 사용예 : 실행계획을조회할경우 isql> ALTER SESSION SET EXPLAIN PLAN = ON; Alter success. isql> SELECT * FROM t1 WHERE a = 2; A row selected PROJECT ( COLUMN_COUNT: 1, TUPLE_SIZE: 4 ) SCAN ( TABLE: T1, INDEX: SYS_IDX_ID_102, ACCESS: 1, SELF_ID: 2 ) PLAN 옵션 = [ON / ONLY / OFF ]

52 isql isql 사용예 : 세션의강제종료 대상이되는세션의고유번호를확인해야함 Shell> is isql> ALTER DATABASE db_name SESSION CLOSE session_id; < 정상처리의결과 > isql> ALTER DATABASE mydb SESSION CLOSE 14; Alter success. < 존재하지않는세션을단절하려고할경우 > isql> ALTER DATABASE mydb SESSION CLOSE 14; [ERR-41080: Invalid Session ID 14]

53 ALTIBASE HDB ADMINISTRATION I ARCHITECTURES FEATURES ARCHITECTURE TABLESPACE MANAGEMENT TRANSACTION MANAGEMENT BUFFER MANAGEMENT

54 FEATURES

55 Features 서버클라이언트엔진구조클라이언트 - 서버프로토콜을선택 (TCP/IP, IPC, Unix Domain socket) 인터페이스 ANSI SQL 92 Full spec, ODBC 3.0, JDBC 2.0, C/C++, ADO.NET, C/C++ Precompiler 제공 다중버전동시성제어기법 (MVCC) 트랜잭션의동시성제어를위해다중버전동시성제어 (MVCC, Multi-Version Concurrency Control) 기법을사용 고립화수준트랜잭션고립화수준을 Read Commited(default), Repeatable Read, No Phantom Read(=Serializable) 지정 Fuzzy/Ping-Pong Checkpoint 제공 Checkpoint 수행중에발생한트랜잭션을처리할수있도록 Fuzzy Checkpoint 를제공하며 Checkpoint 시에도트랜잭션처리를빠르게하는 Ping-Pong Checkpoint 를제공

56 Features DeadLock 감지비정상적인트랜잭션감지를위해프로세스를따로두지않고 DeadLock 발생순간에에러를발생시켜신속히조치 Stored Procedure/Function 제공업무절차를하나의서버모듈로만든후, DBMS 에저장해두고, 모듈이름만호출하여업무프로세스를 DBMS 에수행할수있음 데이터베이스이중화 TCP 기반의네트워크를통해변경트랜잭션로그를전송하고원격서버에서이를반영하여데이터를복제를수행 데이터베이스공간 ALTIBASE HDB 는하나이상의테이블스페이스로구성되고, 테이블스페이스는메모리와디스크로나눔

57 ARCHITECTURE

58 ARCHITECTURE( 전체 ) SQL Plan Cache Memory Memory Data Buffer Pool Log Buffer Temporary Thread Dispatcher Service Session Manager Load Balancer Checkpoint Memory Ager Buffer Flusher Log Flusher Logfile Manager Archive Archive logfiles Properties file Storage Loganchor files Checkpoint image files Datafiles Redo logfiles Password file Trace files

59 서비스쓰레드 서비스쓰레드모드 multiplexing thread mode 여러개의세션을하나의쓰레드가관리하는방식 동시접속사용자가많은경우에유리하며, 서버의자원사용량이적음 태스크분배시오버헤드가존재하여사용자가적은경우자원이낭비될수있음 Client Dispatcher Load Balancer Client Task create Service Thread Task Task Service Thread Task Task Task Task

60 서비스쓰레드 서비스쓰레드모드 Dedicated thread mode 하나의세션을하나의쓰레드가관리하는방식 load balancing 을통한태스크재분배과정을거치지않고각각의세션이통신을수행하여속도가빠르고관리에용이함 세션연결시마다쓰레드를늘려야하기때문에사용자증가에따른 CPU 사용량도증가함 Client 1 Dispatcher Service Thread 1 Task Task Client 2 Service Thread 2 Task Dedicated thread mode 설정방법 DEDICATED_THREAD_MODE 값을 1 로설정해야함 ( 기본값은 0) CPU affinity 를적용시, multiplexing mode 에비해성능이월등히향상됨 CPU affinity : CPU 연계기능을활성화하면하나의서비스쓰레드는동일한 CPU 코어에만할당되어다른 CPU 코어로쓰레드정보를이동하는비용이줄어듬

61 내부프로세스 Main Module Query Processor Module Storage Manager Module Client UPDATE t1 SET c1=20 WHERE c1=10 Dispatcher Service Thread Checker Optimizer Memory Concurrency Index Disk Load Balancer Executor Table Memory Disk Recovery Checkpoint Log Flusher Memory Ager Buffer Flusher

62 TABLESPACE MANAGEMENT

63 테이블스페이스개념 테이블스페이스 (Tablespace / TBS) 데이터베이스를구성하는최상위논리적인구조 테이블, 인덱스등의데이터베이스객체들이저장되는논리적인저장소 데이터베이스운영을위해기본적으로하나이상의테이블스페이스가필요

64 STORAGE 스토리지구조 하나의데이터베이스는한개이상의테이블스페이스로구성되며, 하나의테이블스페이스는다수의세그먼트또는, 다수의페이지로구성됨 ALTIBASE HDB Storage 구조 Database 메모리테이블스페이스 32K 크기의페이지들로구성 Tablespace Segment Extent Page Tablespace Page 디스크테이블스페이스 다수의세그먼트로구성 세그먼트는다수의익스텐트로구성 익스텐트는 8K 크기의페이지 64 개로구성됨 (512K) 디스크테이블스페이스 메모리테이블스페이스

65 테이블스페이스종류 ALTIBASE HDB 에서제공하는테이블스페이스 데이터속성에따른분류 메모리테이블스페이스 (Memory Tablespace) 디스크테이블스페이스 (Disk Tablespace) 생성시점에따른분류 시스템테이블스페이스 (System Tablespace) 사용자 시스템 일반사용자, SYS 테이블스페이스종류 SYSTEM DICTIONARY TABLESPACE SYSTEM UNDO TABLESPACE SYSTEM MEMORY DEFAULT TABLESPACE SYSTEM DISK DEFAULT TABLESPACE SYSTEM DISK TEMPORARY TABLESPACE 사용자테이블스페이스 (User Tablespace) 사용자의필요에따라선택적으로생성 임시 TBS, 데이터 TBS( 메모리 TBS, 휘발성 TBS, 디스크 TBS)

66 메모리테이블스페이스 메모리테이블스페이스 모든데이터가메모리공간에저장되는테이블스페이스를의미 ALTIBASE HDB 4까지는하나만존재 ALTIBASE HDB 5부터는사용자 / 업무별로확장하여추가할수있음 구조 ( 메모리 TBS + 체크포인트이미지파일 ) Memory Memory TBS Fuzzy / Ping-Pong Checkpoint Logfile# Logfile# Logfile# Logfile# Logfile# Disk Checkpoint Image-#-0 Checkpoint Image-#-1

67 메모리테이블스페이스 메모리테이블스페이스의공간할당 32K 페이지단위로테이블에공간할당 Page 의상태 객체 Free Used Tablespace Table 특정테이블에할당되지않은공간 1 Page 씩특정테이블에할당가능 테이블이할당받은공간중데이터가들어있지않은공간 해당테이블내에서재사용가능 테이블에할당한공간 테이블에서반납하기전까지다른테이블에서사용할수없음 테이블이할당받은공간중데이터가들어있는공간 데이터를삭제하지않으면재사용불가

68 메모리테이블스페이스 Page 의상태변화 Table 에 Delete 수행 Table 안에서 Page 상태가 Used Free 로전환 ( 해당 Table 내에서재사용가능 ) Tablespace 로 Page 를반환하지않음 Delete 수행후 Compaction 을수행하면해당 Page 를 Tablespace 에반하고 ( 다른테이블에서사용가능 ), Tablespace 의 Page 상태는 Used Free 로변경됨 Table 에 Truncate 수행 Table 에할당되었던 Page 를 Tablespace 에반환함 Table 에할당되었던 Tablespace 의 Page 상태는 Used Free 로전환 ( 다른 Table 에서할당받아사용가능 ) Table 에 Move 수행 Move 구문을통해서데이터를다른 Table 로이동시켜도 Delete 한것과동일하게해당 Table 안에서만재사용가능 Move 수행후, Compaction 을수행하면해당 Page 를 Tablespace 에반환함

69 메모리테이블스페이스의공간할당 공간할당구조 Memory Tablespace T1 테이블생성 1 T1 테이블에데이터입력 1 T1 테이블에데이터입력 1 2 3

70 메모리테이블스페이스의공간할당 공간반납구조 Memory Tablespace T1 Delete 수행 T1 에 Compaction 수행 T1 에 truncate 수행 T2에 Insert 수행

71 휘발성테이블스페이스 휘발성테이블스페이스 데이터가메모리에만상주 디스크에체크포인트이미지파일을가지지않음 특징 디스크로깅 (logging) 을수행하지않고체크포인트대상에서제외 Disk I/0가없음 메모리테이블스페이스와비교하여상대적으로빠른갱신성능을보장 Memory Volatile TBS Checkpoint Logfile# Logfile# Logfile# Logfile# Logfile# Disk Memory TBS Image-#-0 Memory TBS Image-#-1

72 임시테이블 임시테이블 (Temporary Table) 데이터를일시적으로보관하기위해사용하는테이블 응용프로그램에서여러개의 DML 작업을실행할때생기는결과집합을일시적으로저장할때유용 임시테이블의데이터는테이블에데이터를입력한세션에서만확인가능 세션이나트랜잭션이종료되면임시테이블은자동으로 truncate 임시테이블내의데이터는백업이나시스템장애시복구가불가능 제약사항 파티셔닝불가 외래키지정불가 휘발성테이블스페이스에서만저장가능 분산트랜잭션지원불가

73 임시테이블생성 구문 CREATE [GLOBAL] TEMPORARY TABLE table_name ON COMMIT {DELETE PRESERVE} ROWS ; 예제 트랜잭션에한정되는임시테이블을생성하라 isql> CREATE VOLATILE TABLESPACE my_vol_tbs 2 SIZE 12M AUTOEXTEND ON MAXSIZE 1G; Create success. isql> CREATE TEMPORARY TABLE temp1 (c1 INTEGER, c2 VARCHAR(10)) 2 ON COMMIT DELETE ROWS 3 TABLESPACE my_vol_tbs; Create success.

74 임시테이블생성 예제 세션에한정되는임시테이블을생성하라 isql> CREATE VOLATILE TABLESPACE my_vol_tbs 2 SIZE 12M AUTOEXTEND ON MAXSIZE 1G; Create success. isql> CREATE TEMPORARY TABLE temp2 (c1 INTEGER, c2 VARCHAR(10) ) 2 ON COMMIT PRESERVE ROWS 3 TABLESPACE my_vol_tbs; Create success.

75 임시테이블생성 예제 (ON COMMIT DELETE ROWS ) 임시테이블을생성하고데이터를입력한후, 트랜잭션이종료되면데이터가삭제되는예제 isql> AUTOCOMMIT OFF; isql> CREATE VOLATILE TABLESPACE my_vol_tbs 2 SIZE 12M AUTOEXTEND ON MAXSIZE 1G; Create success. isql> CREATE TEMPORARY TABLE t1 (c1 INTEGER, c2 VARCHAR(10) ) 2 ON COMMIT DELETE ROWS 3 TABLESPACE my_vol_tbs; Create success. isql> INSERT INTO t1 VALUES (1, ); 1 row inserted. isql> INSERT INTO t1 VALUES (2, ); 1 row inserted. isql> INSERT INTO t1 VALUES (3, ); 1 row inserted. isql> SELECT * FROM t1; C1 C rows selected. 트랜잭션에한정되는임시테이블 (t1) isql> COMMIT; Commit success. isql> SELECT * FROM t1; Commit, Rollback 시데이터지워짐 C1 C No rows selected.

76 임시테이블생성 예제 (ON COMMIT PRESERVE ROWS) 한세션에서임시테이블을생성하고데이터를삽입한후, 해당세션에서만데이터가조회되고다른세션에서는조회되지않는예제 isql> CREATE VOLATILE TABLESPACE my_vol_tbs 2 SIZE 12M AUTOEXTEND ON MAXSIZE 1G; Create success. isql> CREATE TEMPORARY TABLE t2 (c1 INTEGER, c2 VARCHAR(10) ) 2 ON COMMIT PRESERVE ROWS 3 TABLESPACE my_vol_tbs; Create success. isql> DESC t2; [ TABLESPACE : MY_VOL_TBS ] [ ATTRIBUTE ] 세션에한정되는임시테이블 (t2) NAME TYPE IS NULL C1 INTEGER FIXED C2 VARCHAR(10) FIXED T2 has no index T2 has no primary key

77 임시테이블생성 isql> AUTOCOMMIT OFF; isql> ALTER TABLE t2 ADD CONSTRAINTS t2_pk PRIMARY KEY (c1) ; Alter success. isql> INSERT INTO t2 VALUES (1, abc ) ; 1 row inserted. isql> INSERT INTO t2 VALUES (2, def ) ; 1 row inserted. isql> COMMIT ; isql> SELECT * FROM t2; C1 C abc 2 def 2 rows selected. isql> connect sys/manager; Connect success. isql> SELECT * FROM t2; 해당세션에서조회결과 C1 C No rows selected. 다른세션에서조회결과

78 디스크테이블스페이스 디스크테이블스페이스모든데이터가디스크공간에저장되는테이블스페이스를의미 구조 Disk Tablespace 페이지 (Page) 테이블과인덱스의레코드를저장하는최소단위 [ 디스크페이지 : 기본 8KB ] 익스텐트 (Extent) 페이지를할당하는단위 데이터저장시 free 페이지가부족하면테이블스페이스로부터할당받음 기본값 : 64 개의페이지 (512KB) 로구성

79 디스크테이블스페이스 디스크테이블스페이스의공간할당 Table 에 512K Extent 단위로공간을할당 Page 의상태 객체 Free Used Tablespace Table 특정테이블에할당되지않은공간 Extent 단위로특정테이블에할당가능 테이블이할당받은공간중데이터가들어있지않은공간 해당테이블내에서재사용가능 테이블에할당한공간 테이블에서반납하기전까지다른테이블에서사용할수없음 테이블이할당받은공간중데이터가들어있는공간 데이터를삭제하지않으면재사용불가

80 디스크테이블스페이스의공간할당 Page 의상태변화 Table 에 Delete 수행 Table 안에서 Page 상태가 Used Free 로전환 ( 해당 Table 내에서재사용가능 ) Tablespace 로 Page 를반환하지않음 Table 에 Truncate 수행 Table 에할당되었던 Page 를 Tablespace 에반환함 Table 에할당되었던 Tablespace 의 Page 상태는 Used Free 로전환 ( 다른 Table 에서할당받아사용가능 ) Table 에 Move 수행 Move 구문을통해서데이터를다른 Table 로이동시켜도 Delete 한것과동일하게해당 Table 안에서만재사용가능 디스크테이블에는 Compaction 기능이없음

81 디스크테이블스페이스의공간할당 공간할당구조 Disk Tablespace T1 테이블생성 T1 데이터입력

82 디스크테이블스페이스의공간할당 공간반납구조 Disk Tablespace 데이터파일추가 T1 T2 데이터입력

83 테이블스페이스확인 테이블스페이스관련 Performance View 이름 내용 V$TABLESPACES V$DATAFILES V$MEM_TABLESPACES V$VOL_TABLESPACES V$MEMTBL_INFO V$DISKTBL_INFO 전체테이블스페이스에대한정보 디스크테이블스페이스의데이터파일에대한정보데이터파일의사용량을확인하고싶을때사용 메모리테이블스페이스의사용량을확인하고싶을때사용 휘발성테이블스페이스의사용량을확인하고싶을때사용 어느메모리테이블이메모리를많이사용하는지확인하고싶을때사용 어느디스크테이블이디스크를많이사용하는지확인하고싶을때사용

84 메모리테이블스페이스생성 메모리테이블스페이스 데이터를메모리에저장하여, 모든트랜잭션처리를메모리상에서처리 체크포인트시에물리적인파일 (checkpoint image file) 에저장 DB 구동시에모든데이터를하드디스크에저장된물리적인파일로부터읽어서메모리로업로드하여사용 구문 ( 기본 ) 예제 CREATE MEMORY [DATA] TABLESPACE tablespace_name SIZE size (K M G) ; 초기사이즈가 512M 인메모리테이블스페이스를생성 isql> CREATE MEMORY TABLESPACE test_mem 2 SIZE 512M ; Create success. isql> CREATE MEMORY TABLESPACE test_mem 2 SIZE 510M ; [ERR-110EE : The initial size of the tablespace should be multiple of expand chunk size ( EXPAND_CHUNK_PAGE_COUNT * PAGE_SIZE(32K) = 4096K )] 메모리테이블스페이스는기본적으로 4M 단위로생성및확장가능함

85 메모리테이블스페이스생성 구문 ( 자동확장추가 ) 예제 CREATE MEMORY [DATA] TABLESPACE tablespace_name SIZE size (K M G) [AUTOEXTEND [ON [NEXT size] [MAXSIZE size] OFF) ] ; 초기사이즈가 512M 이고, 128M 단위로자동확장가능한최대크기가 2G 인메모리테이블스페이스를생성 isql> CREATE MEMORY TABLESPACE test_mem 2 SIZE 512M 3 AUTOEXTEND ON NEXT 128M MAXSIZE 2G; Create success. 초기사이즈가 512M 이고, 자동확장을하지않는메모리테이블스페이스를생성 isql> CREATE MEMORY TABLESPACE test_mem 2 SIZE 512M 3 AUTOEXTEND OFF; Create success.

86 메모리테이블스페이스생성 구문 ( 체크포인트경로추가 ) 예제 CREATE MEMORY [DATA] TABLESPACE tablespace_name SIZE size (K M G) [AUTOEXTEND [ON [NEXT size] [MAXSIZE size] OFF) ] [CHECKPOINT PATH 'path' [SPLIT EACH size]] ; 초기사이즈가 512M 이고, 최대 1G 까지 128M 단위로자동확장가능한메모리테이블스페이스를생성 ( 체크포인트이미지파일은다중화를위해 3 개의디렉토리에나누어저장 ) isql> CREATE MEMORY TABLESPACE test_mem 2 SIZE 512M 3 AUTOEXTEND ON NEXT 128M MAXSIZE 1G 4 CHECKPOINT PATH /dbs/path1, /dbs/path2, /dbs/path3 ; Create success. isql> CREATE MEMORY TABLESPACE test_mem 2 SIZE 512M 3 AUTOEXTEND ON NEXT 128M MAXSIZE 1G 4 CHECKPOINT PATH /dbs/path1, /dbs/path2, /dbs/path3 5 SPLIT EACH 256M ; Create success.

87 휘발성테이블스페이스생성 휘발성테이블스페이스 메모리테이블스페이스와동일한구조의테이블스페이스 체크포인트를하지않고, 리두로그를기록하지않음 구문 CREATE VOLATILE [DATA] TABLESPACE tablespace_name SIZE size (K M G) [AUTOEXTEND [ON [NEXT size][maxsize size] OFF) ] ; 예제 초기사이즈가 512M 이고, 최대 1G 까지 128M 단위로자동확장가능한휘발성테이블스페이스를생성 isql> CREATE VOLATILE DATA TABLESPACE test_mem 2 SIZE 512M 3 AUTOEXTEND ON NEXT 128M MAXSIZE 1G ; Create success.

88 디스크테이블스페이스생성 디스크테이블스페이스 모든데이터가디스크에저장되는테이블스페이스 물리적으로데이터파일로구성되고, 논리적으로세그먼트, 익스텐트, 페이지로구성 구문 ( 기본 ) CREATE [DISK] [DATA] TABLESPACE DATAFILE datafile_name ' ; tablespace_name 예제 기본경로에데이터파일 test01.dbf 를생성하는 test_disk 테이블스페이스를생성 isql> CREATE TABLESPACE test 2 DATAFILE 'test01.dbf'; Create success.

89 디스크테이블스페이스생성 구문 ( 자동확장추가 ) CREATE [DISK] [DATA] TABLESPACE tablespace_name DATAFILE datafile_name ' [SIZE size (K M G) ] [REUSE] [AUTOEXTEND [ON [NEXT size][maxsize size] OFF)]; 예제 데이터파일 test01.dbf, test02.dbf, test03.dbf 로구성된 100MB 의 test_disk 테이블스페이스를생성 ( 자동확장하지않음 ) isql> CREATE TABLESPACE test_disk 2 DATAFILE test01.dbf, test02.dbf, test03.dbf 3 SIZE 100M AUTOEXTEND OFF; Create success. 데이터파일 test01.dbf, test02.dbf, test03.dbf 로구성되고, 초기크기가 100MB, 2G 까지자동확장하는 test_disk 테이블스페이스를생성 isql> CREATE TABLESPACE test_disk 2 DATAFILE test01.dbf, test02.dbf, test03.dbf 3 SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 2G ; Create success.

90 임시테이블스페이스생성 임시테이블스페이스 디스크데이터에대한질의수행중생성되는임시결과를저장하기위한테이블스페이스 트랜잭션이종료하는시점에해당질의가남긴모든데이터들은사라짐 구문 CREATE TEMPORARY TABLESPACE tablespace_name TEMPFILE tempfile_name [SIZE size (K M G) ] [REUSE] [AUTOEXTEND [ON [NEXT size][maxsize size] OFF) ] ; 예제 tbs.temp 로구성된 test_temp 임시테이블스페이스를생성. 임시파일의크기는 10M 이고, 5M 크기로자동확장. isql> CREATE TEMPORARY TABLESPACE test_temp 2 TEMPFILE 'tbs.temp 3 SIZE 10M AUTOEXTENED ON NEXT 5M ; Create success.

91 디스크테이블스페이스변경 테이블스페이스변경 ALTER TABLESPACE 구문으로테이블스페이스에데이터파일추가 / 삭제, 데이터파일크기, 데이터파일이름등에대해서변경이가능 구문 ALTER TABLESPACE tablespace_name { [ ADD DROP ] [ DATAFILE TEMPFILE ] [ ALTER [ DATAFILE TEMPFILE ] file_name SIZE ] [ AUTOEXTEND [ON [NEXT size][maxsize size] OFF) ] [RENAME DATAFILE 기존데이터파일경로및이름 TO 새로운데이터파일경로및이름 ] }; 예제 test_disk 테이블스페이스에 64 MB 의데이터파일 test01.dbf 를추가 ( 공간이더필요할때는 500K 씩파일이자동확장 ) isql> ALTER TABLESPACE test_disk 2 ADD DATAFILE test01.dbf SIZE 64M 3 AUTOEXTEND ON NEXT 500K; Alter success.

92 메모리테이블스페이스변경 테이블스페이스변경 ALTER TABLESPACE 구문으로테이블스페이스에체크포인트경로추가 / 삭제 / 변경, 테이블스페이스크기등에대해서변경이가능 구문 ALTER TABLESPACE tablespace_name { [ ADD DROP ] [ CHECKPOINT PATH path ] [ RENAME CHECKPOINT PATH 기존디렉토리경로 TO 새로운디렉토리경로 ] [ ALTER AUTOEXTEND ( ON [NEXT size][maxsize size] OFF) ] }; 예제 Test_mem 테이블스페이스를 8M 단위로최대 1GB 까지자동확장으로변경 isql> ALTER TABLESPACE test_mem 2 ALTER AUTOEXTEND ON NEXT 8M MAXSIZE 1G; Alter success.

93 테이블스페이스변경 test_disk 디스크테이블스페이스가자동확장을하지않도록변경 isql> ALTER TABLESPACE test_disk 2 ALTER DATAFILE ' test01.dbf' 3 AUTOEXTEND OFF; Alter success. test_disk 디스크테이블스페이스가자동확장을하도록변경 isql> ALTER TABLESPACE test_disk 2 ALTER DATAFILE ' test01.dbf 3 AUTOEXTEND ON Alter success. test_disk 테이블스페이스의데이터파일 test01.dbf 를삭제하시오. isql> ALTER TABLESPACE test_disk 2 DROP DATAFILE test01.dbf ; Alter success.

94 테이블스페이스삭제 테이블스페이스삭제 데이터베이스에서테이블스페이스를제거함 시스템테이블스페이스는삭제할수없음 구문 DROP TABLESPACE tablespace_name [INCLUDING CONTENTS] [ AND DATAFILES CASCADE CONSTRAINTS] ; 예제 메모리테이블스페이스 test_mem 을삭제 isql> DROP TABLESPACE test_mem; Drop success. 디스크테이블스페이스 test_disk 의모든객체, 데이터파일들과함께테이블스페이스를삭제 isql> DROP TABLESPACE test_disk 2 INCLUDING CONTENTS AND DATAFILES; Drop success.

95 테이블스페이스상태 테이블스페이스상태 테이블스페이스는서비스상태에따라온라인 (online), 오프라인 (offline), 또는폐기 (discard) 상태로나뉨 구문 ALTER TABLESPACE tablespace_name [ONLINE / OFFLINE / DISCARD]; ONLINE 테이블스페이스에속한모든객체에사용자가접근할수있는일반적인상태 OFFLINE 테이블스페이스와관련된모든자원이해제된상태이며, 데이터베이스에서테이블스페이스를일시적으로사용할수없게설정된상태 DISCARD 특정테이블스페이스의데이터에오류가발생하여정상적인 DB 구동이불가능할시특정테이블스페이스를폐기할수있도록설정

96 TRANSACTION MANAGEMENT

97 TRANSACTION 트랜잭션의정의 트랜잭션이란하나이상의 SQL 문장들로이루어진논리적인작업단위 트랜잭션관리 사용자트랜잭션의동시성을제어하고데이터일관성을유지하도록하는데이터베이스의가장기본적인기능중하나 정상적인트랜잭션의무결성조건 원자성 (Atomicity) 일관성 (Consistency) 고립성 (Isolation) 영속성 (Durability)

98 DURABILITY 트랜잭션의영속성 DBMS 가사용자에게트랜잭션커밋 (commit) 응답을했을경우, 데이터베이스객체에대한해당변경사항이디스크에반영 (flush) 되기전에시스템장애가발생하였더라도해당트랜잭션의커밋은보장되어야한다는속성 데이터베이스관리시스템은트랜잭션의 durability 를제공하기위해로그 (log) 기록을관리한다. 로그기록으로인한디스크 I/O 는트랜잭션처리의병목 (bottleneck) 으로작용하게되어트랜잭션처리성능저하의원인이될수있다. 완벽한트랜잭션 durability 과트랜잭션처리성능관계는안정성과성능이라는각기다른목표를가지는상충 (tradeoff) 관계에있다.

99 DURABILITY 트랜잭션의영속성과복구 Client UPDATE t1 SET c1=20 WHERE c1=10 Log Buffer Update Commit log Memory TBS Log Buffer Memory TBS Commit Flush Commit Success Update Commit log 10 Update Commit log 10 Logfile 비정상종료발생 Datafile SERVER Restart Logfile Datafile Restart Recovery

100 DURABILITY LEVEL Durability Level 범위 Durability Level은 0~5 Level로구분 ALTIBASE HDB는 0과 1 Level을제외한 2에서 5 Level까지만지원 기본 Durability Level은 3 Level이다. Durability Level 설정방법 altibase.properties 파일에서관련프로퍼티의변경하여설정 COMMIT_WRITE_WAIT_MODE, LOG_BUFFER_TYPE 프로퍼티로설정 DB 구동시설정된 Durability Level로구동 DB 운영중에실시간으로변경불가능

101 DURABILITY LEVEL Durability Level 3 OS Kernel 영역의로그버퍼를사용하기때문에 ALTIBASE HDB 프로세스가비정상종료를하더라도트랜잭션이 commit 한로그는운영체제의의해로그파일에반영 ALTIBASE HDB 의기본 durability level( 성능지향설정방법 ) OS 의 crash 상황만아니라면트랜잭션 durability 를완벽하게지원 OS OS Kernel Log Buffer Client Update Commit log ALTIBASE HDB Process Update Commit log Logfile UPDATE t1 SET c1=20 WHERE c1=10 Commit Commit Success Memory TBS Datafile

102 DURABILITY LEVEL Durability Level 5 로그를프로세스영역의로그버퍼에기록하고, 물리적인로그파일에기록하는것을보장하기때문에 ALTIBASE HDB 의장애시에도 durability 를보장함 모든로그가로그파일에반영됨을보장하기때문에어떠한시스템장애상황에서도완벽하게트랜잭션 durability 를보장하나 durability level 중성능이가장느림 OS ALTIBASE HDB Process Log Buffer Client Update Commit log Update Commit log UPDATE t1 SET c1=20 WHERE c1=10 Commit Commit Success Memory TBS Logfile 10 Datafile

103 CONCURRENCY CONTROL 버전관점의동시성제어기법분류 동일레코드에수행되는 Read/Modify 연산에대한동시성제어기법 SVCC(Single Version Concurrency Control) 레코드에버전 (version 또는 image) 이한개만존재하는기법으로검색수행만으로도다른트랜잭션에게영향을미치게됨 MVCC(Multi Version Concurrency Control) 하나의레코드에대해변경이발생할경우그레코드의원래버전은그대로유지한채로새로운버전을만들어그새로운버전에대해변경을수행함으로써비록한트랜잭션이동일레코드에대해연산을수행하고있더라도그레코드를검색하는다른트랜잭션에게는영향을미치지않도록하는동시성제어기법

104 MVCC MVCC 변경연산시에 Lock 을획득하고새로운버전을생성하여변경하기때문에 Read/Modify 연산간에충돌이없고복잡한트랜잭션환경에서높은성능을보장 Client Exclusive Mode Lock UPDATE t1 SET c1=20 WHERE c1=10 Commit 10 1 Commit Success Client SELECT c1 FROM t1 결과출력 (10) SELECT c1 FROM t1 결과출력 (20)

105 OUT-PLACE & IN-PLACE 메모리테이블 : Out-place 새로운레코드버전을데이터페이지의별도 RID 로저장하는 Out-place 구조로빠른성능을보장하나데이터페이지의사용효율성이저하될가능성이있으므로특정레코드의버전이프로퍼티에지정된사이즈보다커질경우에는 In-place Update 로전환되도록설계되어있음 Client 1 10 Memory Ager UPDATE t1 SET c1=20 WHERE c1=10 Commit Commit Success Client Data Page SELECT c1 FROM t1 결과출력 (10) (20) Out-place (RID 변경 )

106 OUT-PLACE & IN-PLACE 디스크테이블 : In-place 기존의레코드에서변경되는컬럼들을 Undo 테이블스페이스에 Undo 로그레코드로기록하고변경이후값들을기존레코드의해당위치에복사하는 In-place 구조 Client UPDATE t1 SET c1=20 WHERE c1=10 Commit Commit Success Client SELECT c1 FROM t1 Data Page Undo Area 결과출력 (10) (20) In-place (RID 유지 )

107 BUFFER MANAGEMENT

108 개요 Buffer 디스크 I/O 를줄이고성능향상을위해서디스크에있는페이지를임시로메모리에적재하여사용하는메모리의영역을의미 Buffer Replace 디스크의모든페이지를버퍼에적재할수없으므로새로운디스크의페이지를적재할때, 버퍼의일부페이지를새로운페이지로교체하는것 Victim Buffer Replace 를위해선정된버퍼프레임과해당 BCB 를아울러지칭함 데이터요청 Buffer 디스크

109 BUFFER 구성요소 Buffer 구성요소 Buffer Pool Prepare List BCB 버퍼프레임 #1 버퍼프레임 #2 BCB LRU List BCB 버퍼프레임 #n 버퍼프레임 #n+1 Flush List BCB Datafiles

110 BUFFER 구성요소 Buffer 구성요소 Buffer Pool 버퍼프레임 1 개의디스크 Page 가그대로메모리에맵핑되는 1 개의메모리공간. 디스크 Page 가 8K 이기때문에버퍼프레임의크기도 8K. 버퍼프레임은 3 가지상태로관리됨 버퍼프레임 #1 버퍼프레임 #n 버퍼프레임 #2 버퍼프레임 #n+1 Datafiles

111 BUFFER 구성요소 Buffer 구성요소 항목 Free Clean Dirty 설명최초상태이며, 버퍼프레임에페이지가적재되지않은상태버퍼프레임에 Page가적재된상태이며변경이발생하지않은상태버퍼프레임에적재된 Page에변경이발생한상태 상태변화 데이터적재데이터변경 Free Clean Dirty 디스크에반영 (Flush)

112 BUFFER 구성요소 Buffer 구성요소 Prepare List BCB BCB(Buffer Control Block) 1 개의버퍼프레임에대한정보를관리하는하나의구조체정보를의미. 버퍼프레임과 BCB 는 1:1 관계임. BCB 가관리하는항목은다음과같음 LRU List BCB BCB 항목 ID Frame PTR 설명 BCB의고유식별번호 Buffer Frame의주소값 Space ID 디스크 Page 가속한테이블스페이스 ID Flush List BCB Page ID State 디스크DB의 Page 식별번호버퍼프레임의상태정보 ListItem BCB 가어떤리스트에위치해있는지표시 ListNO 병렬화된리스트중 BCB 가위치한리스트번호

113 BUFFER 구성요소 Buffer 구성요소 Prepare List DB 구동시에 Free 상태의 BCB 가위치하고있는리스트 Victim 이필요하면가장먼저탐색함 Flush 가발생하면, Buffer Replace 를위해 Flush list 에서 Prepare List 로이동함 LRU List LRU 알고리즘으로 BCB 들을관리함 버퍼프레임에적재된순서대로 BCB 를관리하여오래된 BCB 들부터 Victim 으로선정하여 Replace 함 Flush List Dirty 상태의 BCB 들을관리하며, Buffer Flusher 에의해서디스크 Page 로 flush 됨 Flush 가되면, BCB 의상태는 Clean 으로변경되고 Replace 를위해 Prepare List 로이동됨 Checkpoint List 3 개의리스트에위치한 Dirty 상태의 BCB 들을관리하는리스트 3 개의리스트와독립적으로 BCB 들을관리함 Buffer Flush 와는별개의동작으로 Dirty BCB 들을데이터파일에저장함 Prepare List LRU List Flush List Checkpoint List BCB BCB BCB BCB

114 BUFFER 구성요소 Buffer 구성요소 Client SELECT * FROM t1 WHERE c1=30 결과출력 (30) BCB#1 BCB#2 BCB#3 BCB# 데이터파일

115 BUFFER 구성요소 Buffer 구성요소 Checkpoint List List Node List Node Client BCB#3 Flush Flush List SELECT UPDATE * t1 FROM SET c1=2 c1=4 t1 WHERE c1=10 c1=20 c1=50 c1=40 BCB#1 BCB#2 BCB#3 LRU List 결과출력 (10) (40) (50) BCB#1 BCB#3 Prepare List 데이터파일

116 ALTIBASE HDB ADMINISTRATION I REPLICATION OVERVIEW ALTIBASE REPLICATION REPLICATION SYSTEM DESIGN CONFLICT RESOLUTION REPLICATION OPTIMIZATION REPLICATION TROUBLESHOOTING REPLICATION MONITORING REPLICATION PROPERTY REPLICATIO MANAGER

117 OVERVIEW

118 High Availabilility 무정지서비스시스템 Downtime 을최소화, 시스템가용성을 100% 로유지 Planed Downtime - 정기점검, 시스템 upgrade/patch Switch-Over 수행 : 정상적인서비스주체변경 Unplanned Downtime - 시스템일부의 failure Fail-Over 수행 : 긴급서비스주체변경 고가용성 (High Availability / HA) 무정지시스템또는무정지시스템구성요소의가용성 five 9 (99.999%) S/W, H/W 차원의다양한실현기법이존재 DBMS 의 HA 노드간데이터베이스를동기화함으로실현 병렬데이터베이스아키텍처에따라기법이다름

119 Shared Nothing vs. Shared Disk 구분 Shared Nothing Architecture Shared Disk Architecture 공유자원 공유자원이없음 Disk 데이터동기화방안 Network를통한복제 Disk를공유 성능 * 공유자원이없으므로빠른성능 공유자원에대한복잡한처리 (2PC/3PC) 로성능저하 시스템구축비용 * 저비용 ( 로컬디스크, Network) 고비용 ( 공유스토리지설비 ) 거리적용 * 데이터정합성 * 일반적인 TCP 기반의 Network 를사용하여도원거리적용에큰무리가없음 Network 복제특성상노드간데이터불일치현상을억제하기위한별도의고려가필요 Disk 공유를위한고비용의전용망이요구되므로실질적으로는거리제한이존재 Disk 를공유하므로노드간데이터정합성이보장 치명적인 Failure 요소 Network Failure 시관련노드데이터동기화불가 Disk Failure 시시스템전체서비스불가능 적합시스템완벽한데이터정합성보다는빠른성능요구성능보다는완벽한데이터정합성요구 관련대표 DBMS 기술이중화 (replication) 관련 DBMS 벤더 ALTIBASE HDB, DB2, MS-SQL, ORACLE, SYBASE RAC (Real Application Cluster) ORACLE 성능, 시스템구축비용, 거리적용 과 데이터정합성 측면에서의 trade-off

120 Replication 이중화의정의 하나의 DB 의변경된내용을 Network 를통하여다른여러 DB 들에복제하는기술 이중화의목적 고가용성 (High Availability) 확보 부하분산 (Load-Balancing) 을통한성능개선및확장성 (scalability) 향상 물리적인장애, 재해시데이터손실최소화 AP 1 AP n AP 1 AP m AP m+1 AP n Fail-Over SERVER main SERVER sub SERVER main SERVER sub DB replication DB DB replication DB [ 그림 1. 2-way 이중화시스템에서의고가용성확보 ] [ 그림 2. 2-way 이중화시스템에서의확장성향상 ]

121 ALTIBASE REPLICATION

122 ALTIBASE Replication Features 주요특징 TCP/IP Network 기반이기종 OS간이중화지원모듈화리두로그기반테이블단위관리 lazy, eager 복제방식지원고속복제병렬쓰레드지원최대 32-way 이중화지원 Point-To-Point 방식의복제 상세설명 Network 설비만되어있다면이중화가가능하므로이중화를위한별도비용없음 Network 성능에따라장거리복제가능 (Giga Bit LAN 필수 ) OS bit, CPU endian 관계없이이중화가능 이중화를모듈화, DBMS 와유기적으로결합된형태이므로이중화성능향상이중화를위한별도의 ALTIBASE HDB 패키지불필요사용자에목적에따라 ALTIBASE HDB 를가변적으로사용가능 리두로그를실시간전송하는레코드단위이중화 이중화를수행할레코드를테이블단위로관리운영중이중화할테이블을실시간으로추가, 삭제가능 복제방식으로 lazy, eager 모두지원 lazy 복제방식의경우마스터트랜잭션에수행속도에영향을주지않으면서마스터트랜잭션의 95% 이상에달하는빠른속도로복제가능 (Giga bit LAN 환경의 UNIX 시스템에서의성능테스트측정치 ) Eager 모드사용시, 송신쓰레드를지정한개수만큼병렬로사용하여이중화성능향상 하나의 ALTIBASE HDB 는최대 32 개의 ALTIBASE HDB 와이중화가능업무에따라부하분산및다양한시스템구성이가능 이중화노드간 1:1 로만복제, 다른이중화노드로전이되지않음

123 ALTIBASE Replication Features 주요특징 Network 장애감지자동회복다중 IP 지원 SQL 인터페이스의명령어 상세설명 물리적인 Network 손상을감지하기위한별도쓰레드운영 마지막으로이중화를수행하던시점을기록및유지이중화장애시이중화재수행만으로도자동회복가능 하나의이중화대상서버에대해두개이상의물리적인 IP 주소를부여, 장애시자동으로전환함으로써이중화자체의가용성증대 이중화사용을위한모든명령어를 SQL 인터페이스화하여편의성증대 Network 4 개 Conflict Resolution 제공 Conflict Resolution 을위한 3 개의 Scheme 과 1 개의유틸리티제공

124 ALTIBASE HDB Replication Methods ALTIBASE HDB 이중화기법 1. 응용프로그램처리 응용프로그램작성및데이터정합성보장곤란 2. SQL 전송 QP 부하가중및이중화충돌감지곤란 3. SQL 에대한실행계획전송 전송량증가로인한통신부하가중 4. 리두로그전송후 SQL 로변환 SQL 변환비용및 QP 부하가중 5. 리두로그를 SM 에서직접실행이가능한논리적구조로치환하여전송 치환비용은발생하나이중화성능이빠름 6. 리두로그전송후회복방법으로반영 속도는빠르나, Active-Active 불가

125 ALTIBASE HDB Replication Architecture Xlog SM 에서직접실행 (execution) 이가능한가능한논리적인구조 리두로그에서이중화수행에필요한부분만추출한플랫폼중립의이중화로그 기본적으로하나의레코드에대응하는리두로그는하나의 Xlog 로치환되어실시간전송 레코드가클경우에는여러개로분할하여치환 이중화송 / 수신쓰레드 이중화송신쓰레드 (sender) 리두로그를 Xlog 로치환후이중화대상서버로전송 이중화수신쓰레드 (receiver) 전송받은 Xlog 를 SM 에통하여실행 XSN (Xlog Sequence Number) sender 가 receiver 에게최종전송한리두로그의위치 이중화가중지되었다가다시시작할때이중화시작위치가됨

126 ALTIBASE HDB Replication Architecture SQL 구문관점에서의상세이중화과정 3개의레코드를변경하는하나의 UPDATE 구문수행 관련리두로그가최소 3개의 Xlog로치환되어전송 치환될때마다 Xlog 단위로실시간전송 Xlog 에대응하는레코드변경연산실행이총 3 회발생 UPDATE rep_tbl SET c2 = X WHERE c1 >= 1 AND c1 <= 3; TX redo log Local Server sender Xlog receiver Remote Server execution #001 execution #002 execution #003

127 Replication Object 이중화객체 이중화수행을위한객체로지역서버와원격서버에모두존재해야만이중화가가능 동일한이름으로대응되는이중화객체간 1:1 로만이중화수행, 전이되지않음 IP, 이중화포트 (port) 번호로식별 하나의데이터베이스에최대 32 개생성가능 객체별로다중 IP 지원 객체별로 lazy, eager 복제방식지정가능 객체별로이중화대상테이블의컬럼및상세조건과기타정보유지 DB# DB# REP_OBJECT_XY REP_OBJECT_XY IP: REP_PORT: TABLE: X, Y TABLE X P K TABLE Y P K DB#1 TO DB#2 DB#2 TO DB#1 IP: REP_PORT: TABLE: X, Y TABLE X P K TABLE Y P K TABLE TABLE TABLE TABLE P K P K

128 Replication Object 이중화대상테이블의요건 PK 필수 이중화를수행할컬럼은이름과스펙이완벽히일치 레코드중복제될컬럼을이름으로식별 컬럼개수및순서는지역서버와원격서버가각각다르더라도무방 지역서버의테이블에는존재하고원격서버에는없는컬럼은 NULL로채워짐 컬럼이름은동일한데스펙이다르면이중화구동 (START) 시점에에러발생 데이터타입, 길이, 제약조건등 FK 불가 이중화에대한오해 시퀀스도이중화가가능한가?

129 Replication Object 이중화객체생성구문 CREATE [LAZY EAGER] REPLICATION replication_name [AS MASTER AS SLAVE] [OPTIONS options [options ] ] WITH { remote_host_ip, remote_replication_port_no } FROM user_name.table_name TO user_name.table_name [, FROM user_name.table_name TO user_name.table_name ] ; LAZY, EAGER : 이중화복제방식, 생략시 lazy 로지정 MASTER, SLAVE : Conflict Resolution 을위한서버의역할지정, 생략시미지정으로설정 option : 오프라인이중화같은이중화객체에대한부가기능 replication_name : 이중화객체명, 이중화를수행하려는서버간이름이동일해야함 remote_host_ip : 원격서버의 IP 주소 remote_replication_port_no : 원격서버의이중화수신포트번호 * FROM - TO : 이중화대상테이블을지역서버, 원격서버순으로명시

130 Replication Object 이중화대상서버 IP 추가 / 삭제 / 설정구문 ( 다중 IP 설정 ) ALTER REPLICATION replication_name {ADD DROP SET} HOST remote_host_ip, remote_replication_port_no ; 이중화대상테이블추가 / 삭제구문 ALTER REPLICATION replication_name {ADD DROP} TABLE FROM user_name.table_name TO user_name.table_name ; 이중화객체삭제구문 DROP REPLICATION replication_name ;

131 Replication Control 이중화제어 START - 마지막이중화수행시점을기점으로이중화를시작 ( 일반구동 ) QUICKSTART - 미전송리두로그를포기, 현재를기점으로이중화를시작 ( 긴급구동 ) STOP - 현재를기점으로이중화를중지 START QUICKSTART Replication Gap 전송완료된리두로그 미전송한리두로그 START STOP 관련구문 ALTER REPLICATION replication_name {START QUICKSTART STOP} ;

132 Session Control 세션의이중화제어 수행시점부터해당세션에서발생하는트랜잭션에대한이중화여부를지정 트랜잭션특성에따라이중화여부를동적으로선택가능 관련구문 ALTER SESSION SET REPLICATION = {NONE DEFAULT} ; NONE - 이중화하지않음 DEFAULT - 이중화객체에설정된복제방식으로변경 ALTER SESSION SET REPLICATION = {TRUE FALSE} ; FALSE - 이중화하지않음 TRUE - 이중화객체에설정된복제방식으로변경

133 Replication Setting Step 이중화대상 ALTIBASE HDB 선정 캐릭터세트가동일해야함 내셔널캐릭터세트가동일해야함 (5.3.3 higher) 이중화와관련된 ALTIBASE HDB 내부요소의버전이동일해야함 ALTIBASE HDB major 버전이같다면대부분동일하나반드시확인이필요 Replication Protocol 버전 Meta 버전 # altibase -v version XEON_LINUX_redhat_Enterprise_ES4-64bit release-GCC3.4.6 (xeon-redhatlinux-gnu) Aug :45:18, binary db version 6.1.1, meta version , cm protocol version 5.6.3, replication protocol version 6.1.1

134 Table Clone 테이블복제 이중화객체를이용한테이블복제기능 지역서버테이블의모든레코드를원격서버의테이블로 INSERT하는방식 이중화가중지 (STOP) 된상태에서만수행가능 복제완료후자동으로이중화를시작 (START) 특정테이블복구, 장애노드복구, 신규노드추가시사용 간략수행절차 복제대상테이블 TRUNCATE 또는재생성 이중화객체에대상테이블을추가또는이중화객체재생성 지역서버에서테이블복제구문수행 REP_OBJ TABLE TABLE X TABLE: X TABLE X TABLE P K INSERT P K

135 Table Clone 관련구문 ALTER REPLICATION replication_name SYNC [ONLY] [PARALLEL parallel_factor ] [TABLE user_name.table_name,, user_name.table_name ]; SYNC: 이중화를위한 ALTIBASE HDB 간요구사항확인 ONLY: 명시할경우테이블복제만수행, 자동으로이중화를시작 (START) 하지않음 parallel_factor : 테이블복제를수행할쓰레드의개수 ( 기본값 1, 최대 CPU*2) TABLE: 테이블복제를수행할테이블을명시, 생략시해당이중화객체의모든테이블이대상

136 Table Clone 유의사항 Active-Active 구성에서는시스템서비스중에수행하지않아야함 테이블복제가완료되기전까지는해당이중화객체의다른테이블들이이중화되지않음 Active-Standby 구성이라면사용가능하나일시적인부하발생고려 대응되는원격서버테이블의모든레코드를삭제후수행해야함 동일한 PK 의레코드가이미존재시삽입충돌이발생하여복제실패 동일한 PK 에대한 INSERT 연산으로인한 DBMS 부하발생 이중화 trace 로그파일에다량의삽입충돌에러발생 원격서버테이블의레코드삭제시에는 TRUNCATE 수행을권장 사용자실수방지차원 DELETE 로원격서버테이블의레코드삭제하여지역서버의레코드도삭제

137 DDL Operation 이중화객체에대한 DDL 수행 이중화와관련된모든구문은 SYS 사용자로만수행가능 이중화객체변경 (ALTER) 에대한모든구문은이중화가중지 (STOP) 된상태에서만가능 이중화대상테이블은 DDL 수행이불가 이중화대상테이블여부와무관하게수행가능한 DDL 일부제외 프로퍼티를통하여추가적인 DDL 허용가능 이중화대상테이블여부와무관하게수행가능한 DDL ALTER INDEX REBUILD PARTITION GRANT OBJECT REVOKE OBJECT CREATE TRIGGER DROP TRIGGER

138 DDL Operation 프로퍼티를통하여허용가능한 DDL ALTER TABLE table_name {ADD DROP} COLUMN ALTER TABLE table_name ALTER COLUMN column_name {SET DROP} DEFAULT ALTER TABLE table_name TRUNCATE PARTITION TRUNCATE TABLE {CREATE DROP} INDEX 수행절차 REPLICATION_DDL_ENABLE 을 1 로설정후, 허용가능 DDL 수행 유의사항 세션의이중화속성이 NONE 일경우는수행되지않음 사용자가명시적으로세션의이중화속성을 NONE 으로변경한경우는 DEFAULT 로변경필요 DDL 수행은이중화되지않으므로관련된서버에서모두동일하게수행해주어야함 ALTER TABLE ~ MODIFY COLUMN 은수행할수없음

139 DDL Operation Job Example 특정이중화대상테이블에새로운컬럼을추가하는절차 작업요건 예정된작업시간동안해당테이블에변경연산이발생하지않아야함 SELECT 연산은변경연산과무관하므로조회서비스는가능 Server A 테이블 rep_tbl 에변경연산관련서비스종료여부확인 isql> connect sys/manager; isql> ALTER REPLICATION rep_obj_01 STOP; isql> ALTER REPLICATION rep_obj_01 DROP TABLE FROM user01.rep_tbl TO user01.rep_tbl; DDL job start isql> connect user01/user01; isql> ALTER TABLE rep_tbl ADD COLUMN (new_col CHAR(9)); DDL job end isql> connect sys/manager; isql> ALTER REPLICATION rep_obj_01 ADD TABLE FROM user01.rep_tbl TO user01.rep_tbl; isql> ALTER REPLICATION rep_obj_01 START; 서비스정상화 Server B 테이블 rep_tbl 에변경연산관련서비스종료여부확인 isql> connect sys/manager; isql> ALTER REPLICATION rep_obj_01 STOP; isql> ALTER REPLICATION rep_obj_01 DROP TABLE FROM user01.rep_tbl TO user01.rep_tbl; DDL job start isql> connect user01/user01; isql> ALTER TABLE rep_tbl ADD COLUMN (new_col CHAR(9)); DDL job end isql> connect sys/manager; isql> ALTER REPLICATION rep_obj_01 ADD TABLE FROM user01.rep_tbl TO user01.rep_tbl; isql> ALTER REPLICATION rep_obj_01 START; 서비스정상화

140 Fail-Over Fail-Over 란? DBMS 가탑재된장비에서장애발생, 네트워크경로에서장애발생, DBMS 가비정상종료되어장애가발생했을경우이를극복하는것을의미 정상상황 장애상황 DB 1 에연결 ConnAttr 에콜백등록 DB 1 에연결 ConnAttr 에콜백등록 SELECT SELECT INSERT INSERT DELETE 연결해제 DB 2 에연결 DB 2 의정합성확인 DELETE 연결해제

141 Fail-Over 장애를인식하는시점에따른 Fail-Over 의분류 CTF(Connection Time Fail-Over) DBMS 접속시점에장애를인식하여장애가발생한 DBMS 대신다른가용노드의 DBMS 로접속하고서비스를진행 STF(Service Time Fail-Over) DBMS 접속에성공하여서비스하는도중에장애가발생했을때다른가용노드의 DBMS 에다시접속하여세션의프로퍼티를복구한후사용자응용프로그램의업무로직을계속수행하도록하는것을의미

142 Fail-Over 속성 속성 AlternativeServer ConnectionRetryCount 상세설명 장애발생시접속하게될가용서버를나타내며기존의 IP Address 부분에다음과같은형식으로추가한다. (IP Address1:port1, IP Address2:port2,.) 가용서버실패시, 접속시도반복횟수 ConnectionRetryDelay 가용서버접속실패시, 다시접속을시도하기전에대기하는시간 ( 초단위 ) LoadBalance SessionFailOver ON 으로설정하면최초접속시도시에기본서버와가용서버를포함하여랜덤으로선택한다. OFF 로설정하면최초접속시도시에기본서버에접속하고, 접속에실패하면 AlternativeSever 로기술한서버에접속한다. Fail-Over 할때의종류를결정한다. ON : STF, OFF: CTF

143 Fail-Over Configuration JDBC Connection url 부분에 Fail-Over 관련속성을지정해준다. jdbc:altibase:// :20300/mydb? AlternateServers=( :20300, :20300) &ConnectionRetryCount=3&ConnectionRetryDelay=3 &LoadBalance=off&SessionFailOver=on ODBC, APRE 연결스트링부분에 Fail-Over 관련속성을지정해준다. DSN= ;UID=sys;PWD=manager;PORT_NO=20300; AlternateServers=( :20300, :20300); ConnectionRetryCount=3;ConnectionRetryDelay=3;LoadBalance=off; SessionFailOver=on

144 REPLICATION SYSTEM DESIGN

145 Replication Architecture 복제방식구현 lazy - 이중화를모듈화하여마스터트랜잭션에영향을주지않는고속복제로구현 eager - 2PC(2 Phase commit) 와유사한형식으로구현 구성방식구현 Active-Active 모두 Sender 를구동 Active-Standby Fail-over 를고려한시스템 : Active-Active 와동일하게모두 sender 를구동 백업만을위한시스템 : Active 만 sender 를구동

146 lazy vs. eager 이중화노드간동기화시점에따른이중화복제방식 lazy: 비동기식. 마스터트랜잭션과이중화트랜잭션이별개로수행이중화지연은발생하나트랜잭션처리성능이빠름 eager: 동기식. 마스터트랜잭션과이중화트랜잭션이하나로수행이중화지연은발생하지않으나트랜잭션처리성능이느림 t' t t Active Active time time Standby Standby 주요특징 delay(gap) [ 그림 1. lazy ] [ 그림 2. eager ] 이중화지연 (Replication Delay or Gap) 발생과트랜잭션처리성능측면에서의 trade-off

147 Replication Architecture INSERT UPDATE DELETE MOVE process redo log 1 2 redo logfile #n 3 Query Processor Storage Manager sender Xlog Query Processor Storage Manager receiver 7 redo logfile #n redo log thread module file page Network XSN XSN redo logfile #1 meta data meta data redo logfile #1 Local Server Remote Server Lazy Eager 마스터트랜잭션 = 이중화트랜잭션 = 트랜잭션 = 이중화트랜잭션 (7) 까지이상없이반영되었을때마스터트랜잭션 (2) 을확정

148 Replication Architecture 이중화갭 (Replication Gap) 이중화지연정도를성능뷰 v$repgap 에서수치로제공 리두로그일련번호인 SN(Sequence Number) 과 XSN을통한계산 이중화갭 = [ 지역서버의최신 SN] - [ 지역서버의최신 XSN] XSN SN Replication Gap 전송완료된리두로그 미전송한리두로그 time

149 Active-Active vs. Active-Standby 이중화갭 (Replication Gap) 변경연산주체에따른이중화노드구성방식 Active-Active 모든이중화노드에서변경연산이가능하나변경연산간충돌가능성있음 Active-Standby 특정이중화노드에서만변경연산이가능하나변경연산간충돌가능성없음 Active Active Active Standby Active Active Standby Standby [ 그림 1. Active-Active ] [ 그림 2. Active-Standby ] 주요특징 변경연산의부하분산과변경연산간충돌가능성측면에서의 trade-off 구성방식에따라응용프로그램고려사항발생 Active-Active - lock 발생에대한고려 Active-Standby - 노드역할에따른응용프로그램유지

150 Replication System Setting 이중화시스템설정방법 Active-Active, Active-Standby(fail-over) 한개의서버당 [ 전체서버개수 - 1] 개의이중화객체를생성 모든서버에서 sender 가구동 Active-Standby(backup) Active 서버는 [ 전체서버개수 - 1] 개의이중화객체를생성 Standby 서버는 Active 에대응되는 1 개의이중화객체만생성 Active 서버에서만 sender 가구동 Active Active Active Standby Active Active Standby Standby [ 그림 1. Active-Active, Active-Standby(fail-over) ] [ 그림 2. Active-Standby(backup) ]

151 Replication System Matrix 구성방식과복제방식에따른고려사항 구분 Active-Active Active-Standby lazy eager lazy eager 이중화성능빠름느림빠름느림 이중화지연 * 발생발생하지않음발생발생하지않음 변경연산의부하분산모든 DML 가능 (INSERT,UPATE,DELETE,SELECT) 불가능 (SELECT 만가능 ) 응용프로그램 lock 경합고려이중화역할에따라최소두벌유지 이중화충돌 * 발생발생하지않음 데이터불일치발생가능발생하지않음발생가능발생하지않음 이중화도입절차 시스템요건에부합하는구성방식과복제방식선택 빠른성능이장점인 lazy 복제방식을채택하는것이일반적 가장이상적인것은 Active-Active & lazy 조합에이중화충돌을회피한시스템설계 구성방식과복제방식에따라발생가능한문제에대한대응방안수립 Network 장애 * 의경우는 eager 복제방식이라할지라도장애복구방안을수립해야함

152 Replication System Design 변경연산전용서버지정방식 서버 1 은변경연산전용, 서버 2 는조회연산전용으로설계 INSERT UPDATE Active 1 replication Active 2 SELECT DELETE 주요특징 조회연산의부하분산만가능하므로응용이제한적

153 Replication System Design PK 를노드개수만큼분할하는방식 서버 1 은짝수전용, 서버 2 는홀수전용으로설계 INSERT UPDATE DELETE SELECT Active 1 TABLE P K ODD EVEN replication Active 2 TABLE P K ODD EVEN INSERT UPDATE DELETE SELECT 주요특징 변경연산의부하분산이가능하나응용프로그램구현에주의필요

154 Replication System Design 업무에따라테이블을분할하는방식 서버 1 은 A 업무테이블변경연산전용, 서버 2 는 B 업무테이블변경연산전용으로설계 INSERT Active 1 Active 2 INSERT UPDATE DELETE SELECT TABLE A P K TABLE B P K replication TABLE A P K TABLE B P K UPDATE DELETE SELECT 주요특징 변경연산의부하분산이가능하나복합업무를처리하는경우에대한고려필요

155 CONFLICT RESOLUTION

156 Replication Conflict 이중화충돌유형 삽입충돌 - 동일한 PK에대한 INSERT 연산 변경충돌 (1) - 동일한 PK에대한 UPDATE 연산 변경충돌 (2) - 존재하지않는 PK에대한 UPDATE 연산 삭제충돌 - 존재하지않는 PK에대한 DELETE 연산

157 Replication Conflict Scenario 삽입충돌, 변경충돌 (2), 삭제출동발생시나리오 time node A node B T1 Insert(PK1) & commit Insert(PK1) & commit T2 send log(t1) send log(t1) T3 receive log(node A s T2) *INSERT CONFLICT T4 delete(pk1) & commit T5 send log(t4) T6 receive log(node A s T5) *SUCCESS T7 receive log(node B s T2) *SUCCESS T8 select(pk 1) - 1 rows select(pk 1) - no rows T9 update(pk1) & commit T10 send log(t9) T11 receive log(node A s T10) *UPDATE CONFLICT(2) T12 delete(pk1) & commit T13 send log(t12) T14 receive log(node A s T13) *DELETE CONFLICT

158 Replication Conflict Scenario 변경충돌 (1) 발생시나리오 변경충돌에대한감지를하지않을경우에발생할수있는시나리오 동일한 PK 에대한서로다른노드의변경연산결과가성공, 별도의감지가필요 time node A node B T1 T2 update(pk1, A ) & commit send log(t1) T3 T4 update(pk1, B ) & commit send log(t3) T5 receive log(node B s T4) *SUCCESS T6 receive log(node A s T2) *SUCCESS T7 select(pk1) - B *UPDATE CONFLICT(1) select(pk1) - A *UPDATE CONFLICT(1)

159 Conflict Resolution ALTIBASE HDB 에서제공하는이중화충돌해결 DBMS Level User-oriented scheme Timestamps-based scheme Master-Slave scheme Utility Level Audit 이중화충돌유형에따른처리 충돌유형관련연산발생상황처리 삽입충돌 INSERT 동일한 PK 에대한 INSERT 연산 변경충돌 UPDATE 동일한 PK에대한 UPDATE 연산존재하지않는 PK에대한 UPDATE 연산 삭제충돌 DELETE 존재하지않는 PK 에대한 DELETE 연산 수신측에설정된이중화충돌해결정책에따름 * 이중화충돌리포트만수행

160 User-oriented scheme User-oriented scheme 기본적으로설정되어있는이중화충돌해결정책 이중화충돌발생시해당레코드와관련된연산을무시 사용자가확인후조치할수있도록이중화 trace 로그파일에리포트만수행 $ALTIBASE_HOME/trc/altibase_rp.log 이중화충돌유형에따른감지와처리 충돌유형발생상황충돌감지처리 삽입충돌동일한 PK 에대한 INSERT 연산 PK 존재여부로감지 변경충돌 동일한 PK 에대한 UPDATE 연산 존재하지않는 PK 에대한 UPDATE 연산 value-based 기법으로감지 PK 존재여부로감지 관련연산을모두무시, 감지에대한리포트만수행 삭제충돌존재하지않는 PK 에대한 DELETE 연산 PK 존재여부로감지

161 User-oriented scheme Value-based 기법 삽입 / 변경충돌을감지하기위한기법 변경전의값과현재값을비교하여일치하지않을경우변경충돌로판별 UPDATE 연산에대한 Xlog 는관련된컬럼의변경전의값과변경후의값으로구성 Xlog TABLE Xlog PK BEFORE AFTER PK CURRENT PK BEFORE AFTER 14 A B 14 A 14 X B conflict [ 그림 1. 정상적인연산으로판별하는경우 ] [ 그림 2. 이중화충돌연산으로판별하는경우 ] TABLE PK CURRENT 14 A 충돌감지와처리 프로퍼티설정으로충돌에대한감지와처리를선택 구분발생상황처리 삽입 충돌 변경충돌 동일한 PK에대한 INSERT 연산동일한 PK에대한 UPDATE 연산 REPLICATION_INSERT_REPLACE 값이 0 이면, 이중화충돌리포트 REPLICATION_INSERT_REPLACE 값이 1 이면, 이중화충돌을무시하고반영 REPLICATION_UPDATE_REPLACE 값이 0 이면, 이중화충돌리포트 REPLICATION_UPDATE_REPLACE 값이 1 이면, 이중화충돌을무시하고반영

162 User-oriented scheme 유의사항 LOB 컬럼은동일한 PK 변경에대한충돌을감지하지않음 LOB 데이터타입의특성 리두로그자체에변경전의값이없어감지가불가능

163 Master-Slave scheme Master-Slave Scheme 이중화객체생성시 Master, Slave 지정으로적용가능한이중화충돌해결정책 항상 Master 를기준으로처리 상세처리방식 구분 발생상황 Master 처리 Slave 삽입충돌동일한 PK 에대한 INSERT 연산이중화충돌리포트기존레코드를삭제하고 INSERT 연산반영 변경충돌동일한 PK 에대한 UPDATE 연산이중화충돌리포트 UPDATE 연산반영 유의사항 하나의 Master 이중화객체는반드시대응되는 Slave 객체가있어야만이중화가능 Master-Master (X), Slave-Slave (X), Master or Slave-NONE (X)

164 Timestamps-based scheme Timestamps-based scheme 프로퍼티로설정가능한이중화충돌해결정책 REPLICATION_TIMESTAMP_RESOLUTION 을 1 로설정 ( 기본값은 0) TIMESTAMP 컬럼을활용한우선순위판별 시간으로순서화되므로상대적으로신뢰성있는충돌해결이가능 Xlog TABLE Xlog TABLE TS PK BEFORE AFTER TS PK CURRENT TS PK BEFORE AFTER TS PK CURRENT T5 14 X B T3 14 A T7 14 A B conflict T9 14 A [ 그림 1. 정상적인연산으로판별하는경우 ] [ 그림 2. 이중화충돌연산으로판별하는경우 ] 상세처리방식 구분발생상황처리 삽입충돌 변경충돌 동일한 PK 에대한 INSERT 연산 동일한 PK 에대한 UPDATE 연산 TIMESTAMP 가같거나크면, 기존레코드를삭제하고 INSERT 연산반영. 그렇지않으면, 이중화충돌리포트 TIMESTAMP 가같거나크면, UPDATE 연산반영. 그렇지않으면, 이중화충돌리포트

165 Timestamps-based scheme 유의사항 이중화서버간시간이일치해야함 TIMESTAMP 컬럼필수 프로퍼티를설정하였다하더라도TIMESTAMP 컬럼이없는테이블은적용되지않음 TIMESTAMP 컬럼은사용자가직접추가하여야함 참고사항 TIMESTAMP 컬럼으로인한레코드당 8byte 의추가저장공간이발생 TIMESTAMP 컬럼이추가적으로전송되므로이중화를위한통신비용이증가

166 Conflict Resolution Flow 이중화충돌해결 scheme 혼용시의처리흐름 1. Timestamps-based scheme 가우선적으로적용 단, TIMESTAMP 컬럼이없다면처리하지않음 2. Master-Slave scheme 적용 3. User-oriented scheme 적용 동일한 PK 에대한변경충돌감지여부 replication NO Timestamps-based 가설정되어있는가? YES NO Master-slave 가설정된이중화객체인가? NO TIMESTAMP 컬럼이존재하는가? YES YES User-Oriented scheme Master-Slave scheme Timestamps-based scheme

167 AUDIT AUDIT 두개의 DB 를테이블단위로비교, 데이터동기화관련기능을수행하는유틸리티 이중화충돌로인한데이터불일치를사용자판단에의해일괄적으로해결하게함이목적 기본적으로마스터 (MASTER) DB 를기준으로슬래이브 (SLAVE) DB 를일치시키는정책을채택 대상 DB 가변경중에는정상적으로수행되지않을수있으므로주의가필요 DB 1 DB 2 Audit Audit Config Audit Report

168 AUDIT Audit 의종류 Master DB 와 Slave DB 간의데이터불일치가발생하는세가지경우 Master Slave KEY VALUE KEY VALUE 1 APPLE 2 ORANGE 3 PEAR MOSX 1 APPLE 2 ORANGE KEY VALUE KEY VALUE 1 APPLE 2 ORANGE 3 PEAR MOSO 1 APPLE 2 ORANGE 3 GRAPE KEY VALUE KEY VALUE 1 APPLE 2 ORANGE MXSO 1 APPLE 2 ORANGE 3 PEAR

169 AUDIT 데이터동기화정책 Audit 이후 Master DB 와 Slave DB 간의데이터불일치가발생하는세가지경우에따라다음의데이터동기화정책을사용 SI (Slave Database Insert) MOSX 불일치를해소하는정책으로, Master DB 의레코드를 Slave DB 에삽입 (Insert) 한다. Master Slave KEY VALUE KEY VALUE 1 APPLE 2 ORANGE 3 PEAR MOSX 1 APPLE 2 ORANGE KEY VALUE KEY VALUE 1 APPLE 2 ORANGE 3 PEAR SI : Slave 저장 1 APPLE 2 ORANGE 3 PEAR

170 AUDIT SU (Slave Database Update) MOSO 불일치를해소하는정책으로, Master DB 의레코드내용으로 Slave DB 를변경 (Update) 한다. Master Slave KEY VALUE KEY VALUE 1 APPLE 2 ORANGE 3 PEAR MOSO 1 APPLE 2 ORANGE 3 GRAPE KEY VALUE KEY VALUE 1 APPLE 2 ORANGE 3 PEAR SU : Slave 변경 1 APPLE 2 ORANGE 3 PEAR

171 AUDIT MI (Master Database Insert) MXSO 불일치를해소하는정책으로, Slave DB 의레코드를 Master DB 에삽입 (Insert) 한다. Master KEY VALUE 1 APPLE 2 ORANGE MXSO Slave KEY VALUE 1 APPLE 2 ORANGE 3 PEAR KEY VALUE 1 APPLE 2 ORANGE 3 PEAR MI : 마스터저장 KEY VALUE 1 APPLE 2 ORANGE 3 PEAR

172 AUDIT SD (Slave Database Delete) MXSO 불일치를해소하는정책으로, Slave DB 의레코드를삭제 (Delete) 한다. Master KEY VALUE 1 APPLE 2 ORANGE MXSO Slave KEY VALUE 1 APPLE 2 ORANGE 3 PEAR KEY VALUE 1 APPLE 2 ORANGE SD : Slave 삭제 KEY VALUE 1 APPLE 2 ORANGE

173 AUDIT AUDIT 의구성 Audit 실행시서로다른두개의데이터베이스간에구성될 Audit 정책을기술한설정파일이필요 Audit 설정파일 : Audit 을실행하기위한옵션을지정하는설정파일로이파일은 Connection 정보, Audit 기능설정, 일치정책등의내용을포함하고있으며 $ALTIBASE_HOME/audit/sample.cfg 샘플파일을참조하여작성 비교 (DIFF) 기능 : Master DB 와 Slave DB 의불일치데이터를식별하여결과파일로생성 일치 (SYNC) 기능 : 두데이터베이스간의불일치를해소하고, 불일치데이터에대한정보를결과파일로생성

174 AUDIT 비교 (DIFF) 기능 Master DB 와 Slave DB 간의이중화작업에서발생한불일치데이터를식별하여실행결과파일로생성 # 비교작업을위한감사환경파일설정시작 # Master DB 접속정보설정 DB_MASTER= altibase://sys:manager@dsn=host1;port_no=10111;nls_use=ms949 # Slave DB 접속정보설정 DB_SLAVE= altibase://sys:manager@dsn=host2;port_no=20111;nls_use=ms949 # Audit 작업종류기술 ( 비교작업이므로 DIFF 설정 ) OPERATION = DIFF # 스레드수를지정 ( 무제한 ) MAX_THREAD = -1

175 AUDIT # 불일치감사정책설정 (diff 의경우설정의미없음 ) # DELETE_IN_SLAVE = ON # INSERT_TO_SLAVE = ON # INSERT_TO_MASTER = OFF # UPDATE_TO_SLAVE = ON # AUTODETECT_UNIQ_INX = ON # 실행결과파일이생성될위치지정 LOG_DIR =./ LOG_FILE = sample.log # Audit 대상테이블매칭설정 # 마스터테이블 [ EMP] 과슬레이브테이블 EMPLOYEE 와비교 [EMP] TABLE = EMPLOYEE SCHEMA = SYS # 마스터테이블 [DEPT] 와슬레이브테이블 DEPARTMENT 와비교 [DEPT] TABLE = DEPARTMENT SCHEMA = SYS # 감사환경파일설정끝

176 AUDIT Audit 명령실행 $ audit f sample.cfg 마스터테이블 - 사용자명. 슬래이브테이블.log 내용 (1) MOSX 일경우 $ cat EMP-SYS.EMPLOYEE.log MOSX[19,15]->ENO(19):PK->{19} MOSX[20,15]->ENO(20):PK->{20} (2) MOSO 일경우 $ cat EMP-SYS.EMPLOYEE.log MOSO[10,10]->ENAME('JJLEE ','YHBAE '):PK->{10} MOSO[11,11]->ENAME( MJYOO ','MSKIM '):PK->{11} (3) MXSO 일경우 $ cat EMP-SYS.EMPLOYEE.log MXSO[8,8]->ENO(8):PK->{8} MXSO[8,9]->ENO(9):PK->{9}

177 AUDIT 일치 (SYNC) 기능 Master DB와 Slave DB간의불일치데이터를식별하여 Audit 환경파일의일치정책에따라불일치를해소하는기능 # 비교작업을위한 Audit 환경파일설정시작 # Master DB 접속정보설정 DB_MASTER= altibase://sys:manager@dsn=host1;port_no=10111;nls_use=ms949 # Slave DB 접속정보설정 DB_SLAVE= altibase://sys:manager@dsn=host2;port_no=20111;nls_use=ms949 # Audit 작업종류기술 ( 일치작업이므로 SYNC 설정 ) OPERATION = SYNC # 스레드수를지정 ( 무제한 ) MAX_THREAD = -1

178 AUDIT # 불일치 Audit 정책설정 DELETE_IN_SLAVE = ON INSERT_TO_SLAVE = ON INSERT_TO_MASTER = OFF UPDATE_TO_SLAVE = ON AUTODETECT_UNIQ_INX = ON # 실행결과파일이생성될위치지정 LOG_DIR =./ LOG_FILE = sample.log # Audit 대상테이블매칭설정 # 마스터테이블 [ EMP] 과슬레이브테이블 EMPLOYEE 와비교 [EMP] TABLE = EMPLOYEE SCHEMA = SYS # 마스터테이블 [DEPT] 과슬레이브테이블 DEPARTMENT 와비교 [DEPT] TABLE = DEPARTMENT SCHEMA = SYS # 감사환경파일설정끝

179 AUDIT Audit 명령실행 $ audit f sample.cfg 실행결과파일내용은다음과같으며만일실패한레코드가있다면, 해당레코드는로그파일에원인과레코드내용이출력 Sample.log 파일내용 INFO[ MNG ] Tread # 0 init is OK! INFO[ MNG ] Tread # 0 start is OK! [EMP->EMPLOYEE] Fetch Rec In Master: 3 Fetch Rec In Slave : 2 MOSX = -, SI MXSO = -, SD MOSO = -, SU

180 AUDIT Operation Type MASTER SLAVE INSERT Try 0 1 Fail 0 0 UPDATE Try X 1 Fail X 0 DELETE Try X 0 Fail X UPDATE Try 0 2 Fail 0 0 OOP TPS: SCAN TPS: Time: 0.00 sec

181 AUDIT 이중화환경에서의일치 (SYNC) 작업절차 Application 서비스중지 AUDIT SYNC 중변경트랜잭션발생시데이터가불일치될수있음 이중화갭확인 이중화로그원격서버에모두반영되었는지 (rep_gap=0) 확인 isql> SELECT rep_gap FROM v$repgap; 이중화중지 isql> ALTER REPLICATION replication_name STOP; AUDIT 수행 REPLICATION QUICKSTART AUDIT 으로반영된트랜잭션로그가이중화로전송되는것을방지 isql> ALTER REPLICATION replication_name QUICKSTART;

182 AUDIT Audit 사용시유의사항 PK 가없을경우 Log 파일에아래에러발생 FATAL[ TASK ] Process failure! [SCANER]: [ERR-910D8 : No Primary Key Column exist (T1:T1)] SD 와 MI 정책충돌시아래에러발생 Invalid Property Value SD and MI Incompatible was defined. 데이터타입이다를경우데이터값이같더라도다르게인식 char(10) vs. varchar(10)

183 REPLICATION OPTIMIZATION

184 Overview ALTIBASE 이중화최적화를위한공통고려사항 응용프로그램고려요소 제한사항 권고되는 logic 이중화갭최소화및 TPS 향상을위한필수고려요소 Network 최적화 트랜잭션튜닝 Active-Active 구성방식에서의고려사항 부분실패와부분롤백 이중화에서의 lock 체계 이중화 lock timeout 이중화데드락 이중화 sender 튜닝

185 OPTIMIZATION PK 에대한 UPDATE 연산불가능 PK 변경시이중화충돌이발생가능하므로에러로처리됨 이중화객체설계 이중화객체간트랜잭션순서가관계없다면이중화객체를분리하는것을권장 이중화송신쓰레드를객체수만큼생성함으로속도향상기대가능 메모리 DB 관련이중화객체와디스크 DB 관련이중화객체의분리는필수 디스크 DB 의느린수행속도로인해메모리 DB 의이중화수행속도까지느려지는현상방지

186 Application Logic INSERT 결과가중복에러일때 UPDATE 를수행하는 logic 의변경권장 일반적으로흔히사용되지만 DBMS 에부하를주는잘못된 logic 대부분의 DBMS 는무조건 INSERT 연산을수행후결과를반환하는구조 리두로그복제기법의 ALTIBASE 이중화에서는또다른문제가발생 실패한 INSERT 연산에대한 INSERT, 롤백연산도이중화되어불필요한연산부하증가 이중화 trace 로그파일에다량의삽입충돌에러메시지가발생 무시해도되는다량의삽입충돌에러로인해주요한에러에대한식별이어려워짐 UPDATE 결과가없을때 INSERT 하는 logic 으로변경권장 DBMS 에부하를주는잘못된 logic INSERT INTO TABLE If (SQLCODE == SQL_DUP_ERROR) { UPDATE TABLE } 권장되는 logic UPDATE TABLE If (SQLCODE == SQL_NO_DATA) { INSERT INTO TABLE }

187 Transaction Tuning Network 대역폭을초과하는트랜잭션의튜닝 기본적으로벌크 (bulk) 성 UPDATE/DELETE 연산은자제 업무요건상발생시완화방안 LIMIT 절을활용한분할수행 양쪽서버에서이중화세션제어옵션을 NONE으로설정후동일한연산을수행 테이블전체를주기적으로삭제하는경우 DELETE 보다는 TRUNCATE 를활용 프로퍼티설정후양쪽서버에서 TRUNCATE 구문수행 UPDATE 연산의최소화 업무상불필요한 UPDATE 연산의최소화만으로도 Network 대역폭사용량감소가능 UPDATE 연산에대한 Xlog 는이중화출동감지를위해관련된컬럼의변경전의값과변경후의값으로구성되므로가장큼

188 Partial Fail & Partial Rollback 부분실패 원격서버에서이중화를반영할때트랜잭션의일부인특정레코드의반영실패 특정레코드반영실패로인해전체트랜잭션이실패하는상황발생 REP_TBL UPDATE rep_tbl SET c2 = X WHERE c1 >= 300 AND c1 <= 400; Xlog receiver execution #001 execution # NEW NEW execution #099 fail 399 OLD execution # NEW Remote Server [ 100 건의레코드를변경하는하나의구문이이중화연산중 1 건의반영실패발생하는상황 ] 반영실패요인 이중화충돌, 이중화 lock timeout 초과

189 Partial Fail & Partial Rollback 부분실패발생시복제방식에따른처리 구분 lazy eager 지역서버 - commit 시에러발생 원격서버 해당레코드와관련된구문과에러로그를남김해당레코드와관련된연산에대한부분롤백수행 해당레코드와관련된구문과에러로그를남김 처리결과해당레코드는지역서버만반영 관련트랜잭션전체가지역서버와원격서버모두반영되지않음 부분롤백 원격서버에서이중화를반영할때반영실패가발생한레코드만롤백을수행하는기법 특정레코드반영실패로인해전체트랜잭션이반영실패하는상황을방지하는것이목적 부분롤백이수행된레코드는원격서버와지역서버간의불일치상태로남게됨

190 Lock System in Replication 이중화에서의 lock 체계 변경연산에한하여단일서버를사용하는것과유사한레코드단위 lock 체계를가짐 단, Network 특성상더늦게발생한변경연산 (5) 이먼저 lock 을획득할가능성존재 동일한레코드에대한변경연산시두가지형태로 lock 이발생 이중화변경연산이먼저 lock 을획득한경우 (1~3) 마스터변경연산이먼저 lock 을획득한경우 (4~6) TX UPDATE (2) 3 5 WAIT REP_TBL DATA DATA DATA 2 6 WAIT REP_TBL DATA DATA DATA TX 1 4 UPDATE (2) UPDATE (45) UPDATE (45) Local Server Remote Server [ lock 획득시점에따른이중화서버간 lock 획득흐름 ]

191 Lock System in Replication 장시간지속시 lock 형태에따른현상 이중화변경연산이먼저 lock 을획득한경우 수신서버의 lock 대기가지속되나 DBMS 차원에서정상적인흐름 동기화측면에서는크게문제되지않음 마스터변경연산이먼저 lock 을획득한경우 receiver가 lock 획득을위해대기하므로이중화수행이중지됨 lazy - 이중화갭증가로인한데이터불일치현상심화 eager - 이중화대상테이블에대한변경연산후 commit을수행한세션은대기상태 대응방안 이중화변경연산을위한대기시간의한계를설정 대기시간초과시해당레코드에대한변경연산을포기하는정책적용

192 Replication Lock Timeout 이중화 lock timeout 이중화를수행할때 receiver가 lock을획득하기위한최대대기시간 lock으로인해이중화수행전체에영향을미치는것을방지함이목적 이중화수신측의프로퍼티를통해적용 REPLICATION_LOCK_TIMEOUT, 기본값은 5 sec 고려사항 시스템에따른적정한이중화 lock timeout 수치설정 지나치게클경우, 이중화수행자체가장시간중지될수있음 지나치게작을경우, 잦은이중화 lock timeout 발생으로데이터불일치가심각해질수있음 이중화대상서버의 DML 수행시점 이중화 lock timeout 이발생하여일부레코드가반영되지않을수있으므로주의

193 Replication Deadlock 이중화데드락 마스터변경연산과이중화변경연산이서로엉켜무한대기상태 DBMS에서감지가불가능한 Network 데드락 변경연산트랜잭션의최대시간을제한하는프로퍼티를통하여제한가능 UTRANS_TIMEOUT 최선의대안은변경연산간의경합을고려한시스템도입 TX REP_TBL REP_TBL TX UPDATE (2) DATA DATA DATA DATA WAIT 3 UPDATE (45) 6 WAIT 45 DATA 4 45 DATA 5 UPDATE (2) UPDATE (45) Local Server Remote Server

194 Replication sender Tuning 이중화 sender 의리두로그접근순서 이중화전용리두로그버퍼 리두로그버퍼 리두로그파일 INSERT UPDATE DELETE service thread Pool service sender 의성능저하시프로퍼티를통한튜닝요소 이중화전용리두로그버퍼의크기증가 REPLICATION_LOG_BUFFER_SIZE 최대 4G 까지설정가능, 기본값은 30M 리두로그파일을직접접근하지않기위해설정 미리읽을리두로그파일의개수증가 REPLICATION_PREFETCH_LOGFILE_COUNT 최대 1024 까지설정가능, 기본값은 0 로그파일을미리읽어두므로속도향상 2 차적인튜닝대상 redo logfile #n 3 2 service redo log buffer redo Local Server logfile #1 service sender service replication redo log buffer 1 Xlog

195 REPLICATION MONITORING

196 Overview DBMS 모니터링분류 분류내부모니터링외부모니터링 trace 로그모니터링 설명메타테이블및성능뷰에대한질의를통하여 DBMS 내부요소를모니터링 OS 명령어를통하여 OS차원에서 DBMS 관련된외부요소를모니터링 DBMS에서발생하는각종로그를모니터링 모니터링방법 관련명령어를수행하는쉘스크립트작성하여주기적으로수행 유틸리티활용 ALTIMON Replication Manager 별도의응용프로그램작성

197 Replication Monitoring 이중화관련주요내부모니터링요소 이중화갭 sender receiver 이중화관련주요외부모니터링요소 network 리두로그파일시스템 ALTIBASE HDB구동상태 OS 구동상태 이중화관련주요 trace 로그요소 이중화 trace 로그파일

198 Replication Monitoring 추가적인내부모니터링요소 이중화와직접적인관련이있는요소는아니나영향을미치므로모니터링필요 벌크 (BULK) 성 UPDATE/DELETE 쿼리수행 성능뷰 v$statement, v$session 등을활용 장시간수행되는변경연산트랜잭션 성능뷰 v$transaction, v$statement, v$session 등을활용

199 Replication Meta Table 이중화관련메타테이블 이중화객체생성만으로도관련정보를조회가능 메타테이블 설명 SYS_REPLICATIONS_ SYS_REPL_HOSTS_ SYS_REPL_ITEMS_ SYS_REPL_OFFLINE_DIR_ SYS_REPL_OLD_COLUMNS_ SYS_REPL_OLD_INDEX_COLUMNS_ SYS_REPL_OLD_INDICES_ SYS_REPL_OLD_ITEMS_ SYS_REPL_RECOVERY_INFOS_ 이중화객체정보이중화객체별이중화대상 IP 정보이중화객체별이중화대상테이블정보오프라인이중화옵션정보 (5.3.3 higher) sender가현재사용중인이중화대상칼럼정보 sender가현재사용중인이중화대상인덱스칼럼정보 sender가현재사용중인이중화대상인덱스정보 sender가현재사용중인이중화대상테이블정보이중화복구를위한로그정보메타테이블

200 Replication Meta Table SYS_REPLICATIONS Column Name 설명 REPLICATION_NAME IS_STARTED XSN ITEM_COUNT CONFLICT_RESOLUTION REPL_MODE 이중화이름이중화시작여부송신자가 Xlog 전송을재개할재시작 SN 이중화대상테이블개수이중화충돌해결방법기본이중화모드 SYS_REPL_HOSTS Column Name HOST_NO REPLICATION_NAME HOST_IP PORT_NO 호스트식별자이중화이름원격서버 IP 주소원격서버이중화포트번호 설명

201 Replication Meta Table SYS_REPL_ITEMS_ Column Name 설명 _ REPLICATION_NAME TABLE_OID LOCAL_USER_NAME LOCAL_TABLE_NAME REMOTE_USER_NAME REMOTE_TABLE_NAME 이중화이름테이블객체식별자지역서버의대상테이블소유자이름지역서버의대상테이블이름원격서버의대상테이블소유자이름원격서버의대상테이블이름

202 Replication Performance View 이중화관련성능뷰 이중화를운영하여 sender 및 receiver 가활성화되었을때만조회가능 v$repgap 에서제공하는이중화갭수치는 sender 가구동중인상태에서만조회가능

203 Replication Performance View 이중화관련성능뷰 이중화를운영하여 sender 및 receiver 가활성화되었을때만조회가 v$repgap 에서제공하는이중화갭수치는 sender 가구동중인상태에서만조회가능 성능뷰 설명 v$repgap v$repsender v$repsender_transtbl v$repreceiver v$repreceiver_column v$repreceiver_transtbl v$repsync v$repoffline_status v$repexec v$replogbuffer 이중화갭정보 sender 정보 sender의트랜잭션테이블정보 receiver 정보 receiver의이중화대상칼럼정보 receiver의트랜잭션테이블정보테이블복제를수행중인테이블의정보오프라인이중화의수행상태정보 (5.3.3 higher) 이중화관리자정보이중화전용로그버퍼의정보

204 Replication Meta Table v$repgap Column Name 설명 REP_NAME REP_LAST_SN REP_SN REP_GAP READ_FILE_NO 이중화객체의이름마지막로그레코드의일련번호현재전송중인로그레코드의일련번호 REP_LAST_SN과 REP_SN의차이현재읽고있는로그파일번호 v$repsender _ Column Name REP_NAME XSN COMMIT_XSN STATUS SENDER_IP PEER_IP REPL_MODE 설명 이중화객체의이름현재송신중인로그레코드의 SN Commit 로그레코드의 SN 현재상태송신자 IP 주소원격서버의 IP 주소사용자가지정한이중화모드

205 Replication Meta Table v$repreceiver Column Name 설명 REP_NAME MY_IP PEER_IP APPLY_XSN 이중화객체의이름지역서버의 IP 주소원격서버의 IP 주소처리중인 XSN _

206 Replication Monitoring Example (1) 지역서버 isql> SELECT rep_name, rep_sn, rep_last_sn, rep_gap, read_file_no, start_flag FROM v$repgap; REP_NAME REP_SN REP_LAST_SN REP_GAP READ_FILE_NO START_FLAG REP row selected. isql> SELECT rep_name, xsn, status, repl_mode FROM v$repsender; REP_NAME XSN STATUS REPL_MODE REP LAZY 1 row selected. isql> SELECT replication_name, xsn, is_started FROM SYSTEM_.SYS_REPLICATIONS_; REPLICATION_NAME XSN IS_STARTED REP row selected. isql> exit $ $ ls $ALTIBASE_HOME/logs loganchor0 logfile529 logfile532 logfile535 logfile538 logfile541 logfile544 loganchor1 logfile530 logfile533 logfile536 logfile539 logfile542 logfile545 loganchor2 logfile531 logfile534 logfile537 logfile540 logfile543

207 Replication Monitoring Example (1) 원격서버 isql> SELECT rep_name, apply_xsn FROM v$repreceiver; REP_NAME APPLY_XSN REP

208 Replication Monitoring Example (2) 대표적인이중화장애상황에대응되는모니터링적용예제 모든모니터링요소는이중화갭모니터링만으로도간접적으로감지가가능 원인상황모니터링요소대상 대량변경연산대량 (BULK) 의 UPDATE/DELETE 수행대량변경연산트랜잭션지역서버 Network 장애 일시적 / 주기적인 Network 결함 Network 단절 Network 지역서버, 원격서버 송신불가지역서버의이중화가중지 (STOP) 된상태 Sender 지역서버 원격서버의 ALTIBASE HDB 구동중지 ALTIBASE HDB server 원격서버의 OS failure OS 수신불가 원격서버의리두로그파일관련파일시스템의 full (1) 장시간수행되는원격서버의변경트랜잭션으로인한대량의리두로그파일생성과같은 ALTIBASE HDB 내부요인 장시간수행되는변경연산트랜잭션 원격서버 원격서버의리두로그파일관련파일시스템의 full (2) 사용자가임의로다른작업을위해해당파일시스템의공간을사용중인경우와같은 ALTIBASE HDB 외부요인 리두로그파일시스템

209 REPLICATION MANAGER

210 Replication Manager Replication Manager ALTIBASE HDB 이중화관리를위한 GUI 툴로다수의서버에기동되고있는 Replication 객체를편리하게모니터링이가능 주요특징 ALTIBASE HDB 이상에서사용가능 이중화객체상태와관계확인 마우스클릭한번으로이중화객체관리 이중화모니터링및상태분석이직관적으로가능

211 Replication Manager 시스템요구사항 하드웨어요구사항 CPU : 800Mhz 펜티엄 III 이상 메인메모리 : 512MB 이상 디스크 : 50MB 이상의여유공간 (JRE를위한별도저장공간필요 ) 화면해상도 : 1024 x 768 화소이상 패키지종류 패키지이름 컴퓨터운영체제 하드웨어 자바실행환경 윈도우시스템 ReplicationManagerwin32. win32.x86.zip (JRE 포함 ) Windows XP, Vista, 7 x86 32-bit Java 6 or higher Win32 ReplicationManagerlinux.gtk.x86.zip (JRE 포함 ) Linux x86 32-bit Java 6 or higher GTK

212 Replication Manager 설치및제거 다운로드 알티베이스고객지원서비스포털 ( 에서다운로드 Zip 파일과같은압축된형식으로제공 설치 Replication Manager 설치파일의압축을해제하고디렉토리를원하는위치로이동 ALTIBASE HDB 버전에알맞은 JDBC 드라이버필요 삭제 Replication Manager 설치디렉토리삭제 Replication Manager 시작과종료 시작 프로그램이설치된폴더에서, 윈도우의경우 "Replication Manager.exe" 실행파일을더블클릭하고, 리눅스의경우 "Replication Manager" 응용프로그램을실행 종료 상위메뉴에서 "File" 을선택한다음 "Exit" 를선택하거나, 오른쪽상단에있는 X 를클릭

213 Replication Manager 데이터베이스연결추가 도구모음에서 "New DB Connection" 아이콘을클릭하거나, "DBConnections" 창에서 "DB Connections" 아이콘에오른쪽클릭한다음표시되는콘텍스트메뉴에서 "New DB Connection" 항목을클릭

214 Replication Manager 데이터베이스연결하기 새로추가된데이터베이스에오른쪽클릭한다음 "Connect" 항목을선택. 시스템환경에따라시간이좀걸릴수도있음.

215 Replication Manager 데이터베이스연결정보편집 데이터베이스연결정보를편집하고자할때데이터베이스에오른쪽클릭하여콘텍스트메뉴를연후 Edit 항목을선택한다.

216 Replication Manager 사용자인터페이스 Replication Manager GUI 는 DB Connections, Replication Pairs, Properties, MAP 4 개의창으로구성 DB Connections Replication Pairs Map Properties

217 Replication Manager DB Connections 프로그램의시작위치이며, 데이터베이스와이중화객체간의관계를트리구조로보여주는데이터베이스중심의뷰이다

218 Replication Manager Replication Pairs 이중화개체를한쌍으로표현하여보여주는논리적인뷰이다. 두개씩짝지어같은이름을갖고서로상호작용하는이중화객체그룹을 " 이중화쌍 " 이라고부른다.

219 Replication Manager Properties 현재선택된객체의속성을보여준다. ( 예. 데이터베이스연결또는이중화객체 ) Replication Object 정보 SENDER 정보 RECEIVER 정보

220 Replication Manager Map 데이터베이스들과이중화객체들, 그리고서로간의관계에대한물리적구성과상태를그래프로형상화한다.

221 Replication Manager Replication Object 생성 DB Connections 데이터베이스에오른쪽클릭한다음 Create Replication Object 메뉴를클릭한후정보를입력

222 Replication Manager Replication Object 생성확인 각메뉴창에서새로생성한 Replication Object 를확인

223 Replication Manager Replication Object 이중화시작 Replication Object 명에오른쪽클릭하여이중화시작

224 Replication Manager Show DDL Replication Object 와관련 Object (Table, Index 등 ) 의스키마생성정보를보여줌

225 Replication Manager Compare DDL Replication Object 와상대서버의 Object 간의스키마생성정보를비교

226 Replication Manager Monitor Replication Object 에대한모니터링정보

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

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

More information

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

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

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

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

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

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

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

목 차

목      차 Oracle 9i Admim 1. Oracle RDBMS 1.1 (System Global Area:SGA) 1.1.1 (Shared Pool) 1.1.2 (Database Buffer Cache) 1.1.3 (Redo Log Buffer) 1.1.4 Java Pool Large Pool 1.2 Program Global Area (PGA) 1.3 Oracle

More information

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

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

슬라이드 1

슬라이드 1 c ALTIBASE HDB ADMINISTRATION I INTRODUCTION to ALTIBASE HDB ALTIBASE HDB CONCEPT 타 DBMS와의비교 INSTALLATION STARTUP & STOP isql ALTIBASE HDB CONCEPT DBMS 특징 메모리 DBMS 의특징 빠른데이터처리성능 데이터와인덱스를모두메모리에저장하여처리하므로빠른데이터처리가능

More information

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE STARTUP/STOP 과정의이해 2010. 05 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change Reference

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE Quick Install & Start for UNIX ALTIBASE 5 2010. 03 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

Simplify your Job Automatic Storage Management DB TSC

Simplify your Job Automatic Storage Management DB TSC Simplify your Job Automatic Storage Management DB TSC 1. DBA Challenges 2. ASM Disk group 3. Mirroring/Striping/Rebalancing 4. Traditional vs. ASM 5. ASM administration 6. ASM Summary Capacity in Terabytes

More information

Oracle Database 10g: Self-Managing Database DB TSC

Oracle Database 10g: Self-Managing Database DB TSC Oracle Database 10g: Self-Managing Database DB TSC Agenda Overview System Resource Application & SQL Storage Space Backup & Recovery ½ Cost ? 6% 12 % 6% 6% 55% : IOUG 2001 DBA Survey ? 6% & 12 % 6% 6%

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 5.3.3.93 Patch Notes Table of Contents BUG-27950 ALL PRIVILEGES 권한을가진계정이다른계정의테이블에 Foreign Key 를 생성하지못한다. 3 BUG-38105 PASSWORD_LIFE_TIME 경과후유예기간 (PASSWORD_GRACE_TIME) 내에 접속을시도할경우알림메시지를발생해야한다.

More information

Cloud Friendly System Architecture

Cloud Friendly System Architecture -Service Clients Administrator 1. -Service 구성도 : ( 좌측참고 ) LB(LoadBlancer) 2. -Service 개요 ucloud Virtual Router F/W Monitoring 개념 특징 적용가능분야 Server, WAS, DB 로구성되어 web service 를클라우드환경에서제공하기위한 service architecture

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Spider For MySQL 실전사용기 피망플러스유닛최윤묵 Spider For MySQL Data Sharding By Spider Storage Engine http://spiderformysql.com/ 성능 8 만 / 분 X 4 대 32 만 / 분 많은 DB 중에왜 spider 를? Source: 클라우드컴퓨팅구 선택의기로 Consistency RDBMS

More information

ALTIBASE XDB Release Note APRIL 22, 2014

ALTIBASE XDB Release Note APRIL 22, 2014 6.1.3 Release Note APRIL 22, 2014 목차 목차... 2 1. 시스템요구사항... 3 2. 릴리스정보... 4 2.1 6.1.3의주요기능... 4 2.2 변경사항... 8 데이터베이스버전... 8 호환성... 8 프로퍼티... 8 성능뷰... 8 에러메시지... 8 2.3 패키지... 9 2.4 다운로드... 10 위치... 10 설치...

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

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

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 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 -------------------------------------------------------------------- -- 1. : ts_cre_bonsa.sql -- 2. :

More information

62

62 2 instance database physical storage 2 1 62 63 tablespace datafiles 2 2 64 1 2 logical view control files datafiles redo log files 65 2 3 9i OMF Oracle Managed Files, OMF 9i 9i / / OMF 9i 66 8 1MB 8 10MB

More information

슬라이드 1

슬라이드 1 알티베이스의 DBMS 를바라보다! Session1. 오라클의눈으로알티베이스를보다 Session2. ALTIBASE HDB ZETA 소개 (New Feature & Utility) ALTIBASE 교육센터소개 Altibase Corp. 교육컨설팅팀성원준 AGENDA 1. Altibase 교육센터소개 2. Altibase 교육과정소개 Altibase 교육센터소개

More information

PowerPoint Presentation

PowerPoint Presentation Server I/O utilization System I/O utilization V$FILESTAT V$DATAFILE Data files Statspack Performance tools TABLESPACE FILE_NAME PHYRDS PHYBLKRD READTIM PHYWRTS PHYBLKWRT WRITETIM ------------- -----------------------

More information

PowerPoint Presentation

PowerPoint Presentation FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files

More information

초보자를 위한 분산 캐시 활용 전략

초보자를 위한 분산 캐시 활용 전략 초보자를위한분산캐시활용전략 강대명 charsyam@naver.com 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 그러나현실은? 서비스에필요한것은? 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 적절한기능 서비스안정성 트위터에매일고래만보이면? 트위터에매일고래만보이면?

More information

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

제품소개

제품소개 Hybrid MM DBMS ALTIBASE 4 4 Technical Features : Part I Storage Manager ( 주 ) 알티베이스김성진 sjkim@altibase.com -2- CONTENTS 1. Problems & Goals 2. SM Architecture 3. Concurrency Control 4. TableSpace 5. Layers

More information

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUERY 을실행하게된다면 BLOCK I/O 가많이발생하게된다. 이런이유로 QUERY 의성능은좋지못할것이다.

More information

PRO1_09E [읽기 전용]

PRO1_09E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

最即時的Sybase ASE Server資料庫診斷工具

最即時的Sybase ASE Server資料庫診斷工具 TOAD 9.5 Toad Oracle 料 SQL 料 行 理 SQLprofile Quest Software 了 Oracle -Toad Tools of Oracle Application Developers Toad 了 DBA DBA 理 易 度 Toad 料 SQL PL/SQL Toad Oracle PL/SQL Toad Schema Browser Schema Browser

More information

Oracle9i Real Application Clusters

Oracle9i Real Application Clusters Senior Sales Consultant Oracle Corporation Oracle9i Real Application Clusters Agenda? ? (interconnect) (clusterware) Oracle9i Real Application Clusters computing is a breakthrough technology. The ability

More information

슬라이드 1

슬라이드 1 사례를통해본 ORACLE MAA (Maximum Availability Architecture) 2013. 02. Seungtaek Lee( 放浪 DBA) ORACLE MAA 최고의가용성을보장하기위해 Oracle( 사 ) 의여러솔루션을조합한 Oracle 권고아키텍처 2 ORACLE DB HA Solution Set RAC, Data Guard(ADG), ASM,

More information

JDBC 소개및설치 Database Laboratory

JDBC 소개및설치 Database Laboratory JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }

More information

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

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

MySQL-Ch10

MySQL-Ch10 10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,

More information

The Self-Managing Database : Automatic Health Monitoring and Alerting

The Self-Managing Database : Automatic Health Monitoring and Alerting The Self-Managing Database : Automatic Health Monitoring and Alerting Agenda Oracle 10g Enterpirse Manager Oracle 10g 3 rd Party PL/SQL API Summary (Self-Managing Database) ? 6% 6% 12% 55% 6% Source: IOUG

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

Backup Exec

Backup Exec (sjin.kim@veritas.com) www.veritas veritas.co..co.kr ? 24 X 7 X 365 Global Data Access.. 100% Storage Used Terabytes 9 8 7 6 5 4 3 2 1 0 2000 2001 2002 2003 IDC (TB) 93%. 199693,000 TB 2000831,000 TB.

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.3.1.10.6 Patch Notes 목차 BUG-45060 offline replication start 와 replication drop 을동시에수행하는경우, replication start 가완료되지않았으면 replication drop 을수행하지못하도록수정하였습니다... 4 BUG-46193 메모리테이블의이중화병렬 sync

More information

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

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation 1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation Board(EVB B/D) 들과 TCP/IP Protocol로연결되며, 연결된 TCP/IP

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

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

오라클 데이터베이스 10g 핵심 요약 노트 1 10g 10g SYSAUX 10g 22 Oracle Database 10g, 10g. 10g. (Grid), 10g.. 10g SYSAUX (ASM, Automatic Storage Management) 10g 10g. g. (DBA).,., 1).,..? 10g,.. (Larry Ellison).. (Leverage Components), (ASM) (

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770> 제 8강 SQL: 관계데이터베이스언어 강의목표 관계데이타베이스언어로서상용 DBMS에서가장널리사용되는 SQL의동작원리에관하여학습하고, 이를이용하여다양한질의문을작성하는방법을습득한다 기대효과 SQL의데이터정의기능을이해한다 SQL의데이터조작기능중질의기능을이해한다 SQL의데이터조작기능중데이터갱신기능을이해한다 SQL의데이터조작기능중뷰및인덱스관련기능을이해한다 SQL 의개요

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령

More information

歯sql_tuning2

歯sql_tuning2 SQL Tuning (2) SQL SQL SQL Tuning ROW(1) ROW(2) ROW(n) update ROW(2) at time 1 & Uncommitted update ROW(2) at time 2 SQLDBA> @ UTLLOCKT WAITING_SESSION TYPE MODE_REQUESTED MODE_HELD LOCK_ID1

More information

PRO1_04E [읽기 전용]

PRO1_04E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_04E1 Information and S7-300 2 S7-400 3 EPROM / 4 5 6 HW Config 7 8 9 CPU 10 CPU : 11 CPU : 12 CPU : 13 CPU : / 14 CPU : 15 CPU : / 16 HW 17 HW PG 18 SIMATIC

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

vm-웨어-01장

vm-웨어-01장 Chapter 16 21 (Agenda). (Green),., 2010. IT IT. IT 2007 3.1% 2030 11.1%, IT 2007 1.1.% 2030 4.7%, 2020 4 IT. 1 IT, IT. (Virtualization),. 2009 /IT 2010 10 2. 6 2008. 1970 MIT IBM (Mainframe), x86 1. (http

More information

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

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

ETL_project_best_practice1.ppt

ETL_project_best_practice1.ppt ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE 설치시발생할수있는문제상황과조치 ALTIBASE 5.3.3 2010. 03 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change

More information

슬라이드 1

슬라이드 1 Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

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

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA Spotlight on Oracle V10.x DELL SOFTWARE KOREA 2016-11-15 Spotlight on Oracle 목차 1. 시스템요구사항... 2 1.1 지원하는데이터베이스...2 1.2 사용자설치홖경...2 2. 프로그램설치... 3 2.1 설치프로그램실행...3 2.2 라이선스사용관련내용확인및사용동의...3 2.3 프로그램설치경로지정...4

More information

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

Commit_Wait / Commit_Logging 두파라미터를통해 Log File Sync 대기시간을감소시킬수있다는것은놀라움과의아함을동시에느낄수있다. 단지파라미터의수정을통해당연히대기해야하는시간을감축한다는것은분명성능을개선해야하는입장에서는놀라운일이될것이다. 반면, 그에따 Commit Wait Class 대기시간감소방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 Wait Class 중 Commit 카테고리에해당하는 Wait Event 에의한대기현상으로 DB 시스템의성능저하현상이발생하는것은종종경험할수있다. 그중대표적인 Wait Event 는 Log File Sync 이다. 실제로대부분의 DB 시스템의 Top 5 Wait Event

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

FlashBackt.ppt

FlashBackt.ppt 1. Flashback 목적 Flashback 이란? 사용자실수에의한손상된데이터를 Database 의크기와상관없이복구를할수있는기능이다. 이 Flashback 기능은일반적인복구에서우려되는데이터베이스의크기를걱정하지않아도된다. 보통의사용자실수는커다란시스템장애가수반되며, 이를복구하기위해서는많은자원과시간이필요하다. 하지만 9i 에서지원되느 flashback query

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 MySQL Best Practice r o c k P L A C E I n c. C o m p a n y I n t r o d u c t i o n www. ro c k p lace. co. kr 2013 rockplace Inc. CONTENTS Chapter 1. MySQL Overviews 1. MySQL 소개 2. MySQL Architecture 3.

More information

Intra_DW_Ch4.PDF

Intra_DW_Ch4.PDF The Intranet Data Warehouse Richard Tanler Ch4 : Online Analytic Processing: From Data To Information 2000. 4. 14 All rights reserved OLAP OLAP OLAP OLAP OLAP OLAP is a label, rather than a technology

More information

vm-웨어-앞부속

vm-웨어-앞부속 VMware vsphere 4 This document was created using the official VMware icon and diagram library. Copyright 2009 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

Data Guard 기본개념.doc

Data Guard 기본개념.doc Data Guard 개념 (9i R2 9.2.0.1) 김형일 HIKIM000@EMPAL.COM 1 목차 1. DataGuard 개념 3 1.1 Data Guard Architecture 3 1.2 DataGuard 장점 4 1.3 Switch over and Failover 5 1.4 Physical Standby 와 Logical Standby 5 2. Data

More information

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수 사용 설명서 TeraStation Pro II TS-HTGL/R5 패키지 내용물: 본체 (TeraStation) 이더넷 케이블 전원 케이블 TeraNavigator 설치 CD 사용 설명서 (이 설명서) 제품 보증서 www.buffalotech.com 소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

단계

단계 본문서에서는 Tibero RDBMS 에서제공하는 Oracle DB Link 를위한 gateway 설치및설정방법과 Oracle DB Link 사용법을소개한다. Contents 1. TIBERO TO ORACLE DB LINK 개요... 3 1.1. GATEWAY 란... 3 1.2. ORACLE GATEWAY... 3 1.3. GATEWAY 디렉터리구조...

More information

NoSQL

NoSQL MongoDB Daum Communications NoSQL Using Java Java VM, GC Low Scalability Using C Write speed Auto Sharding High Scalability Using Erlang Read/Update MapReduce R/U MR Cassandra Good Very Good MongoDB Good

More information

PowerPoint Presentation

PowerPoint Presentation 6 장 SQL (section 4-6) 목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) 2-5 제약조건 SECTION 03 데이터조작어 (DML)

More information

chapter4

chapter4 Basic Netw rk 1. ก ก ก 2. 3. ก ก 4. ก 2 1. 2. 3. 4. ก 5. ก 6. ก ก 7. ก 3 ก ก ก ก (Mainframe) ก ก ก ก (Terminal) ก ก ก ก ก ก ก ก 4 ก (Dumb Terminal) ก ก ก ก Mainframe ก CPU ก ก ก ก 5 ก ก ก ก ก ก ก ก ก ก

More information

Microsoft Word - 10g RAC on Win2k.doc

Microsoft Word - 10g RAC on Win2k.doc 10g RAC on Win2K Document Control Date Author Change References 2006-03-30 신종근 초기작성함 1-1 ** Agenda 1. 작업목적 Down-Time 최소화!! 2. Pre-Install 환경 3. CRS Install 4. DBMS S/W Install 5. 9i 10g Upgrade 6. 문제점및주의사항

More information

슬라이드 1

슬라이드 1 사례를통해본 RMAN (RMAN Case Study) 2013. 02. Seungtaek Lee( 放浪 A) RMAN 백업 Server-Managed Backup(RMAN) Components Target : 백업대상 Catalog : 백업정보가저장되는 RMAN Repository Auxiliary : 백업또는 Target 를 Restore하여여러가지용도로사용하는

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 1. 데이터베이스환경 (#2/2) 2013.03.04. 오병우 컴퓨터공학과 Database 용어 " 데이타베이스 용어의기원 1963.6 제 1 차 SDC 심포지움 컴퓨터중심의데이타베이스개발과관리 Development and Management of a Computer-centered Data Base 자기테이프장치에저장된데이터파일을의미

More information

항목

항목 Cloud 컴퓨팅기반분산파일시스템개요 개발실 UPDATE : 2012. 11 18 INDEX 1. 가용성 2. 확장성 3. PrismFS 4. Q&A 2 가용성 3 Gmail 장애 2011년 2월 27일 34000명의 Gmail 사용자들이일어나보니메일, 주소록, 채팅기록등이사라진것을발견 2011년 2월 28일 스토리지소프트웨어업데이트를진행하는중 Bug로인해발생했다고공지

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

슬라이드 제목 없음

슬라이드 제목 없음 MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,

More information

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

Contents Data Mart 1. 개요 실습방향 테스트위한사전설정 본격실습시작 ) 데이터파일 dd 명령어로 백업수행및유실시키기 ) 장애복구수행 결론...7 페이지 2 / 7 ( 참 ) 본상단부머리말에있는 Data Mart 는본문서작성자의블로그이름입니다 dd 명령어를 이용한백업수행 최소개념이해 본문서의 pdf 문서는다음 URL 참조 http://mindata.tistory.com/55 Version 변경일자 ( 작성일자 ) 변경자 ( 작성자 ) 주요내용 1 2013.4.3 김민기 최초작성 2 3 페이지 1 / 7 Contents

More information

SMB_ICMP_UDP(huichang).PDF

SMB_ICMP_UDP(huichang).PDF SMB(Server Message Block) UDP(User Datagram Protocol) ICMP(Internet Control Message Protocol) SMB (Server Message Block) SMB? : Microsoft IBM, Intel,. Unix NFS. SMB client/server. Client server request

More information

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

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

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

슬라이드 제목 없음

슬라이드 제목 없음 4.2 SQL 개요 SQL 개요 SQL은현재 DBMS 시장에서관계 DBMS가압도적인우위를차지하는데중요한요인의하나 SQL은 IBM 연구소에서 1974년에 System R이라는관계 DBMS 시제품을연구할때관계대수와관계해석을기반으로, 집단함수, 그룹화, 갱신연산등을추가하여개발된언어 1986년에 ANSI( 미국표준기구 ) 에서 SQL 표준을채택함으로써 SQL이널리사용되는데기여

More information

Oracle Database 12c High Availability

Oracle Database 12c High Availability Maximize Availability With Oracle Database 12c 김지훈수석컨설턴트 Tech Sales Consulting / 한국오라클 james.kim@oracle.com 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. Oracle Database 12c Extreme

More information

PRO1_02E [읽기 전용]

PRO1_02E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_02E1 Information and 2 STEP 7 3 4 5 6 STEP 7 7 / 8 9 10 S7 11 IS7 12 STEP 7 13 STEP 7 14 15 : 16 : S7 17 : S7 18 : CPU 19 1 OB1 FB21 I10 I11 Q40 Siemens AG

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

Windows Server 2012

Windows Server  2012 Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB

More information

MAX+plus II Getting Started - 무작정따라하기

MAX+plus II Getting Started - 무작정따라하기 무작정 따라하기 2001 10 4 / Version 20-2 0 MAX+plus II Digital, Schematic Capture MAX+plus II, IC, CPLD FPGA (Logic) ALTERA PLD FLEX10K Series EPF10K10QC208-4 MAX+plus II Project, Schematic, Design Compilation,

More information

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1

More information