Altibase Tools&Utilites Manual

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

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

DBMS & SQL Server Installation Database Laboratory

목차 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

ALTIBASE HDB Patch Notes

문서 템플릿

ALTIBASE HDB Patch Notes

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Altibase Starting User's Manual

13주-14주proc.PDF

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Microsoft Word - src.doc

강의 개요

歯sql_tuning2

Microsoft PowerPoint - 10Àå.ppt

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

PowerPoint Presentation

Altibase Stored Procedure Manual

MySQL-.. 1

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

PowerPoint Template

ALTIBASE 사용자가이드 Templete

PowerPoint 프레젠테이션

단계

목 차

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밊

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

Altibase Installation Manual

Windows 8에서 BioStar 1 설치하기

ALTIBASE 사용자가이드 Templete

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

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

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

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

The Pocket Guide to TCP/IP Sockets: C Version

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

슬라이드 제목 없음

ISP and CodeVisionAVR C Compiler.hwp

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

PowerPoint 프레젠테이션

Cloud Friendly System Architecture

[Brochure] KOR_TunA

PowerPoint Presentation

ALTIBASE 사용자가이드 Templete

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

System Recovery 사용자 매뉴얼

Microsoft PowerPoint - chap06-2pointer.ppt

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

untitled

슬라이드 1

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

ALTIBASE 사용자가이드 Templete

PowerPoint 프레젠테이션

Spring Boot/JDBC JdbcTemplate/CRUD 예제

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

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

Oracle Database 10g: Self-Managing Database DB TSC

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

PowerPoint 프레젠테이션

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

ALTIBASE HDB Patch Notes

PowerPoint 프레젠테이션

PowerPoint Presentation

MS-SQL SERVER 대비 기능

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

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

ALTIBASE XDB Release Note APRIL 22, 2014

슬라이드 1

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

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

슬라이드 1

DocsPin_Korean.pages

BMP 파일 처리

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

6장. SQL

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

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

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

Windows Server 2012

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

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

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

PowerPoint 프레젠테이션

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

C++ Programming

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

chap 5: Trees

Microsoft PowerPoint - Java7.pptx

슬라이드 1

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

Remote UI Guide

<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63>

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - o8.pptx

untitled

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


Transcription:

ALTIBASE HDB Tools & Utilities Utilities Manual Release 6.3.1 (April 16, 2015)

----------------------------------------------------------- ALTIBASE Tools & Utilities Utilities Manual Release 6.3.1 Copyright c 2001~2015 ALTIBASE Corp. All Rights Reserved. 본문서의저작권은 알티베이스에있습니다. 이문서에대하여당사의동의없이무단으로복제또는전용할수없습니다. 알티베이스 152-790 서울시구로구구로동 182-13 대륭포스트타워 Ⅱ 10 층전화 : 02-2082-1114 팩스 : 02-2082-1099 고객서비스포털 : http://support.altibase.com homepage: http://www.altibase.com -----------------------------------------------------------

목 차 서문... 5 이매뉴얼에대하여... 6 1. aexport... 11 aexport소개... 12 aexport사용방법... 19 2. SHMUTIL... 33 SHMUTIL 소개... 34 SHMUTIL 사용방법... 35 3. 기타 Utilities... 39 altiaudit... 40 altibase... 44 altimon.sh... 46 altierr... 48 altipasswd... 50 altiprofile... 51 checkserver... 57 convdp... 59 dump_stack.sh... 61 dumpbi... 64 dumpct... 66 dumpdb... 69 dumpddf... 73 dumpla... 76 dumplf... 85 killcheckserver... 96 목차 3

server... 98 찾아보기... 101 4 Utilities Manual

서문 서문 5

이매뉴얼에대하여 이매뉴얼은 ALTIBASE HDB 를사용하면서필요한유틸리티에 대해서설명한다. 대상사용자 이매뉴얼은다음과같은 ALTIBASE HDB 사용자를대상으로작성되었다. 데이터베이스관리자 성능관리자 데이터베이스사용자 응용프로그램개발자 기술지원부다음과같은배경지식을가지고이매뉴얼을읽는것이좋다. 컴퓨터, 운영체제및운영체제유틸리티운용에필요한기본지식 관계형데이터베이스사용경험또는데이터베이스개념에대한이해 컴퓨터프로그래밍경험 데이터베이스서버관리, 운영체제관리또는네트워크관리경험 소프트웨어환경 이매뉴얼은데이터베이스서버로 ALTIBASE HDB 버전 6.3.1 을 사용한다는가정하에작성되었다. 이매뉴얼의구성 이매뉴얼은다음과같이구성되어있다. 제 1 장 AEXPORT 이장은 ALTIBASE HDB 데이터베이스간자동화된데이터마이그레이션 (migration) 을지원하기위한도구인 AEXPORT 에대해서설명한다. 6 Utilities Manual

제 2 장 SHMUTIL 이장은 ALTIBASE HDB 가사용중인공유메모리를조회, 백업, 삭제할수있는유틸리티인 SHMUTIL 에대해서설명한다. 제 3 장기타 Utilities 이장은 AEXPORT 와 SHMUTIL 을제외한나머지유틸리티에대해서설명한다. 문서화규칙 이절에서는이매뉴얼에서사용하는규칙에대해설명한다. 이규칙을이해하면이매뉴얼과설명서세트의다른매뉴얼에서정보를쉽게찾을수있다. 여기서설명하는규칙은다음과같다. 구문다이어그램 샘플코드규칙 구문다이어그램 이매뉴얼에서는다음구성요소로구축된다이어그램을사용하여, 명령문의구문을설명한다. 구성요소 예약어 SELECT 의미명령문이시작한다. 완전한명령문이아닌구문요소는화살표로시작한다. 명령문이다음라인에계속된다. 완전한명령문이아닌구문요소는이기호로종료한다. 명령문이이전라인으로부터계속된다. 완전한명령문이아닌구문요소는이기호로시작한다. ; 명령문이종료한다. 필수항목 선택적항목 NOT ADD 선택사항이있는필수항목. 한항목만제공해야한다. DROP 서문 7

선택사항이있는선택적항목 ASC DESC ASC 선택적항목. 여러항목이허용된다. 각반복앞부분에 콤마가와야한다. DESC, 샘플코드규칙 코드예제는 SQL, Stored Procedure, isql 또는다른명령라인 구문들을예를들어설명한다. 아래테이블은코드예제에서사용된인쇄규칙에대해설명한다. 규칙 의미 예제 [ ] 선택항목을표시 VARCHAR [(size)] [[FIXED ] VARIABLE] { } 필수항목표시. 반드시하나이상을선택해야되는표시 { ENABLE DISABLE COMPILE } 선택또는필수항목표시의인자구분표시 { ENABLE DISABLE COMPILE } [ ENABLE DISABLE COMPILE ]... 그이전인자의반복표시예제코드들의생략되는것을표시 SQL> SELECT ename FROM employee; ENAME ------------------------ SWNO HJNO HSCHOI... 20 rows selected. 그밖에기호 위에서보여진기호이외에기호들 EXEC :p1 := 1; 8 Utilities Manual

acc NUMBER(11,2); 기울임꼴구문요소에서사용자가지정해야하는변수, 특수한값을제공해야만하는위치지정자소문자사용자가제공하는프로그램의요소들, 예를들어테이블이름, 칼럼이름, 파일이름등대문자시스템에서제공하는요소들또는구문에나타나는키워드 SELECT * FROM table_name; CONNECT userid/password; SELECT ename FROM employee; DESC SYSTEM_.SYS_INDICES_; 관련자료 자세한정보를위하여다음문서목록을참조하기바란다. Installation Guide Administrator s Manual Replication Manual isql User s Manual iloader User's Manual 온라인매뉴얼 Altibase 고객서비스포털 (http://support.altibase.com) 에서국문및영문매뉴얼 (PDF, HTML) 을받을수있다. Altibase 는여러분의의견을환영합니다. 이매뉴얼에대한여러분의의견을보내주시기바랍니다. 사용자의의견은다음버전의매뉴얼을작성하는데많은도움이됩니다. 보내실때에는아래내용과함께고객서비스포털 (http://support.altibase.com/kr/) 로보내주시기바랍니다. 사용중인매뉴얼의이름과버전 매뉴얼에대한의견 사용자의성함, 주소, 전화번호이외에도 Altibase 기술지원설명서의오류와누락된부분및기타 서문 9

기술적인문제들에대해서이주소로보내주시면정성껏처리하겠습니다. 또한, 기술적인부분과관련하여즉각적인도움이필요한경우에도고객서비스포털을통해서비스를요청하시기바랍니다. 여러분의의견에항상감사드립니다. 10 Utilities Manual

1. aexport aexport 11

aexport 소개 개요 aexport 는 ALTIBASE HDB 데이터베이스간의자동화된데이터마이그레이션 (migration) 을지원하기위한도구이다. aexport 는데이터베이스의논리적인구조및데이터를텍스트로저장하고, 이를다시새로운 ALTIBASE HDB 데이터베이스로로딩하기위한스크립트를자동으로생성하여준다. aexport 가접속한데이터베이스로부터추출할수있는객체및구성요소는데이터베이스사용자, 사용자권한, 테이블, 테이블스페이스, 테이블제약조건, 인덱스, 뷰, Materialized View, 저장프로시저, 시퀀스, 그리고이중화객체이다. aexport 는데이터베이스의논리적인구조를 SQL 스크립트로변환하여저장하고, 모든데이터를텍스트로내려받기때문에상이한 ALTIBASE HDB 버전간, 그리고상이한플랫폼간의데이터이동시에유용하게사용될수있다. ALTIBASE HDB 서버는구동했지만서비스는하지않는상태즉, 클라이언트연결이없을때 aexport 를사용하기를권장한다. aexport 기능소개 aexport 가추출할수있는데이터베이스객체및구성요소는다음과같다. 데이터베이스사용자 사용자권한 테이블스페이스 테이블 테이블제약조건 인덱스 뷰 Materialized View 저장프로시저 이중화객체 aexport 를수행하면위에열거한데이터베이스구성요소를생성하기위한 SQL 스크립트와이를구동하기위한쉘스크립트가 12 Utilities Manual

생성된다. aexport 모드와 SQL 스크립트파일 aexport 는데이터베이스의어떤부분을추출하는지에따라서다른모드로실행할수있다. 모드는 aexport 실행시커맨드라인에서지정할수있다. aexport 실행모드와각모드별로생성되는 SQL 스크립트파일은아래의절에서설명한다. 전체 DB 모드 이모드는전체데이터베이스를추출한다. SYS 사용자만이이모드로 aexport 를실행할수있다. 이모드로 aexport 를실행할때생성되는 SQL 스크립트파일은아래와같다. SYS_CRT_DIR.sql: 모든디렉토리객체생성 SYS_CRT_USER.sql: 모든사용자생성 SYS_CRT_SYNONYM.sql: 모든시노님 (Synonym) 객체생성 SYS_CRT_REP.sql: 모든이중화객체생성 ALL_CRT_VIEW_PROC.sql: 모든뷰와프로시저생성 ALL_CRT_TBS.sql: 모든테이블스페이스생성 ALL_CRT_TBL.sql: 모든사용자테이블생성 ALL_CRT_INDEX.sql: 모든사용자인덱스생성 ALL_CRT_FK.sql: 모든사용자의외래키생성 ALL_CRT_TRIG.sql: 모든사용자의트리거생성 ALL_CRT_SEQ.sql: 모든사용자의시퀀스생성 ALL_CRT_LINK.sql: 모든사용자의데이터베이스 Link 생성 ALL_REFRESH_MVIEW.sql: 모든사용자의 Materialized View 를리프레쉬사용자모드 이모드는옵션으로지정하는사용자가소유한모든객체를추출한다. SYS 사용자와옵션으로지정하는사용자만이이모드로 aexport 를실행할수있다. 사용자모드로 aexport 를실행하려면, -u 커맨드라인옵션에사용자이름을지정하면된다. 이모드로실행할때생성되는 SQL 스크립트파일은아래와같다. { 사용자명 }_CRT_TBL.sql: 지정한사용자의모든테이블생성 aexport 13

{ 사용자명 }_CRT_INDEX.sql: 지정한사용자의모든인덱스생성 { 사용자명 }_CRT_FK.sql: 지정한사용자의모든외래키생성 { 사용자명 }_CRT_TRIG.sql: 지정한사용자의모든트리거생성 { 사용자명 }_CRT_SEQ.sql: 지정한사용자의모든시퀀스생성 { 사용자명 }_CRT_LINK.sql: 지정한사용자의모든데이터베이스 Link 생성 { 사용자명 }_REFRESH_MVIEW.sql: 지정한사용자의모든 Materialized View 를리프레쉬 객체모드 이모드는옵션으로지정하는모든객체들을추출한다. 객체모드로 aexport 를실행하려면, -object 커맨드라인옵션에추출하고자하는객체들을 user.object 의형태로쉼표 (, ) 로분리하여명시하면된다 ( 공백문자가포함되면안됨 ). SYS 사용자와지정하는객체의소유자만이이모드로 aexport 를실행할수있다. 지정한모든객체의소유자는같아야한다. 그러나, SYS 사용자로실행할때는지정한객체들의소유자가각각다른사용자여도무방하다. 이모드로실행할때생성되는 SQL 스크립트파일은아래와같다. { 사용자명 }_{ 객체명 }_CRT.sql: 지정한사용자객체생성 쉘스크립트파일 위에서기술한 SQL 스크립트파일외에, aexport 수행시생성되는쉘스크립트파일들은다음과같다. run_il_in.sh: 데이터로드스크립트 run_il_out.sh: 데이터다운로드스크립트 run_is.sh: 스키마생성스크립트 run_is_con.sh: constraint 생성스크립트. TWO_PHASE_SCRIPT 프로퍼티를 ON 으로설정하면, 이쉘스크립트파일이생성된다. 이파일은인덱스, 외래키, 트리거, 및이중화객체를생성하는 SQL 스크립트를포함한다. run_is_fk.sh: 외래키와트리거생성스크립트. TWO_PHASE_SCRIPT 프로퍼티를 ON 으로설정하면, 이쉘스크립트파일은생성되지않는다. run_is_index.sh: 인덱스생성스크립트. TWO_PHASE_SCRIPT 프로퍼티를 ON 으로설정하면, 이쉘스크립트파일은생성되지않는다. 14 Utilities Manual

run_is_repl.sh: 이중화생성스크립트. TWO_PHASE_SCRIPT 프로퍼티를 ON 으로설정하면, 이쉘스크립트파일은생성되지않는다. run_is_refresh_mview.sh: Materialized View 를 refresh 하는스크립트. TWO_PHASE_SCRIPT 프로퍼티를 ON 으로설정하면, 이쉘스크립트파일은생성되지않는다. aexport 수행후생성된쉘스크립트를대상데이터베이스에대해실행하면, 데이터베이스의논리적구조가자동으로생성된다. 또한기존의데이터가모두대상데이터베이스에로딩된다. 쉘스크립트는 ALTIBASE HDB iloader 를사용하여데이터다운로드및업로드를수행한다. 쉘스크립트내에서 iloader 를사용하는과정은완전히자동화되어있기때문에사용자가 iloader 의사용법에익숙하지않아도사용이가능하다. aexport 에의해생성된모든파일은텍스트파일이기때문에사용자의필요에따라변경후사용이가능하므로, 좀더유연하게활용할수있다. aexport 프로퍼티와스크립트파일 이절은 aexport 프로퍼티설정에따라서생성되는스크립트파일에대해서설명한다. 프로퍼티에대한상세한설명은 aexport 프로퍼티 절을참조한다. INVALID_SCRIPT = ON 일때, INVALID.sql 파일이생성된다. 이파일은유효하지않은모든뷰와저장프로시저를생성하는 SQL 스크립트를포함하는데, 이파일을실행하는쉘스크립트파일은생성되지않는다. TWO_PHASE_SCRIPT = ON 일때, ALL_OBJECT.sql 파일과 ALL_OBJECT_CONSTRAINS.sql 파일이생성된다. ALL_OBJECT.sql 파일은모든객체를생성하는 SQL 스크립트를, ALL_OBJECT_CONSTRAINS.sql 파일은모든인덱스, 외래키, 트리거와이중화객체를생성하는 SQL 스크립트를포함한다. 또한, ALL_OBJECT_CONSTRATINS.sql 을실행하는 run_is_con.sh 쉘스크립트파일이생성된다. aexport 설정 aexport 는서버에접속하기위해서다음과같은정보가필요하다. ALTIBASE_HOME aexport 15

서버혹은클라이언트가설치된경로 server_name ALTIBASE HDB 서버가구동되어있는컴퓨터서버의이름 ( 또는 IP 주소 ) port_no TCP 또는 IPC 로접속할때사용할포트번호 user_id 데이터베이스에등록된사용자 ID Password 사용자 ID 와일치하는암호 NLS_USE 데이터검색시, 사용자에게보여주는문자집합 ALTIBASE_HOME 은환경변수로설정하도록되어있으며, 나머지는커맨드라인옵션을통해서설정할수있다.( 자세한내용은 aexport 사용방법 을참고한다.) aexport 를실행하려면 ALTIBASE_HOME 환경변수와 aexport 설정파일 (aexport.properties) 이필요하다. 실행전에 ALTIBASE_HOME 이바르게설정되어있어야하며, 샘플로제공되는 aexport.properties.sample 파일을이용해 aexport 용설정파일을생성해두어야한다. ALTIBASE_HOME 은일반적으로서버가설치될때자동으로설정되는데클라이언트의경우에는사용자가직접설정해야한다. 설정되지않았을경우에는제대로동작하지않을수있으므로실행전에바르게설정되어있는지확인할것을권장한다. port_no 와 NLS_USE 는환경변수또는서버설정파일 (altibase.properties) 을이용해서설정할수도있다. 세가지방법으로모두설정되어있을경우적용우선순위는다음과같다. 1. 커맨드라인옵션 2. 환경변수 (ALTIBASE_PORT_NO, ALTIBASE_NLS_USE) 3. 서버설정파일 (altibase.properties) 그러므로설정된값과다른옵션으로연결하고자할경우, 커맨드라인옵션을사용하면서버설정파일이나환경변수를변경하지않아도된다. 옵션이설정되어있지않을경우에는 aexport 가처음실행될때옵션입력프롬프트를띄우고사용자에게서해당값을입력받는다. 이때바르지않은형식이나유효하지않은값을입력할경우, 16 Utilities Manual

aexport 는제대로동작하지않을수있다. 특히 NLS_USE 옵션은사용자가설정하지않았더라도실행시에입력프롬프트를띄우지않는다. 만약사용자가 NLS_USE 옵션을설정하지않았다면기본값인 US7ASCII 를이용해접속을시도한다. 이때데이터베이스의문자집합이 US7ASCII 가아닐경우에는올바로실행되지않거나사용자데이터가일부깨질수있으므로반드시 NLS_USE 를사용환경에맞는값으로설정해야한다. 원활한 aexport 사용을위해다음환경변수를설정할것을권장한다. ALTIBASE_HOME: 서버혹은클라이언트가설치된경로 ALTIBASE_PORT_NO: 서버에접속할때사용할포트번호 ALTIBASE_NLS_USE: 데이터검색시, 사용자에게보여주는문자집합 PATH: 실행파일이있는경로인 $ALTIBASE_HOME/bin 추가 환경변수 ALTIBASE_HOME ALTIBASE_PORT_NO 패키지가설치된디렉토리를설정한다. aexport 사용을위해반드시 설정해야하는환경변수이다. 접속할서버의포트번호를설정하는환경변수이다. -PORT 옵션또는 altibase.properties 를통해서지정할수도있다. 포트번호설정의우선순위는 -PORT 옵션, 환경변수 ALTIBASE_PORT_NO, altibase.properties 순이며설정되지않았을경우에는포트번호입력프롬프트가출력된다. ALTIBASE_NLS_USE 서버에연결할때사용할캐릭터셋을설정한다. -NLS_USE 옵션또는 altibase.properties 를통해서지정할수도있다. NLS_USE 설정의우선순위는 -NLS_USE 옵션, 환경변수 ALTIBASE_NLS_USE, altibase.properties 순이며설정되지않았을경우에는기본캐릭터셋 (US7ASCII) 을사용한다. 주의 ) 서버캐릭터셋과 ALTIBASE_NLS_USE 에설정한값이다를 aexport 17

경우에는정상적으로동작하지않을수있다. 반드시적절한값을 설정할것을권장한다. 18 Utilities Manual

aexport 사용방법 구문 -h AEXPORT -s server_name -u -p -port -tserver -tport -nls user_name password port_no server_name port_no national_language_support -object user_name. object_name -prefer_ipv6, 파라미터 파라미터설명 -h 도움말을출력한다. -s 데이터를다운로드할서버의호스트명또는 IP 주소를설정한다. 생략시호스트명입력프롬프트가출력된다. IP 주소의경우, IPv4 주소또는 IPv6 주소를사용할수있다. IPv6 주소는 [ 과 ] 로에워싸야한다. 예를들어, localhost 를명시하고자할때, 가능한값은다음과같다. localhost ( 호스트이름 ), 127.0.0.1 (IPv4주소), [::1] (IPv6주소) aexport 19

ALTIBASE HDB에서 IPv6 주소를사용하는방법에대해서는 Administrator s Manual을참고하기바란다. -u 접속할 ALTIBASE HDB의사용자명을설정한다. 생략시사용자명입력프롬프트가출력된다. 전체 DB 모드로실행하려면, 이옵션에 SYS 사용자를지정해야한다. -p 접속할 ALTIBASE HDB 사용자의패스워드를설정한다. 생략시패스워드입력프롬프트가출력된다. -port 접속할 ALTIBASE HDB의포트번호를설정한다. 생략시환경변수 ALTIBASE_PORT_NO, altibase.properties를차례로참조하며설정되어있지않은경우에는포트번호입력프롬프트가출력된다. -object 추출할객체를소유자이름과함께명시한다. -tserver 추출한데이터를업로드할대상서버를지정한다. 이정보는 aexport가생성하는쉘스크립트파일안에사용된다. -s 옵션과마찬가지로호스트이름, IPv4 주소또는 IPv6 주소모두가능하다. -tport 접속할대상서버의포트번호를설정한다. 이정보는 aexport가생성하는쉘스크립트파일안에사용된다. -nls 데이터베이스에데이터저장또는데이터추출시에사용되는클라이언트캐릭터셋을지정한다 (US7ASCII, KO16KSC5601, MS949, BIG5, GB231280, UTF8, SHIFTJIS, EUCJP). 생략시환경변수 ALTIBASE_NLS_USE, altibase.properties를차례로참조하며, 설정되지않았을경우에는기본캐릭터셋 (US7ASCII) 을사용한다. -prefer_ipv6 -s 옵션으로호스트이름을입력했을때, 접속할 IP 주소의버전을결정하는옵션이다. 이옵션을명시하면, 호스트이름을 IPv6 주소로바꾸어접속한다. 이옵션을명시하지않으면, isql은 IPv4 주소로접속한다. 선호하는버전의 IP 주소로의접속이실패하면, 20 Utilities Manual

다른 IP 버전주소로접속을다시시도한다. 예를들어, -S 옵션에 localhost 를입력하고이옵션을명시하면, isql 은처음에 IPv6 주소인 [::1] 로접속하고, 이접속이실패하면 IPv4 주소인 127.0.0.1로접속을다시시도한다. 수행절차 aexport 를사용한데이터베이스마이그레이션절차는크게다음과같이분류된다. 원본데이터베이스로부터구조추출 원본데이터베이스로부터데이터추출 대상데이터베이스에데이터베이스구조생성 대상데이터베이스에데이터로딩 대상데이터베이스에 Materialized View 를리프레쉬한다음, 인덱스와외래키생성데이터베이스구조추출 aexport 를사용하여데이터베이스구조를추출한다. aexport 를수행한다. $ aexport s 127.0.0.1 u sys p manager ALTIBASE HDB 데이터베이스사용자의암호를입력한다. ( 대상데이터베이스에서각사용자가사용하게될암호 ) 원격지에있는 ALTIBASE HDB 의데이터를 aexport 를이용하여백업을할때에는원격지서버의주소와포트 (PORT) 를명시한다. $ aexport s 222.112.84.200 port 20300 u sys p manager 데이터추출 aexport 에의하여생성된쉘스크립트를실행하여테이블데이터를추출한다. 현재작업중인디스크에충분한공간이있는지확인한다. 텍스트데이터의경우데이터베이스내부자료형태보다더많은용량을차지할수있기때문에데이터파일사이즈의두배가량의여유공간확보를권장한다. "run_il_out.sh" 스크립트를수행한다. aexport 21

$ sh run_il_out.sh 대상데이터베이스에데이터베이스구조생성 aexport 와 run_il_out.sh 에의해생성된모든 SQL 스크립트와쉘스크립트, 그리고확장자가 fmt, log, dat 인파일을대상데이터베이스가존재하는시스템으로복사한다. 대상데이터베이스가동일한시스템에존재하는경우이과정은생략한다. 대상데이터베이스를구동시킨다. run_is.sh 스크립트를수행한다. $ sh run_is.sh isql 로데이터베이스에접속하여데이터베이스구조가올바르게생성되었는지확인한다. 만약, 데이터베이스구조가올바르게생성되지않았다면, run_is.sh 수행당시의화면출력을검사하여문제를파악한다. 대상데이터베이스에데이터로딩 run_il_in.sh 스크립트를수행한다. $ sh run_il_in.sh run_il_in.sh 디렉토리에서확장자가 bad 인파일들중사이즈가 0 이아닌파일이있는지검사한다. 해당파일이있을경우해당테이블에관련된 log 파일및 bad 파일의내용을검사하여조치한다. 이에관련된자세한사항은 iloader User s Manual 을참조한다. 대상데이터베이스에 Materialized View 를리프레쉬한다음, 인덱스및외래키생성 TWO_PHASE_SCRIPT 프로퍼티가 OFF 일때, run_is_refresh_mview.sh 스크립트를수행한다. $ sh run_is_refresh_mview.sh run_is_index.sh 스크립트를수행한다. $ sh run_is_index.sh run_is_fk.sh 스크립트를수행한다. $ sh run_is_fk.sh TWO_PHASE_SCRIPT 프로퍼티가 ON 일때, run_is_con.sh 스크립트를수행한다. $ sh run_is_con.sh 22 Utilities Manual

주의사항 aexport 의한계 SYS 사용자가아닌일반사용자로 aexport 를실행할경우해당 사용자가생성한스키마에대해서만스크립트를생성한다. SYS 사용자가아닌일반사용자로 aexport 를실행할경우 이중화객체는생성되지않는다. 일반사용자로 aexport 를실행할경우테이블생성권한이 필요하다. aexport 는객체간의존성분석을위해임시테이블을 생성하기때문이다. 동시에여러개의 aexport 프로세스를실행하면안된다. aexport 는생성된 SQL 스크립트를저장하기위해임시 테이블을사용하기때문에, 동시에두개이상의 aexport 프로세스를실행하면예상치못한결과가나올수있다. EXECUTE 와 TWO_PHASE_SCRIPT 프로퍼티를 ON 으로, OPERATION 프로퍼티를 IN 으로설정하고데이터를업로딩할 때는, INDEX 프로퍼티값의영향을받지않는다. 이는인덱스만 생성하는 SQL 스크립트가따로생성되지않기때문이다. 그러므로 INDEX 프로퍼티를 ON 으로업로딩작업 (EXECUTE=ON and OPERATION=IN) 을하려면, TWO_PHASE_SCRIPT 프로퍼티를 OFF 로해야한다. run_is.sh 스크립트구동시기존에있는모든사용자및 객체를삭제하므로, 소스데이터베이스에서해당스크립트를 수행하지않도록주의해야한다. 파라미터 -s, -p 는일반적으로서버에접속하기위한용도뿐 아니라스크립트에서도함께사용된다. 그러나 -tserver, - tport 와함께사용될경우에는 s 와 p 는데이터를다운로드 할서버에접속하는용도로만사용되고, 대상데이터베이스에 대해수행할스크립트에는 tserver 와 tport 로명시한값들이 사용된다. $ aexport -s 127.0.0.1 -u sys -p manager -tserver 192.168.1.10 tport 21300 $ cat run_il_in.sh iloader -s 192.168.1.10 -port 21300 -u SYS -p MANAGER in -f SYS_T1.fmt -d SYS_T1.dat -log SYS_T1.log -bad SYS_T1.bad 사용자생성시 PASSWORD_VERIFY_FUNCTION 을사용해서콜백함수를지정했다면, 사용자를 import 하기전에사용자의패스워드를검증함수에부합하도록설정해야한다. 또한대상데이터베이스에사용자를 import 하기전에검증함수를먼저 import 해야한다. 저장프로시저생성시참조해야할저장프로시저가미리 aexport 23

생성되어있지않으면작업이실패하게된다. aexport 는저장프로시저간의의존성에대한정보에접근할수가없기때문에저장프로시저생성순서를보장할수없다. 이런경우저장프로시저생성에실패할수있기때문에대상데이터베이스에저장프로시저를수동으로생성해야한다. aexport 는시퀀스의메타정보에제한적인접근만이가능하다. 이러한제약때문에 SYS 사용자이외의계정에서생성한시퀀스의경우 INCREMENT BY 에의해서지정된시퀀스특성만반영이되고나머지특성은기본값으로설정된다. 이러한제약사항이문제가되는경우시퀀스를대상데이터베이스에수동으로생성해야한다. 대상데이터베이스에객체를생성하는과정에서, Material View 생성전에기반테이블이미리생성되어있어야한다. aexport 는 materialized view 생성을위한테이블생성순서를보장하지않기때문에, materialized view 생성에실패할수도있다. 이경우, 사용자가수동으로 materialized view 를생성해야한다. aexport 가원본데이터베이스에서 materialized view 생성구문을추출할때, 최초로그 materialized view 를생성했던구문을가져온다. 즉, 원본데이터베이스에서 materialized view 에대해서 refresh 방법또는 refresh 변경시기를변경하는 DDL 문을수행하더라도 aexport 가추출하는구문에는해당변경사항이반영되지않는다. 사용예제 전체 DB 모드로실행 $ aexport -s 127.0.0.1 -u sys -p manager ----------------------------------------------------------- ------ Altibase Export Script Utility. Release Version 6.3.1.0.0 Copyright 2000, ALTIBASE Corporation or its subsidiaries. All Rights Reserved. ----------------------------------------------------------- ------ ##### TBS ##### ##### USER ##### ##### SYNONYM ##### ##### DIRECTORY ##### ##### TABLE ##### ##### QUEUE ##### ##### SEQUENCE ##### ##### VIEW ##### ##### MATERIALIZED VIEW ##### ##### STORED PROCEDURE ##### 24 Utilities Manual

##### TRIGGER ##### ##### REPLICATION ##### ------------------------------------------------------- ##### The following script files were generated. ##### 1. run_il_out.sh : [ iloader formout, data-out script ] 2. run_is.sh : [ isql table-schema script ] 3. run_il_in.sh : [ iloader data-in script ] 4. run_is_refresh_mview.sh : [ isql materialized view refresh script ] 5. run_is_index.sh : [ isql table-index script ] 6. run_is_fk.sh : [ isql table-foreign key script ] 7. run_is_repl.sh : [ isql replication script ] ------------------------------------------------------- $ ls -l ALL_CRT_DIR.sql ALL_CRT_FK.sql ALL_CRT_INDEX.sql ALL_CRT_REP.sql ALL_CRT_SEQ.sql ALL_CRT_SYN.sql ALL_CRT_TBL.sql ALL_CRT_TBS.sql ALL_CRT_TRIG.sql ALL_CRT_USER.sql ALL_CRT_VIEW_PROC.sql ALL_REFRESH_MVIEW.sql run_il_in.sh run_il_out.sh run_is.sh run_is_fk.sh run_is_index.sh run_is_refresh_mview.sh run_is_repl.sh 사용자모드로실행 isql> CREATE USER user1 IDENTIFIED BY user1; Create success. $ aexport -s 127.0.0.1 -u user1 -p user1 ----------------------------------------------------------- ------ Altibase Export Script Utility. Release Version 6.3.1.0.0 Copyright 2000, ALTIBASE Corporation or its subsidiaries. All Rights Reserved. ----------------------------------------------------------- ------ ##### USER ##### ##### SYNONYM ##### ##### TABLE ##### ##### QUEUE ##### ##### SEQUENCE ##### ##### VIEW ##### ##### MATERIALIZED VIEW ##### ##### STORED PROCEDURE ##### ##### TRIGGER ##### ------------------------------------------------------- ##### The following script files were generated. ##### 1. run_il_out.sh : [ iloader formout, data-out script ] 2. run_is.sh : [ isql table-schema script ] 3. run_il_in.sh : [ iloader data-in script ] aexport 25

4. run_is_refresh_mview.sh : [ isql materialized view refresh script ] 5. run_is_index.sh : [ isql table-index script ] 6. run_is_fk.sh : [ isql table-foreign key script ] 7. run_is_repl.sh : [ isql replication script ] ------------------------------------------------------- $ ls -l USER1_CRT_DIR.sql USER1_CRT_FK.sql USER1_CRT_INDEX.sql USER1_CRT_SEQ.sql USER1_CRT_SYN.sql USER1_CRT_TBL.sql USER1_CRT_TRIG.sql USER1_CRT_USER.sql USER1_CRT_VIEW_PROC.sql USER1_REFRESH_MVIEW.sql run_il_in.sh run_il_out.sh run_is.sh run_is_fk.sh run_is_index.sh run_is_refresh_mview.sh run_is_repl.sh 객체모드로실행 isql> CREATE USER user1 IDENTIFIED BY user1; Create success. isql> CONNECT user1/user1; isql> CREATE TABLE t1(i1 INTEGER); Create success. isql> CREATE VIEW v1 AS SELECT i1 FROM t1; Create success. isql> CREATE MATERIALIZED VIEW m1 AS SELECT * FROM t1; Create success. isql> CREATE OR REPLACE PROCEDURE proc1(p1 IN INTEGER) AS a INTEGER; BEGIN SELECT * INTO a FROM t1 WHERE i1 = 1; END; / Create success. $ aexport -s 127.0.0.1 -u user1 -p user1 -object user1.t1 ----------------------------------------------------------- ------ Altibase Export Script Utility. Release Version 6.3.1.0.0 Copyright 2000, ALTIBASE Corporation or its subsidiaries. All Rights Reserved. ----------------------------------------------------------- ------ ##### TABLE ##### $ ls user1_t1_crt.sql $ aexport -s 127.0.0.1 -u user1 -p user1 -object user1.m1 ----------------------------------------------------------- ------ Altibase Export Script Utility. Release Version 6.3.1.0.0 Copyright 2000, ALTIBASE Corporation or its subsidiaries. All Rights Reserved. 26 Utilities Manual

----------------------------------------------------------- ------ ##### MATERIALIZED VIEW ##### $ ls user1_m1_crt.sql $ aexport -s 127.0.0.1 -u user1 -p user1 -object user1.t1,user1.v1,user1.proc1 ----------------------------------------------------------- ------ Altibase Export Script Utility. Release Version 6.3.1.0.0 Copyright 2000, ALTIBASE Corporation or its subsidiaries. All Rights Reserved. ----------------------------------------------------------- ------ ##### TABLE ##### ##### VIEW ##### ##### STORED PROCEDURE ##### $ ls user1_proc1_crt.sql user1_t1_crt.sql user1_v1_crt.sql aexport 프로퍼티 aexport 프로퍼티설정 aexport.properties 파일의프로퍼티값을조정해야한다. 이파일은 $ALTIBASE_HOME/conf 디렉터리에있어야한다 ( 같은디렉터리의 altibase.properties 파일과혼동하지말것 ). 이파일이없으면 aexport 는구동되지않는다. ALTIBASE HDB 를설치할때, aexport.properties 파일은 $ALTIBASE_HOME/conf 에존재하지않는다. 다만, 같은디렉터리에 aexport.properties.sample 이라는이름의샘플파일을제공하는데, 이파일을 aexport.properties 이름으로복사한후, 수정해서사용하면된다. aexport 프로퍼티 OPERATION OPERATION = IN/OUT OUT 으로설정할경우, 모든스키마와데이터를추출할수있는스크립트가생성된다. 데이터추출스크립트 (iloader 실행명령어로구성 ) 를실행하면 form 파일 (.fmt) 과데이터파일 (.dat) 이만들어진다. IN 으로설정할경우, OUT 에서생성된스키마생성스크립트와데이터로딩스크립트를실행하여대상데이터베이스에 aexport 27

스키마를만들고데이터를입력한다. 스키마생성스크립트와데이터입력스크립트는 aexport 를실행하지않고쉘프롬프트에서수동으로실행할수도있다. EXECUTE 생성한스크립트를자동으로수행할것인지여부를설정한다. EXECUTE = ON/OFF ON 일경우 OPERATION 에지정된작업에맞는적절한스크립트파일을자동으로실행한다. 스크립트파일이름은 ILOADER_OUT, ILOADER_IN, ISQL, ISQL_CON, ISQL_INDEX, ISQL_FOREIGN_KEY, ISQL_REPL, 그리고 ISQL_REFRESH_MVIEW 프로퍼티로설정된다. OFF 일경우스크립트를생성하기만하고실행하지는않는다. INVALID_SCRIPT 이프로퍼티는유효하지않은객체들을생성하는 SQL 스크립트를하나의스크립트파일에모을것인지여부를결정한다. INVALID_SCRIPT = ON/OFF ON 일때, INVALID.sql 파일이생성된다. 이파일은유효하지않은뷰와저장프로시저를생성하는모든 SQL 스크립트를포함한다. OFF 이면, 유효하지않은각객체를생성하는 SQL 스크립트가따로생성된다. 즉, 유효한객체와같은방식으로다뤄진다. TWO_PHASE_SCRIPT 이프로퍼티는객체생성스크립트를두개의스크립트파일로나눠서생성할것인지를결정한다. TWO_PHASE_SCRIPT = ON/OFF ON 일때, 아래와같이두개의 SQL 스크립트파일과두개의쉘스크립트파일만이생성된다 : ALL_OBJECT.sql, ALL_OBJECT_CONSTRAINS.sql, ALL_OBJECT.sql, run_is.sh, run_is_con.sh OFF 이면, 각객체를생성하는 SQL 스크립트파일을따로생성한다. INDEX INDEX = ON/OFF 대상데이터베이스에스키마구성시인덱스포함여부를결정한다. 데이터로딩후에인덱스를생성하고자할경우이프로퍼티를 ON 으로설정한다. TWO_PHASE_SCRIPT 프로퍼티는 OFF 일때제대로동작한다. USER_PASSWORD USER_PASSWORD = password 원본데이터베이스에서추출된사용자를대상데이터베이스에 28 Utilities Manual

생성할때사용할암호를지정한다. (aexport 는사용자객체추출시사용자의암호를알수없기때문에수동설정이필요하다.) 이프로퍼티가설정되어있지않을경우각사용자의암호를묻는프롬프트가나타난다. VIEW_FORCE VIEW_FORCE = ON/OFF ON 이면, 뷰의기본테이블등이존재하지않아도뷰를강제로생성한다. DROP 생성스크립트내부에 DROP 구문을포함할것인지여부를결정한다. DROP = ON/OFF ON 이면, 객체를제거하는구문이 SQL 스크립트에포함되어대상데이터베이스내에이미객체가존재할경우기존객체를제거하게된다. 기존객체를삭제하기때문에사용에주의를요한다. 주의 ) 객체모드로실행하면, 이프로퍼티값에상관없이 DROP 구문이생성되지않는다. ILOADER_OUT ILOADER_OUT = run_il_out.sh 원데이터베이스에서데이터를추출하기위해생성되는쉘스크립트파일명을설정한다. OPERATION 프로퍼티를 OUT 으로설정할경우에사용된다. ILOADER_IN ILOADER_IN = run_il_in.sh 대상데이터베이스에데이터로딩을위해사용될쉘스크립트의파일명을설정한다. ISQL ISQL = run_is.sh 대상데이터베이스에데이터베이스스키마를구성하기위한 SQL 스크립트를실행하는쉘스크립트파일의이름을설정한다. ISQL_CON ISQL_ CON = run_is_con.sh 대상데이터베이스에인덱스, 외래키, 트리거와이중화객체를생성하는 SQL 스크립트를실행하는쉘스크립트파일의이름을설정한다. TWO_PHASE_SCRIPT 프로퍼티가 ON 일때사용된다. ISQL_INDEX ISQL_INDEX = run_is_index.sh 대상데이터베이스에인덱스를생성하는 SQL 스크립트를실행하는쉘스크립트파일의이름을설정한다. 이프로퍼티를설정하지않으면쉘스크립트파일은생성되지않는다. aexport 29

ISQL_FOREIGN_KEY ISQL_ FOREIGN_KEY = run_is_fk.sh 대상데이터베이스에외래키생성하는 SQL 스크립트를실행하는쉘스크립트파일의이름을설정한다. 이프로퍼티를설정하지않으면쉘스크립트파일은생성되지않는다. ISQL_REPL ISQL_REPL = run_is_repl.sh 대상데이터베이스에이중화를생성하기위한쉘스크립트의파일명을설정한다. 이프로퍼티를설정하지않으면쉘스크립트파일은생성되지않는다. ISQL_REFERSH_MVIEW ISQL_REFERSH_MVIEW = run_is_refresh_mview.sh 대상데이터베이스의 Materialized View 를리프레쉬하는 SQL 스크립트를실행하는쉘스크립트파일의이름을설정한다. 이프로퍼티를설정하지않으면, 쉘스크립트파일이생성되지않는다. ILOADER_FIELD_TERM ILOADER_FIELD_TERM = field_term 테이블의데이터를텍스트로다운로드할때사용할필드구분자를설정한다. 설정하지않을경우기본값은쉼표 (,) 로구분되며, 숫자는그대로, 문자형칼럼은큰따옴표 ( ) 로에워싸여서출력된다. 주의 ) 프로퍼티파일내에서 # 문자를구분자로사용할경우, # 이하를주석으로처리하기때문에, # 는구분자로사용할수없다. ILOADER_ROW_TERM ILOADER_ ROW _TERM = row_term 테이블데이터를텍스트로내릴때사용할레코드구분자를설정한다. 설정하지않을경우기본값은 <LF> 이다. 주의 ) 프로퍼티파일내에서 # 문자를구분자로사용할경우, # 이하를주석으로처리하기때문에, # 는구분자로사용할수없다. ILOADER_PARTITION 이프로퍼티는파티션생성을위한 SQL 스크립트와쉘스크립트를만들것인지를결정한다. ILOADER_ PARTITION = ON/OFF 이값이 ON 일경우, 파티션들의데이터를추출하는스크립트, 파티션드테이블과그테이블의파티션들을생성하는스크립트, 그리고각파티션으로데이터를입력하는스크립트를생성한다. 즉, 원본데이터베이스의테이블파티션의데이터를대상데이터베이스의상응하는파티션드테이블의파티션에입력하게된다. 이값이 OFF 일경우, 원본데이터베이스에서파티션드 30 Utilities Manual

테이블이라하더라도대상데이터베이스에 non-partitioned 테이블을생성하는스크립트를작성하고, 원본데이터베이스의파티션드테이블의모든파티션의데이터를대상데이터베이스의 non-partitioned 테이블에입력한다. ILOADER 관련프로퍼티에대한더자세한설명은 iloader User s Manual 을참고하기바란다. aexport 31

2. SHMUTIL SHMUTIL 33

SHMUTIL 소개 개요 ALTIBASE HDB 가사용중인공유메모리를조회, 백업, 삭제할수 있는유틸리티이다. shmutil {-p w e} [-d home_dir] [-f property_file_path] 기능소개 ALTIBASE HDB 는메모리내에데이터영역을할당할때프로세스힙 (heap) 과공유메모리중하나를사용하게된다. 메모리데이터베이스를저장할공간으로공유메모리를사용할경우, ALTIBASE HDB 프로세스가종료된후에도데이터는공유메모리상에계속존재한다. 따라서이에대한조회및관리를위한도구로서 SHMUTIL 을제공한다. SHMUTIL 이제공하는기능은다음과같다. 공유메모리정보확인 공유메모리의데이터를디스크로백업 공유메모리제거 34 Utilities Manual

SHMUTIL 사용방법 구문 -p shmutil -w -e -d home directory -f property_file_path 파라미터 파라미터설명 -p 공유메모리의정보를확인한다. -w 공유메모리의데이터를디스크에기록한다. -e 공유메모리를제거한다. -d ALTIBASE HDB 홈디렉터리의경로를지정한다. 이옵션을지정하지않으면, ALTIBASE_HOME 환경변수에설정된값을사용한다 -f ALTIBASE HDB 프로퍼티파일을지정한다. 이옵션을지정하지않으면, $ALTIBASE_HOME/conf/altibase.properties 파일을사용한다. 공유메모리정보조회 데이터영역으로사용중인공유메모리의요약정보및공유메모리 세그먼트별상세정보를조회한다. ALTIBASE HDB 가정상적으로구동중인경우다음과같은메시지가 출력된다. $ shmutil -p ShmUtil: Release 6.3.1.1 - Production on Oct 3 2010 04:52:01 SHMUTIL 35

(c) Copyright 2001 ALTIBase Corporation. All rights reserved. #################### IPC Information ###################### SHM BASE KEY = 2046(0x7fe) ID = 327686(0x50006) #################### Brief Information ###################### SIZE(MB) PAGE(#) TOTAL 4.0312 129 USED 3.0000 96 FREE 1.0312 33 Timestamp is 1286347518(sec) / 833884(usec) #################### Detail Information ###################### ## Shared Memory Chunk ## Shm Key = 2046 Shm Id = 327686 Page Count = 129 Size(MB) = 4.0312 공유메모리사용량결과분석에대한자세한내용은 Administrator s Manual 을참고한다. 공유메모리백업 공유메모리상에로딩되어있는데이터베이스를디스크에백업한다. 공유메모리저장은반드시 ALTIBASE HDB 프로세스가종료된상태에서수행해야한다. 다음은공유메모리에로딩되어있는데이터베이스를 mydbkim 디렉터리로백업하는예제이다. $ shmutil -w ShmUtil: Release 6.3.1.1 - Production on Oct 3 2010 04:52:01 (c) Copyright 2001 ALTIBase Corporation. All rights reserved.!!!!!! WARNING!!!!!! Duplicated DB-Name will overwrite original DB-file. Use Different DB-Name. Original DB Name 1) => /home2/charlie/work/altidev4/altibase_home/dbs Input DB-Path => mydbkim 백업이름입력 Tablespace File saving...sys_tbs_mem_dic Tablespace File saving...sys_tbs_mem_data [SUCCESS] Database File Saved 36 Utilities Manual

공유메모리에서데이터베이스제거 현재공유메모리상에로딩되어있는데이터베이스를삭제한다. 공유메모리의삭제는반드시 ALTIBASE HDB 프로세스가종료된 상태에서수행해야한다. 수행방법은다음과같다. $ shmutil -e ShmUtil: Release 6.3.1.1 - Production on Oct 3 2010 04:52:01 (c) Copyright 2001 ALTIBase Corporation. All rights reserved. Ready for Destroying Shared Memory? (y/n)y Destroyed Shared Memory of Tablespace SYS_TBS_MEM_DIC. Destroyed Shared Memory of Tablespace SYS_TBS_MEM_DATA. [SUCCESS] All Shared Memory Removed [SUCCESS] Database File Saved 참고사항 Administrator s Manual Getting Started Guide SHMUTIL 37

3. 기타 Utilities 기타 Utilities 39

altiaudit 개요 감사가 ALTIBASE HDB 서버에서수행중이라면, $ALTIBASE_HOME/trc 디렉토리에기본적으로감사로그파일이생성되고로그가기록될것이다. 감사로그파일의위치는 AUDIT_LOG_DIR 프로퍼티로변경가능하다. 이파일에는사용자가읽을수없는바이너리형태의감사로그가기록되어있다. altiaudit 유틸리티는감사로그파일을문자형태로변환하여출력함으로써사용자가감사로그를분석할수있게한다. altiaudit [-s] {audit_file_name} 구문 altiaudit -s audit_log_file_name 설명 서버가남긴감사로그를문자형태로변환하여출력한다. -s 옵션을사용해서 CSV 형태로출력할수도있다. 사용예 아래는감사로그를일반텍스트형태로출력하는명령어이다. $ altiaudit $ALTIBASE_HOME/trc/alti-1366989680-0.aud 아래와같은형태의결과가출력된다. [2015/03/05 14:59:29] Session Info User Name = SYS Session ID = 1 Client IP = 127.0.0.1 Client Type = CLI-64LE 40 Utilities Manual

Client App Info = isql Action = INSERT Auto Commit = 1 (0:non-autocommit 1:autocommit) Query Info Statement ID = 65540 Transaction ID = 150657 Execute result = 4 (0:failure 1:rebuild 2:retry 3:queue empty 4:success) Fetch result = 2 (0:failure 1:success 2:no result set) Success count = 1 Failure count = 0 Return code = 0x02000 Processed row = 1 Used memory = 0 bytes XA flag = 0 (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 t1 values ('aaaa', 1) ----------------------------------------------------------- --------------------- 아래는감사로그를 CSV 형태로출력하는명령어이다. $ altiaudit -s $ALTIBASE_HOME/trc/alti-1366989680-0.aud 아래와같이 CSV 형태의결과가출력된다. 1425535169,SYS,1,127.0.0.1,CLI- 64LE,isql,INSERT,1,65540,150657,4,2,1,0,1,0,0,0,0,0,0,0,0,0,"insert into t1 values ('aaaa', 1)" 출력항목 출력항목과의미는아래표와같다. 필드이름 타입 설명 Session Info User Name 문자열 세션에접속한사용자이름 Session ID INTEGER 세션 ID Client IP 문자열 클라이언트 IP 주소 Client Type 문자열 접속한클라이언트의타입 Client App Info 문자열 애플리케이션정보 기타 Utilities 41

Action 문자열 실행된구문의종류 Auto Commit INTEGER 0: Non-auto commit mode 1: auto commit mode Query Info Statement ID INTEGER Statement ID Transaction ID INTEGER 트랜잭션 ID Execute result INTEGER 수행결과 0: failure 1: rebuild 2: retry 3: query empty 4: success Fetch result INTEGER Fetch 결과 0: failure 1: success 2: no result set Success count INTEGER 감사조건에부합하는구문이성공한횟수이다. BY SESSION 조건일경우, 감사조건에부합하는구문의수행에성공한횟수의누적값이다. BY ACCESS 조건일경우, 감사조건에부합하는구문이성공적으로수행된경우 1이표시된다. Failure count INTEGER 감사조건에부합하는구문이실패한횟수이다. BY SESSION 조건일경우, 감사조건에부합하는구문의수행에실패한횟수의누적값이다. BY ACCESS 조건일경우, 감사조건에부합하는구문의수행이실패한경우 1이표시된다. Return code INTEGER 감사조건에부합하는구문이수행된결과코드이다. BY ACCESS 조건일경우에만, 수행결과가표시된다. Processed row INTEGER 처리된레코드의개수 Used memory INTEGER 사용된메모리 ( 향후확장예정 ) XA flag INTEGER 0: Non-XA 1: XA Query Elapsed Time Total time BIGINT 쿼리수행에소요된총시간 Soft prepare time BIGINT Prepare 수행에소요된시간 42 Utilities Manual

Parse time BIGINT 파싱수행에소요된시간 Validation time BIGINT 정당성검사에소요된시간 Optimization time BIGINT 최적화수행에소요된시간 Execution time BIGINT 실행에소요된시간 Fetch time BIGINT Fetch 수행에소요된시간 SQL 문자열 실행된 SQL 구문 기타 Utilities 43

altibase 개요 altibase 는 ALTIBASE HDB 의모든서비스를관장하는서버 프로세스를실행하는파일이다. altibase {-v n} 구문 -v altibase -n 파라미터 파라미터설명 -v 설치되어있는 ALTIBASE HDB 제품의버전정보를출력한다. -n ALTIBASE HDB를포그라운드에서수행한다. 설명 altibase 는 ALTIBASE HDB 의모든서비스를관장하는서버프로세스의실행가능 (executable) 파일이다. ALTIBASE HDB 를구동하거나종료하기위해이커맨드를직접사용하면안된다. 대신에 isql 에 SYSDBA 모드로접속한뒤, 구동이나종료명령을사용하거나 server 커맨드를사용해야한다. server 커맨드는실제로 ALTIBASE HDB 구동과종료에관련된일련의명령을묶어놓은쉘스크립트이다. 관련내용은본문서의 server 항목을참조한다. 44 Utilities Manual

보다자세한 ALTIBASE HDB 의구동및종료에관한내용은 isql User s Manual 이나 Getting Started Guide 를참조한다. isql 로구동된 ALTIBASE HDB 서버프로세스는백그라운드에서운영된다. 반면, 쉘프롬프트에서 altibase 커맨드를 -n 옵션으로수행할경우 ALTIBASE HDB 는포그라운드에서구동된다. 이는 ALTIBASE HDB 디버깅을위한용도로만사용되며, 실운영시에는사용하지않도록한다. -v 옵션으로 altibase 커맨드를실행하면현재설치된 ALTIBASE HDB 제품의버전정보를출력한다. 참고사항 Getting Started Guide Administrator s Manual isql User s Manual 기타 Utilities 45

altimon.sh 개요 ALTIBASE HDB 서버프로세스의동작상태를모니터링한다. altimon.sh {start view stop help} 구문 altimon.sh start view stop help 파라미터 파라미터 설명 start altimon 시작 ( 이옵션은생략가능하다 ) view 로그파일에갱신된내용을화면에지속적으로 출력한다. altimon을종료할때까지수행한다. stop altimon 종료 help 도움말출력 설명 altimon 은 ALTIBASE HDB 서버프로세스및쓰레드, 그리고시스템자원사용현황을지속적으로모니터링하여로그파일에기록한다. altimon 이생성한로그파일은안정적인시스템운용을위한기초자료로활용되며, 시스템에장애상황발생시원인분석에사용된다. altimon 이모니터링하는항목은다음과같다. 46 Utilities Manual

ALTIBASE HDB 프로세스 ALTIBASE HDB 가사용중인메모리 이중화 세션 롱텀트랜잭션 가비지콜렉터 로그파일 참고사항 Administator s Manual 기타 Utilities 47

altierr 개요 altierr 은 ALTIBASE HDB 서버에러코드에대한상세한설명을 검색하여출력하는유틸리티이다. 에러번호나에러메시지패턴을 이용하여검색이가능하다. altierr {-w keyword pattern [-n] error number} 구문 -w keyword patern altierr error number -n 파라미터 파라미터설명 -w 지정한검색패턴을포함하는에러메시지를찾는다. 검색패턴을포함하는모든에러메시지를출력한다. -n 에러번호를사용하여검색한다. 에러번호는 16진수 / 양의정수 / 음의정수형태로입력가능하다. 에러코드와정확히일치하는레코드만검색된다. 에러번호를사용하여검색할경우파라미터 ( - n ) 를생략할수있다. 48 Utilities Manual

설명 altierr 은 ALTIBASE HDB 서버의에러코드번호나에러메시지에 포함된문자열을이용하여에러에대한상세한설명을검색하고 출력해주는유틸리티이다. 에러상세설명에는에러코드번호, 에러코드문자열, 에러설명, 에러가발생한원인, 그리고에러에대한조치사항이포함된다. ALTIBASE HDB 서버는에러상황발생시해당코드를 ERR- { 에러번호 } 형태로 altibase_boot.log 에출력한다. 여기에서에러 번호는 16 진수값으로, 해당에러에대한상세설명을검색하기 위해 altierr 을다음과같이사용할수있다. ex) For ERR-00015 $ altierr 0x00015 $ altierr w 00015 $ altierr 21 C/C++ Precompiler 나 ODBC 로작성된애플리케이션의경우 SQL 관련기능수행시 SQLCODE 나 ODBC 함수의리턴코드에에러코드가설정이된다. 이때설정되는에러코드는음의정수값이설정되며, 해당에러에대한상세설명을검색하기위해다음과같이 altierr 을사용할수있다. ex) For -266286 $ altierr -266286 $ altierr 266286 $ altierr 0x4102E altierr 은에러메시지에포함된키워드를이용한검색을지원하며, 이경우여러개의레코드가검색될수있다. 키워드패턴을이용한검색은다음과같다. $ altierr w connect $ altierr w does not 참고사항 Error Message Reference 참조 기타 Utilities 49

altipasswd 개요 SYSDBA 모드접속을위한 SYS 사용자의암호를변경한다. 데이터베이스상에서 ALTER USER 문으로암호를변경하는경우, 이커맨드로한번더암호변경작업을해야한다. ALTER USER 문으로만암호를변경했을경우, 데이터베이스구동, 종료등 SYSDBA 작업을했을때오류가발생하게된다. altipasswd 구문 altipasswd 설명 SYS 사용자의암호를변경한다. 사용예 SYS 사용자의암호 manager 를 manager1234 로변경한다면쉘 프롬프트상에서다음과같이수행한다. $ altipasswd Previous Password : manager New Password : manager1234 Retype New Password : manager1234 50 Utilities Manual

altiprofile 개요 ALTIBASE HDB 서버내에서수행되는작업과서버의상태정보를 파일로기록하여분석할수있다. 서버가남긴상태파일을 프로파일이라하며 altiprofile 은이프로파일을문자형태로 변환하여출력하거나, STATEMENT 관련데이터만추출하여통계 정보를구축하여출력한다. 이정보를사용하여사용자는시스템의 상태를분석할수있다. altiprofile [-stat query session] {profile_name [profile_name2 [profile_name3]...} 구문 altiprofile -h -stat query session profile_name 파라미터 파라미터설명 -h 도움말을출력한다. -stat 서버가남긴프로파일에서 STATEMENT의통계 query/session 정보를구축하여, 텍스트와 CSV 형태의파일로출력한다. 구축되는통계정보에대한자세한설명은아래의 " 사용방법 " 을참고하기바란다. 설명 서버가남긴프로파일을문자형태로변환하거나, STATEMENT 관련 데이터만추출하여통계정보를구축한다. 기타 Utilities 51

사용예 isql> ALTER SYSTEM SET QUERY_PROF_FLAG = 1; Alter success. isql> ALTER SYSTEM SET TIMED_STATISTICS = 1; Alter success. isql> --(Execute an SQL query here.) $ cd $ALTIBASE_HOME/trc $ altiprofile alti-1286503704-0.prof $ altiprofile -stat query $ALTIBASE_HOME/trc/*.prof 사용방법 서버의상태및작업내용을기록하려면 QUERY_PROF_FLAG 프로퍼티를 0 보다큰값으로설정하여야한다. QUERY_PROF_FLAG 프로퍼티의값에따라다음의정보들이기록된다. 값 이름 설명 0 기록하지않음 [STATEMENT] SQL 문이실행될때마다실행된 SQL문, 실행시간, 실행정보, 색인및디스크접근 정보출력. 1 단, 실행시간이제대로출력되게하려면 TIMED_STATISTICS 프로퍼티를 1로 설정해야한다. TIMED_STATISTICS 프로퍼티에대한자세한설명은 General Reference를참조하기바란다. 2 [BIND] SQL 문이실행될때마다 BIND 파라미터출력 4 [PLAN] SQL 문이실행될때마다실행계획출력 8 [SESSION STAT] 3초마다세션정보출력 (V$SESSTAT 정보 ) 16 [SYSTEM 3초마다시스템정보출력 (V$SYSSTAT STAT] 정보 ) 32 [MEMORY 3초마다메모리정보출력 (V$MEMSTAT STAT] 정보 ) 위의값을조합하여원하는정보를기록하도록설정한다. 예를들어, 프로퍼티를 1+4+32=37 로설정하면 SQL 문이실행될때마다 SQL 문의실행정보와실행계획을출력하고 3 초마다메모리정보를 출력한다. 52 Utilities Manual

프로퍼티가설정되면, 서버는 alti-# 시간 -# 번호.prof 이름의파일에 정보를남긴다. 사용자는 altiprofile 명령어로상태파일을변환하여 분석할수있다. 통계정보출력 altiprofile 은 -stat 옵션을사용해서실행된 SQL 문에대한통계 정보를구축하고출력할수있다. 이정보는튜닝대상이되는 SQL 문을찾는데도움이된다. -stat query 옵션을실행하여구축되는통계정보는아래와같다. COUNT: QUERY 가실행된횟수 AVG: QUERY 수행에걸린평균시간 (microseconds 단위 ) TOTAL: QUERY 수행에걸린시간합계 (microseconds 단위 ) MIN: QUERY 수행에걸린최소시간 (microseconds 단위 ) MAX: QUERY 수행에걸린최대시간 (microseconds 단위 ) SUCCESS: QUERY 실행에성공한횟수 FAIL: QUERY 실행에실패한횟수 QUERY: 수행된 SQL 문 -stat session 옵션으로수행한다면, query 옵션을실행하여구축되는 통계정보에 SESSION ID 가추가된다. 아래는 $ALTIBASE_HOME/trc 디렉토리에생성된모든프로파일을 분석하여 SQL 문별로통계정보를구축하는 altiprofile 실행 예제이다. $ altiprofile -stat query $ALTIBASE_HOME/trc/*.prof ### Processing [/altibase_home/trc/alti-1423543095-0.prof]... 100% [====================] ### Writing CSV File [alti-prof-stat-1423543711.csv]... ### Writing TEXT File [alti-prof-stat-1423543711.txt]... ### Successfully done. 위에실행로그를살펴보면, 통계정보는 CSV 형식과텍스트형식의파일로저장된다. 출력된파일의이름은 'alti-prof-stat-# 시간.csv' 과 'alti-prof-stat-# 시간.txt' 로자동생성된다. 다음은텍스트파일의내용이다. 통계정보는 TOTAL 값으로정렬되어출력된다. $cat alti-prof-stat-1423543711.txt COUNT AVG TOTAL MIN MAX SUCCESS FAIL QUERY =========================================================== ================================================ 기타 Utilities 53

5 0.003730 0.018650 0.003035 0.004640 5 0 DROP VIEW REVENUE 5 0.003523 0.017616 0.003004 0.003745 5 0 CREATE VIEW REVENUE (... 다음은 CSV 파일의내용이다. 텍스트파일과동일한내용이 CSV 형식으로출력된다. CSV 형식의파일은 excel 같은스프레드시트애플리케이션을사용해서사용자가원하는포맷으로가공할수있다. $ cat alti-prof-stat-1423543711.csv COUNT,AVG,TOTAL,MIN,MAX,SUCCES,FAIL,QUERY 5, 0.003730, 0.018650, 0.003035, 0.004640,5,0,"DROP VIEW REVENUE" 5, 0.003523, 0.017616, 0.003004, 0.003745,5,0,"CREATE VIEW REVENUE (... 주의사항 프로파일링기능을동작시킬경우, 서버내에서실행되는모든 SQL 문에대해실행정보를기록하며또한매 3 초마다세션및시스템정보등서버의상태를기록하므로시스템에부하를줄수있다. 또한프로파일링기능을설정할때프로파일이커져디스크가꽉찰수있으므로신중해야한다.. 출력항목 다음과같은형식으로출력된다. [STATEMENT].. [BIND].. [PLAN].. [SESSION STAT].. [SYSTEM STAT].. [MEMORY STAT].. 각정보는아래와같은형식으로출력된다. [STATEMENT] 다음의표는실행한 STATEMENT 에대한정보를나타낸다. 필드이름값설명 SQL 문자열실행된 SQL 문 54 Utilities Manual

User Info User ID INTEGER 사용자식별자 Client PID BIGINT 클라이언트프로세스아이디 Client Type VARCHAR(40) 접속한클라이언트의타입 Client AppInfo VARCHAR(128) 클라이언트의정보문자열 Elapsed Time for this SQL statemen Total BIGINT 총쿼리수행시간 Parse BIGINT 파싱수행시간 Valid BIGINT 정당성검사수행시간 Optim BIGINT 최적화수행시간 Execu BIGINT 실행수행시간 Fetch BIGINT Fetch 수행시간 Query Execute Info EXECUTE Result INTEGER 0: failure 1: rebuild 2: retry 3: queue empty 4: success Optimizer Mode BIGINT 최적화모드 Cost Mode BIGINT 최적화비용 Used Memory BIGINT 향후확장예정 SUCCESS SUM BIGINT 실행성공횟수의총합 FAILURE SUM BIGINT 실행실패횟수의총합 PROCESSED ROW BIGINT 처리된레코드개수 Result Set Info FETCH Result INTEGER 0: failure 1: success 2: no results Index Access Info Memory Full Scan 메모리테이블에대한 Full Scan이 BIGINT Count 발생한횟수 Memory Index Scan 메모리테이블에대한 Index Scan이 BIGINT Count 발생한횟수 Disk Full Scan Count BIGINT 디스크테이블에대한 Full Scan이발생한횟수 Disk Index Scan Count BIGINT 디스크테이블에대한 Iindex Scan이 기타 Utilities 55

발생한횟수 Disk Access Info READ DATA PAGE BIGINT 질의수행시디스크페이지에대한읽기연산횟수 WRITE DATA PAGE BIGINT 사용하지않음 GET DATA PAGE BIGINT 질의수행시디스크페이지에대한버퍼접근횟수 CREATE DATA PAGE BIGINT 질의수행시디스크페이지생성횟수 READ UNDO PAGE BIGINT 질의수행시 UNDO 영역디스크페이지에대한읽기연산횟수 WRITE UNDO PAGE BIGINT 사용하지않음 GET UNDO PAGE BIGINT 질의수행시 UNDO 영역디스크페이지에대한버퍼접근횟수 CREATE UNDO PAGE BIGINT 질의수행시 UNDO 영역디스크페이지생성횟수 [BIND] SQL 문에바인드되는변수들에대한정보이다. [PLAN] [SESSION STAT] 실행된 SQL 문의실행계획이출력된다. 실행계획에관한자세한 내용은 Performance Tuning Guide 를참고한다. [SYSTEM STAT] 매 3 초마다 V$SESSTAT 정보가출력된다. V$SESSTAT 의자세한 내용은 General Reference 의성능뷰부분을참고한다. [MEMORY STAT] 매 3 초마다 V$SYSSTAT 정보가출력된다. V$SYSSTAT 의자세한 내용은 General Reference 의성능뷰부분을참고한다. 매 3 초마다 V$MEMSTAT 정보가출력된다. V$MEMSTAT 의 자세한내용은 General Reference 의성능뷰부분을참고한다. 56 Utilities Manual

checkserver 개요 ALTIBASE HDB 프로세스를감시하며, 프로세스가비정상종료하면 지정된스크립트파일을실행한다. checkserver [-n] {-f server-restart-scriptfile} 구문 checkserver -f server-restrat-script-file -n 파라미터 파라미터설명 -n checkserver를 foreground에서수행파라미터생략시 checkserver는 background에서수행 -f ALTIBASE HDB 종료시실행할스크립트파일의이름 설명 checkserver 는주기적으로 ALTIBASE HDB 프로세스가실행중인지를검사하여 ALTIBASE HDB 프로세스가종료되었을경우사용자가지정한스크립트를수행한다. ALTIBASE HDB 가비정상종료되었을경우 ALTIBASE HDB 재구동스크립트를수행하는것이일반적이며, 재구동스크립트는다음과같은형식으로작성할수있다. 기타 Utilities 57

ALTIBASE HDB 구동스크립트 restart.sh #! /bin/sh ${ALTIBASE_HOME}/bin/server start checkserver 는구동시 $ALTIBASE_HOME/trc 디렉토리에 checkserver.pid 와 checkserver.log 파일을생성한다. checkserver.pid 파일은또다른 checkserver 가동시에수행되지 못하도록하는락의역할을하며 checkserver.log 에는 checkserver 의동작상태가주기적으로기록된다. checkserver 를 kill -9 등의방법으로강제종료했을경우에 checkserver.pid 파일이디렉터리에계속남아있게되어 checkserver 를다시수행할수없게된다. 이때는 checkserver.pid 파일을삭제하면 checkserver 를정상적으로시작할 수있다. checkserver 를종료하기위해선반드시 killcheckserver 유틸리티를 이용한다. 주의사항 checkserver 는 ALTIBASE HDB 서버가 server stop 커맨드를사용하지않고종료된경우에만, 지정한재시작스크립트를실행한다. server stop 커맨드를사용하여 ALTIBASE HDB 서버를정상종료하는경우, checkserver 프로세스도역시종료되어, 재시작스크립트를실행하지않게된다. 이것은 checkserver 가 server stop 커맨드를사용하여종료하는것만정상종료라고판단하기때문이다. 사용예 쉘프롬프트상에서다음과같이수행한다. $ checkserver f restart.sh & 58 Utilities Manual

convdp 개요 DataPort 파일 (.dpf) 의문자집합을대상데이터베이스의 문자집합으로변환하는유틸리티이다. convdp {-f source_file} {-t target_file} { [-d db_charset] [-n national_charset] } 구문 convdp -f source_file -t target_file -d -n db_charset national_charset 파라미터 파라미터 설명 -f 변환할파일의이름 -t 변환한데이터를저장할파일의이름 -d CHAR와 VARCHAR 데이터타입의데이터를 어떤데이터베이스문자셋으로변환할지 지정한다. -n NCHAR와 NVARCHAR 데이터타입의데이터를 어떤 national 문자셋으로변환할지지정한다. 설명 DataPort 파일 (.dpf) 내의데이터의문자셋 (character set) 과국가 문자셋 (national character set) 이대상데이터베이스와다를때, convdp 유틸리티를사용해서 DataPort 파일의데이터를대상 기타 Utilities 59

데이터베이스와동일한문자셋으로변환할수있다. DataPort 파일은헤더정보 ( 원본테이블에대한정의 ) 와레코드데이터를포함하고있다. convdp 유틸리티는 CHAR 와 VARCHAR 타입의데이터를지정한문자셋의데이터로, NCHAR 와 NVARCHAR 타입의데이터를지정한국가문자셋의데이터로변환하여지정한대상파일에저장한다. convdp 가변환수행할파일을찾거나저장할파일이름을정하는규칙은 Stored Procedures Manual 에서 DataPort 에대해설명한장을참고하기바란다. 사용예 사용방법은다음과같다. isql> CREATE TABLE t1 (i1 INTEGER, i2 VARCHAR(100)); Create success. isql> INSERT INTO t1 VALUES (1,'abc'); 1 row inserted. isql> EXEC EXPORT_TO_FILE ('SYS','T1','test'); Export - SYS_T1 1 record(s). Execute success. $ cd $ALTIBASE_HOME/dbs % convdp -f test_0 -d 'UTF8' -t test_utf8... Convert Charset: [0 ]INTEGER [1 ]VARCHAR (KSC5601->UTF8) Convert 1 rows... Done. 참고사항 Stored Procedures Manual 를참고하기바란다. 60 Utilities Manual

dump_stack.sh 개요 ALTIBASE HDB 비정상종료시 altibase_error.log 에기록된 ALTIBASE HDB 프로세스콜스택을사용자가식별할수있는형태로 변환하여출력한다. dump_stack.sh altibase.map altibase_error.log out.txt 구문 dump_stack.sh altibase.map altibase_error.log out.txt 파라미터 파라미터 altibase.map altibase_error.log out.txt 설명 nm 명령어로 altibase 바이너리파일에서추출한심볼테이블. ${ALTIBASE_HOME}/bin 디렉토리에위치한다. ALTIBASE HDB 비정상종료시콜스택이기록된로그파일. ${ALTIBASE_HOME}/trc 디렉토리에위치한다. 변환된결과를출력할파일 설명 시스템의비정상적인동작및발견되지않은 ALTIBASE HDB 버그로인하여 ALTIBASE HDB 서버가더이상의정상적인서비스를제공할수없는상황이발생하면, 차후문제재발을방지및해결을위하여당시상황분석이필요하게된다. ALTIBASE HDB 는이러한상황에대비하여 ALTIBASE HDB 가더이상정상적으로수행될수없는 기타 Utilities 61

상황에처하게될경우, ALTIBASE HDB 프로세스의콜스택을 altibase_error.log 에기록하고서버프로세스를종료한다. 프로세스콜스택에는 ALTIBASE HDB 종료당시수행되던 ALTIBASE HDB 내부모듈에대한정보가기록된다. 그러나이정보는사용자가식별할수없는프로세스내의함수주소값만을포함하고있다. 그러므로, 이를사용자가식별할수있는함수의이름형태로변환할필요가있다. dump_stack.sh 는 altibase_error.log 에기록된프로세스콜스택을사용자가식별할수있는형태로변환한다. ALTIBASE HDB 서버가비정상종료할경우, 프로세스콜스택을 dump_stack.sh 로변환하여 Altibase 기술서비스팀에송부하면, 보다빨리문제를해결할수있을것이다. 주의사항 dump_stack.sh 를실행하면현재디렉토리에 dump_stack.map, dump_stack.log 파일이생성된다. 이파일들은 dump_stack.sh 스크립트가콜스택을변환하는과정에서임시로사용하는파일들이다. dump_stack.map 파일은 altibase.map 파일을적당히가공한파일이고, dump_stack.log 파일은 altibase_error.log 파일을적당히가공한파일이다. dump_stack.map 파일을만드는방법은 OS 마다다르므로, dump_stack.sh 쉘스크립트가제대로동작하지않을경우사용자가직접수정해야한다. dump_stack.sh 쉘스크립트내의 awk 가정상적으로동작하지않으면 gawk 를사용하도록한다. C++ 에서오버로딩된함수를사용자가보다알기쉬운형태로변환하기위해서 dump_stack.sh 쉘스크립트에는 c++filt 가사용된다. c++filt 가정상적으로동작하지않으면 dump_stack.sh 쉘스크립트에서삭제하거나 which 명령어로 c++filt 의경로를확인하도록한다. 사용예 기본사용방법은아래와같다 : 62 Utilities Manual

$ dump_stack.sh $ALTIBASE_HOME/bin/altibase.map $ALTIBASE_HOME/trc/altibase_error.log out.txt 기타 Utilities 63

dumpbi 개요 dumpbi 는이진형식으로저장된 backupinfo 파일의백업정보를 문자형식으로보여준다. dumpbi <backupinfo_file_name> 구문 dumpbi backupinfo_file_name 설명 backupinfo 파일의내용을텍스트형식으로보여준다. 사용예 쉘프롬프트상에서다음과같이수행한다. $ dumpbi backupinfo 출력항목 dumpbi 는 backupinfo 의백업정보를다음과같은섹션으로구분하여출력한다. [BACKUO INFO FILE HDR] 필드이름값 ( 단위바이트 ) 설명 Backup info slot count Last backup LSN 0 ~ unsigned int 타입의최대값 LFGID, FileNo, Offset 저장되어있는 backupinfo slot의수 (= 현재까지백업된파일의수 ) 가장최근에수행된백업시점의 LSN( 유효한 backupinfo 파일인지 64 Utilities Manual

검증하기위한값 ) Database name 문자열데이터베이스이름 [BACKUP INFO SLOT] 필드이름 값 ( 단위바이트 ) 설명 Slot index Begin backup time End backup time Incremental backup chunk cnt Incremental backup chunk size Backup target Backup level Backup Type Tablespace ID File ID Original file size 0 ~ unsigned int 타입의최대값 slot의순번 YYYY-MM-DD HH:MM:SS 백업시작일시 YYYY-MM-DD HH:MM:SS 백업완료일시 데이터파일에서변경된페이지를 0 ~ unsigned int 포함한 incremental chunk의수 (= 타입의최대값백업된 incremental chunk의수 ) 백업이수행될당시의 0 ~ unsigned int INCREMENTAL_BACKUP_CHUNK_ 타입의최대값 SIZE의값 1: DATABASE 2: TABLESPACE 백업대상 1: level 0 2: level 1 백업레벨 1: full backup 2: differentail backup 백업유형 3: cumulative backup 0 ~ unsigned short 백업대상데이터파일이속한 타입의최대값 테이블스페이스의 ID 0 ~ unsigned short 타입의최대값 백업대상데이터파일의 ID 0 ~ unsigned long 타입의최대값 백업된시점의데이터파일크기 Backup Tag 문자열 백업태그이름 Backup file name 문자열 백업파일의경로와이름 기타 Utilities 65

dumpct 개요 dumpct 는이진형식으로저장된 changetracking 파일의정보를 문자형식으로보여준다. dumpct <changetracking_file_name> 구문 dumpct changetracking_file_name 설명 changetracking 파일의내용을텍스트형식으로보여준다. 사용예 쉘프롬프트상에서다음과같이수행한다. $ dumpct changetracking 출력 dumpct 는 changetracking 파일내의변경추적정보를다음과같은섹션으로구분하여출력한다. [CHANGE TRACKING FILE HDR] 필드이름값 ( 단위바이트 ) 설명 Change tracking body count 0 ~ unsigned int 타입의최대값 changetracking 파일이가진 body의수 (changetracking 파일은 header와 body로나뉜다. body의크기는 66 Utilities Manual

10Mbytes이며공간이부족하면바디단위로확장된다.) changetracking 파일생성시점의 Icremental backup 0 ~ unsigned int INCREMENTAL_BACKUP_CHUNK_SIZE chunk size 타입의최대값프로퍼티값 LFGID, FileNo, 메모리상의변경된데이터가파일로 Last flush LSN Offset 기록된시점의 LSN Database name 문자열데이터베이스이름 [CHANGE TRACKING FILE BODY] 필드이름값 ( 단위바이트 ) 설명 Change tracking body ID Flush LSN Datafile descriptor slot Slot ID Tracking state Tablespace type Page size Bitmap extent count Current tracking list ID Differential0 BmpExt list List Hint Differential1 BmpExt list List Hint 0 ~ unsigned int 타입의최대값 LFGID, FileNo, Offset 0 ~ unsigned int 타입의최대값 0: 추적비활성화 1: 추적활성화 0: memory TBS 1: disk TBS 0 ~ unsigned int 타입의최대값 0 ~ unsigned short 타입의최대값 0 ~ unsigned short 타입의최대값 0 ~ unsigned int 타입의최대값 0 ~ unsigned int 타입의최대값 0 ~ unsigned int 타입의최대값 0 ~ unsigned int body의 ID body가 flush 된시점의 LSN( 파일검증용 ) slot의 ID 데이터파일변경사항추적상태테이블스페이스유형페이지크기할당된비트맵익트텐트개수현재추적중인 bitmap extent list의 ID bitmap extent list에매달린 block ID bitmap extent list에매달린 block ID 기타 Utilities 67

타입의최대값 Cumulative BmpExt list List Hint Tablespace ID File ID 0 ~ unsigned int 타입의최대값 0 ~ unsigned int 타입의최대값 0 ~ unsigned short 타입의최대값 0 ~ unsigned short 타입의최대값 bitmap extent list에매달린 block ID 데이터파일이속한테이블스페이스의 ID 데이터파일의 ID 68 Utilities Manual

dumpdb 개요 dumpdb 는메모리체크포인트이미지파일로부터메모리 테이블스페이스에대한정보를출력하거나또는메모리 테이블스페이스의증분백업파일의내용을문자형식으로보여주는 유틸리티이다. dumpdb {-j job_number } [-i pingpong_number] [- o] [-f file_name] [-s] [-p] [-d] 구문 dumpdb -j job_number -i -o -f -s -p -d pingpong_number file_name 파라미터 파라미터설명 -j job_number 어떤정보를출력할것인지를지정한다. 지정가능한값과각값에대해추가로지정할수있는인자는다음과같다. 0: META (-s -f) 1: TABLESPACE (-s -f) 2: TABLESPACE-FLI (-s -d) 3: TABLESPACE-FREE-PAGE-LIST (-s) 4: TABLE (-o -d) 기타 Utilities 69

5: TABLE-ALLOC-PAGE-LIST (-o) 6: PAGE (-s -p -d) 7: INCREMENTAL_BACKUP_META (-f) -i 체크포인트이미지파일의핑퐁번호이다. pingpong_number 생략하면 0이사용된다. -o 분석할객체의 ID를지정한다. -f file_name 체크포인트이미지파일의이름을지정한다. -s 분석할테이블스페이스의 ID를지정한다. -p 분석할페이지의 ID를지정한다. -d 정보를상세히출력한다. 설명 메모리체크포인트이미지파일을분석하여메타헤더, 페이지등의정보를텍스트형태로출력하거나또는메모리테이블스페이스의증분백업파일에서백업정보를텍스트형태로출력한다. 이유틸리티는디스크에저장된체크포인트이미지파일을분석하기때문에, HDB 서버가구동중이아니더라도이유틸리티를수행하여데이터베이스에생성되어있는스키마를확인할수있다. 하지만 DDL 직후서버가비정상종료되어갱신된스키마가디스크에기록되지못하면해당정보를확인할수없다. 사용예 쉘프롬프트상에서다음과같이수행한다. $ dumpdb -j 1 $ dumpdb -j 1 -s 0 $ dumpdb -j 2 $ dumpdb -j 3 $ dumpdb -j 4 $ dumpdb -j 4 -d $ dumpdb -j 4 -o 65536 $ dumpdb -j 5 -o 65536 $ dumpdb -j 6 -s 0 -p 4 < 예제 1> 다음은메모리테이블스페이스에관한정보를출력한다. s 인자를추가하여특정테이블스페이스에관한정보만출력할수도 있다. $ dumpdb -j 1 < 예제 2> 다음은메모리테이블스페이스의 FreeListInfo(FLI) 70 Utilities Manual

페이지에관한정보를출력한다. s 인자를추가하여특정 테이블스페이스에관한정보만출력할수있고, -d 인자를추가해서 FLI 페이지의유효하지않은부분도출력할수있다. % dumpdb -j 2 < 예제 3> 다음은메모리테이블스페이스의 FreePage 들을출력한다. s 인자를추가하여특정테이블스페이스에관한정보만출력할수도 있다. % dumpdb -j 3 < 예제 4> 다음은데이터베이스에생성되어있는모든객체정보를 출력한다. o 인자 ( 아래예제에서 SelfOID 항목 ) 를추가하여특정 객체에관한정보만상세히출력할수도있다. d 인자를추가해서 객체의칼럼정보와인덱스정보등도출력할수있다. % dumpdb -j 4 < 예제 5> 다음은데이터베이스에생성되어있는모든객체의정보를 칼럼정보와인덱스정보등과함께출력한다. % dumpdb -j 4 -d < 예제 6> 다음은특정테이블의스키마와데이터를출력한다. % dumpdb -j 4 -o 65568 < 예제 7> 다음은특정테이블이사용하는페이지목록을출력한다. % dumpdb -j 5 -o 65568 < 예제 8> 다음은메모리데이터베이스의특정페이지를출력한다. % dumpdb j 6 -s 0 -p 4 < 예제 9> 다음은증분백업파일에대해 dumpdb 를수행하여백업 정보를출력한다. % dumpdb -j 7 -f SYS_TBS_MEM_DATA-0-0_TAG_MONDAY.ibak dumpdb: Release 6.3.1.0.0 - Production on Oct 31 2012 22:12:21 (c) Copyright 2001 ALTIBase Corporation. All rights reserved. [BEGIN CHECKPOINT IMAGE HEADER] Binary DB Version [ 6.2.1 ] LogFileGroup Count [ 1 ] LogFileGroup-0 Redo LSN [ 0, 1, 5867599 ] LogFileGroup-0 Create LSN [ 0, 0, 1385 ] DataFileDescSlot ID [ 1, 1 ] // 백업파일에저장된 incremental backup 정보 [BEGIN BACKUPFILE INFORMATION] Begin Backup Time [ 2012_11_06 23:18:43 ] End Backup Time [ 2012_11_06 23:18:44 ] IBChunk Count [ 0 ] Backup Target [ DATABASE ] Backup Level [ LEVEL0 ] Backup Type [ FULL ] TableSpace ID [ 1 ] File ID [ 0 ] 기타 Utilities 71

Backup Tag Name [ MONDAY ] Backup File Name [ /backup_dir/tag_monday/sys_tbs_mem_data-0-0_tag_monday.ibak ] [END BACKUPFILE INFORMATION] [END CHECKPOINT IMAGE HEADER] Dump complete. 출력항목 다음의표는증분백업파일에대해 dumpdb 유틸리티를실행하여출력되는항목들에한하여설명한다. 필드이름 Binary DB Version LogFileGroup Count LogFileGroup-0 Redo LSN LogFileGroup-0 Create LSN DataFileDescSlot ID 설명데이터파일의버전 LFG 수미디어복구를위한 Redo LSN. 로그앵커의 Redo LSN값이데이터파일의 Redo LSN보다크면, 이항목에출력되는 Redo LSN 부터미디어복구가필요하다. 체크포인트이미지생성시점의 LSN 메모리체크포인트이미지와묶여있는 ChangeTracking의 DataFileDescSlot ID 72 Utilities Manual

dumpddf 개요 dumpddf 는데이터파일의헤더정보또는데이터파일내의특정페이지를출력한다. 또는증분백업파일에대해 dumpddf 를수행하면백업파일의헤더정보와백업정보가출력된다. dumpddf {-f datafile_name} {-m -p pid} 구문 dumpddf -f datafile_name -m -p pid 파라미터 파라미터 설명 -f 정보를얻고싶은데이터파일의이름 이옵션은반드시입력해야한다. 생략하면 dumpddf는에러메시지를출력하고종료한다. -m 데이터파일의헤더정보를출력한다. -p 정보를얻고싶은데이터파일내의페이지 ID 설명 데이터파일의헤더의정보또는데이터파일내의특정페이지를 텍스트형태로출력한다. 지정한페이지가테이블이나인덱스의 페이지이면논리적으로구성하여출력한다. 사용예 쉘프롬프트상에서다음과같이수행한다. 기타 Utilities 73

$ dumpddf f datafile m $ dumpddf f datafile p page_id 출력항목 다음은 dumpddf 의출력예이다. [BEGIN DATABASE FILE HEADER] Binary DB Version [ 5.4.1 ] Redo LSN [ 0, 0, 734497 ] Create LSN [ 0, 0, 1886 ] MustRedo LSN [ 0, 0, 0 ] 출력내용중, 필드들은다음과같은의미를갖는다. 필드이름 Binary DB Version 데이터파일의버전 설명 Redo LSN 미디어복구를위한 Redo LSN. 로그앵커의 Redo LSN값이데이터파일의 Redo LSN보다크면, 이 Redo LSN 부터미디어복구가필요하다. Create LSN 데이터파일생성시점의 LSN MustRedo LSN 미디어복구시이 Redo LSN까지수행해야한다. DataFileDescSlot ID Disk datafile과묶여있는 ChangeTracking의 DataFileDescSlot ID 다음은증분백업파일을 dumpddf 로출력한예이다. % dumpddf -m -f system001.dbf_tag_monday.ibak ----------------------------------------------------------- ------ Altibase Client Dump Disk Database File utility. Release Version 6.3.1.0.0 Copyright 2000, ALTIBASE Corporation or its subsidiaries. All Rights Reserved. ----------------------------------------------------------- ------ [BEGIN DATABASE FILE HEADER] Binary DB Version [ 6.2.1 ] Redo LSN [ 0, 1, 5867599 ] Create LSN [ 0, 0, 1914 ] MustRedo LSN [ 0, 0, 0 ] DataFileDescSlot ID [ 1, 2 ] [BEGIN BACKUPFILE INFORMATION] --> 백업파일에저장된 incremental backup 정보 Begin Backup Time [ 2012_11_06 23:18:44 ] End Backup Time [ 2012_11_06 23:18:46 ] IBChunk Count [ 0 ] Backup Target [ DATABASE ] Backup Level [ LEVEL0 ] Backup Type [ FULL ] 74 Utilities Manual

TableSpace ID [ 2 ] File ID [ 0 ] Backup Tag Name [ MONDAY ] Backup File Name [ /backup_dir/tag_monday/system001.dbf_tag_monday.ibak ] [END BACKUPFILE INFORMATION] [END DATABASE FILE HEADER] 기타 Utilities 75

dumpla 개요 dumpla 는이진형식으로저장된 loganchor 파일의내용을문자형식으로보여준다. loganchor 는 ALTIBASE HDB 의물리적인저장정보 ( 테이블스페이스, 데이터파일 ) 와복구를위해필요한정보들이저장되는파일이다. ALTIBASE HDB 는데이터베이스생성시 (CREATE DATABASE 실행시 ) 에이파일을생성하고 altibase.properties 에설정된세개의 LOGANCHOR_DIR 디렉토리에 loganchor#(# 은 1, 2, 3) 의이름으로저장, 관리한다. 세개의파일은모두같은내용으로파일이손상될경우를대비해복사본을유지하는것이다. 데이터베이스생성시에현재데이터베이스에존재하는테이블스페이스와이에속한데이터파일, 그리고복구관련정보들이저장된다. 데이터베이스구동시에이정보들을이용하여데이터베이스를메모리에적재하고서비스를준비한다. dumpla <loganchor_file_name> 구문 dumpla loganchor_file_name 설명 loganchor 파일의내용을텍스트형식으로보여준다. 사용예 쉘프롬프트상에서다음과같이수행한다. $ dumpla loganchor0 76 Utilities Manual

출력항목 dumpla 는 loganchor 의내용을다음과같은섹션으로구분하여 출력한다. [LOGANCHOR ATTRIBUTE SIZE] 현재 Loganchor 에어떤데이터들이얼마만큼의공간을사용하고 있는지를나타낸다. 내용은다음과같다. 필드이름값 ( 단위바이트 ) 설명 Loganchor Static Area Tablespace Attribute Checkpoint Path Attribute Checkpoint Image Attribute Disk Datafile Attribute 0 ~ unsigned int 타입의최대값 0 ~ unsigned int 타입의최대값 0 ~ unsigned int 타입의최대값 0 ~ unsigned int 타입의최대값 0 ~ unsigned int 타입의최대값 Loganchor에고정적으로들어가는정보의크기를나타낸다. 주로복구시필요한정보들이다. 저장된 Tablespace Attribute의크기저장된 Checkpoint Path의크기저장된 Checkpoint Image Attribute의크기저장된 Disk Datafile Attribute의크기 [LOGANCHOR HEADER] 데이터베이스의버전및체크포인트 Log Sequence Number (LSN) 등의 loganchor Header 정보를나타낸다. LSN 에대한자세한 설명은 dumplf 의출력 절을참고하기바란다. 필드이름 값 설명 Binary DB Version 현재 Loganchor를생성한 Major.minor.patch 데이터베이스실행파일의데이터베이스 ex) 6.2.1 버전이다. Archivelog Mode Archivelog 데이터베이스가아카이브모드로운영 No-Archivelog 중인지를나타낸다. Transaction Segment Entry Count Begin Checkpoint LFGID, FileNo, LSN Offset Begin Checkpoint의 LSN을나타낸다. End Checkpoint LSN LFGID, FileNo, End Checkpoint의 LSN을나타낸다. 기타 Utilities 77

Offset Disk Redo LSN LFGID, FileNo, Offset DRDB의 Redo 시작위치를나타낸다. Global SN 각로그는 Header에 Global SN값을 0 ~ unsigned long 가지는데이값을 1 증가시키고증가된타입의최대값값을자신의 SN으로설정한다. SN for Recovery from Replication 0 ~ unsigned long 타입의최대값또는 NULL 이중화를이용한복구시이 SN부터시작한다. 서버의상태를기록한다. 서버시작시이값이 Server Status SERVER_STARTED로바뀌고종료시 SERVER_SHUTDO SERVER_SHUTDOWN으로바뀐다. WN 서버시작시에이값이 SERVER_STARTED SERVER_STATED로되어있다면이전에 서버가비정상종료한것이므로재구동시복구를수행한다. Log File Group Count 0 ~ 32 로그파일그룹개수 Log File Group 0 ~ 32 아래 End LSN, ResetLog LSN, Last Created Logfile Num, Delete Logfile(s) Range는각 LFG마다존재하므로 LFG ID를두어구분한다. End LSN LFGID, FileNo, 서버가정상종료한후재구동시첫 Offset 번째기록되는로그의 LSN ResetLog LSN LFGID, FileNo, Offset 불완전복구시설정된 Reset LSN Last Created Logfile 0 ~ unsigned int Num 타입의최대값 가장최근에생성된로그파일번호 Delete Logfile(s) Range 삭제되는첫번째 ~ 마지막파일번호 가장최근에삭제된로그파일의범위. 체크포인트완료후더이상필요없는파일을삭제하는데이때지워지는파일의범위를기록한다. Update And Flush Count 0 ~ unsigned int 타입의최대값 loganchor 파일이변경되고플러시된횟수 New Tablespace ID 0 ~ unsigned int 새로운테이블스페이스식별자. 타입의최대값테이블스페이스가생성될경우이값을 78 Utilities Manual

자신의테이블스페이스식별자로 사용하고이값을증가시킨다. [TABLESPACE ATTRIBUTE] 메모리테이블스페이스정보를나타낸다. 내용은다음과같다. 필드이름값설명 Tablespace ID Tablespace Name New Database File ID Extent Management Tablespace Status Tablespace Type Checkpoint Path Count Autoextend Mode Shared Memory Key 0 ~ unsigned int 타입의최대값문자열 ex) SYS_TBS_MEM_DIC 0 ~ unsigned int 타입의최대값 FREE EXTENT BITMAP TABLESPACE 아래 TABLESPACE ATTRIBUTE 설명참조 0 ~ 8 아래 TABLESPACE ATTRIBUTE 설명참조 Checkpoint Path 개수 AutoExtend Non-AutoExtend 0 ~ unsigned int 타입의최대값 테이블스페이스식별자테이블스페이스이름테이블스페이스에서새로파일이추가될때파일이가지게될파일의식별자디스크테이블스페이스의 extent가어떤방식으로관리되는지를나타낸다. 현재는 FREE EXTENT BITMAP TABLESPACE만지원한다. FREE EXTENT BITMAP TABLESPACE를 enable하면, 디스크테이블스페이스의 free extents를관리하는데 bitmaps을사용한다. 테이블스페이스의현재상태를나타낸다. 테이블스페이스의타입체크포인트이미지파일들의경로. 메모리테이블스페이스에만적용된다. 테이블스페이스가자동으로크기가확장되는지여부를가리킨다. 메모리테이블스페이스에만적용된다. 데이터베이스가공유메모리버전이면이때공유메모리에데이터베이스가사용한공유메모리의키 기타 Utilities 79