슬라이드 1

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

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

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

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

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

DBMS & SQL Server Installation Database Laboratory

ALTIBASE HDB Patch Notes

MySQL-.. 1

Microsoft PowerPoint - 10Àå.ppt

강의 개요

슬라이드 1

슬라이드 1

슬라이드 1

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

USER GUIDE

13주-14주proc.PDF

ALTIBASE HDB Patch Notes

歯sql_tuning2

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

untitled

Windows 8에서 BioStar 1 설치하기

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

목 차

슬라이드 제목 없음

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete

Oracle Database 10g: Self-Managing Database DB TSC

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밊

untitled

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

ETL_project_best_practice1.ppt

1217 WebTrafMon II

윈도우시스템프로그래밍

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

PowerPoint Presentation

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


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

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

문서 템플릿

슬라이드 1

슬라이드 1

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

ALTIBASE 사용자가이드 Templete

10.ppt

MS-SQL SERVER 대비 기능

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

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

PowerPoint Presentation

제목을 입력하세요.

TITLE

빅데이터분산컴퓨팅-5-수정

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

<4D F736F F D205BB4EBBBF3C1A4BAB8B1E2BCFA5DB1E2BCFAB9AEBCAD2D524D414EBBE7BFEBBFB9C1A65F39695F313067>

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

NoSQL

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

Spring Boot/JDBC JdbcTemplate/CRUD 예제

6장. SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

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

DocsPin_Korean.pages

MySQL-Ch10

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

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

Cloud Friendly System Architecture

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

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc

PRO1_09E [읽기 전용]

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

62

Index Process Specification Data Dictionary

PowerPoint 프레젠테이션

윈도우시스템프로그래밍

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

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

untitled

PRO1_04E [읽기 전용]

Microsoft Word - 10g RAC on Win2k.doc

Chapter 1

PowerPoint Template

ALTIBASE HDB Patch Notes

슬라이드 1

thesis

슬라이드 1

System Recovery 사용자 매뉴얼

PowerPoint Presentation

Simplify your Job Automatic Storage Management DB TSC

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

SRC PLUS 제어기 MANUAL

Altibase Starting User's Manual

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

Observational Determinism for Concurrent Program Security

PowerPoint Presentation

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Transcription:

c

ALTIBASE HDB ADMINISTRATION II BACKUP & RECOVERY CHECKPOINT FULL BACKUP INCREMENTAL BACKUP RECOVERY

CHECKPOINT

CHECKPOINT 체크포인트 (Checkpoint) 데이터베이스에대한변경및현재상황을데이터파일에저장하는것 체크포인트완료시의처리과정 기존복구시작시점을완료시점으로변경 데이터파일에반영이완료된불필요한리두로그파일을삭제 주기적인체크포인트는시스템장애시데이터베이스복구시간을줄일수있음 ALTIBASE HDB 체크포인트의특징 fuzzy & ping-pong checkpoint 체크포인트수행중에도성능저하없이트랜잭션을처리할수있음 메모리테이블스페이스에한하여데이터파일을두벌로유지

CHECKPOINT 체크포인트수행 자동수행 프로퍼티 CHECK_POINT_ENABLED에의해자동수행여부를우선적으로설정 시간주기 - CHECK_POINT_INTERVAL_IN_SEC 리두로그파일개수 - CHECK_POINT_INTERVAL_IN_LOG 수동수행 사용자명령 - 사용자 "SYS" 로만실행이가능한명시적인체크포인트명령어 isql> ALTER SYSTEM CHECKPOINT; 체크포인트수행이완료되더라도리두로그파일이삭제되지않는경우 완료되지않은트랜잭션의리두로그파일인경우 아카이브로그모드에서, 아카이브되지않은리두로그파일인경우 이중화로전송되지않은리두로그파일인경우

FULL BACKUP

데이터베이스모드 데이터베이스모드 (database mode) 체크포인트완료시리두로그파일을관리하는방식에따라두가지로분류 아카이브로그모드 (archivelog mode) - 지정된경로로축적 (archiving) 후삭제하는방식 노아카이브로그모드 (noarchivelog mode) - 삭제하는방식 데이터베이스생성구문 (CREATE DATABASE) 에의해최초로지정됨 데이터베이스생성이후에도 CONTROL 단계에서변경은가능하나재구동필요 데이터베이스모드의비교 데이터베이스모드특징고려사항 아카이브로그모드 (archivelog mode) 노아카이브로그모드 (noarchivelog mode) 매체복구 (media recovery) 가가능. 아카이브로그파일의손실이없다면현재시점까지복구가가능하다. 아카이브로그파일을저장하기위한디스크공간이필요없다. 아카이브로그파일에대한 DBA 의관리가필요없다. 아카이브로그파일을저장하기위한디스크공간이필요하다. 아카이브로그파일에대한 DBA 의관리가필요하다. 매체복구가불가능. 오프라인백업을받은시점까지만복구가가능하다.

데이터베이스모드 현재데이터베이스모드확인 성능뷰 v$archive 를통하여보다상세한정보를확인할수있음 isql(sysdba)> SELECT archive_mode, archive_dest FROM v$archive; ARCHIVE_MODE ARCHIVE_DEST -------------------------------------------------------------------- 0 /home/alti2/altibase_home/arch_logs 데이터베이스생성이후데이터베이스모드변경 DB 구동종료후 CONTROL 단계에서데이터베이스모드를변경 SYSDBA 자격의사용자 "SYS" 로만수행이가능 isql> connect sys/manager as sysdba isql(sysdba)> shutdown immediate; isql(sysdba)> startup control; isql(sysdba)> ALTER DATABASE ARCHIVELOG; isql(sysdba)> startup;

데이터베이스백업 데이터베이스백업종류와대상객체 온라인데이터베이스백업 온라인테이블스페이스백업 백업종류대상객체복구시점 온라인테이블스페이스백업 by DBA 리두로그파일을제외한데이터베이스전체 ( 데이터파일, 리두로그앵커파일 ) 특정테이블스페이스의데이터파일 최신시점 데이터베이스모드 아카이브로그필수 온라인리두로그앵커백업 리두로그앵커파일 오프라인백업 aexport, iloader 백업 데이터베이스전체 ( 데이터파일, 리두로그앵커파일, 리두로그파일 ) 스키마생성스크립트, 특정테이블의데이터 백업시점 노아카이브로그 아카이브로그 온라인백업관련구문은 SYSDBA 자격의사용자 "SYS" 로만수행이가능 SYSDBA 자격으로접속가능한세션은하나이므로동시에여러세션에서수행불가능

데이터베이스백업 온라인데이터베이스백업 DB 구동중특정시점에전체데이터베이스를백업 구문수행시모든데이터파일과리두로그앵커파일이지정한경로로자동백업됨 메모리테이블스페이스관련데이터파일은시간단축을위해 0, 1 중한벌만백업 임시테이블스페이스관련데이터파일은쿼리연산용이므로백업하지않음 isql(sysdba)> ALTER DATABASE BACKUP DATABASE TO 'backup_dir ';

데이터베이스백업 온라인테이블스페이스백업 DB 구동중특정테이블스페이스를백업 구문수행시테이블스페이스와관련된데이터파일이지정한경로로자동백업됨 메모리테이블스페이스데이터파일은시간단축을위해 0, 1 중한벌만백업 isql(sysdba)> ALTER DATABASE BACKUP 2 TABLESPACE tablespace_name TO 'backup_dir ';

데이터베이스백업 온라인테이블스페이스백업 by DBA DB 구동중특정테이블스페이스를백업 구문수행으로백업시작과종료시점을통제후 OS copy 명령어를사용하여테이블스페이스관련데이터파일을수동으로복사 관련리두로그파일을강제로아카이빙하기위해로그스위치수행절차필요 동시에여러테이블스페이스를백업가능하므로 3 rd party 백업솔루션과연동가능 1. isql(sysdba)> ALTER TABLESPACE tablespace_name BEGIN BACKUP; 2. OS copy 명령어로테이블스페이스관련데이터파일복사 3. isql(sysdba)> ALTER TABLESPACE tablespace_name END BACKUP; 4. isql(sysdba)> ALTER SYSTEM SWITCH LOGFILE;

데이터베이스백업 온라인로그앵커백업 DB 구동중리두로그앵커파일을백업 구문수행시리두로그앵커파일 3 개모두지정한경로로자동백업됨 테이블스페이스변경 (ALTER) 시복구를대비하여변경된테이블스페이스, 딕셔너리테이블스페이스와함께백업함 isql(sysdba)> ALTER DATABASE BACKUP LOGANCHOR TO 'backup_dir '; isql(sysdba)> ALTER DATABASE BACKUP 2 TABLESPACE tablespace_name TO 'backup_dir '; isql(sysdba)> ALTER DATABASE BACKUP 2 TABLESPACE SYS_TBS_MEM_DIC TO 'backup_dir ';

데이터베이스백업 오프라인데이터베이스백업 DB 종료후데이터베이스전체를백업 정상종료확인후 OS 명령어를사용하여데이터파일, 리두로그파일, 리두로그앵커파일을복사 1. isql(sysdba)> shutdown immediate; 2. OS copy 명령어로데이터파일, 리두로그파일, 리두로그앵커파일복사 3. isql(sysdba)> startup;

데이터베이스백업 오프라인데이터베이스백업예제 프로퍼티파일 (altibase.properties) 의설정상태 MEM_DB_DIR =?/mem_dbs DEFAULT_DISK_DB_DIR =?/dbs LOG_DIR =?/logs LOGANCHOR_DIR =?/logs 수행절차 테이블스페이스관련데이터파일은기본경로에만위치한경우를가정 isql(sysdba)> shutdown immediate; shell> cp r $ALTIBASE_HOME/mem_dbs/* /backup shell> cp r $ALTIBASE_HOME/dbs/* /backup shell> cp r $ALTIBASE_HOME/logs /backup isql(sysdba)> startup;

데이터베이스백업 백업관련유의사항 오프라인데이터베이스백업시프로퍼티파일상의기본경로만확인해서는안된다. 데이터파일의위치가기본경로가아닌경우누락될수있음 데이터파일관련성능뷰를통하여누락여부를확인하는과정이필요 온라인백업과체크포인트는동시에수행될수없다. 체크포인트수행중에온라인백업명령을수행하면체크포인트완료까지대기 온라인백업중에는체크포인트가수행되지않으며수행시도시에러발생 [ERR-110A4 : Backup is in progress. Please wait until the current backup process completes.] 테이블스페이스에대한변경시는복구를대비하여아래백업중하나를해야한다. 해당테이블스페이스, 딕셔너리테이블스페이스, 리두로그앵커파일백업 온라인 / 오프라인데이터베이스백업 이중화가걸려있는경우이중화정보도같이백업된다. 백업한데이터베이스를다른시스템에서복구시 IP 변경으로인해이중화문제발생가능

RECOVERY

데이터베이스복구 자동복구 (Restart Recovery) 정전, 시스템 crash 같은비정상종료후재구동시자동으로수행되는복구 TRANSITION TO PHASE : META [SM] Recovery Phase - 1 : Preparing Database : Dynamic Memory Version => Parallel Loading [SM] Recovery Phase - 2 : Loading Database [SM] Recovery Phase - 3 : Starting Recovery Initializing Active Transaction List Redo Refine Disk Table.. Undo [SM] Refine Memory Table :... [SUCCESS]

데이터베이스복구 매체복구 (Media recovery) 데이터파일이유실되거나손상되었을때아카이브로그파일과이전에백업한데이터파일및리두로그앵커파일을사용하여수동으로수행하는복구 CONTROL 단계에서구문으로수행하는오프라인매체복구 ( 온라인매체복구불가 ) 아카이브로그모드로운영될때에만가능 완전복구와불완전복구로분류

매체복구 완전복구 구문을수행하여현재시점까지데이터베이스를복구 isql(sysdba)> ALTER DATABASE RECOVER DATABASE; 요구사항 데이터베이스전체백업받은시점이후의아카이브로그파일은물론온라인리두로그파일까지모두손상이없어야함 현재시점의최신리두로그앵커파일이필요

매체복구 불완전복구 구문을수행하여특정시점으로데이터베이스를복구 온라인리두로그파일또는아카이브로그파일이손상 / 유실된경우 isql(sysdba)> ALTER DATABASE RECOVER DATABASE UNTIL CANCEL; 데이터베이스전체를특정시점으로되돌리고자하는경우 isql(sysdba)> ALTER DATABASE RECOVER DATABASE UNTIL TIME 2010-09-10:17:55:00 ; 불완전복구수행후에는온라인리두로그를초기화해야만함 Meta 단계로전이, 다음재구동 시자동복구가수행되지않도록위한필수과정 isql(sysdba)> ALTER DATABASE db_name META RESETLOGS; 요구사항 복구하려는시점에대응하는리두로그앵커파일이필요

매체복구 데이터파일유실복구예제 (1) - 백업받은데이터파일을이용한복구 백업받은데이터파일의 LSN(Log Sequence Number) 부터현재시점의 LSN 사이의 Logfile 들을사용함 Log Anchor 백업한 User1.dbf User1.dbf 정보파일생성 LSN(20:012284) Checkpoint LSN(102:172168) User1.dbf LSN 32:345698 Online Logs 디렉토리 Recovery 구문실행 Log File 101 Log File 102 Media Recovery 프로세스 Redolog 재수행 Archive Logs 디렉토리 Log File 0 Log File 32 Log File 100 User1.dbf LSN 102:172168

매체복구 매체복구를위한빈데이터파일생성 백업된데이터파일이없는경우 CONTROL 단계에서구문수행을통해생성 메모리테이블스페이스관련빈데이터파일생성 isql(sysdba)> ALTER DATABASE CREATE CHECKPOINT IMAGE 'USER_MEM_DATA-1-0'; 디스크테이블스페이스관련빈데이터파일생성 isql(sysdba)> ALTER DATABASE CREATE DATAFILE 'user_disk_data001.dbf'; 요구사항 데이터파일경로가리두로그앵커파일에기록된경로와일치해야만함

Incremental Backup & Recovery

증분백업 증분백업 (Incremental Backup) 이전의특정백업이후변경된페이지 (Page) 만백업받는백업방법 레벨 0 증분백업 - 모든페이지들을백업 레벨 1 증분백업 - 증분백업이후변경된페이지만백업 차등증분백업 : 레벨 1 이후변경된페이지를백업 누적증분백업 : 레벨 0 이후변경된페이지를백업 특징 아카이브모드필수 DB 구동중백업수행 전체백업에종속적임 Database, Tablespace 단위로백업가능 백업의양작고, 백업소요시간이짧음 증분백업이많을수록 ( 백업파일이많을수록 ) 복구소요시간이커짐

증분백업 변경추적기능 Level 0 백업이후수정된 Data page(block) 을확인하기위해변경발생시 Change tracking 파일에기록 증분백업에필수기능 ( 비활성화시증분백업사용불가 ) 변경추적파일 (Change Tracking 파일 ) 변경된페이지의정보가비트맵으로저장됨 증분백업을수행하기위해필수적으로필요 $ALTIBASE_HOME/dbs 디렉토리에위치 backupinfo 파일 증분백업이수행된일시순으로백업정보가저장됨 ( 레벨, 백업종류, 백업태그, 시작일시, 완료일시및백업파일위치 ) 매체복원 (Media Restore) 시복원할백업파일순서에대한정보제공 $ALTIBASE_HOME/dbs 디렉토리에위치

증분백업 변경추적기능활성화 ALTIBASE_HOME/dbs 를기본경로로사용 isql(sysdba)> ALTER DATABASE ENABLE[DISABLE] INCREMENTAL CHUNK CHANGE TRACKING; Change tracking 파일이소실되거나유효하지않다면 SYS 사용자가 SYSDBA 권한으로 Change tracking 을활성화하는 SQL 구문을실행하여재생성 활성화시, ALTIBASE_HOME/dbs 에변경추적파일과 backupinfo 파일이생성 비활성화시, ALTIBASE_HOME/dbs 에변경추적파일은삭제되며, 모든구동단계에서 sysdba 권한으로수행이가능하다. 변경추적파일과 backupinfo 파일확인 [alti1@localhost dbs]$ ls -alt total 489820 -rw-r----- 1 alti1 alti1 512 Aug 11 21:00 backupinfo -rw-r----- 1 alti1 alti1 10486272 Aug 11 21:00 changetracking -rw-r----- 1 alti1 alti1 135274496 Aug 11 21:00 undo001.dbf -rw-r----- 1 alti1 alti1 104865792 Aug 11 21:00 system001.dbf

증분백업의종류 레벨 0 증분백업 데이터파일의모든페이지들을백업 데이터베이스 테이블스페이스 데이터베이스 isql(sysdba)> ALTER DATABASE BACKUP INCREMENTAL LEVEL 0 DATABASE; 데이터베이스 - TAG 지정 isql(sysdba)> ALTER DATABASE BACKUP INCREMENTAL LEVEL 0 DATABASE WITH TAG MONDAY ; 테이블스페이스 isql(sysdba)> ALTER DATABASE BACKUP INCREMENTAL LEVEL 0 TABLESPACE SYS_TBS_MEM_DIC; 테이블스페이스 - TAG 지정 isql(sysdba)> ALTER DATABASE BACKUP INCREMENTAL LEVEL 0 2 TABLESPACE SYS_TBS_MEM_DIC WITH TAG MONDAY ;

증분백업의종류 레벨 1 증분백업 차등증분백업 가장최근에수행된레벨1 증분백업이후에변경된페이지를백업 레벨1이없을경우레벨0 백업이후로변경된페이지를백업 복구소요시간큼 isql(sysdba)> ALTER DATABASE BACKUP INCREMENTAL LEVEL 1 DATABASE WITH TAG SUN ; 일월화수목금토일 Data..a b c d e f g..h Full Backup Incremental Backup (Differential) Level 0 1 1 1 1 1 1 0 Backup Data..a b c d e f g..h

증분백업의종류 레벨 1 증분백업 누적증분백업 가장최근에수행된레벨0 백업이후에변경된페이지를백업 현재 level1이면가장최근의 level0 백업을기준으로백업수행 복구소요시간작음 isql(sysdba)> ALTER DATABASE BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATBASE WITH TAG SUN ; 일월화수목금토일 Data..a b c d e f g..h Full Backup Incremental Backup (Cumulative) Level 0 1C 1C 1C 1C 1C 1C 0 Backup Data a b bc bcd bcde bcdef bcdefg h

증분백업 증분백업종류와대상객체 백업레벨백업종류설명대상객체 데이터베이스모드 Level 0 전체백업전체백업 증분백업 Level 1 차등증분백업 - 가장최근의레벨 1 증분백업이후변경된페이지백업 - 레벨 1 이없을경우, 레벨 0 백업이후변경된페이지백업 데이터베이스, 테이블스페이스 아카이브로그 누적증분백업 - 가장최근의레벨 0 백업이후변경된페이지백업 SYSDBA 자격의사용자 "SYS" 로만수행이가능 SYSDBA 자격으로접속가능한세션이하나이므로동시에여러세션에서수행불가

증분백업 예제 1. 변경추적기능활성화 isql(sysdba)> ALTER DATABASE ENABLE INCREMENTAL CHUNK CHANGE TRACKING; 2. 백업경로지정또는변경 isql(sysdba)> ALTER DATABASE CHANGE BACKUP DIRECTORY $ALTIBASE_HOME/BACKUP'; 3. 레벨 0 전체증분백업수행 isql(sysdba)> ALTER DATATBASE BACKUP INCREMENTAL LEVEL 0 DATABASE; 4. 레벨 1 차등증분백업태그와같이수행 isql(sysdba)> ALTER DATATBASE BACKUP INCREMENTAL LEVEL 1 DATABASE WITH TAG SUN ;

백업파일관리 백업경로지정 / 변경 증분백업수행으로생성되는백업파일들의위치지정 isql(sysdba)> ALTER DATABASE CHANGE BACKUP DIRECTORY '/backup_dir'; 만약처음에지정한경로에디스크공간이부족하면, 위의구문을사용하여새로운백업경로로변경할수있다. 백업파일을이동하는데시간이오래걸리거나, 생성되는백업파일들의크기가하나의백업디바이스에유지할수없는상황일때에는디스크공간관리를위해백업경로를변경하는방법이적합하다.

백업파일관리 백업파일이동 백업경로의디스크공간이부족한경우, 백업파일들을다른디바이스의경로로이동할수있다. 1. SQL 구문으로 backupinfo 파일내에서백업파일경로만변경하고, 기존백업파일은관리자가복사명령 (cp) 을사용해서수동으로이동하는방법 isql(sysdba)> ALTER DATABASE MOVE BACKUP FILE TO '/backup_dir2'; [alti1@localhost dbs]$ cp... /backup_dir2 2. SQL 구문으로 backupinfo 파일내의백업파일경로변경과백업파일의이동을동시에수행하는방법 isql(sysdba)> ALTER DATABASE MOVE BACKUP FILE TO '/backup_dir2' WITH CONTENTS;

백업파일관리 백업파일삭제 유효기간이지난백업파일을삭제하여디스크의여유공간을확보 isql(sysdba)> ALTER DATABASE DELETE OBSOLETE BACKUP FILES; 이구문을수행하면 V$OBSOLETE_BACKUP_INFO 성능뷰에나타나는백업파일들만삭제된다. V$OBSOLETE_BACKUP_INFO 성능뷰에서아무것도조회되지않는다면삭제되는파일이없을것이다.

증분백업주의사항 주의사항 No archive mode 에서는 Alter database enable incremental chunk change tracking ( 변경추적기능 ) 구문이실행안됨 변경추적기능비활성화시 $ALTIBASE_HOME/dbs 에서 change tracking 파일이삭제됨 Backupinfo 파일이존재하지않으면, 백업파일이존재하더라도복구불가 Change Tracking 파일재생성시, 전에추적하여변경된페이지정보는사라짐

매체복원 매체복원 (Media Restore) 매체 (Media) 에장애가발생하여데이터베이스파일이소실된경우백업파일을복사해서소실된파일을대체하는것 복원후, 로그파일을이용하여매체복구진행 매체복원종류 완전복원 : 가장최근의레벨 0 증분백업시점으로복원이되고가장최근의누적증분백업, 차등증분백업이된시점의순서로복원이된다. isql(sysdba)> ALTER DATABASE RESTORE DATABASE; 불완전복원 태그를지정하여지정된태그이전에수행된가장가까운레벨 0 증분백업시점으로복원이되고지정된태그시점이랑가장가까운누적증분백업, 차등증분백업이된시점의순서로복원이된다. isql(sysdba)> ALTER DATABASE RESTORE DATABASE FROM TAG tag_name ;

완전복원 / 완전복구 완전복원수행 증분백업을아래와같이먼저수행 isql(sysdba)> ALTER DATABASE BACKUP INCREMENTAL LEVEL 0 DATABASE WITH TAG 'THURSDAY'; isql(sysdba)> ALTER DATABASE BACKUP INCREMENTAL LEVEL 1 DATABASE WITH TAG 'FRIDAY'; isql(sysdba)> ALTER DATABASE BACKUP INCREMENTAL LEVEL 1 CUMULATIVE 2 DATABASE WITH TAG 'SATURDAY'; isql(sysdba)> ALTER DATABASE BACKUP INCREMENTAL LEVEL 1 DATABASE WITH TAG 'SUNDAY'; 1. 완전복원구문수행 isql(sysdba)> ALTER DATABASE RESTORE DATABASE; 가장최근의레벨 0 증분백업태그 (THURSDAY) 로부터데이터파일복원된다. 그런다음레벨 1 누적증분백업 ( 태그이름 SATURDAY) 으로복원되고, 마지막으로레벨 1 차등증분백업 ( 태그이름 SUNDAY) 으로복원된다.

완전복원 / 완전복구 2. 매체복구를이용하여최근시점까지아카이브로그적용 isql(sysdba)> ALTER DATABASE RECOVER DATABASE ; 3. 시스템임시테이블스페이스를위한파일은백업이되지않기때문에수동으로파일을생성한다음서버를시작 isql(sysdba)> ALTER DATATBASE CREATE DATAFILE temp001.dbf ; isql(sysdba)> STARTUP SERVICE;

완전복원 / 불완전복구 불완전복구수행 완전복원후불완전복구 1. 불완전복구에필요한 loganchor 와 backupinfo 파일로복원 $ cp /backup_dir/tag_saturday/loganchor* $ALTIBASE_HOME/logs $ cp /backup_dir/tag_saturday/backupinfo $ALTIBASE_HOME/dbs 2. 과거시점의 loganchor 로복원했기때문에 change tracking 파일은유효하지않음. isql(sysdba)> ALTER DATABASE DISABLE INCREMENTAL CHUNK CHANGE TRACKING; 3. SUNDAY 까지데이터파일완전복원 isql(sysdba)> ALTER DATABASE RESTORE DATABASE; 4. 완전복원후, 불완전복구수행 isql(sysdba)> ALTER DATATBASE RECOVER DATABASE UNTIL CANCEL;

완전복원 / 불완전복구 5. 시스템임시테이블스페이스 SYS_TBS_DISK_TEMP 를위한파일은백업이되지않기때문에, 수동으로파일을생성한다음로그를리셋하고서버를시작한다. isql(sysdba)> ALTER DATABASE CREATE DATAFILE temp001.dbf ; isql(sysdba)> ALTER DATABASE mydb META RESETLOGS; isql(sysdba)> STARTUP SERVICE;

불완전복원 / 완전복구 불완전복원후완전복구수행 1. 원하는시점으로데이터파일불완전복원 isql(sysdba)> ALTER DATABASE RESTORE DATABASE FROM TAG WEDNESDAY ; 지정된백업태그이전의가장최신레벨 0 파일부터복원하여, 백업태그에해당하는레벨 1 파일들까지순차적으로복원함 2. WEDNESDAY 부터최근시점까지아카이브로그를적용한다. isql(sysdba)> ALTER DATABASE RECOVER DATABASE; 3. 시스템임시테이블스페이스 SYS_TBS_DISK_TEMP를위한파일은백업이되지않기때문에, 수동으로파일을생성한다음서버를시작한다. isql(sysdba)> ALTER DATABASE CREATE DATAFILE temp001.dbf ; isql(sysdba)> STARTUP SERVICE;

불완전복원 / 불완전복구 불완전복원후불완전복구 1. 원하는시점으로데이터파일불완전복원 isql(sysdba)> ALTER DATABASE RESTORE DATABASE FROM TAG WEDNESDAY ; 2. 불완전복구에필요한 loganchor, backupinfo 파일로복원 $ cp /backup_dir/tag_wednesday/ loganchor* $ALTIBASE_HOME/logs $ cp /backup_dir/tag_wednesday/ backupinfo $ALTIBASE_HOME/dbs 3. 불완전복구수행 isql(sysdba)> ALTER DATATBASE RECOVER DATABASE UNTIL CANCEL; 4. Resetlog 를수행하고서버를시작 isql(sysdba)> ALTER DATATBASE MYDB META RESETLOGS; isql(sysdba)> STARTUP SERVICE;

참고사항 Change tracking 파일 매체복원은변경추적기능과상관없이실행이가능하지만복원시간단축을위해서아래의구문을 PROCESS 단계에서실행하여서버가더이상 changetracking 파일을검사하지않도록해야한다. isql(sysdba)> ALTER DATABASE DISABLE INCREMENTAL CHUNK CHAGE TRACKING; Backupinfo 파일 이파일은매체복원에반드시필요하다. backupinfo 파일은증분백업을수행할때자동으로백업된다. 따라서가장최근에수행된증분백업경로에서 copy 명령어를이용하여 backupinfo 파일을복원하도록한다. alti1@localhost dbs]$ cp /backup_dir/backup_tag/backupinfo $ALTIBASE_HOME/dbs

참고사항 참고사항 복원 (Restore) 수행후, 복구 (Recover) 도수행해줘야함 TAG 를안사용할경우, TAG 이름은날짜와시간으로 (Default) 됨 증분백업을사용하여매체복원을할때에는로그파일이사용되지않기때문에 ALTER DATABASE RESTORE DATABASE UNTIL CANCEL 구문이지원되지않는다 (UNTIL TIME 은가능 ).

ALTIBASE HDB ADMINISTRATION II UTILITIES ILOADER ALTIPASSWD ALTIPROFILE MIGRATION CENTER

Database Audit

데이터베이스감사 개념 감사 데이터베이스에서특정작업이수행되는것을모니터링하여관련정보를기록하는기능 감사의종류 객체감사 (Object Audit) 특정객체에대하여특정한작업이이루어졌을경우이를모니터링하여, 정보를수집하는기능 구문감사 (Statement Audit) 데이터베이스서버내에서실행되는구문을실시간으로모니터링하여, 정보를수집하는기능

데이터베이스감사 감사조건구문 객체감사 특정객체에수행되는작업을모니터링하여로그를기록함 객체감사설정 AUDIT operation_comma_list ON object_name BY ACCESS SESSION WHENEVER [NOT] SUCCESSFUL; operation_comma_list : 감사할모든구문 (ALL) 이나특정구문을지정. object_name : 감사대상이되는객체이름을명시. BY ACCESS SESSION : 하나의세션에서동일한구문이중복되어실행된경우로그를중복해서기록할것인지에대한여부 ( 생략시, SESSION) WHENEVER [NOT] SUCCESSFUL : 성공 / 실패여부에따른로그기록 ( 생략시, 둘다기록 ) 객체감사예제 User1 사용자의 Employee 테이블에대하여실행되는 Insert, Update, Delete 작업중, 실패한작업에대하여로그를기록하시오. isql> AUDIT insert, update, delete ON 2 user1.employee BY ACCESS WHENEVER NOT SUCCESSFUL;

데이터베이스감사 감사조건구문 구문감사 알티베이스서버에특정한 SQL 구문이수행되는것을모니터링하여로그를기록함 구문감사설정 AUDIT operation_comma_list ON user_name BY ACCESS SESSION WHENEVER [NOT] SUCCESSFUL; operation_comma_list : 감사할모든구문 (ALL) 이나특정구문을지정. user_name : 감사대상이되는사용자이름을명시. BY ACCESS SESSION : 하나의세션에서동일한구문이중복되어실행된경우로그를중복해서기록할것인지에대한여부 ( 생략시, SESSION) WHENEVER [NOT] SUCCESSFUL : 성공 / 실패여부에따른로그기록 ( 생략시, 둘다기록 ) 구문감사예제 알티베이스서버에대해실행된 Connect, Disconnect 작업에대하여실패한정보를 Access 단위로기록하시오. isql> AUDIT connect, disconnect 2 BY ACCESS WHENEVER NOT SUCCESSFUL;

데이터베이스감사 감사제어구문 감사시작구문 감사가시작되면메타테이블에서감사가시작되었음을확인할수있음 감사가시작되면 $ALTIBASE_HOME/trc 디렉토리에기본적으로로그파일이생성됨 isql> ALTER SYSTEM START AUDIT; Alter success. isql> SET VERTICAL ON; isql> SELECT * FROM SYSTEM_.SYS_AUDIT_; SYS_AUDIT_.IS_STARTED : 1 SYS_AUDIT_.START_TIME : 08-MAY-2014 SYS_AUDIT_.STOP_TIME : SYS_AUDIT_.RELOAD_TIME : 08-MAY-2014 1 row selected.

데이터베이스감사 감사제어구문 감사종료구문 감사가종료되면메타테이블에서감사가종료되었음을확인할수있음 isql> ALTER SYSTEM STOP AUDIT; Alter success. isql> SET VERTICAL ON; isql> SELECT * FROM SYSTEM_.SYS_AUDIT_; SYS_AUDIT_.IS_STARTED : 0 SYS_AUDIT_.START_TIME : SYS_AUDIT_.STOP_TIME : 08-MAY-2014 SYS_AUDIT_.RELOAD_TIME : 08-MAY-2014 1 row selected.

데이터베이스감사 감사제어구문 감사적용구문 사용자가새로운감사조건을추가하는경우, 감사작업에바로적용되지않기때문에추가된조건을적용해야함 서버의감사가진행중 (Start Audit) 이라면적용구문을사용하고, 진행중이아니라면 (Stop Audit) 감사를시작만해도새로운조건이적용됨 isql> ALTER SYSTEM RELOAD AUDIT; Alter success. 주의사항 SQL PLAN CACHE 초기화 감사시작전에 SQL PLAN CACHE 를초기화하는것을권장함 SQL PLAN CACHE 에캐싱된실행계획을재사용하는경우, 해당구문의정보가로그로기록되지않음 isql> ALTER SYSTEM RESET SQL_PLAN_CACHE; Alter success.

데이터베이스감사 altiaudit 개념 데이터베이스감사를시작하면감사로그가자동으로기록되는데, 이로그는바이너리형태로기록되기때문에유틸리티로변환해야함 altiaudit [-s] {audit_log_file_name} [-s] : CSV 형태로출력 예제 감사로그를일반텍스트형태로출력하시오. $ altiaudit $ALTIBASE_HOME/trc/alti-1366989680-0.aud [2014/05/08 17:45:17] Session Info User Name = SYS Session ID = 1 Client IP = 127.0.0.1 Client Type = CLI-32LE Client App Info = isql Action = INSERT Auto Commit = 1 (0:non-autocommit 1:autocommit)

데이터베이스감사 Query Info Statement ID = 65540 Transaction ID = 442626 Execute result = 4 (0:failure 1:rebuild 2:retry 3:queue empty 4:success) Fetch result = 1 (0:failure 1:success 2:no result set) Success count = 1 Failure count = 0 Return code = 0x00000 Processed row = 0 Used memory = 0 bytes XA flag = 1 (0:non-XA 1:XA) Query Elapsed Time Total time = 0 Soft prepare time = 0 Parse time = 0 Validation time = 0 Optimization time = 0 Execution time = 0 Fetch time = 0 SQL --------------------------------------------------------------- insert into employee values(2,2) ---------------------------------------------------------------

ILOADER

iloader iloader $ALTIBASE_HOME/bin 에위치 DB의데이터를 CSV 또는, 텍스트형태의파일로다운로드및업로드 특정시점의테이블을백업하는용도로도활용 Shell::/home/alti1> iloader u sys p manager s 127.0.0.1 port 20301 formout T t1 -f t1.fmt ----------------------------------------------------------------- Altibase Data Load/Download utility. Release Version 6.1.1.0.10 Copyright 2000, ALTIBASE HDB Corporation or its subsidiaries. All Rights Reserved. ----------------------------------------------------------------- ISQL_CONNECTION : TCP

iloader il 스크립트 $ALTIBASE_HOME/bin 에위치 isql 처럼 iloader 의입력옵션을생략하고쓸수있도록제공하는스크립트 Shell::/home/alti1> cat $ALTIBASE_HOME/bin/il #!/bin/sh ${ALTIBASE_HOME}/bin/iloader -S 127.0.0.1 -U SYS -P MANAGER $* 접속과관련된부분만생략할수있도록제공되는스크립트

iloader iloader 실행시기능옵션 기능옵션 formout in out 설명 iloader 동작시에필요한 form 파일을생성하도록동작 iloader 동작시에지정된데이터파일을읽어데이터를서버로전송하는동작 iloader 동작시에대상테이블에서데이터를읽어지정된파일로저장하는동작 form 파일이란? 테이블에서데이터를다운로드및업로드를수행할때대상컬럼과날짜형컬럼의형식및데이터의문자셋등을정의한파일 ( 필요시사용자가편집가능한구조 ) 데이터파일이란? iloader 를통해저장된파일또는, 사용자가타 DBMS 나엑셀등으로부터 iloader 가인식할수있는형태로데이터를저장해놓은파일

iloader iloader 실행시입력옵션 ( 접속및동작관련 ) 입력옵션 설명 -s 접속할 ALTIBASE HDB IP 를지정 -u ALTIBASE HDB DB 사용자계정명을지정 -p 계정의패스워드를지정 -port ALTIBASE HDB Listen Port 번호를지정 -log 수행결과를저장할로그파일명을지정 ( 오류도같이기록됨 ) -bad -mode -replication 수행중오류가발생한데이터를별도의파일로저장해야할경우 truncate 옵션 : 테이블을먼저 TRUNCATE 시킨후입력 ( 옵션미사용시일반 INSERT 와동일하게동작 ) true/false : 이중화환경에서상대편으로의반영여부를지정 (True : iloader 로입력된데이터가이중화로상대편에전송됨 ) (False : iloader 로입력된데이터가이중화로전송되지않음 )

iloader iloader 실행시입력옵션 ( 성능관련 ) 입력옵션 -commit -array -parallel 설명 지정된숫자만큼서버에서처리된후 COMMIT 됨 (COMMIT 으로인한 I/O 비용을감소시키는효과, 기본값 =1000) 지정된숫자만큼통신버퍼에담은후서버로데이터를전송 ( 통신비용을감소시키는효과, 기본값 =1) 지정된숫자만큼쓰레드가테이블을적절한개수로나누어데이터를다운로드또는, 하나의파일을적절하게나누어업로드를수행 array 옵션과같이쓰는것이성능상유리함 ( 파일은 datafile.dat0, datafile.dat1 과같은형식으로생성 ) ( 업로드시에는개별파일에대한 parallel 옵션으로동작함 )

iloader iloader 실행시입력옵션 ( 데이터 / 파일관련 ) 입력옵션 설명 -t 컬럼간의구분자를지정 -r 레코드간의구분자를지정 -f formout 동작시저장될 form 파일명을지정 -d in/out 동작시사용될 ( 저장될 ) 데이터파일명을지정 -rule 데이터파일을 csv 파일형식으로생성하고자할경우지정 -error 지정된숫자만큼오류가발생하면실행을멈춤 ( 기본값 :50) -split 데이터파일마다저장할레코드의개수를지정 ( 파일명은 datafile.dat0, datafile.dat1 과형식으로생성됨 ) -T 작업대상테이블명을지정

iloader iloader 사용예 ( 테이블명을 T1 이라고가정 ) 데이터를다운로드받는경우 iloader u sys p manager s 127.0.0.1 port 20301 formout T T1 f T1.fmt iloader u sys p manager s 127.0.0.1 port 20301 out f T1.fmt d T1.dat 데이터를업로드하는경우 iloader u sys p manager s 127.0.0.1 port 20301 in f T1.fmt d T1.dat 업로드의경우는테이블의형식이동일하다면이전에받은 form 파일을재사용하여도된다. 데이터파일을여러개로나누어다운로드 iloader u sys p manager s 127.0.0.1 port 20301 out f T1.fmt d T1.dat parallel 4 array 50 iloader u sys p manager s 127.0.0.1 port 20301 out f T1.fmt d T1.dat split 50000 CSV 가아닌명시적인구분자를지정하여다운로드 iloader u sys p manager s 127.0.0.1 port 20301 in f T1.fmt d T1.dat t "!@$" r "$^%n"

iloader iloader Form 파일의수정예 ( 테이블명을 T1 이라고가정 ) 지정된컬럼만다운받고자할경우 지정된컬럼을제외한삭제대상컬럼을 form 파일에서지움 조건절을명시하여조건에해당하는데이터만다운받고자할경우 form 파일내에 "DOWNLOAD CONDITION" 구문을사용 DOWNLOAD CONDITION "WHERE C1 > 1000" 날짜형식을변경하고자할경우 form 파일내에 "DATEFORM" 구문을사용 DATEFORM YYYY/MM/DD HH:MI:SS 문자셋변경 form 파일내에 "DATA_NLS_USE" 구문을사용 ( 데이터다운로드시에만유효 ) DATA_NLS_USE=MS949

iloader iloader Form 파일의수정예 ( 테이블명을 T1 이라고가정 ) Shell::/home/alti1> il formout T T1 f t1.fmt Shell::/home/alti1> vi t1.fmt table t1 { A integer; B char(10); C date; } DOWNLOAD CONDITION "WHERE a > 1000 ORDER BY a DESC" DATEFORM YYYY/MM/DD HH:MI:SS DATA_NLS_USE=MS949

iloader iloader 업로드시에 Sequence 의사용 데이터를업로드할때순차적인번호를부여하고자할경우사용 사용할 Sequence 객체는미리생성되어있어야함 데이터파일에는 Sequence에해당하는부분이없어도업로드가가능 isql> CREATE SEQUENCE seq1 START WITH 1 INCREMENT BY 1; isql> QUIT; Shell::/home/alti1> vi t1.fmt SEQUENCE seq1 NUM table t1 { NUM integer; B integer; } # 사용자가직접수정 # 위에서정의한 seq1 의 Alias 명을사용

iloader iloader 업로드시에함수의사용 데이터를업로드할때, 함수를이용한결과값으로데이터를입력할경우사용 내장함수 / 사용자정의함수를모두사용가능 폼파일에사용자가추가해야하며변수부분을 "?" 바인딩처리해야함 Shell::home/alti1> il formout T T1 f t1.fmt Shell::home/alti1> vi t1.fmt table t1 { } A integer "TRIM (?)" # 사용자가직접함수명을추가 B varchar(20) "CONCAT ('$',?)";

iloader iloader 사용시발생할수있는오류사항 (1) 실행시입력인자의잘못된사용 [ERR-91031 : -T option(table name) is not used or precedence option is not correct] [ERR-9103B : Option (-k) is invalid.] [ERR-9102C : Input Command Parser Error] Shell::/home/alti1> iloader -s 127.0.0.1 -u sys -p manager -port 20301 -T t1 -f t1.fmt ----------------------------------------------------------------- Altibase Data Load/Download utility. Release Version 6.1.1.0.10 Copyright 2000, ALTIBASE HDB Corporation or its subsidiaries. All Rights Reserved. ----------------------------------------------------------------- [ERR-9102C : Input Command Parser Error] Use help. iloader> help (formout, out, in) 옵션이입력되어동작구분이지정되어야하나누락된경우

iloader iloader 사용시발생할수있는오류사항 (2) 올바르지않은구분자의사용 (-log 옵션을사용할경우확인가능 ) [ERR-9103D : Data Parsing Error (Column : A)] 이미존재하는데이터를중복삽입하는경우 [ERR-11058 : The row already exists in a unique index.] 날짜형데이터에잘못된데이터형식또는데이터가존재하는경우 [ERR-21038 : Literals in the input do not match format string.] [ERR-21033 : Date format picture ends before converting entire input string.] 형변환이불가능한데이터로업로드를수행하려할경우 [ERR-21011 : Invalid literal] [ERR-2100C : Conversion not applicable] 숫자형컬럼에허용범위를넘는데이터로업로드를수행하려할경우 [ERR-21010 : Value overflow]

iloader iloader 사용시발생할수있는오류사항 ( 사례 -1) iloader 동작시 unique violation 오류가발생한경우 Shell::/home/alti1> il in T T1 f t1.fmt d t1.dat log t1.log Shell::/home/alti1> cat t1.log <DataLoad> TableName : T1 Start Time : Wed Jul 21 14:49:50 2010 Recode 1 : 117783^%2010/07/21 14:49:03 [ERR-11058 : The row already exists in a unique index.] Recode 2 : 217783^%2010/07/21 14:49:05 [ERR-11058 : The row already exists in a unique index.] End Time : Wed Jul 21 14:49:50 2010 Total Row Count : 2 Load Row Count : 0 Error Row Count : 2 에러가발생했을경우

iloader iloader 사용시발생할수있는오류사항 ( 사례 -2) iloader 동작시잘못된날짜형식으로오류가난경우 Shell::/home/alti1> cat t1.fmt table T1 { A integer; B date; } DATEFORM YYYY/MM/DD HH:MI:SS DATA_NLS_USE=US7ASCII Form 파일의날짜형식과실제데이터형식불일치 Shell::/home/alti1> cat a.log <DataLoad> TableName : T1 Start Time : Wed Jul 21 14:55:13 2010 Recode 1 : 117783^%2010/07/21 14:49:033 [ERR-21033 : Date format picture ends before converting entire input string.]

iloader iloader 사용시발생할수있는오류사항 ( 사례 -3) iloader 동작시잘못된구분자지정으로오류가발생한경우 사용자는 ^ 를컬럼구분자로설정하고자했으나데이터값에존재하는값이었거나어떤실수로구분자가변형된상태 (TABLE T1: A, B, C 3 개의컬럼으로구성된경우아래와같이데이터파일존재 ) 1^^ ^^2010/07/21 14:49:03 2^Hello^2010/07/21 14:49:05 Shell::/home/alti1> cat a.log <DataLoad> TableName : T1 Start Time : Wed Jul 21 15:00:58 2010 Recode 1 : [ERR-9103D : Data Parsing Error (Column : B)] 데이터에구분자가포함되어경우

ALTIPASSWD

ALTIPASSWD altipasswd $ALTIBASE_HOME/bin 에위치 SYS 계정의패스워드를 "ALTER USER" 구문으로변경한경우반드시수행해야함 변경하지않은경우 ALTIBASE HDB 구동 / 종료등모든 DBA 권한작업에서패스워드오류발생 수행방법의예 아래와같이 isql 상에서 "SYS" 계정의패스워드를변경한후 isql> ALTER USER sys IDENTIFIED BY ppp1234; 아래와같이사용자프롬프트상에서 altipasswd 를이용하여동일하게변경 Shell::/home/alti1> altipasswd Previous Password : New Password : Retype New Password : 기존패스워드입력새로운변경패스워드입력패스워드확인

ALTIPROFILE

ALTIPROFILE altiprofile $ALTIBASE_HOME/bin 에위치 프로파일링을수행한이후생성된결과물을분석할수있게변환하는유틸리티 프로파일링으로저장되는정보 질의를수행한클라이언트정보 질의처리의통계정보 ( 처리시간, 실행계획, 수행누적횟수, 바인딩정보 ) Shell::/home/alti1> altiprofile alti-xxx-x.prof > res.txt 수행된결과를화면에출력하기때문에위와같이 redirection 으로저장

ALTIPROFILE altiprofile 사용을위한사전수행절차 질의처리통계를파일에저장하도록프로파일링을개시 (isql 을이용 ) isql> ALTER SYSTEM SET TIMED_STATISTICS = 1; isql> ALTER SYSTEM SET QUERY_PROF_FLAG = 1; $ALTIBASE_HOME/trc/ 에프로파일링결과가누적저장 Shell::/home/alti1> ls lrt $ALTIBASE_HOME/trc -rw------- 1 alti1 alti1 3400 Jul 16 19:08 alti-1279274882-0.prof ( 파일명은수행시마다변동됨 ) altiprofile 을수행시주의사항 프로파일링정보를파일로계속저장하기때문에디스크 Full 이발생하지않도록주의 중지시에는 "ALTER SYSTEM SET QUERY_PROF_FLAG = 0; " 를 isql 에서반드시실행 실시간으로파일에분석정보를기록하기때문에성능저하가발생할수있음

ALTIPROFILE altiprofile 실행및분석결과 생성된 alti-xxxx-y.prof 파일을입력파일명으로지정 프로파일링결과물은사용자가해석할수없음으로변환이필요 Shell::/home/alti1/altibase_home/trc> altiprofile alti-127974882-0.prof > res.txt 생성된분석파일결과의예 Shell::/home/alti1/altibase_home/trc> cat res.txt [STATEMENT] 2010/07/16 19:08:02 (57/5/0) SQL => [alter SYSTEM set QUERY_PROF_FLAG = 1] 실행시각 User Info User ID = 2 Client PID = 31764 Client Type = [CLI-64LE] Client AppInfo = [isql] 세션정보 질의문

ALTIPROFILE altiprofile 실행 ( 계속 ) Elapsed Time Total = 0 sec 195 usec SoftP = 0 sec 86 usec Parse = 0 sec 0 usec Valid = 0 sec 0 usec Optim = 0 sec 0 usec Execu = 0 sec 58 usec Fetch = 0 sec 51 usec 수행시각 실행결과 Query Execute Info EXECUTE Result = 1 (0:failure, 1:success) Optimizer Mode = 0 Used Memory = 0 SUCCESS SUM = 4 FAILURE SUM = 0 PROCESSED ROW = 0

ALTIPROFILE altiprofile 실행 ( 계속 ) Index Access Info Memory Full Scan Count = 1 Memory Index Scan Count = 1 Disk Full Scan Count = 0 Disk Index Scan Count = 0 인덱스비용 Disk Access Info READ DATA PAGE = 0 WRITE DATA PAGE = 0 GET DATA PAGE = 0 CREATE DATA PAGE = 0 READ UNDO PAGE = 0 WRITE UNDO PAGE = 0 GET UNDO PAGE = 0 CREATE UNDO PAGE = 0 버퍼캐쉬 / 디스크접근비용

ALTIPROFILE altiprofile 실행 ( 계속 ) [PLAN] 2010/07/21 15:36:56(82/2/620673) [------------------------------------------------------------ PROJECT ( COLUMN_COUNT: 2, TUPLE_SIZE: 12 ) SCAN ( TABLE: T1, INDEX: SYS_IDX_ID_102, ACCESS: 1, SELF_ID: 2 ) ------------------------------------------------------------ ] 실행계획

MIGRATION CENTER

MIGRATION CENTER MIGRATION CENTER 이기종데이터베이스간의데이터 Migration 을간편하게수행할수있는도구 주요이점 원본데이터베이스의객체들을 ALTIBASE HDB 로쉽게마이그레이션. 데이터를외부파일로내보내어 (export), iloader 로 ALTIBASE HDB 에가져올 (import) 때사용. 마이그레이션과정을단축시킬수있는병렬수행옵션을제공. 이기종데이터베이스간에다른데이터타입들의데이터타입매핑을제공하며 유연성을위해사용자정의타입매핑기능도제공. Schema Migration DB1 DB2 Data Migration

MIGRATION CENTER 시스템요구사항 하드웨어요구사항 CPU : 800Mhz 펜티엄 III 이상 메인메모리 : 512MB 이상 디스크 : 150MB 이상의여유공간 화면해상도 : 1024 x 768 화소이상 (GUI모드경우 ) 소프트웨어요구사항 Oracle 또는 IBM Java 5 이상의 JRE 호환가능한데이터베이스시스템 ALTIBASE HDB : 5.5.1 이상버전 Oracle Database : 10g 이상버전 Microsoft SQL Server : 2005 이상버전 Oracle MySQL : 5.0 이상버전

MIGRATION CENTER 설치및제거 다운로드 알티베이스고객지원서비스포털 (http://support.altibase.com) 에서다운로드 Zip 또는 tar.gz 파일형태로제공되며이파일은실행파일과몇가지 JDBC 드라이버를포함 설치 Migration Center 설치파일의압축을해제하고디렉토리를원하는위치로이동 제거 Migration Center 설치디렉토리삭제

MIGRATION CENTER GUI 모드 Migration Center GUI 는 프로젝트 (Project), 정보 (Information), 로그 (Log) 3 개의창으로구성 Information Project Log

MIGRATION CENTER Migration Center 시작 윈도우환경에서는 migcenter.bat 아이콘을더블클릭해서실행하고, 유닉스계열의운영체제에서는 migcenter.sh 를실행 데이터베이스연결등록 Database 메뉴아래의 Add Database Connection 메뉴항목을선택하거나도구모음에서 Add Database Connection 아이콘을클릭

MIGRATION CENTER 프로젝트생성 Project 메뉴아래의 Create Project 메뉴항목을선택하거나, 도구모음에서 Create Project 아이콘을클릭

MIGRATION CENTER 프로젝트열기 Project 메뉴아래의 Open Project 메뉴항목을선택 원본및대상데이터베이스로연결 원본및대상데이터베이스로연결은 구축 단계로진행하기위해필수적 Project 메뉴아래의 Connect 메뉴항목을선택하거나열려진프로젝트에오른쪽마우스버튼을클릭해서 Connect 를선택

MIGRATION CENTER 프로젝트구축 Migration 메뉴아래의 Build 메뉴아이템을선택하거나, 도구모음에서 Build 아이콘을클릭

MIGRATION CENTER 프로젝트구축 (Build Report)

MIGRATION CENTER 프로젝트조정 Migration 메뉴아래의 Reconcile 메뉴항목을선택하거나, 도구모음에서 Reconcile 아이콘을클릭 User Mode Table Mode

MIGRATION CENTER 프로젝트실행 Migration 메뉴아래의 Run 메뉴항목을선택하거나, 도구모음에서 Run 아이콘을클릭

MIGRATION CENTER 커맨드라인인터페이스 (CLI) 모드 CLI 모드 GUI 모드실행이불가능할경우사용 마이그레이션절차중 실행 단계만수행가능 CLI 모드수행방법 project_path 는상대경로, 절대경로모두사용가능 #./migcenter.sh run project_path

MIGRATION CENTER 마이그레이션가능한데이터베이스객체 타데이터베이스 to ALTIBASE HDB 데이터베이스객체유형 User 모드에서마이그레이션가능여부 Table 모드에서마이그레이션가능여부 비고 Table O O Primary Key Constraint O O Unique Constraint O O Check Constraint 지원예정 Foreign Key Constraint O Index O O Sequence Private Synonym O O Procedure Function View Trigger 지원예정지원예정지원예정지원예정

MIGRATION CENTER 데이터타입매핑 오라클데이터베이스 to ALTIBASE HDB 인덱스소스대상특이사항 1 CHAR CHAR 2 NCHAR NCHAR 원본및대상데이터베이스의 NCHAR 칼럼의명시적인크기는같다 ( 예.NCHAR(10) -> NCHAR(10)). 그러나, 오라클 JDBC 드라이버에서는 NCHAR 칼럼의크기가사용되는바이트의개수로정의되는반면, ALTIBASE HDB 의 JDBC 드라이버에서는 NCHAR 칼럼의크기가저장되는문자의개수로정의된다. 이는 ALTIBASE HDB 에서생성되는 NCHAR 칼럼이필요에따라오라클보다 2 배또는 3 배정도클것이라는의미이므로, 이런점을유의하도록한다. 3 VARCHAR2 VARCHAR 4 NVARCHAR2 NVARCHAR NCHAR와같은이유로, 칼럼크기가서로다르다. 5 LONG CLOB 6 NUMBER NUMERIC 7 FLOAT FLOAT 8 BINARY FLOAT FLOAT

MIGRATION CENTER 데이터타입매핑 오라클데이터베이스 to ALTIBASE HDB 인덱스소스대상특이사항 9 BINARY DOUBLE VARCHAR(310) ALTIBASE HDB 에는오라클 BINARY DOUBLE 타입과호환되는데이터타입이없으므로데이터손실을막기위해문자형으로저장된다. 10 DATE DATE 11 TIMESTAMP DATE 스케일의차이로인해서소량의데이터손실이발생할수있다. 오라클에서는타임스탬프값의스케일이나노초 (9 자리수 ) 인반면, ALTIBASE HDB 에서는타임스탬프값의스케일이마이크로초 (6 자리수 ) 이다. 12 RAW BLOB 13 LONG RAW BLOB 14 BLOB BLOB 15 CLOB CLOB 16 NCLOB NVARCHAR(10666) ALTIBASE HDB 에는오라클 NCLOB 타입과호환가능한데이터타입이없으므로, 최대크기의 NVARCHAR 타입으로변환된다. 실제데이터크기가 NVARCHAR 최대크기를초과하는경우, 데이터를마이그레이션하는동안데이터손실이발생할수도있다.

MIGRATION CENTER 데이터타입매핑 MS SQL Server to ALTIBASE HDB 인덱스 소스 대상 특이사항 1 BIGINT BIGINT 2 DECIMAL NUMERIC 3 INT INTEGER 4 NUMERIC NUMERIC 5 SMALLINT SMALLINT 6 MONEY FLOAT 7 TINYINT SMALLINT 8 SMALLINTMONEY FLOAT 9 BIT CHAR(1) 10 FLOAT VARCHAR(310) ALTIBASE HDB 에는 SQL Server FLOAT 타입과호환가능한데이터타입이없으므로, 데이터손실을막기위해 VARCHAR(310) 으로맵핑된다. 11 REAL FLOAT 12 DATE DATE

MIGRATION CENTER 데이터타입매핑 MS SQL Server to ALTIBASE HDB 인덱스소스대상특이사항 13 DATETIME2 DATE 스케일의차이로인해서시간의 fraction 손실이발생할수있다. SQL Server 의 DATETIME2 타입스케일이나노초의 100 배 (7 자리수 ) 인반면, ALTIBASE HDB 에서는 DATE 타입의스케일이마이크로초 (6 자리수 ) 이다. 14 DATETIME DATE 15 SMALLDATETIME DATE 16 CHAR CHAR 17 TEXT CLOB 18 VARCHAR VARCHAR 19 VARCHAR(MAX) CLOB 20 NVARCHAR NVARCHAR 21 NVARCHAR(MAX) NVARCHAR(10666) ALTIBASE HDB 에는 SQL Server NTEXT 타입과호환가능한데이터타입이없으므로최대크기의 VARCHAR 타입이사용된다. 실제데이터길이가최대 NVARCHAR 크기를초과하는경우, 데이터를마이그레이션하는동안데이터손실이발생할수도있다.

MIGRATION CENTER 데이터타입매핑 MS SQL Server to ALTIBASE HDB 인덱스 소스 대상 특이사항 22 BINARY BYTE 23 IMAGE BLOB 24 VARBINARY BLOB 25 ALLIDENTITY NUMERIC(38,0) 26 UNIQUEIDENTIFIER VARCHAR(40) ALTIBASE HDB 에는 SQL Server UNIQUEIDENTIFIER 타입과호환가능한데이터타입이없으므로, 데이터손실을방지하기위해 VARCHAR 타입이사용된다. 27 SYSNAME NVARCHAR (128)

MIGRATION CENTER 데이터타입매핑 MySQL to ALTIBASE HDB 인덱스 소스 대상 특이사항 1 TINYINT SMALLINT 2 SMALLINT INTEGER 3 MEDIUMINT INTEGER 4 INT(INTEGER) BIGINT 5 BIGINT NUMERIC(20,0) 6 DECIMAL (NUMERIC) VARCHAR(70) ALTIBASE HDB 에는 MySQL DECIMAL 타입과호환가능한데이터타입이없으므로, 데이터손실을막기위해 VARCHAR 타입으로맵핑된다. 7 FLOAT FLOAT 8 DOUBLE VARCHAR(310) ALTIBASE HDB 에는 MySQL DOUBLE 타입과호환가능한데이터타입이없으므로, 데이터손실을막기위해 VARCHAR 타입으로맵핑된다. 9 BIT BIT 10 DATETIME DATE 시각부분이 0 으로설정된다. 11 TIMESTAMP DATE TIMEZONE 제외

MIGRATION CENTER 데이터타입매핑 MySQL to ALTIBASE HDB 인덱스소스대상특이사항 12 CHAR CHAR 13 VARCHAR VARCHAR 14 15 CAHR with National Character VARCHAR with National Character NCHAR NVARCHAR 16 BINARY BYTE 17 VARBINARY BLOB 18 TINYBLOB BYTE 19 TINYTEXT VARCHAR(255) 20 BLOB BLOB 21 TEXT CLOB 22 MEDIUMBLOB BLOB

MIGRATION CENTER 데이터타입매핑 MySQL to ALTIBASE HDB 인덱스 소스 대상 특이사항 23 MIDIUMTEXT CLOB 24 LONGBLOB BLOB 25 LONGTEXT CLOB 26 ENUM 27 SET VARCHAR (10666) VARCHAR (10666) ALTIBASE HDB 에는 MySQL ENUM 타입과호환가능한데이터타입이없으므로, 데이터손실을막기위해 VARCHAR 타입으로맵핑된다. ALTIBASE HDB 에는 MySQL SET 타입과호환가능한데이터타입이없으므로, 데이터손실을막기위해 VARCHAR 타입으로맵핑된다.

ORANGE for ALTIBASE

ORANGE FOR ALTIBASE ORANGE FOR ALTIBASE ALTIBASE HDB 운영환경에서쉽고, 빠르게개발의효율성과생산성을높이고성능의최적화가가능한어플리케이션개발및성능관리 DBA 툴 SQL 및 PSM 개발을지원하는다양한도구들을제공하여쉽고빠르게개발할수있는환경을제공 시스템의안정적인운영및관리를위해세션 (session), SQL, 락 (Lock) 들에대한모니터링기능을제공 제품구성 Standard Edition : 개발자 / 컨설턴트를위한필수기능 DBA Edition : DBA 혹은성능분석을위한고급기능

ORANGE FOR ALTIBASE ORANGE 실행화면 [ 시작 ] [ 모든프로그램 ] [Orange for ALTIBASE 5.0 DBA] 를실행

ORANGE FOR ALTIBASE ORANGE 상세기능 SQL Tool 다수의 SQL을일괄또는순차실행하거나특정 SQL만을선택적으로실행할수있고실행결과를직접수정하거나파일로저장할수있음

ORANGE FOR ALTIBASE ORANGE 상세기능 Table Editor 데이터의 DML 작업을 GUI환경에서편리하게할수있으며, 조건에의한일부데이터의조회, 편집, 저장기능을제공

ORANGE FOR ALTIBASE ORANGE 상세기능 Trace Tool Trace 파일을분석하여파싱정보와실행계획정보를실시간으로제공

ORANGE FOR ALTIBASE ORANGE 상세기능 Description Tool 데이터베이스접속사용자에게허용된모든 Object 의상세 Description 을제공하며, 다양한검색조건에의한특정객체찾기기능을제공

ORANGE FOR ALTIBASE ORANGE 상세기능 Database Information 데이터베이스의전반적인구성정보를제공

ORANGE FOR ALTIBASE ORANGE 상세기능 Data Dictionary Tool 자료사전에존재하는다양한뷰를성격및역할에따라카테고리화하고관련설명을제공

ORANGE FOR ALTIBASE ORANGE 상세기능 Query Builder GUI 환경에서논리적인데이터베이스객체모델을생성할수있도록개발된사용자중심의 SQL 쿼리생성기

ORANGE FOR ALTIBASE ORANGE 상세기능 File Editor 텍스트데이터파일을편집하는등의작업시전용으로쓸수있는에디터

ORANGE FOR ALTIBASE ORANGE 상세기능 SQL Monitor 실행된 Dynamic SQL중에서성능저하를유발시키는 Top N SQL을쉽고빠르게찾아주는기능을제공

ORANGE FOR ALTIBASE ORANGE 상세기능 Session Monitor DB에현재접속되어있는모든 Agent 리스트와각 Agent 의여러가지상세정보를제공

ORANGE FOR ALTIBASE ORANGE 상세기능 Instance Monitor 데이터베이스운영에관련된많은통계정보중가장중요하고자주보는핵심적인통계정보를그래프를이용하여서버현황을파악

ORANGE FOR ALTIBASE ORANGE 상세기능 Unload Tool 데이터베이스의테이블이나 VIEW 를선택하여 txt, csv, xls 등다양한포맷의파일로데이터를내려받을수있는기능을제공

ORANGE FOR ALTIBASE ORANGE 상세기능 Load Tool Txt, csv, xls 등다양한포맷의외부파일로부터데이터베이스의테이블에데이터로 Load 할수있는기능을제공

ORANGE FOR ALTIBASE ORANGE 상세기능 Data Generation Tool 임의의데이터들을생성하여원하는테이블에 Insert 하는역할

ORANGE FOR ALTIBASE ORANGE 상세기능 Script Generation Tool 유저가소유하고있는오브젝트를스크립트파일로생성

ORANGE FOR ALTIBASE ORANGE 상세기능 Space Manager 테이블스페이스와데이터파일에대한사용현황을다양한방식으로제공

ORANGE FOR ALTIBASE ORANGE 상세기능 Security Manager 데이터베이스에정의된사용자, 권한등보안관련사항을다양한관점에서손쉽게조회하고사용자변경작업을용이하게할수있는기능을제공

ORANGE FOR ALTIBASE ORANGE 상세기능 Health Check 데이터베이스가가동이된이후 Session, Statement, Lock, Memory DB, Memory, Replication, GC, Logfile, Tablespace 등의정보를 Reporting

ORANGE FOR ALTIBASE ORANGE 상세기능 Schema Browser Schema Object와 Tablespace, Replication, Schema 객체정보등을 Tree 형태로일목요연하게보여줌 Table Data View Index Data View Tablespace Data View

ORANGE FOR ALTIBASE ORANGE 상세기능 Template Browser 사용자가 DML, DDL, PL/SQL, SQL Function, SQL Optimizer 와같이복잡한 SQL 문법을쉽게만들수있도록 Template 을제공