상세검색
'altimon'에 대한 검색결과 총 37 건
AID (Altibase Information Directory)
-
- 알티몬(altimon) 설정 및 실행 방법ㅣ 2002-01-10
- ALTIMON 이란? ALTIMON 은 ALTIBASE HDB 서버의 운영 상태를 주기적으로 확인하는 모니터링 프로그램으로 장애 상황 발생 시 ALTIBASE HDB 서버 상태를 확인하여 장애 원인을 추적하는데 도움을 줍니다. 이 페
- [FAQ(한국어)]
-
- How to set up and execute altimonㅣ 2021-03-24
- What is ALTIMON? ALTIMON is a monitoring program that periodically checks the operating status of the ALTIBASE HDB server, and helps to track the cause of the failure by checking the ALTIBASE HDB server status when a failure occurs. This page briefly explains
- [FAQ(English)]
QnA
-
- 이중화 구성에서 액티브로그, 아카이브로그 지속적 증가 관련 질문 ㅣ 2019-01-12
- 안녕하세요 Altibase 입니다 . 예전에 도 말씀드린것 같이 하단URL 에 접속하셔서 "AIX : altimon_aix.tar" aix를 Download 받으시고 "altimon.conf.5.1.5"의 내용을 기반으로 조회하는 SQL을 작성 설정하시면 됨니다. h
-
미리보기
안녕하세요 Altibase 입니다 . 예전에 도 말씀드린것 같이 하단URL 에 접속하셔서 "AIX : altimon_aix.tar" aix를 Download 받으시고 "altimon.conf.5.1.5"의 내용을 기반으로 조회하는 SQL을 작성 설정하시면 됨니다. h
-
- 안녕하십니까 성균관대학교 산학협력 프로젝트 팀원입니다. ㅣ 2018-07-10
- altiMon 을 사용하라고 했습니다. - 이미 설정된 쿼리가 있으므로, 그냥 altiMon을 수행하고, output file을 주기적으로 읽어다가 - 자기들이 자체적으로 ELK stack을 이용하여, 화면에 뿌려주는 형태로 개발
-
미리보기
altiMon 을 사용하라고 했습니다. - 이미 설정된 쿼리가 있으므로, 그냥 altiMon을 수행하고, output file을 주기적으로 읽어다가 - 자기들이 자체적으로 ELK stack을 이용하여, 화면에 뿌려주는 형태로 개발
매뉴얼
-
- [Altibase 5.5.1] Utilities User's Manual_KOR ㅣ 2012-09-27
- altimon.sh ........................................................................................................................................... 32 altierr ......................................................................................
-
미리보기
ALTIBASE HDB Tools Utilities Manual Release 5.5.1 (January 16, 2013) ----------------------------------------------------------- ALTIBASE Tools Utilities Manual Release 5.5.1 Copyright ⓒ 2001~2011 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 ----------------------------------------------------------- 목차 i 목 차 서문 .......................................................................................................................... i 이 매뉴얼에 대하여 ..........................................................................................................................ii 1. aexport............................................................................................................1 aexport소개.......................................................................................................................................... 2 aexport사용방법 ................................................................................................................................ 8 2. SHMUTIL ...................................................................................................... 21 SHMUTIL 소개 .................................................................................................................................. 22 SHMUTIL 사용방법......................................................................................................................... 23 3. 기타 Utilities ............................................................................................... 27 altibase ................................................................................................................................................. 28 altidump .............................................................................................................................................. 30 altimon.sh ........................................................................................................................................... 32 altierr ..................................................................................................................................................... 34 altipasswd ........................................................................................................................................... 36 altiProfile ............................................................................................................................................. 37 checkServer ........................................................................................................................................ 42 dumpla ................................................................................................................................................. 44 dumplf .................................................................................................................................................. 51 dumpddf ............................................................................................................................................. 61 killCheckServer ................................................................................................................................. 63 server .................................................................................................................................................... 64 convdp ................................................................................................................................................. 66 서문 i 서문 ii Utilities Manual 이 매뉴얼에 대하여 이 매뉴얼은 알티베이스를 사용하면서 필요한 유틸리티에 대해서 설명한다. 대상 사용자 이 매뉴얼은 다음과 같은 알티베이스 사용자를 대상으로 작성되었다. 데이터베이스 관리자 성능 관리자 데이터베이스 사용자 응용 프로그램 개발자 기술지원부 다음과 같은 배경 지식을 가지고 이 매뉴얼을 읽는 것이 좋다. 컴퓨터, 운영 체제 및 운영 체제 유틸리티 운용에 필요한 기본 지식 관계형 데이터베이스 사용 경험 또는 데이터베이스 개념에 대한 이해 컴퓨터 프로그래밍 경험 데이터베이스 서버 관리, 운영 체제 관리 또는 네트워크 관리 경험 소프트웨어 환경 이 매뉴얼은 데이터베이스 서버로 알티베이스 버전 5.5.1을 사용한다는 가정 하에 작성되었다. 이 매뉴얼의 구성 이 매뉴얼은 다음과 같이 구성되어 있다. 제 1장 AEXPORT 이 장은 알티베이스 데이터베이스 간 자동화된 데이터 마이그레이션(migration)을 지원하기 위한 도구인 AEXPORT에 대해서 설명한다. 제 2장 SHMUTIL 이 장은 알티베이스가 사용 중인 공유 메모리를 조회, 백업, 서문 iii 삭제할 수 있는 유틸리티인 SHMUTIL에 대해서 설명한다. 제 3장 기타 Utilities 이 장은 AEXPORT와 SHMUTIL을 제외한 나머지 유틸리티에 대해서 설명한다. 문서화 규칙 이 절에서는 이 매뉴얼에서 사용하는 규칙에 대해 설명한다. 이 규칙을 이해하면 이 매뉴얼과 설명서 세트의 다른 매뉴얼에서 정보를 쉽게 찾을 수 있다. 여기서 설명하는 규칙은 다음과 같다. 구문 다이어그램 샘플 코드 규칙 구문 다이어그램 이 매뉴얼에서는 다음 구성 요소로 구축된 다이어그램을 사용하여, 명령문의 구문을 설명한다. 구성 요소 의미 예약어 명령문이 시작한다. 완전한 명령문이 아닌 구문 요소는 화살표로 시작한다. 명령문이 다음 라인에 계속된다. 완전한 명령문이 아닌 구문 요소는 이 기호로 종료한다. 명령문이 이전 라인으로부터 계속된다. 완전한 명령문이 아닌 구문 요소는 이 기호로 시작한다. ; 명령문이 종료한다. SELECT 필수 항목 NOT 선택적 항목 ADD DROP 선택사항이 있는 필수 항목. 한 항목만 제공해야 한다. ASC DESC 선택사항이 있는 선택적 항목 iv Utilities Manual , 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; acc NUMBER(11,2); 기울임 꼴 구문 요소에서 사용자가 지정해야 하는 변수, 특수한 값을 제공해야만 하는 위치 지정자 SELECT * FROM table_name; CONNECT userID/password; 소문자 사용자가 제공하는 프로그램의 요소들, 예를 들어 테이블 이름, 칼럼 이름, 파일 이름 등 SELECT ename FROM employee; 대문자 시스템에서 제공하는 요소들 또는 구문에 나타나는 키워드 DESC SYSTEM_.SYS_INDICES_; 서문 v 관련 자료 자세한 정보를 위하여 다음 문서 목록을 참조하기 바란다. Installation Guide Administrator’s Manual Replication Manual Precompiler User’s Manual ODBC Reference Application Program Interface User’s Manual iSQL User’s Manual 온라인 매뉴얼 알티베이스 고객서비스포털(http://support.altibase.com/)에서 국문 및 영문 매뉴얼(PDF, HTML)을 받을 수 있다. 알티베이스는 여러분의 의견을 환영합니다. 이 매뉴얼에 대한 여러분의 의견을 보내주시기 바랍니다. 사용자의 의견은 다음 버전의 매뉴얼을 작성하는데 많은 도움이 됩니다. 보내실 때에는 아래 내용과 함께 고객서비스포털(http://support.altibase.com/)로 보내주시기 바랍니다. 사용 중인 매뉴얼의 이름과 버전 매뉴얼에 대한 의견 사용자의 성함, 주소, 전화번호 이 외에도 알티베이스 기술지원 설명서의 오류와 누락된 부분 및 기타 기술적인 문제들에 대해서 이 주소로 보내주시면 정성껏 처리하겠습니다. 기술적인 부분과 관련하여 즉각적인 도움이 필요한 경우에는 기술지원센터로 연락하시기 바랍니다. 여러분의 의견에 항상 감사드립니다. aexport 1 1. aexport 2 Utilities Manual aexport소개 개요 aexport는 알티베이스 데이터베이스 간의 자동화된 데이터 마이그레이션(migration)을 지원하기 위한 도구이다. aexport는 데이터베이스의 논리적인 구조 및 데이터를 텍스트로 저장하고, 이를 다시 새로운 알티베이스 데이터베이스로 로딩하기 위한 스크립트를 자동으로 생성하여 준다. aexport가 접속한 데이터베이스로부터 추출할 수 있는 객체 및 구성 요소는 데이터베이스 사용자, 사용자 권한, 테이블, 테이블스페이스, 테이블 제약조건, 인덱스, 뷰, 저장 프로시저, 시퀀스, 그리고 이중화 객체이다. aexport는 데이터베이스의 논리적인 구조를 SQL 스크립트로 변환하여 저장하고, 모든 데이터를 텍스트로 내려 받기 때문에 상이한 알티베이스 버전간, 그리고 상이한 플랫폼 간의 데이터 이동 시에 유용하게 사용될 수 있다. 알티베이스 서버는 구동했지만 서비스는 하지 않는 상태 즉, 클라이언트 연결이 없을 때 aexport를 사용하기를 권장한다. aexport 기능 소개 aexport가 추출할 수 있는 데이터베이스 객체 및 구성 요소는 다음과 같다. 데이터베이스 사용자 사용자 권한 테이블스페이스 테이블 테이블 제약 조건 인덱스 뷰 저장 프로시저 이중화 객체 aexport를 수행하면 위에 열거한 데이터베이스 구성 요소를 생성하기 위한 SQL 스크립트와 이를 구동하기 위한 쉘 스크립트가 생성된다. aexport 3 aexport 모드와 SQL 스크립트 파일 aexport는 데이터베이스의 어떤 부분을 추출하는지에 따라서 다른 모드로 실행할 수 있다. 모드는 aexport실행 시 커맨드 라인에서 지정할 수 있다. aexport 실행 모드와 각 모드에 따라서 생성되는 SQL 스크립트 파일은 다음과 같다. 전체DB 모드 이 모드는 전체 데이터베이스를 추출한다. SYS 사용자만이 이 모드로 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 생성 사용자 모드 이 모드는 지정한 사용자가 소유한 모든 객체를 추출한다. SYS 사용자와 지정한 사용자만이 이 모드로 aexport를 실행할 수 있다. 사용자 모드로 aexport를 실행하려면, -u 커맨드라인 옵션에 사용자 이름을 지정하면 된다. 이 모드로 실행할 때 생성되는 SQL 스크립트 파일은 아래와 같다. {사용자명}_CRT_TBL.sql: 지정한 사용자의 모든 테이블 생성 {사용자명}_CRT_INDEX.sql: 지정한 사용자의 모든 인덱스 생성 {사용자명}_CRT_FK.sql: 지정한 사용자의 모든 외래 키 생성 {사용자명}_CRT_TRIG.sql: 지정한 사용자의 모든 트리거 생성 {사용자명}_CRT_SEQ.sql: 지정한 사용자의 모든 시퀀스 생성 {사용자명}_CRT_LINK.sql: 지정한 사용자의 모든 4 Utilities Manual 데이터베이스 Link 생성 객체 모드 이 모드는 지정한 모든 객체들을 추출한다. 객체 모드로 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으로 설정하면, 이 쉘 스크립트 파일은 생성되지 않는다.) run_is_repl.sh: 이중화 생성 스크립트 (TWO_PHASE_SCRIPT 프로퍼티를 ON으로 설정하면, 이 쉘 스크립트 파일은 생성되지 않는다.) aexport 수행 후 생성된 쉘 스크립트를 대상 데이터베이스에서 실행하면, 데이터베이스의 논리적 구조가 자동으로 생성된다. 또한 기존의 데이터가 모두 대상 데이터베이스에 로딩된다. 쉘 스크립트는 알티베이스 iLoader를 사용하여 데이터 다운로드 및 업로드를 수행한다. 쉘 스크립트 내에서 iLoader를 사용하는 과정은 완전히 자동화되어 있기 때문에 사용자가 iLoader의 사용법에 익숙치 aexport 5 않아도 사용이 가능하다. 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 서버 혹은 클라이언트가 설치된 경로 server_name 알티베이스 서버가 구동되어 있는 컴퓨터 서버의 이름(또는 IP 주소) port_no TCP 또는 IPC로 접속할 때 사용할 포트 번호 user_id 데이터베이스에 등록된 사용자 ID Password 사용자 ID와 일치하는 암호 NLS_USE 데이터 검색 시, 사용자에게 보여주는 문자 집합 6 Utilities Manual 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가 처음 실행될 때 옵션 입력 프롬프트를 띄우고 사용자에게서 해당 값을 입력받는다. 이 때 바르지 않은 형식이나 유효하지 않은 값을 입력할 경우, aexport는 제대로 동작하지 않을 수 있다. 특히 NLS_USE 옵션은 사용자가 설정하지 않았더라도 실행시에 입력 프롬프트를 띄우지 않는다. 만약 사용자가 NLS_USE 옵션을 설정하지 않았다면 기본값인 US7ASCII를 이용해 접속을 시도한다. 이 때 데이터베이스의 문자집합이 US7ASCII가 아닐 경우에는 올바로 실행되지 않거나 사용자 데이터가 일부 깨질 수 있으므로 반드시 NLS_USE를 사용 환경에 맞는 값으로 설정해야 한다. 원활한 aexport 사용을 위해 다음 환경 변수를 설정할 것을 권장한다. ALTIBASE_HOME: 서버 혹은 클라이언트가 설치된 경로 ALTIBASE_PORT_NO: 서버에 접속할 때 사용할 포트 번호 ALTIBASE_NLS_USE: 데이터 검색 시, 사용자에게 보여주는 문자집합 aexport 7 PATH: 실행파일이 있는 경로인 $ALTIBASE_HOME/bin 추가 환경변수 ALTIBASE_HOME 패키지가 설치된 디렉토리를 설정한다. aexport 사용을 위해 반드시 설정해야 하는 환경변수이다. ALTIBASE_PORT_NO 접속할 서버의 포트 번호를 설정하는 환경 변수이다. -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에 설정한 값이 다를 경우에는 정상적으로 동작하지 않을 수 있다. 반드시 적절한 값을 설정할 것을 권장한다. 8 Utilities Manual aexport사용방법 구문 AEXPORT -h -port -tserver -tport -p -u -sserver_name user_name password port_no port_no server_name -prefer_ipv6 -objectuser_nameobject_name. , -nlsnational_language_support 파라미터 파라미터 설명 -h 도움말을 출력한다. -s 데이터를 다운로드할 서버의 호스트 명 또는 아이피를 설정한다. 생략시 호스트 명 입력 프롬프트가 출력된다. IPv4 주소 또는 IPv6 주소를 사용할 수 있다. IPv6 주소는 “[“과 “]”로 에워싸여야 한다. 예를 들어, localhost 를 명시하고자 할 때, 가능한 값은 다음과 같다. localhost (호스트 이름), 127.0.0.1 (IPv4주소), [::1] (IPv6주소) 알티베이스의 IPv6 주소 사용법에 대한 자세한 aexport 9 설명한 Administrator’s Manual을 참조하기 바란다. -u 접속할 알티베이스의 사용자명을 설정한다. 생략 시 사용자명 입력 프롬프트가 출력된다. 전체 DB 모드로 실행하려면, 이 옵션에 SYS 사용자를 지정해야 한다. -p 접속할 알티베이스 사용자의 패스워드를 설정한다. 생략시 패스워드 입력 프롬프트가 출력된다. -port 접속할 알티베이스의 포트번호를 설정한다. 생략 시 환경 변수 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 주소로의 접속이 실패하면, 다른 IP 버전 주소로 접속을 다시 시도한다. 예를 들어, -S 옵션에 “localhost”를 입력하고 이 옵션을 명시하면, isql 은 처음에 IPv6 주소인 [::1]로 접속하고, 이 접속이 실패하면 IPv4 10 Utilities Manual 주소인 127.0.0.1로 접속을 다시 시도한다. 수행절차 aexport를 사용한 데이터베이스 마이그레이션 절차는 크게 다음과 같이 분류된다. 원본 데이터베이스로부터 구조 추출 원본 데이터베이스로부터 데이터 추출 대상 데이터베이스에 데이터베이스 구조 생성 대상 데이터베이스에 데이터 로딩 대상 데이터베이스에 인덱스, 외래키 생성 데이터베이스 구조 추출 aexport를 사용하여 데이터베이스 구조를 추출한다. aexport를 수행한다. $ aexport -s 127.0.0.1 -u sys -p manager 알티베이스 데이터베이스 사용자의 암호를 설정한다. (대상 데이터베이스에서 각 사용자가 사용하게 될 암호를 설정함) 원격지에 있는 Altibase의 데이터를 aexport를 이용하여 백업을 할 때에는 원격지 서버의 주소와 포트(PORT)를 명시한다. $ aexport -s 222.112.84.200 -port 20300 -u sys -p manager 데이터 추출 aexport에 의하여 생성된 쉘 스크립트를 실행하여 테이블 데이터를 추출한다. 현재 작업중인 디스크에 충분한 공간이 있는지 확인한다. 텍스트 데이터의 경우 데이터베이스 내부 자료 형태보다 더 많은 용량을 차지할 수 있기 때문에 데이터 파일 사이즈의 두 배 가량의 여유공간 확보를 권장한다. "run_il_out.sh" 스크립트를 수행한다. $ sh run_il_out.sh 대상 데이터베이스에 데이터베이스 구조 생성 aexport와 “run_il_out.sh”에 의해 생성된 모든 SQL 스크립트와 쉘 스크립트, 그리고 확장자가 “fmt”, “log”, “dat”인 aexport 11 파일을 대상 데이터베이스가 존재하는 시스템으로 복사한다. 대상 데이터베이스가 동일한 시스템에 존재하는 경우 이 과정은 생략한다. 대상 데이터베이스를 구동시킨다. “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을 참조한다. 대상 데이터베이스에 인덱스 및 외래키 생성 TWO_PHASE_SCRIPT 프로퍼티가 OFF일 때, “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 주의사항 SYS 사용자가 아닌 일반 사용자로 aexport를 실행할 경우 해당 사용자가 생성한 스키마에 대해서만 스크립트를 생성한다. SYS 사용자가 아닌 일반 사용자로 aexport를 실행할 경우 이중화 객체는 생성되지 않는다. 12 Utilities Manual 동시에 여러 개의 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 aexport의 한계 저장 프로시저 생성 시 참조해야 할 저장 프로시저가 미리 생성되어 있지 않으면 작업이 실패하게 된다. aexport는 저장 프로시저 간의 의존성에 대한 정보에 접근할 수가 없기 때문에 저장 프로시저 생성 순서를 보장할 수 없다. 이런 경우 저장 프로시저 생성에 실패할 수 있기 때문에 대상 데이터베이스에 저장 프로시저를 수동으로 생성해야 한다. aexport는 시퀀스의 메타 정보에 제한적인 접근만이 가능하다. 이러한 제약 때문에 SYS 사용자 이외의 계정에서 생성한 시퀀스의 경우 INCREMENT BY에 의해서 지정된 시퀀스 특성만 반영이 되고 나머지 특성은 기본 값으로 설정된다. 이러한 제약사항이 문제가 되는 경우 시퀀스를 대상 데이터베이스에 수동으로 생성해야 한다. 사용 예제 aexport 13 전체 DB 모드로 실행 $ aexport -s 127.0.0.1 -u sys -p manager ----------------------------------------------------------------- Altibase Export Script Utility. Release Version 5.5.1.1 Copyright 2000, ALTIBASE Corporation or its subsidiaries. All Rights Reserved. ----------------------------------------------------------------- ##### TBS ##### ##### USER ##### ##### SYNONYM ##### ##### DIRECTORY ##### ##### TABLE ##### ##### QUEUE ##### ##### SEQUENCE #### ##### DATABASE LINK ##### ##### VIEW ##### ##### STORED PROCEDURE ##### ##### TRIGGER ##### ##### REPLICATION ##### ------------------------------------------------------- ##### Follow script files are 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_index.sh : [ isql table-index script ] 5. run_is_fk.sh : [ isql table-foreign key script ] 6. run_is_repl.sh : [ isql replication script ] ------------------------------------------------------- $ ls -l ALL_CRT_DIR.sql ALL_CRT_FK.sql ALL_CRT_INDEX.sql ALL_CRT_LINK.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 run_il_in.sh 14 Utilities Manual run_il_out.sh run_is.sh run_is_fk.sh run_is_index.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 5.5.1.1 Copyright 2000, ALTIBASE Corporation or its subsidiaries. All Rights Reserved. ----------------------------------------------------------------- ##### USER ##### ##### SYNONYM ##### ##### TABLE ##### ##### QUEUE ##### ##### SEQUENCE ##### ##### DATABASE LINK ##### ##### VIEW ##### ##### STORED PROCEDURE ##### ##### TRIGGER ##### ------------------------------------------------------- ##### Follow script files are 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_index.sh : [ isql table-index script ] 5. run_is_fk.sh : [ isql table-foreign key script ] 6. run_is_repl.sh : [ isql replication script ] ------------------------------------------------------- $ ls -l USER1_CRT_DIR.sql USER1_CRT_FK.sql USER1_CRT_INDEX.sql USER1_CRT_LINK.sql USER1_CRT_SEQ.sql USER1_CRT_SYN.sql USER1_CRT_TBL.sql USER1_CRT_TRIG.sql aexport 15 USER1_CRT_USER.sql USER1_CRT_VIEW_PROC.sql run_il_in.sh run_il_out.sh run_is.sh run_is_fk.sh run_is_index.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 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 5.5.1.1 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.t1,user1.v1,user1.proc1 ----------------------------------------------------------------- Altibase Export Script Utility. Release Version 5.5.1.1 Copyright 2000, ALTIBASE Corporation or its subsidiaries. All Rights Reserved. ----------------------------------------------------------------- ##### TABLE ##### ##### VIEW ##### 16 Utilities Manual ##### STORED PROCEDURE ##### $ ls user1_t1_CRT.sql user1_v1_CRT.sql user1_proc1_CRT.sql aexport 프로퍼티 aexport 프로퍼티 설정 aexport.properties 파일의 프로퍼티 값을 조정해야 한다. 이 파일은 $ALTIBASE_HOME/conf 디렉터리에 있어야 한다 (같은 디렉터리의 altibase.properties 파일과 혼동하지 말 것). 이 파일이 없으면 aexport는 구동되지 않는다. 알티베이스를 설치할 때, aexport.properties 파일은 $ALTIBASE_HOME/conf에 존재하지 않는다. 다만, 같은 디렉터리에 aexport.properties.sample이라는 이름의 샘플 파일을 제공하는데, 이 파일을 aexport.properties이름으로 복사한 후, 수정해서 사용하면 된다. aexport 프로퍼티 OPERATION OPERATION = IN/OUT OUT으로 설정할 경우, 모든 스키마와 데이터를 추출할 수 있는 스크립트가 생성된다. 데이터 추출 스크립트(iLoader 실행 명령어로 구성)를 실행하면 form 파일(.fmt)과 데이터 파일(.dat)이 만들어진다. IN으로 설정할 경우, OUT에서 생성된 스키마 생성 스크립트와 데이터 로딩 스크립트를 실행하여 대상 데이터베이스에 스키마를 만들고 데이터를 입력한다. 스키마 생성 스크립트와 데이터 입력 스크립트는 aexport를 실행하지 않고 쉘 프롬프트에서 수동으로 실행할 수도 있다. EXECUTE 생성한 스크립트를 자동으로 수행할 것인지 여부를 설정한다. EXECUTE = ON/OFF ON일 경우 OPERATION 에 지정된 작업에 맞는 적절한 스크립트 파일을 자동으로 실행한다. 스크립트 파일 이름은 ILOADER_OUT, ILOADER_IN, ISQL, ISQL_CON, ISQL_INDEX, ISQL_FOREIGN_KEY, 그리고 ISQL_REPL aexport 17 프로퍼티로 설정된다. 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 원본 데이터베이스에서 추출된 사용자를 대상 데이터베이스에 생성할 때 사용할 암호를 지정한다. (aexport는 사용자 객체 추출 시 사용자의 암호를 알 수 없기 때문에 수동 설정이 필요하다.) 이 프로퍼티가 설정되어 있지 않을 경우 각 사용자의 암호를 묻는 프롬프트가 나타난다. VIEW_FORCE VIEW_FORCE = ON/OFF ON이면, 뷰의 기본 테이블 등이 존재하지 않아도 뷰를 강제로 생성한다. DROP 생성 스크립트 내부에 DROP 구문을 포함할 것인지 여부를 결정한다. DROP = ON/OFF 18 Utilities Manual 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 스크립트를 실행하는 쉘 스크립트 파일의 이름을 설정한다. 이 프로퍼티를 설정하지 않으면 쉘 스크립트 파일은 생성되지 않는다. ISQL_FOREIGN_KEY ISQL_ FOREIGN_KEY = run_is_fk.sh 대상 데이터베이스에 외래키 생성하는 SQL 스크립트를 실행하는 쉘 스크립트 파일의 이름을 설정한다. 이 프로퍼티를 설정하지 않으면 쉘 스크립트 파일은 생성되지 않는다. ISQL_REPL ISQL_REPL = run_is_repl.sh 대상 데이터베이스에 이중화를 생성하기 위한 쉘 스크립트의 파일명을 설정한다. 이 프로퍼티를 설정하지 않으면 쉘 스크립트 파일은 생성되지 않는다. ILOADER_FIELD_TERM ILOADER_FIELD_TERM = field_term 테이블의 데이터를 텍스트로 다운로드 할 때 사용할 필드 aexport 19 구분자를 설정한다. 설정하지 않을 경우 기본값은 쉼표(,)로 구분되며, 숫자는 그대로, 문자형 칼럼은 큰 따옴표(“”)로 에워싸여서 출력된다. * 프로퍼티 파일 내에서 # 문자를 구분자로 사용할 경우, # 이하를 주석으로 처리하기 때문에, #는 구분자로 사용할 수 없다. ILOADER_ROW_TERM ILOADER_ ROW _TERM = row_term 테이블 데이터를 텍스트로 내릴 때 사용할 레코드 구분자를 설정한다. 설정하지 않을 경우 기본값은 이다. * 프로퍼티 파일 내에서 # 문자를 구분자로 사용할 경우, # 이하를 주석으로 처리하기 때문에, #는 구분자로 사용할 수 없다. 더 자세한 설명은 iLoader User’s Manual 참고하기 바란다. SHMUTIL 21 2. SHMUTIL 22 Utilities Manual SHMUTIL 소개 개요 알티베이스가 사용중인 공유 메모리를 조회, 백업, 삭제할 수 있는 유틸리티이다. shmutil {-p|w|e} [-d home_dir] [-f property_file_path] 기능소개 알티베이스는 메모리 내에 데이터 영역을 할당할 때 프로세스 힙(heap)과 공유 메모리 중 하나를 사용하게 된다. 메모리 데이터베이스를 저장할 공간으로 공유 메모리를 사용할 경우, 알티베이스 프로세스가 종료된 후에도 데이터는 공유 메모리상에 계속 존재한다. 따라서 이에 대한 조회 및 관리를 위한 도구로서 SHMUTIL을 제공한다. SHMUTIL이 제공하는 기능은 다음과 같다. 공유 메모리 정보 확인 공유 메모리의 데이터를 디스크로 백업 공유 메모리 제거 SHMUTIL 23 SHMUTIL 사용방법 구문 shmutil -e -w -dhome directory-fproperty_file_path -p 파라미터 파라미터 설명 -p 공유 메모리의 정보를 확인한다. -w 공유 메모리의 데이터를 디스크에 기록한다. -e 공유 메모리를 제거한다. -d 알티베이스 홈 디렉터리의 경로를 지정한다. 이 옵션을 지정하지 않으면, ALTIBASE_HOME 환경 변수에 설정된 값을 사용한다 -f 알티베이스 프로퍼티 파일을 지정한다. 이 옵션을 지정하지 않으면, $ALTIBASE_HOME/conf/altibase.properties 파일을 사용한다. 공유 메모리 정보 조회 데이터 영역으로 사용중인 공유 메모리의 요약 정보 및 공유 메모리 세그먼트 별 상세 정보를 조회한다. 알티베이스가 정상적으로 구동중인 경우 다음과 같은 메시지가 출력된다. $ shmutil -p 24 Utilities Manual ShmUtil: Release 5.5.1.1 - Production on Oct 3 2010 04:52:01 (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을 참고한다. 공유 메모리 백업 공유 메모리 상에 로딩되어 있는 데이터베이스를 디스크에 백업한다. 공유 메모리 저장은 반드시 알티베이스 프로세스가 종료된 상태에서 수행해야 한다. 다음은 공유 메모리에 로딩되어 있는 데이터베이스를 mydbkim 디렉터리로 백업하는 예제이다. $ shmutil -w ShmUtil: Release 5.5.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 SHMUTIL 25 Input DB-Path => mydbkim 백업 이름 입력 Tablespace File saving...SYS_TBS_MEM_DIC Tablespace File saving...SYS_TBS_MEM_DATA [SUCCESS] Database File Saved 공유 메모리에서 데이터베이스 제거 현재 공유 메모리 상에 로딩되어 있는 데이터베이스를 삭제한다. 공유 메모리의 삭제는 반드시 알티베이스 프로세스가 종료된 상태에서 수행해야 한다. 수행방법은 다음과 같다. $ shmutil -e ShmUtil: Release 5.5.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 기타 Utilities 27 3. 기타 Utilities 28 Utilities Manual altibase 개요 ‘altibase’는 알티베이스의 모든 서비스를 관장하는 서버 프로세스를 실행하는 파일이다. altibase {-v|n} 구문 altibase -v -n 파라미터 파라미터 설명 -v 설치되어 있는 알티베이스 제품의 버전 정보를 출력한다. -n 알티베이스를 포그라운드에서 수행한다. 설명 ‘altibase’는 알티베이스의 모든 서비스를 관장하는 서버 프로세스의 실행 가능(executable) 파일이다. 알티베이스를 구동하거나 종료하기 위해 이 커맨드를 직접 사용하면 안 된다. 대신에 iSQL에 SYSDBA 모드로 접속한 뒤, 구동이나 종료 명령을 사용하거나 server 커맨드를 사용해야 한다. server 커맨드는 실제로 알티베이스 구동과 종료에 관련된 일련의 명령을 묶어놓은 쉘 스크립트이다. 관련 내용은 본 문서의 server 항목을 참조한다. 기타 Utilities 29 보다 자세한 알티베이스의 구동 및 종료에 관한 내용은 iSQL User’s Manual이나 Getting Started Guide를 참조한다. iSQL로 구동된 알티베이스 서버 프로세스는 백그라운드에서 운영된다. 반면, 쉘 프롬프트에서 altibase 커맨드를 -n옵션으로 수행할 경우 알티베이스는 포그라운드에서 구동된다. 이는 알티베이스 디버깅을 위한 용도로만 사용되며, 실 운영 시에는 사용하지 않도록 한다. -v 옵션으로 altibase 커맨드를 실행하면 현재 설치된 알티베이스 제품의 버전 정보를 출력한다. 참고사항 Getting Started Guide Administrator’s Manual iSQL User’s Manual 30 Utilities Manual altidump 개요 알티베이스 비정상 종료시 altibase_boot.log에 기록된 알티베이스 프로세스 콜 스택을 사용자가 식별할 수 있는 형태로 변환하여 출력한다. altidump altibase_boot.log [altibase] 구문 altibase_boot.logaltidump altibase 파라미터 파라미터 설명 altibase_boot.log 알티베이스 비정상 종료시 콜 스택이 기록된 로그 파일. altibase 알티베이스 서버 바이너리 파일. 지정하지 않을 경우 ${ALTIBASE_HOME}/bin/altibase을 참조한다. 설명 시스템의 비정상적인 동작 및 발견되지 않은 알티베이스 버그로 인하여 알티베이스 서버가 더 이상의 정상적인 서비스를 제공할 수 없는 상황이 발생하면, 차후 문제 재발을 방지 및 해결을 위하여 당시 상황 분석이 필요하게 된다. 알티베이스는 이러한 상황에 대비하여 알티베이스가 더 이상 정상적으로 수행될 수 없는 상황에 처하게 될 경우, 알티베이스 프로세스의 콜스택을 기타 Utilities 31 altibase_boot.log에 기록하고 서버 프로세스를 종료한다. 프로세스 콜 스택에는 알티베이스 종료 당시 수행되던 알티베이스 내부 모듈에 대한 정보가 기록된다. 그러나 이 정보는 사용자가 식별할 수 없는 프로세스 내의 함수 주소 값만을 포함하고 있기 때문에 사용자가 식별할 수 있는 함수의 이름 형태로의 변환이 필요하다. altidump는 altibase_boot.log에 기록된 프로세스 콜 스택을 사용자가 식별할 수 있는 형태로 변환해주는 기능을 수행한다. altidump의 출력을 알티베이스 기술서비스 팀에 송부하면, 보다 빠른 문제 해결에 도움이 될 수 있다. 사용예 기본 사용 방법 $ altidump $ALTIBASE_HOME/trc/altibase_boot.log altidump 출력은 C++에서 오버로딩된 함수를 내부적인 형식으로 표기하기 때문에 정확한 형태의 코드를 제공하지 못한다. 이러한 출력을 보다 알기 쉬운 형태로 변환하기 위해서 c++filt를 사용한다. 사용법은 다음과 같다. SunOS $ altidump $ALTIBASE_HOME/trc/altibase_boot.log | /opt/SUNWspro/bin/c++filt 그 외의 OS $ altidump $ALTIBASE_HOME/trc/altibase_boot.log | c++filt 32 Utilities Manual altimon.sh 개요 알티베이스 서버 프로세스의 동작 상태를 모니터링한다. altimon.sh {start | view | stop | help} 구문 altimon.sh help view stop start 파라미터 파라미터 설명 start altimon 시작 (이 옵션은 생략 가능하다) view 로그 파일에 갱신된 내용을 화면에 지속적으로 출력한다. altimon을 종료할 때까지 수행한다. stop altimon 종료 help 도움말 출력 설명 altimon은 알티베이스 서버 프로세스 및 쓰레드, 그리고 시스템 자원 사용 현황을 지속적으로 모니터링하여 로그 파일에 기록한다. altimon이 생성한 로그 파일은 안정적인 시스템 운용을 위한 기초 자료로 활용되며, 시스템에 장애 상황 발생시 원인 분석에 사용된다. 기타 Utilities 33 altimon이 모니터링하는 항목은 다음과 같다. 알티베이스 프로세스 알티베이스가 사용중인 메모리 이중화 세션 롱텀 트랜잭션 가비지 콜렉터 로그 파일 참고사항 Administator’s Manual 34 Utilities Manual altierr 개요 altierr은 알티베이스 서버 에러 코드에 대한 상세한 설명을 검색하여 출력하는 유틸리티이다. 에러 번호나 에러 메시지 패턴을 이용하여 검색이 가능하다. altierr {-w keyword pattern | [-n] error number} 구문 altierr -w -n error number keyword patern 파라미터 파라미터 설명 -w 지정한 검색 패턴을 포함하는 에러 메시지를 찾는다. 검색 패턴을 포함하는 모든 에러 메시지를 출력한다. -n 에러 번호를 사용하여 검색한다. 에러 번호는 16진수/양의 정수/음의 정수 형태로 입력가능하다. 에러 코드와 정확히 일치하는 레코드만 검색된다. 에러 번호를 사용하여 검색할 경우 파라미터(“- n”)를 생략할 수 있다. 설명 기타 Utilities 35 altierr은 알티베이스 서버의 에러 코드 번호나 에러 메시지에 포함된 스트링을 이용하여 에러에 대한 상세한 설명을 검색하고 출력해 주는 유틸리티이다. 에러 상세 설명에는 에러 코드 번호, 에러 코드 스트링, 에러 설명, 에러가 발생한 원인, 그리고 에러에 대한 조치 사항이 포함된다. 알티베이스 서버는 에러 상황 발생시 해당 코드를 “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 참조 36 Utilities Manual 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 기타 Utilities 37 altiProfile 개요 알티베이스 서버에서 QUERY_PROF_FLAG 프로퍼티를 0보다 큰 값으로 설정하면 서버 내에서 수행되는 작업과 서버의 상태 정보를 파일로 기록하여 분석할 수 있다. 서버가 남긴 상태 파일을 프로파일이라 하며 altiProfile은 이 프로파일을 문자 형태로 변환하여 출력함으로써 사용자가 시스템의 상태를 분석할 수 있게 한다. altiprofile {profile_name} 구문 altiprofileprofile_name 설명 서버가 남긴 프로파일을 문자 형태로 변환한다. 사용 예 iSQL> ALTER SYSTEM SET QUERY_PROF_FLAG = 1; Alter success. iSQL> --(Execute an SQL query here.) $ cd $ALTIBASE_HOME/trc $ altiProfile alti-1286503704-0.prof 사용 방법 38 Utilities Manual 서버의 상태 및 작업 내용을 기록하려면 QUERY_PROF_FLAG 프로퍼티를 설정하여야 한다. QUERY_PROF_FLAG 프로퍼티의 값에 따라 다음의 정보들이 기록된다. 값 이름 설명 0 기록하지 않음 1 [STATEMENT] SQL 문이 실행될 때마다 실행된 SQL문, 실행시간, 실행정보, 색인 및 디스크 접근 정보 출력 2 [BIND] SQL 문이 실행될 때마다 BIND 파라미터 출력 4 [PLAN] SQL 문이 실행될 때마다 실행계획 출력 8 [SESSION STAT] 3초마다 세션 정보 출력(V$SESSTAT 정보) 16 [SYSTEM STAT] 3초마다 시스템 정보 출력(V$SYSSTAT 정보) 32 [MEMORY STAT] 3초마다 메모리 정보 출력(V$MEMSTAT 정보) 위의 값을 조합하여 원하는 정보를 기록하도록 설정한다. 예를 들어, 프로퍼티를 1+4+32=37로 설정하면 SQL 문이 실행될 때마다 SQL 문의 실행정보와 실행계획을 출력하고 3초마다 메모리 정보를 출력한다. 프로퍼티가 설정되면, 서버는 alti-#시간-#번호.prof 이름의 파일에 정보를 남긴다. 사용자는 altiProfile 명령어로 상태 파일을 변환하여 분석할 수 있다. 주의사항 서버 내에서 실행되는 모든 SQL 문에 대해 실행 정보를 기록하며 또한 매 3초마다 세션 및 시스템 정보 등 서버의 상태를 기록하므로 시스템에 부하를 줄 수 있다. 또한 프로파일링 파일이 커져 디스크가 꽉 차게 되면 문제가 발생할 수 있기 때문에, 프로파일링 설정 시 신중해야 한다. 출력결과 다음과 같은 형식으로 출력된다. [STATEMENT] 기타 Utilities 39 .. [BIND] .. [PLAN] .. [SESSION STAT] .. [SYSTEM STAT] .. [MEMORY STAT] .. 각 정보는 아래와 같은 형식으로 출력된다. [STATEMENT] 다음의 표는 실행한 STATEMENT에 대한 정보를 나타낸다. 필드 이름 값 설명 SQL 문자열 실행된 SQL 문 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 향후 확장 예정 40 Utilities Manual 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 Count BIGINT 메모리 테이블에 대한 Full Scan이 발생한 횟수 Memory Index Scan Count BIGINT 메모리 테이블에 대한 Index Scan이 발생한 횟수 Disk Full Scan Count BIGINT 디스크 테이블에 대한 Full Scan이 발생한 횟수 Disk Index Scan Count BIGINT 디스크 테이블에 대한 Iindex Scan이 발생한 횟수 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] 실행된 SQL 문의 실행 계획이 출력된다. 실행 계획에 관한 자세한 내용은 Administrator’s Manual의 SQL 튜닝 부분을 참고한다. 기타 Utilities 41 [SESSION STAT] 매 3초마다 V$SESSTAT 정보가 출력된다. V$SESSTAT의 자세한 내용은 General Reference의 성능 뷰 부분을 참고한다. [SYSTEM STAT] 매 3초마다 V$SYSSTAT 정보가 출력된다. V$SYSSTAT의 자세한 내용은 General Reference의 성능 뷰 부분을 참고한다. [MEMORY STAT] 매 3초마다 V$MEMSTAT 정보가 출력된다. V$ MEMSTAT의 자세한 내용은 General Reference의 성능 뷰 부분을 참고한다. 42 Utilities Manual checkServer 개요 알티베이스 프로세스를 감시하여 알티베이스 비정상 종료시 수행해야 할 일을 스크립트 파일로 만들어 실행할 수 있도록 한다. checkServer [-n] {-f server-restart-script-file} 구문 checkServer -n -fserver-restrat-script-file 파라미터 파라미터 설명 -n checkServer를 foreground에서 수행 파라미터 생략시 checkServer는 background에서 수행 -f 알티베이스 종료시 실행할 스크립트 파일의 이름 설명 checkServer는 주기적으로 알티베이스 프로세스가 구동 중인지를 검사하여 알티베이스 프로세스가 종료되었을 경우 사용자가 지정한 스크립트를 수행한다. 알티베이스가 비정상 종료되었을 경우 알티베이스 재구동 스크립트를 수행하는 것이 일반적이며, 재 구동 스크립트는 다음과 같은 형식으로 작성한다. 알티베이스 구동 스크립트 ‘restart.sh’ 기타 Utilities 43 #! /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 는 알티베이스 서버가 “server stop” 커맨드를 사용하지 않고 종료된 경우에만, 지정한 재시작 스크립트를 실행한다. “server stop” 커맨드를 사용하여 알티베이스 서버를 정상 종료시키면, checkServer 프로세스도 역시 종료되어, 재시작 스크립트를 실행하지 않게 된다. 이것은 checkServer 가 “server stop” 커맨드를 사용하여 종료하는 것만 정상 종료라고 판단하기 때문이다. 사용예 쉘 프롬프트 상에서 다음과 같이 수행한다. $ checkServer -f restart.sh ties Manual dumpla 개요 dumpla는 이진 형식으로 저장된 loganchor 파일의 내용을 문자 형식으로 보여준다. loganchor는 알티베이스의 물리적인 저장 정보(테이블스페이스, 데이터 파일)와 복구를 위해 필요한 정보들이 저장되는 파일이다. 알티베이스는 데이타베이스 생성(CREATE DATABASE 실행) 시에 이 파일을 생성하고 altibase.properties에 설정된 세 개의 LOGANCHOR_DIR 디렉토리에 loganchor#(#은 1, 2, 3)의 이름으로 저장, 관리한다. 세 개의 파일은 모두 같은 내용으로 파일이 손상될 경우를 대비해 복사본을 유지하는 것이다. 데이타베이스 생성 시에 현재 데이타베이스에 존재하는 테이블스페이스와 이에 속한 데이터 파일, 그리고 복구 관련 정보들이 저장된다. 데이타베이스 구동 시에 이 정보들을 이용하여 데이타베이스를 메모리에 적재하고 서비스를 준비한다. dumpla 구문 dumplaloganchor_file_name 설명 loganchor 파일의 내용을 텍스트 형식으로 보여준다. 사용예 쉘 프롬프트 상에서 다음과 같이 수행한다. $ dumpla loganchor0 기타 Utilities 45 출력 dumpla는 loganchor의 내용을 다음과 같은 섹션으로 구분하여 출력한다. [LOGANCHOR ATTRIBUTE SIZE] 현재 Loganchor에 어떤 데이터들이 얼마만큼의 공간을 사용하고 있는지를 나타낸다. 내용은 다음과 같다. 필드 이름 값(단위 바이트) 설명 Loganchor Static Area 0 ~ unsigned int 타입의 최대값 Loganchor에 고정적으로 들어가는 정보의 크기를 나타낸다. 주로 복구 시 필요한 정보들이다. Tablespace Attribute 0 ~ unsigned int 타입의 최대값 저장된 Tablespace Attribute의 크기 Checkpoint Path Attribute 0 ~ unsigned int 타입의 최대값 저장된 Checkpoint Path의 크기 Checkpoint Image Attribute 0 ~ unsigned int 타입의 최대값 저장된 Checkpoint Image Attribute의 크기 Disk Datafile Attribute 0 ~ unsigned int 타입의 최대값 저장된 Disk Datafile Attribute의 크기 [LOGANCHOR HEADER] 데이타베이스의 버전 및 체크포인트 Log Sequence Number (LSN) 등의 loganchor Header 정보를 나타낸다. LSN에 대한 자세한 설명은 “dumplf 의 출력”절을 참고하기 바란다. 필드 이름 값 설명 Binary DB Version Major.minor.patch ex) 5.5.1 현재 Loganchor를 생성한 데이터베이스 실행 파일의 데이터베이스 버전이다. Archivelog Mode Archivelog |No-Archivelog 데이터베이스가 아카이브 모드로 운영 중인지를 나타낸다. Begin Checkpoint LSN LFGID, FileNo, Offset Begin Checkpoint의 LSN을 나타낸다. End Checkpoint LSN LFGID, FileNo, Offset End Checkpoint의 LSN을 나타낸다. Disk Redo LSN LFGID, FileNo, Offset DRDB의 Redo 시작 위치를 나타낸다. Global SN 0 ~ unsigned long 각 로그는 Header에 Global SN값을 46 Utilities Manual 타입의 최대값 가지는데 이 값을 1 증가시키고 증가된 값을 자신의 SN으로 설정한다. SN for Recovery from Replication 0 ~ unsigned long 타입의 최대값 또는 NULL 이중화를 이용한 복구 시 이 SN부터 시작한다. Server Status SERVER_SHUTDO WN |SERVER_START ED 서버의 상태를 기록한다. 서버 시작 시 이 값이 SERVER_STARTED로 바뀌고 종료 시 SERVER_SHUTDOWN으로 바뀐다. 서버 시작 시에 이 값이 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 Num 0 ~ unsigned int 타입의 최대값 가강 최근에 생성된 로그 파일 번호 Delete Logfile(s) Range 삭제되는 첫 번째 ~ 마지막 파일 번호 가강 최근에 삭제된 로그 파일의 범위. 체크포인트 완료 후 더 이상 필요 없는 파일을 삭제하는데 이 때 지워지는 파일의 범위를 기록한다. Update And Flush Count 0 ~ unsigned int 타입의 최대값 logAnchor 파일이 변경되고 플러시된 횟수 New Tablespace ID 0 ~ unsigned int 타입의 최대값 새로운 테이블스페이스 식별자. 테이블스페이스가 생성될 경우 이 값을 자신의 테이블스페이스 식별자로 사용하고 이 값을 증가시킨다. [TABLESPACE ATTRIBUTE] 메모리 테이블스페이스 정보를 나타낸다. 내용은 다음과 같다. 필드 이름 값 설명 기타 Utilities 47 Tablespace ID 0 ~ unsigned int 타입의 최대값 테이블스페이스 식별자 Tablespace Name 문자열 ex) SYS_TBS_MEM_DIC 테이블스페이스 이름 New Database File ID 0 ~ unsigned int 타입의 최대값 테이블스페이스에서 새로 파일이 추가될 때 파일이 가지게 될 파일의 식별자 Extent Management FREE EXTENT BITMAP TABLESPACE 디스크 테이블스페이스의 extent가 어떤 방식으로 관리되는지를 나타낸다. 현재는 FREE EXTENT BITMAP TABLESPACE만 지원한다. FREE EXTENT BITMAP TABLESPACE를 enable하면, 디스크 테이블스페이스의 free extents를 관리하는데 bitmaps을 사용한다. Tablespace Status 아래 TABLESPACE ATTRIBUTE 설명 참조 테이블스페이스의 현재 상태를 나타낸다. Tablespace Type 0 ~ 8 아래 TABLESPACE ATTRIBUTE 설명 참조 테이블스페이스의 타입 Checkpoint Path Count Checkpoint Path 개수 체크포인트 이미지 파일들의 경로. 메모리 테이블스페이스에만 적용된다. Autoextend Mode AutoExtend |Non-AutoExtend 테이블스페이스가 자동으로 크기가 확장되는지 여부를 가리킨다. 메모리 테이블스페이스에만 적용된다. Shared Memory Key 0 ~ unsigned int 타입의 최대값 데이터베이스가 공유 메모리 버전이면 이 때 공유 메모리에 데이터베이스가 사용한 공유 메모리의 키 Stable Checkpoint Image Num 0|1 체크포인트가 완료된 체크포인트 이미지의 파일 번호 메모리 테이블스페이스에만 적용된다. Init Size 0 ~ unsigned int 타입의 최대값 초기 크기(Mbyte) Next Size 0 ~ unsigned int 타입의 최대값 자동 확장되는 증가분의 크기(Mbyte) Maximum Size 0 ~ unsigned int 타입의 최대값 최대 크기 48 Utilities Manual Split File Size 0 ~ unsigned int 타입의 최대값 메모리 테이블스페이스는 파일을 이 크기 단위로 생성한다. 예를 들어 테이블스페이스가 1G이고, Split file size가 100MB이면 10개의 파일이 생성된다. [TABLESPACE ATTRIBUTE] 내용 중 Tablespace Status의 의미는 다음과 같다. 값 설명 OFFLINE 오프라인 상태 ONLINE 온라인 상태 INCONSISTENT 비일관적인 상태 CREATING 생성 중 DROPPING 삭제를 수행한 트랜잭션이 아직 커밋하지 않아 삭제 중인 상태 DROP_PENDING 삭제를 수행한 트랜잭션이 커밋 이후 Pending 연산 중인 상태 DROPPED 삭제된 상태 DISCARDED Discard된 상태 BACKUP 백업 중 SWITCHING_TO_OFFLI NE OFFLINE으로 바뀌고 있는 중 SWITCHING_TO_ONLIN E ONLINE으로 바뀌고 있는 중 [TABLESPACE ATTRIBUTE] 내용 중 Tablespace Type의 의미는 다음과 같다. 값 설명 0 MEMORY SYSTEM DICTIONARY 1 MEMORY SYSETM DATA 2 MEMORY USER DATA 3 DISK SYSTEM DATA 4 DISK USER DATA 5 DISK SYSTEM TEMP 6 DISK USER TEMP 7 DISK SYSTEM UNDO 8 VOLATILE USER DATA [MEMORY CHECKPOINT PATH ATTRIBUTE] 기타 Utilities 49 메모리 테이블스페이스의 체크포인트 저장 경로를 나타낸다. 내용은 다음과 같다. 필드 이름 값 설명 Tablespace ID 0 ~ unsigned int 타입의 최대값 테이블스페이스 식별자 Checkpoint Path 문자열 체크포인트 이미지 파일의 경로 [MEMORY CHECKPOINT IMAGE ATTRIBUTE] 메모리 테이블스페이스의 체크포인트 이미지 정보를 나타낸다. 내용은 다음과 같다. 필드 이름 값 설명 Tablespace ID 0 ~ unsigned int 타입의 최대값 테이블스페이스 식별자 File Number 0 ~ unsigned int 타입의 최대값 파일 번호 Create LSN 데이터 파일 생성 시점의 LSN Create On Disk (PingPong 0) Created|None 0번 체크포인트 이미지 파일 생성 유무 Create On Disk (PingPong 1) Created|None 1번 체크포인트 이미지 파일 생성 유무 [DISK DATABASE FILE ATTRIBUTE] 디스크 테이블스페이스의 데이터 파일 저장 경로를 나타낸다. 내용은 다음과 같다. 필드 이름 값 설명 Tablespace ID 0 ~ unsigned int 타입의 최대값 테이블스페이스 식별자 Database File ID 0 ~ unsigned int 타입의 최대값 데이터 파일 식별자 Database File Path 문자열 데이터 파일의 경로 Create LSN 데이터 파일이 생성된 시점의 시스템 로그의 마지막 LSN Database File Status 아래 DISK_DATABAS E_FILE_ATTRIB UTE 설명 참조 파일의 상태 Atuoextend Mode AutoExtend| 자동 확장 설정 여부 50 Utilities Manual Non-AutoExtend Create Mode 0|1 0: 재사용 1: 새로 생성한 파일 Initialize Size 0 ~ unsigned int 타입의 최대값 초기 크기(MByte) Current Size 0 ~ unsigned int 타입의 최대값 현재 크기(MByte) Next Size 0 ~ unsigned int 타입의 최대값 확장 단위 크기(MByte) Maximum Size 0 ~ unsigned int 타입의 최대값 최대 크기(MByte) [DISK DATABASE FILE ATTRIBUTE] 내용 중 Database File Status의 의미는 다음과 같다. 값 설명 OFFLINE 오프라인 상태 ONLINE 온라인 상태 CREATING 생성 중 BACKUP_BEGIN 백업을 시작한 상태 BACKUP_END 백업을 종료 중인 상태 DROPPING 삭제 중인 상태 RESIZING 크기를 바꾸고 있는 상태 DROPPED 삭제된 상태 다음은 dumpla의 출력 결과 중 일부분을 예로 보인 것이다. [ DISK DATABASE FILE ATTRIBUTE ] Tablespace ID [ 2 ] Database File ID [ 0 ] Database File Path C:\altibase_home\dbs\system001.dbf] Create LSN [ 0, 0, 4443 ] Database File Status [ ONLINE ] Autoextend Mode [ Non-Autoextend ] Create Mode [ 0 ] Initialize Size [10 MBytes(1280 Pages)] Current Size [10 MBytes(1280 Pages)] Next Size [0 MBytes(0 Pages)] Maximum Size [0 MBytes(0 Pages)] 기타 Utilities 51 dumplf 개요 알티베이스는 복구를 위해서 트랜잭션이 변경 연산(Insert, Delete, Update 등)을 수행 시 데이타베이스 영역(DB File)외의 별도 파일에 로그를 남긴다. 이 로그는 IO 최소화를 위해서 이진(binary) 형식으로 기록되어 있다. 이 로그가 기록되는 로그 파일은 altibase.properties의 LOG_DIR 프로퍼티에 설정되는 디렉토리에 logfile#( #은 로그파일 번호로 계속 증가한다) 형태로 저장됩니다. dumplf는 이 로그 파일의 내용을 텍스트 형식으로 변환해서 보여주는 유틸리티이다. 이 로그를 통해서 데이타베이스에 수행된 연산의 종류 및 변경 연산을 수행하는 트랜잭션의 빈도를 측정할 수 있다. dumplf {-f log_file_name} [-t transaction_id] [-s] [-l] 구문 log_file-f -s-t-ltransaction_id dumplf 파라미터 파라미터 설명 -f 출력할 로그 파일의 이름 이 옵션은 반드시 입력해야 한다. 생략하면 dumplf는 에러 메시지를 출력하고 종료한다. -t 출력할 로그에 해당하는 트랜잭션 ID -s 로그 파일의 헤더만 출력하고자 할 때 명시 -l 로그의 유형 (LT 필드) 또는 서브로그유형 (OPTYPE 과 UTYPE 필드)과 관련된 정보만 출력 52 Utilities Manual 설명 로그 파일의 내용을 텍스트 형식으로 변환해서 보여준다. 사용예 쉘 프롬프트 상에서 다음과 같이 수행한다. $ dumplf logfile0 출력 다음은 dumplf의 출력 예이다. SN=<10>,LSN=,?,820>, COMP:N, MAGIC:820, TID: 6400,BE: N, REP: Y, ISVP: N, ISVP_DEPTH: 0 PLSN=<0,0,739>, LT: SMR_LT_MEMTRANS_COMMIT, SZ: 45 로그 파일의 내용 중, 필드들은 다음과 같은 의미를 갖는다. 필드 이름 값 설명 SN 0 - unsigned long 타입의 최대값 각 로그에 순차적으로 부여되는 Sequence Number LSN 형식: (LFGID, FileNo, Offset) 각 값의 범위: 0 - unsigned int 타입의 최대값 , 로그의 sequence number로 로그의 물리적인 위치를 표시한다. LSN은 로그파일 그룹 식별자(LFGID), 파일 번호, 오프셋으로 구성된다. Dumplf가 LFG 또는 FileNo를 판단할 수 없을 때, 물음표(“?”)로 표시한다. 예) (?, ?, offset) COMP Y|N Y: 로그가 압축(compress)되었음 N: 압축되지 않음 MAGIC 0 - unsigned short 타입의 최대값 로그 레코드가 유효하다는 것을 나타내기 위해서 로그 LSN의 로그 파일 번호와 오프셋으로 이 값을 만들고 Redo, Undo시 로그를 읽었을 때 이 값이 현재 로그의 LSN과 동일한지 검사한다. 기타 Utilities 53 TID 0 - unsigned int 타입의 최대값 트랜잭션 식별자 BE Y|N Y : Begin Transaction Log REP Y|N Y: 이중화가 걸려있는 경우 Sender가 Standby로 보내거나 참조하는 로그이다. N: Sender는 이 로그를 무시한다 ISVP Y|N Y: 묵시적 저장점 (Implicit Savepoint) 로그. 문장(Statement) 시작 후 처음으로 찍힌 로그이다. 트랜잭션이 문장을 수행했을 때 오류가 발생하면 이 로그까지 부분 철회(Partial Rollback)을 한다. ISVP_DEPTH 0 - 255 어떤 SQL 구문이 다른 구문 내에 중첩되었을 때 묵시적 저장점의 중첩 깊이 PLSN 형식: (LFGID, FileNo, Offset) 각 값의 범위: 0 - unsigned int 타입의 최대값 Previous Log LSN으로 이 값을 이용하여 같은 트랜잭션이 기록한 로그들끼리 체인(Chain)으로 연결되어 있다. LT 문자열 로그의 유형을 나타낸다. 자세한 내용은 아래 로그 유형에 대한 표를 참고한다. SZ 0 - unsigned int 타입의 최대값 로그 크기 (단위: bytes) RdSz 0 - unsigned int 타입의 최대값 로그 레코드의 크기 (단위: bytes) DMIOff 0 - unsigned int 타입의 최대값 논리적 로그의 위치. 트랜잭션 언두 또는 이중화에서 사용한다. TableOID 0 - unsigned int 타입의 최대값 테이블의 오브젝트 ID OID 0 - unsigned int 타입의 최대값 테이블을 제외한 모든 오브젝트의 ID. 레코드 오브젝트도 포함한다. ContType 0, 1 이중화를 위해 사용하는 내부 값 OPTYPE LogTypeName Nested Top Action (NTA) 로그의 작업 유형 AFTER SZ: , Value: 로그 레코드의 변경 후 이미지 (after image) BEFORE SZ: , Value: 로그 레코드의 변경 전 이미지 54 Utilities Manual (before image) UTYPE LogTypeName UPDATE 로그의 작업 유형 UPOS 형식: (SPACEID:, PID: , OFFSET: => OID:) 변경된 객체의 주소. 또한 변경 작업 동안 발생한 정보도 포함한다. SPACEID 0 - unsigned short 타입의 최대값 변경된 객체를 포함하고 있는 테이블스페이스의 ID PID 0 - unsigned int 타입의 최대값 변경된 객체를 포함하고 있는 페이지의 ID Offset 0 - unsigned int 타입의 최대값 변경된 객체를 포함하고 있는 페이지 내에서의 offset FLISlot PrevPID NextPID 형식: ( => ) 메모리 테이블스페이스를 관리하기 위해 사용하는 내부 값 ESLSN OF LFG 형식: (LFGID, FileNo, Offset) 각 값의 범위: 0 - unsigned int 타입의 최대값 복구 수행 시 시작할 LSN Lob Locator 0 - unsigned long 타입의 최대값 이중화에서 LOB타입과 관련해서 내부적으로 사용하는 값 기타 Utilities 55 dumplf의 결과 중 LT (Log Type: 로그 유형)의 의미는 다음과 같다. 값 설명 SMR_LT_DUMMY Dummy 로그 SMR_LT_CHKPT_BEGIN Checkpoint Begin 로그 SMR_LT_DIRTY_PAGE Dirty Page 로그 SMR_LT_CHKPT_END Checkpoint End 로그 SMR_LT_MEMTRANS_COMMIT Memory Transaction Commit 로그 SMR_LT_MEMTRANS_ABORT Memory Transaction Abort 로그 SMR_LT_DSKTRANS_COMMIT Disk Transaction Commit 로그 SMR_LT_DSKTRANS_ABORT Disk Transaction Abort 로그 SMR_LT_SAVEPOINT_SET Savepoint Set 로그 SMR_LT_SAVEPOINT_ABORT Savepoint Abort Begin 로그 SMR_LT_XA_PREPARE XA Prepare 로그 SMR_LT_TRANS_PREABORT Abort Begin 로그 SMR_LT_DDL DDL (Data Definition Language) 로그 SMR_LT_XA_SEGS XA Prepare Transaction Segment Information SMR_LT_LOB_FOR_REPL 이중화를 위한 LOB 로그 SMR_LT_UPDATE MMDB(Main Memory Database) Update 로그 SMR_LT_NTA MMDB NTA(Nested Top Action) 로그 SMR_LT_COMPENSATION Compensation 로그 SMR_LT_DUMMY_COMPENSATION Dummy Compensation 로그 SMR_LT_FILE_BEGIN File Begin 로그 SMR_LT_FILE_TBS_UPDATE Tablespace Update 로그 SMR_LT_FILE_END File End 로그 SMR_DLT_READONLY DRDB(Disk Resident Database) Redo Only 로그 SMR_DLT_UNDOABLE DRDB Undo 로그 SMR_DLT_NTA DRDB NTA 로그 SMR_DLT_COMPENSATION DRDB Compensation 로그 SMR_DLT_REF_NTA DRDB Reference NTA 로그 SMR_LT_TABLE_META 이중화를 위한 테이블 메타 로그 OPTYPE 과 UTYPE 에 가능한 로그 타입 이름 값 설명 56 Utilities Manual SMR_OP_SMM_PERS_LIST_ALLOC SMR_OP_SMC_FIXED_SLOT_ALLOC SMR_OP_SMC_VAR_SLOT_ALLOC SMR_OP_SMC_FIXED_SLOT_FREE SMR_OP_SMC_VAR_SLOT_FREE MMDB의 페이지와 슬롯에 관련된 로그 SMR_OP_CREATE_TABLE SMR_OP_CREATE_INDEX SMR_OP_DROP_INDEX SMR_OP_ALTER_TABLE SMR_OP_SMM_CREATE_TBS SMR_OP_INSTANT_AGING_AT_ALTER_TABLE SMR_OP_SMC_TABLEHEADER_ALLOC MMDB에서 DDL 구문 수행과 관련된 로그 SMR_MEM_LOB_CURSOR_OPEN SMR_DISK_LOB_CURSOR_OPEN SMR_LOB_CURSOR_CLOSE SMR_PREPARE4WRITE SMR_FINISH2WRITE MMDB에서 LOB 데이터 제어와 관련된 로그 SDR_OP_SDP_CREATE_TABLE_SEGMENT SDR_OP_SDP_CREATE_LOB_SEGMENT SDR_OP_SDP_CREATE_INDEX_SEGMENT SDR_OP_SDP_ADD_LOB_PAGE_TO_AGINGLIST SDR_OP_SDC_ALLOC_UNDO_PAGE SDR_OP_SDPTB_ALLOCATE_AN_EXTENT_FROM_TBS SDR_OP_SDPTB_ALLOCATE_AN_EXTDIR_FROM_LIST SDR_OP_SDPTB_RESIZE_GG SDR_OP_SDPST_ALLOC_PAGE SDR_OP_SDPSF_ALLOC_PAGE SCT_UPDATE_MRDB_CREATE_TBS SCT_UPDATE_MRDB_CREATE_CIMAGE_FILE SCT_UPDATE_MRDB_DROP_TBS SCT_UPDATE_MRDB_ALTER_AUTOEXTEND SCT_UPDATE_MRDB_ALTER_TBS_ONLINE SCT_UPDATE_MRDB_ALTER_TBS_OFFLINE SCT_UPDATE_DRDB_CREATE_TBS SCT_UPDATE_DRDB_DROP_TBS SCT_UPDATE_DRDB_ALTER_TBS_ONLINE SCT_UPDATE_DRDB_ALTER_TBS_OFFLINE SCT_UPDATE_DRDB_CREATE_DBF SCT_UPDATE_DRDB_DROP_DBF SCT_UPDATE_DRDB_EXTEND_DBF 테이블스페이스 와 세그먼트에 관련된 로그 기타 Utilities 57 SCT_UPDATE_DRDB_SHRINK_DBF SCT_UPDATE_DRDB_AUTOEXTEND_DBF SCT_UPDATE_DRDB_ALTER_DBF_ONLINE SCT_UPDATE_DRDB_ALTER_DBF_OFFLINE SCT_UPDATE_VRDB_CREATE_TBS SCT_UPDATE_VRDB_DROP_TBS SCT_UPDATE_VRDB_ALTER_AUTOEXTEND SCT_UPDATE_COMMON_ALTER_ATTR_FLAG SDR_OP_SDPST_UPDATE_WMINFO_4DPATH SDR_OP_SDPST_UPDATE_MFNL_4DPATH SDR_OP_SDPST_UPDATE_BMP_4DPATH SDR_OP_SDPSF_ADD_PIDLIST_PVTFREEPIDLIST_4DPATH SDR_OP_SDPSF_MERGE_SEG_4DPATH SDR_OP_SDPSF_UPDATE_HWMINFO_4DPATH SDR_OP_SDP_DPATH_ADD_SEGINFOSET DRDB에서 Direct Page Insert를 위한 페이지 관리와 관련된 로그 SDR_OP_SDN_INSERT_KEY_WITH_NTA SDR_OP_SDN_DELETE_KEY_WITH_NTA DRDB에서 B- tree 인덱스를 위한 NTA 로그 SDR_OP_STNDR_INSERT_KEY_WITH_NTA SDR_OP_STNDR_DELETE_KEY_WITH_NTA DRDB에서 R- tree 인덱스를 위한 NTA 로그 SDR_SDP_1BYTE SDR_SDP_2BYTE SDR_SDP_4BYTE SDR_SDP_8BYTE SDR_SDP_BINARY 물리적 DRDB 로그 SDR_SDP_PAGE_CONSISTENT SDR_SDP_INIT_PHYSICAL_PAGE SDR_SDP_INIT_LOGICAL_HDR SDR_SDP_INIT_SLOT_DIRECTORY SDR_SDP_FREE_SLOT SDR_SDP_FREE_SLOT_FOR_SID SDR_SDP_RESTORE_FREESPACE_CREDIT SDR_SDP_RESET_PAGE SDR_SDP_WRITE_PAGEIMG SDR_SDP_WRITE_DPATH_INS_PAGE DRDB의 페이지와 슬롯에 관련된 로그 SDR_SDPST_INIT_SEGHDR SDR_SDPST_INIT_BMP SDR_SDPST_INIT_LFBMP SDR_SDPST_INIT_EXTDIR DRDB를 위한 세그먼트와 테이블스페이스 에 관련된 로그 58 Utilities Manual SDR_SDPST_ADD_RANGESLOT SDR_SDPST_ADD_SLOTS SDR_SDPST_ADD_EXTDESC SDR_SDPST_ADD_EXT_TO_SEGHDR SDR_SDPST_UPDATE_WM SDR_SDPST_UPDATE_MFNL SDR_SDPST_UPDATE_PBS SDR_SDPST_UPDATE_LFBMP_4DPATH SDR_SDPSC_INIT_SEGHDR SDR_SDPSC_INIT_EXTDIR SDR_SDPSC_ADD_EXTDESC_TO_EXTDIR SDR_SDPTB_INIT_LGHDR_PAGE SDR_SDPTB_ALLOC_IN_LG SDR_SDPTB_FREE_IN_LG SDR_SDC_INSERT_ROW_PIECE SDR_SDC_INSERT_ROW_PIECE_FOR_UPDATE SDR_SDC_INSERT_ROW_PIECE_FOR_DELETEUNDO SDR_SDC_UPDATE_ROW_PIECE SDR_SDC_OVERWRITE_ROW_PIECE SDR_SDC_CHANGE_ROW_PIECE_LINK SDR_SDC_DELETE_FIRST_COLUMN_PIECE SDR_SDC_ADD_FIRST_COLUMN_PIECE SDR_SDC_DELETE_ROW_PIECE_FOR_UPDATE SDR_SDC_DELETE_ROW_PIECE SDR_SDC_LOCK_ROW DRDB의 테이블 레코드 관리에 관련된 로그 SDR_SDC_UPDATE_LOBDESC SDR_SDC_UPDATE_LOBDESC_KEY SDR_SDC_LOB_WRITE_PIECE SDR_SDC_LOB_WRITE_PIECE4DML SDR_SDC_INIT_LOBPAGE SDR_SDC_LOB_PAGE_TO_AGING_LIST DRDB에서 LOB 타입 사용에 관련된 로그 SDR_SDC_PK_LOG DRDB에서 이중화를 위한 프라이머리 키 사용에 관련된 로그 SDR_SDC_INIT_CTL SDR_SDC_EXTEND_CTL SDR_SDC_BIND_CTS SDR_SDC_UNBIND_CTS DRDB에서 레코드를 위한 MVCC 관련된 로그 기타 Utilities 59 SDR_SDC_BIND_ROW SDR_SDC_UNBIND_ROW SDR_SDC_ROW_TIMESTAMPING SDR_SDC_DATA_SELFAGING SDR_SDC_BIND_TSS SDR_SDC_UNBIND_TSS SDR_SDC_SET_INITSCN_TO_TSS SDR_SDC_INIT_TSS_PAGE SDR_SDC_INIT_UNDO_PAGE SDR_SDC_INSERT_UNDO_REC DRDB에서 Trasaction Status Slots (TSS)과 언두 레코드에 관련된 로그 SDR_SDN_INSERT_INDEX_KEY SDR_SDN_FREE_INDEX_KEY SDR_SDN_INSERT_UNIQUE_KEY SDR_SDN_INSERT_DUP_KEY SDR_SDN_DELETE_KEY_WITH_NTA SDR_SDN_FREE_KEYS SDR_SDN_COMPACT_INDEX_PAGE DRDB에서 B- tree 인덱스 관련된 로그 SDR_SDN_MAKE_CHAINED_KEYS SDR_SDN_MAKE_UNCHAINED_KEYS SDR_SDN_KEY_STAMPING SDR_SDN_INIT_CTL SDR_SDN_EXTEND_CTL SDR_SDN_FREE_CTS DRDB에서 B- tree 인덱스 키를 위한 MVCC에 관련된 로그 SDR_STNDR_MAKE_CHAINED_KEYS SDR_STNDR_MAKE_UNCHAINED_KEYS SDR_STNDR_KEY_STAMPING DRDB에서 R- tree 인덱스 관련된 로그 SMR_PHYSICAL MMDB에서 물리적 로그 SMR_SMM_MEMBASE_SET_SYSTEM_SCN SMR_SMM_MEMBASE_ALLOC_PERS_LIST SMR_SMM_MEMBASE_ALLOC_EXPAND_CHUNK SMR_SMM_PERS_UPDATE_LINK SMR_SMM_PERS_UPDATE_NEXT_FREE_PAGE_LINK SMR_SMM_MEMBASE_INFO MMDB에서 기본 정보와 관련된 로그 S MR_SMC_TABLEHEADER_INIT SMR_SMC_TABLEHEADER_UPDATE_INDEX SMR_SMC_TABLEHEADER_UPDATE_COLUMNS SMR_SMC_TABLEHEADER_UPDATE_INFO SMR_SMC_TABLEHEADER_SET_NULLROW MMDB에서 테이블 헤더와 인덱스 헤더에 관련된 로그 60 Utilities Manual SMR_SMC_TABLEHEADER_UPDATE_ALL SMR_SMC_TABLEHEADER_UPDATE_ALLOCINFO SMR_SMC_TABLEHEADER_UPDATE_FLAG SMR_SMC_TABLEHEADER_SET_SEQUENCE SMR_SMC_TABLEHEADER_UPDATE_TABLE_COLUMN_COUN T SMR_SMC_TABLEHEADER_UPDATE_TABLE_SEGMENT SMR_SMC_TABLEHEADER_UPDATE_FLAG_FOR_MEDIA_REC V SMR_SMC_TABLEHEADER_SET_SEGSTOATTR SMR_SMC_TABLEHEADER_SET_INSERTLIMIT SMR_SMC_INDEX_SET_FLAG SMR_SMC_INDEX_SET_SEGATTR SMR_SMC_INDEX_SET_SEGSTOATTR SMR_SMC_INDEX_SET_DROP_FLAG SMR_SMC_PERS_INIT_FIXED_PAGE SMR_SMC_PERS_INIT_FIXED_ROW SMR_SMC_PERS_UPDATE_FIXED_ROW SMR_SMC_PERS_UPDATE_FIXED_ROW_NEXT_FREE SMR_SMC_PERS_UPDATE_FIXED_ROW_NEXT_VERSION SMR_SMC_PERS_SET_FIX_ROW_DROP_FLAG SMR_SMC_PERS_SET_FIX_ROW_DELETE_BIT SMR_SMC_PERS_INIT_VAR_PAGE SMR_SMC_PERS_UPDATE_VAR_ROW_HEAD SMR_SMC_PERS_UPDATE_VAR_ROW SMR_SMC_PERS_SET_VAR_ROW_FLAG SMR_SMC_PERS_SET_VAR_ROW_NXT_OID SMR_SMC_PERS_WRITE_LOB_PIECE SMR_SMC_PERS_INSERT_ROW SMR_SMC_PERS_UPDATE_INPLACE_ROW SMR_SMC_PERS_UPDATE_VERSION_ROW SMR_SMC_PERS_DELETE_VERSION_ROW MMDB에서 테이블 레코드와 관련된 로그 MVCC와 관련된 자세한 설명은 Administrator’s Manual 을 참고하기 바란다. 기타 Utilities 61 dumpddf 개요 dumpddf는 데이터 파일의 헤더 정보 또는 데이터 파일 내의 특정 페이지를 출력한다. dumpddf {-f datafile_name} {-m | -p pid} 구문 dumpddf -p -m -fdatafile_name pid 파라미터 파라미터 설명 -f 정보를 얻고 싶은 데이터 파일의 이름 이 옵션은 반드시 입력해야 한다. 생략하면 dumpddf는 에러 메시지를 출력하고 종료한다. -m 데이터 파일의 헤더 정보를 출력한다. -p 정보를 얻고 싶은 데이터 파일내의 페이지 ID 설명 데이터 파일의 헤더의 정보 또는 데이터 파일 내의 특정 페이지를 텍스트 형태로 출력한다. 지정한 페이지가 테이블이나 인덱스의 페이지이면 논리적으로 구성하여 출력한다. 사용예 쉘 프롬프트 상에서 다음과 같이 수행한다. 62 Utilities Manual $ 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까지 수행해야 한다. 기타 Utilities 63 killCheckServer 개요 실행중인 checkServer를 종료시킨다. killCheckServer 구문 killCheckServer 설명 실행중인 checkServer를 종료한다. 사용예 쉘 프롬프트 상에서 다음과 같이 수행한다. $ killCheckServer 64 Utilities Manual server 개요 알티베이스 데이터베이스의 생성, 구동 및 종료시키기 위한 쉘 스크립트이다. server { start | stop | restart | kill | status | create db_charset national_charset } 구문 start stop restart kill status create server db_charsetnational_charset 파라미터 파라미터 설명 start 알티베이스 프로세스를 구동한다. stop 알티베이스 프로세스를 종료한다. restart 알티베이스 프로세스를 재구동한다. kill 알티베이스 프로세스를 강제 종료한다. status 데이터베이스 내의 테이블 목록을 출력한다. create 크기 10M, 노아카이브 로그로 입력된 캐릭터 셋으로 데이터베이스를 생성한다. 기타 Utilities 65 설명 알티베이스의 구동 및 종료, 데이터베이스 생성은 iSQL상에서 SQL 구문으로 수행해야 한다. 알티베이스는 사용자 편의를 위해 관리자가 자주 사용하는 이러한 구문들을 묶어서 쉘 스크립트로 제공한다. server 스크립트가 제공하는 기능은 다음과 같다. 알티베이스 프로세스의 구동 알티베이스 프로세스의 종료 알티베이스 프로세스의 재구동 알티베이스 프로세스의 강제 종료 “SELECT * FROM TAB;” 결과 출력 알티베이스 데이터베이스 생성 알티베이스 관리를 위한 SQL 구문에 대한 자세한 내용은 iSQL User’s Manual을 참조한다. 사용예 사용 방법은 다음과 같다. $ server start $ server restart $ server stop $ server status $ server kill $ server create ksc5601 utf16 참고사항 Administrator’s Manual 과 iSQL User’s Manual 를 참고하기 바란다. 66 Utilities Manual convdp 개요 DataPort 파일 (.dpf)의 문자집합을 대상 데이터베이스의 문자집합으로 변환하는 유틸리티이다. convdp {-f source_file} {-t target_file} { [-d db_charset] [-n national_charset] } 구문 source_file-ftarget_file-t db_charset-d -n convdp national_charset 파라미터 파라미터 설명 -f 변환할 파일의 이름 -t 변환한 데이터를 저장할 파일의 이름 -d CHAR와 VARCHAR 데이터 타입의 데이터를 어떤 데이터베이스 문자 셋으로 변환할 지 지정한다. -n NCHAR와 NVARCHAR 데이터 타입의 데이터를 어떤 national 문자 셋으로 변환할 지 지정한다. 설명 DataPort 파일 (.dpf)내의 데이터의 문자 셋 (character set)과 국가 기타 Utilities 67 문자 셋 (national character set)이 대상 데이터베이스와 다를 때, convdp 유틸리티를 사용해서 DataPort 파일의 데이터를 대상 데이터베이스와 동일한 문자 셋으로 변환할 수 있다. 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 ConvDP: Release 5.5.1.0 - Production on Oct 28 2010 04:46:58 (c) Copyright 2001 ALTIBase Corporation. All rights reserved. Convert Charset: [0 ]INTEGER [1 ]VARCHAR (KSC5601->UTF8) Convert 1 rows... Done. 참고사항 Stored Procedures Manual를 참고하기 바란다. 찾아보기 69 찾아보기 ㅎ 환경변수 ........................................................... 8 A aexport ......................................................... 1, 9 객체 모드 .................................................... 4 구문 ................................................................ 9 사용자 모드 ................................................ 3 쉘 스크립트 파일 .................................... 4 전체DB 모드 .............................................. 3 파라미터....................................................... 9 프로퍼티.....................................................18 aexport 설정 .................................................. 6 aexport 프로퍼티 .......................................18 aexport소개 ..................................................... 2 altibase ............................................................29 ALTIBASE_HOME........................................... 8 ALTIBASE_NLS_USE ...................................... 8 ALTIBASE_PORT_NO.................................... 8 altidump .........................................................31 altierr ................................................................35 altimon ............................................................33 altipasswd ...................................................... 37 altiProfile ........................................................ 38 C checkServer ................................................... 43 convdp ............................................................ 72 D dumpddf ........................................................ 67 dumpla ............................................................ 45 dumplf ............................................................. 54 I ILOADER_FIELD_TERM.............................. 21 K killCheckServer ............................................ 69 S server ............................................................... 70 SHMUTIL ........................................................ 23 SHMUTIL 사용방법 ................................... 25 SHMUTIL 소개 ............................................. 24
-
- [Altibase 5.3.3] Utilities User's Manual_KOR ㅣ 2012-09-27
- ALTIMON ........................................................................................................................................ 24 ALTIERR ............................................................................................
-
미리보기
ALTIBASE Tools Utilities User’s Manual Release 5.3.3 -------------------------------------------- ALTIBASE Tools Utilities User’s Manual Release 5.3.3 Copyright ⓒ 201~209 ALTIBASE Corp. All Rights Reserved. 본 문서의 저작권은 ㈜알티베이스에 있습니다. 이 문서에 대하여 당사의 동의 없이 무단으로 복제 또는 전용할 수 없습니다. ㈜알티베이스 152-790 서울시 구로구 구로동 182-13 대륭포스트타워Ⅱ 10 층 전화: 02-2082-1114 팩스: 02-2082-1099 e-mail: support@altibase.com homepage: http://ww.altibase.com -------------------------------------------- 목차 i 목 차 서문 .......................................................................................................................... i 이 매뉴얼에 대하여 ...................................................................................................................... ii 1. AEXPORT ........................................................................................................ 1 AEXPORT소개 ................................................................................................................................... 2 AEXPORT사용방법 .......................................................................................................................... 6 2. SHMUTIL ...................................................................................................... 13 SHMUTIL 소개 .............................................................................................................................. 14 SHMUTIL 사용방법 ..................................................................................................................... 15 3. 기타 Utilities ............................................................................................... 19 ALTIBASE ......................................................................................................................................... 20 ALTIDUMP ...................................................................................................................................... 22 ALTIMON ........................................................................................................................................ 24 ALTIERR ........................................................................................................................................... 26 ALTIPASSWD ................................................................................................................................. 28 ALTIPROFILE .................................................................................................................................. 29 CHECKSERVER .............................................................................................................................. 33 DUMPLA .......................................................................................................................................... 35 DUMPLF .......................................................................................................................................... 43 KILLCHECKSERVER ...................................................................................................................... 46 SERVER ............................................................................................................................................ 47 찾아보기 .............................................................................................................. 49 서문 i 서문 ii ALTIBASE5 Utilities User’s Manual 이 매뉴얼에 대하여 이 매뉴얼은 알티베이스를 사용하면서 필요한 유틸리티에 대해서 설명한다. 대상 사용자 이 매뉴얼은 다음과 같은 알티베이스 사용자를 대상으로 작성되었다. y 데이터베이스 관리자 y 성능 관리자 y 데이터베이스 사용자 y 응용 프로그램 개발자 y 기술지원부 다음과 같은 배경 지식을 가지고 이 매뉴얼을 읽는 것이 좋다. y 컴퓨터, 운영 체제 및 운영 체제 유틸리티 운용에 필요한 기본 지식 y 관계형 데이터베이스 사용 경험 또는 데이터베이스 개념에 대한 이해 y 컴퓨터 프로그래밍 경험 y 데이터베이스 서버 관리, 운영 체제 관리 또는 네트워크 관리 경 험 소프트웨어 환경 이 매뉴얼은 데이터베이스 서버로 알티베이스 버전 5.3.3 을 사용한다는 가정 하에 작성되었다. 이 매뉴얼의 구성 이 매뉴얼은 다음과 같이 구성되어 있다. y 제 1장 AEXPORT 이 장은 알티베이스 데이터베이스 간 자동화된 데이터 마이그레 이션(migration)을 지원하기 위한 도구인 AEXPORT에 대해서 설명한다. y 제 2장 SHMUTIL 이 장은 알티베이스가 사용 중인 공유 메모리를 조회, 백업, 삭 제할 수 있는 유틸리티인 SHMUTIL에 대해서 설명한다. y 제 3장 기타 Utilities 서문 iii 이 장은 AEXPORT와 SHMUTIL을 제외한 나머지 유틸리티에 대해서 설명한다. 문서화 규칙 이 절에서는 이 매뉴얼에서 사용하는 규칙에 대해 설명한다. 이 규칙을 이해하면 이 매뉴얼과 설명서 세트의 다른 매뉴얼에서 정보를 쉽게 찾을 수 있다. 여기서 설명하는 규칙은 다음과 같다. y 구문 다이어그램 y 샘플 코드 규칙 구문 다이어그램 이 매뉴얼에서는 다음 구성 요소로 구축된 다이어그램을 사용하여, 명령문의 구문을 설명한다. 구성 요소 의미 예약어 명령문이 시작한다. 완전한 명령문이 아닌 구문 요소는 화살표로 시작한다. 명령문이 다음 라인에 계속된다. 완전한 명령문이 아닌 구문 요소는 이 기호로 종료한다. 명령문이 이전 라인으로부터 계속된다. 완전한 명령문이 아닌 구문 요소는 이 기호로 시작한다. ; 명령문이 종료한다. SELECT 필수 항목 NOT 선택적 항목 ADD DROP 선택사항이 있는 필수 항목. 한 항목만 제공해야 한다. ASC DESC 선택사항이 있는 선택적 항목 iv ALTIBASE5 Utilities User’s Manual , 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; acc NUMBER(11,2); 기울임 꼴 구문 요소에서 사용자가 지정해야 하는 변수, 특수한 값을 제공해야만 하는 위치 지정자 SELECT * FROM table_name; CONNECT userID/password; 소문자 사용자가 제공하는 프로그램의 요소들, 예를 들어 테이블 이름, 칼럼 이름, 파일 이름 등 SELECT ename FROM employee; 대문자 시스템에서 제공하는 요소들 또는 구문에 나타나는 키워드 DESC SYSTEM_.SYS_INDICES_; 서문 v 관련 자료 자세한 정보를 위하여 다음 문서 목록을 참조하기 바란다. y ALTIBASE Administration Installation User’s Manual y ALTIBASE Administration Administrator’s Manual y ALTIBASE Administration Replication User’s Manual y ALTIBASE Application Development Precompiler User’s Manual y ALTIBASE Application Development ODBC User’s Manual y ALTIBASE Application Development Application Program Interface User’s Manual y ALTIBASE Tools iSQL User’s Manual 온라인 매뉴얼 알티베이스 테크니컬 센터(http://atc.altibase.com/)에서 국문 및 영문 매뉴얼(PDF, HTML)을 받을 수 있다. 알티베이스는 여러분의 의견을 환영합니다. 이 매뉴얼에 대한 여러분의 의견을 보내주시기 바랍니다. 사용자의 의견은 다음 버전의 매뉴얼을 작성하는데 많은 도움이 됩니다. 보내실 때에는 아래 내용과 함께 기술지원센터(support@altibase.com)로 보내주시기 바랍니다. y 사용 중인 매뉴얼의 이름과 버전 y 매뉴얼에 대한 의견 y 사용자의 성함, 주소, 전화번호 이 외에도 알티베이스 기술지원 설명서의 오류와 누락된 부분 및 기타 기술적인 문제들에 대해서 이 주소로 보내주시면 정성껏 처리하겠습니다. 기술적인 부분과 관련하여 즉각적인 도움이 필요한 경우에는 기술지원센터로 연락하시기 바랍니다. 여러분의 의견에 항상 감사드립니다. AEXPORT 1 1. AEXPORT 2 ALTIBASE5 Utilities User’s Manual AEXPORT 소개 개요 AEXPORT 는 알티베이스 데이터베이스 간의 자동화된 데이터 마이그레이션(migration)을 지원하기 위한 도구이다. AEXPORT 는 데이터베이스의 논리적인 구조 및 데이터를 텍스트로 저장하고, 이를 다시 새로운 알티베이스 데이터베이스로 로딩하기 위한 스크립트를 자동으로 생성하여 준다. AEXPORT 가 접속한 데이터베이스로부터 추출할 수 있는 객체 및 구성 요소는 데이터베이스 사용자, 사용자 권한, 테이블, 테이블스페이스, 테이블 제약조건, 인덱스, 뷰, 저장 프로시저, 시퀀스, 그리고 이중화 객체이다. AEXPORT 는 데이터베이스의 논리적인 구조를 SQL 스크립트로 변환하여 저장하고, 모든 데이터를 텍스트로 내려받기 때문에 상이한 알티베이스 버전간, 그리고 상이한 플랫폼 간의 데이터 이동 시에 유용하게 사용될 수 있다. 또한 오프라인 백업의 용도로도 사용이 가능하다. AEXPORT 기능 소개 AEXPORT 가 추출할 수 있는 데이터베이스 객체 및 구성 요소는 다음과 같다. y 데이터베이스 사용자 y 사용자 권한 y 테이블스페이스 y 테이블 y 테이블 제약 조건 y 인덱스 y 뷰 y 저장 프로시저 y 이중화 객체 AEXPORT 를 수행하면 위에 열거한 데이터베이스 구성 요소를 생성하기 위한 SQL 스크립트와 이를 구동하기 위한 쉘 스크립트가 생성된다. SQL 스크립트 파일 AEXPORT 수행 시 생성되는 SQL 스크립트 파일들은 다음과 같다. AEXPORT 3 y SYS_CRT_DERECTORY.sql : 디렉토리 객체 생성 y SYS_CRT_USER.sql : 사용자 생성 y SYS_PRIV_USER.sql : 사용자 권한 y SYS_CRT_SYNONYM.sql : 시노님(Synonym) 객체 생성 y SYS_CRT_REP.sql : 이중화 객체 생성 y ALL_CRT_VIEW.sql : 뷰 생성 y ALL_CRT_PROC.sql : 저장 프로시저 생성 y ALL_CRT_TBS.sql : 테이블스페이스 생성 y {사용자명}_CRT_TBL.sql : 사용자 테이블 생성 y {사용자명}_CRT_INDEX.sql : 사용자 인덱스 생성 y {사용자명}_CRT_FK.sql : 사용자 외래키(Foreign Key) 생성 y {사용자명}_CRT_TRIG.sql : 사용자 트리거 생성 y {사용자명}_CRT_SEQ.sql : 사용자 시퀀스 생성 y {사용자명}_CRT_LINK.sql : 사용자 데이터베이스 링크 생성 쉘 스크립트 파일 AEXPORT 수행 시 생성되는 쉘 스크립트 파일들은 다음과 같다. y run_il_in.sh : 데이터 로드 스크립트 y run_il_out.sh : 데이터 다운로드 스크립트 y run_is.sh : 스키마 생성 스크립트 y run_is_fk.sh : 외래키 생성 스크립트 y run_is_index.sh : 인덱스 생성 스크립트 y run_is_repl.sh : 이중화 생성 스크립트 AEXPORT 수행 후 생성된 쉘 스크립트를 대상 데이터베이스에서 실행하면, 데이터베이스의 논리적 구조가 자동으로 구성된다. 또한 기존의 데이터가 모두 대상 데이터베이스에 로딩된다. 쉘 스크립트는 알티베이스 iLoader 를 사용하여 데이터 다운로드 및 업로드를 수행한다. 단, 쉘 스크립트 내에서 iLoader 를 사용하는 과정은 완전히 자동화되어 있기 때문에 사용자가 iLoader 의 사용법에 익숙치 않아도 사용이 가능하다. AEXPORT 에 의해 생성된 모든 파일은 텍스트 파일이기 때문에 사용자의 필요에 따라 변경 후 사용이 가능하므로, 좀 더 유연한 활용이 가능하다. AEXPORT 설정 AEXPORT는 서버에 접속하기 위해서 다음과 같은 정보가 필요하다. y ALTIBASE_HOME 서버 혹은 클라이언트가 설치된 경로 y server_name 4 ALTIBASE5 Utilities User’s Manual 알티베이스 서버가 구동되어 있는 컴퓨터 서버의 이름(또는 IP 주소) y port_no TCP 또는 IPC로 접속할 때 사용할 포트 번호 y user_id 데이터베이스에 등록된 사용자 ID y Password 사용자 ID와 일치하는 암호 y 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가 처음 실행될 때 옵션 입력 프롬프트를 띄우고 사용자에게서 해당 값을 입력받는다. 이 때 바르지 않은 형식이나 유효하지 않은 값을 입력할 경우, AEXPORT는 제대로 동작하지 않을 수 있다. 특히 NLS_USE 옵션은 사용자가 설정하지 않았더라도 실행시에 입력 프롬프트를 띄우지 않는다. 만약 사용자가 NLS_USE 옵션을 설정하지 않았다면 기본값인 US7ASCII를 이용해 접속을 시도한다. AEXPORT 5 이 때 서버가 US7ASCII를 사용하지 않는 경우에는 올바로 실행되지 않거나 사용자 데이터가 일부 깨질 수 있으므로 반드시 NLS_USE를 사용 환경에 맞는 값으로 설정해야 한다. 원활한 AEXPORT 사용을 위해 다음 환경 변수를 설정할 것을 권장한다. y ALTIBASE_HOME: 서버 혹은 클라이언트가 설치된 경로 y ALTIBASE_PORT_NO: 서버에 접속할 때 사용할 포트 번호 y ALTIBASE_NLS_USE: 데이터 검색 시, 사용자에게 보여주는 문자 셋 y PATH: 실행파일이 있는 경로인 $ALTIBASE_HOME/bin 추가 환경변수 ALTIBASE_HOME 패키지가 설치된 디렉토리를 설정한다. MS 윈도우의 경우, 서버 설치시에는 자동으로 설정되지만 클라이언트 설치시에는 서버를 위한 환경 변수와 충돌이 있을 수 있으므로 자동으로 설정되지 않는다. 클라이언트 설치시에는 사용자가 직접 설정해야 한다. aexport 사용을 위해 반드시 설정해야 하는 환경변수이다. ALTIBASE_PORT_NO 접속할 서버의 포트 번호이다. -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에 설정한 값이 다를 경우에는 정상적으로 동작하지 않을 수 있다. 반드시 적절한 값을 설정할 것을 권장한다. 6 ALTIBASE5 Utilities User’s Manual AEXPORT 사용방법 구문 파라미터 파라미터 설명 -h 도움말을 출력한다. -s 접속할 서버의 호스트 명 또는 아이피를 설정한다. 생략시 호스트 명 입력 프롬프트가 출력된다. -u 접속할 알티베이스의 사용자명을 설정한다. 생략 시 사용자명 입력 프롬프트가 출력된다. -p 접속할 알티베이스 사용자의 패스워드를 설정한다. 생략시 패스워드 입력 프롬프트가 출력된다. -port 접속할 알티베이스의 포트번호를 설정한다. 생략 시 환경 변수 ALTIBASE_PORT_NO, altibase.properties를 차례로 참조하며 설정되지 않았을 경우에는 포트 번호 입력 프롬프트가 AEXPORT 7 출력된다. -tserver 접속할 대상 서버를 지정한다. -tport 접속할 대상 서버의 포트번호를 설정한다. -NLS_USE 데이터베이스 저장 또는 검색시 사용되는 클라이언트 캐릭터 셋이다(US7ASCII, KO16KSC5601, MS949, BIG5, GB231280, UTF8, SHIFT-JIS, EUC-JP). 생략 시 환경변수 ALTIBASE_NLS_USE, altibase.properties를 차례로 참조하며, 설정되지 않았을 경우에는 기본 캐릭터 셋(US7ASCII)을 사용한다. 수행절차 AEXPORT 를 사용한 데이터베이스 마이그레이션 절차는 크게 다음과 같이 분류된다. y 데이터베이스 구조 추출 y 데이터 추출 y 대상 데이터베이스에 데이터베이스 구조 생성 y 대상 데이터베이스에 데이터 로딩 y 대상 데이터베이스에 인덱스, 외래키 생성 데이터베이스 구조 추출 AEXPORT 를 사용하여 데이터베이스 구조를 추출한다. y aexport를 수행한다. # aexport -s 127.0.0.1 -u sys -p manager y 알티베이스 데이터베이스 사용자의 암호를 설정한다. (대상 데이 터베이스에서 각 사용자가 사용하게 될 암호를 설정함) y 원격지에 있는 Altibase의 데이터를 AEXPORT를 이용하여 백 업을 할 때에는 원격지 서버의 주소와 포트(PORT)를 명시한다. # aexport -s 222.112.84.200 -port 20300 -u sys -p manager 데이터 추출 AEXPORT 에 의하여 생성된 쉘 스크립트를 실행하여 테이블 데이터를 추출한다. y 현재 작업중인 디스크에 충분한 공간이 있는지 확인한다. 텍스트 데이터의 경우 데이터베이스 내부 자료 형태보다 더 많은 용량을 차지할 수 있기 때문에 데이터 파일 사이즈의 두 배가량의 여유 공간 확보를 권장한다. 8 ALTIBASE5 Utilities User’s Manual y ‘ run_il_out.sh’ 스크립트를 수행한다. # sh run_il_out.sh 대상 데이터베이스에 데이터베이스 구조 생성 y AEXPORT와 “run_il_out.sh”에 의해 생성된 모든 SQL 스크립 트와 쉘 스크립트, 그리고 ‘fmt', ‘log’, ‘dat’ 형식의 파일을 대상 데이터베이스가 존재하는 시스템으로 복사한다. 대상 데이터베이 스가 동일한 시스템에 존재하는 경우 이 과정은 생략한다. y 대상 데이터베이스를 구동시킨다. y ‘ run_is.sh’ 스크립트를 수행한다. # sh run_is.sh y iSQL로 데이터베이스에 접속하여 데이터베이스 구조가 올바르게 생성되었는지 확인한다. 만약, 데이터베이스 구조가 올바르게 생 성되지 않았다면, run_is.sh 수행 당시의 화면출력을 검사하여 문제를 파악한다. 대상 데이터베이스에 데이터 로딩 y ‘ run_il_in.sh’ 스크립트를 수행한다. # sh run_il_in.sh y ‘run_il_in.sh’ 디렉토리에서 확장자가 ‘bad’인 파일들 중 사이 즈가 0이 아닌 파일이 있는지 검사한다. 해당 파일이 있을 경우 해당 테이블에 관련된 로그 파일 및 배드 파일의 내용을 검사하 여 조치한다. 이에 관련된 자세한 사항은 iLoader User’s Manual 을 참조한다. 대상 데이터베이스에 인덱스 및 외래키 생성 y ‘ run_is_index.sh’ 스크립트를 수행한다. # sh run_is_index.sh y ‘ run_is_fk.sh’ 스크립트를 수행한다. # sh run_is_fk.sh 주의사항 y SYS 사용자가 아닌 일반 사용자로 AEXPORT를 실행할 경우 해당 사용자가 생성한 스키마에 대해서만 스크립트를 생성한다. y SYS 사용자가 아닌 일반 사용자로 AEXPORT를 실행할 경우 이중화 객체는 생성되지 않는다. y ‘ run_is.sh’ 스크립트 구동 시 기존에 있는 모든 사용자 및 객체 를 삭제하므로, 소스 데이터베이스에서 해당 스크립트를 수행하 AEXPORT 9 지 않도록 주의해야 한다. y 파라미터 -s, -p는 일반적으로 서버에 접속하기 위한 용도뿐 아 니라 스크립트에서도 함께 사용된다. 그러나 -tserver, -tport 와 함께 사용될 경우에는 -s와 -p는 서버에 접속하는 용도로만 사용되고, 스크립트에는 -tserver와 -tport가 사용된다. # aexport -s 127.0.0.1 -u sys -p manager -tserver 192.168.3.157 -tport 21132 # cat run_il_in.sh ${ALTIBASE_HOME}/bin/iloader -s 192.168.3.157 -port 21132 -u SYS -p MANAGER in -f SYS_T1.fmt -d SYS_T1.dat -log SYS_T1.log -bad SYS_T1.bad AEXPORT 의 한계 y 저장 프로시저 생성 시 참조해야 할 저장 프로시저가 미리 생성 되어 있지 않으면 작업이 실패하게 된다. AEXPORT는 저장 프 로시저 간의 의존성에 대한 정보에 접근할 수가 없기 때문에 저 장 프로시저 생성 순서를 보장할 수 없다. 이런 경우 저장 프로 시저 생성에 실패할 수 있기 때문에 대상 데이터베이스에 저장 프로시저를 수동으로 생성해야 한다. y AEXPORT는 시퀀스의 메타 정보에 제한적인 접근만이 가능하 다. 이러한 제약 때문에 SYS 사용자 이외의 계정에서 생성한 시 퀀스의 경우 ‘increment by’에 의해서 지정된 시퀀스 특성만 반 영이 되고 나머지 특성은 기본 값으로 설정된다. 이러한 제약사 항이 문제가 되는 경우 시퀀스를 대상 데이터베이스에 수동으로 생성해야 한다. 사용 예제 AEXPORT 수행 예제 ##### Directory ##### ##### Synonym ##### ##### QUEUE ##### ##### TRIGGER ##### 6. run_is_repl.sh : [ isql replication script ] % aexport -s 127.0.0.1 -u sys -p manager ------------------------------------------- Altibase Export Script Utility. Release Version 5.3.3.1 Copyright 20, ALTIBASE Corporation or its subsidiaries. Al Rights Reserved. ------------------------------------------- ##### TBS ##### 10 ALTIBASE5 Utilities User’s Manual ##### User ##### ##### Synonym ##### ##### Directory ##### ##### Table ##### * "SYS"."ALTITBL" * "SYS"."SAVEPT" ##### QUEUE ##### ##### Sequence ##### ##### Database Link ##### ##### Procedure ##### ##### View ##### ##### Replication ##### ##### TRIGGER ##### ------------------------------------------- #### Follow script files are 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_index.sh : [ isql table-index script ] 5. run_is_fk.sh : [ isql table-foreign key script ] 6. run_is_repl.sh : [ isql replication script ] % ls -1 ALL_CRT_PROC.sql ALL_CRT_TBS.sql ALL_CRT_VIEW.sql SYS_CRT_DIRECTORY.sql SYS_CRT_FK.sql SYS_CRT_INDEX.sql SYS_CRT_REP.sql SYS_CRT_SYNONYM.sql SYS_CRT_TBL.sql SYS_CRT_USER.sql SYS_PRIV_USER.sql run_il_in.sh run_il_out.sh run_is.sh run_is_fk.sh run_is_index.sh run_is_repl.sh AEXPORT 프로퍼티 y OPERATION = IN/OUT OUT으로 설정할 경우, 모든 스키마와 데이터를 추출할 수 있는 AEXPORT 11 스크립트가 생성된다. 데이터 추출 스크립트(iLoader 실행 명령 어로 구성)를 실행하면 form 파일(.fmt)과 데이터 파일(.dat)이 만들어진다. IN으로 설정할 경우, OUT에서 생성된 스키마 생성 스크립트와 데이터 로딩 스크립트를 실행하여 대상 데이터베이스에 스키마와 데이터가 만들어진다. y EXECUTE = ON/OFF 생성한 스크립트를 자동으로 수행할 것인지 여부를 설정한다. ON일 경우 OPERATION 타입에 맞는 적절한 스크립트 파일(프 로퍼티에 설정된 파일 이름 참조)을 실행하고, OFF일 경우 스크 립트만 생성한다. y INDEX = ON/OFF 대상 데이터베이스에 스키마 구성시 인덱스 포함여부를 결정한다 . 데이터 로딩 후 인덱스를 생성하고자 할 경우 이 프로퍼티를 OFF로 설정한다.. y USER_PASSWORD = altibase 원 데이터베이스에서 추출된 사용자를 대상 데이터베이스에 생성 시 암호를 설정하기 위해 사용한다.(AEXPORT는 사용자 객체 추출시 사용자의 암호를 알 수 없기 때문에 수동 설정이 필요하 다.) 이 프로퍼티가 설정되어 있지 않을 경우 각 사용자의 암호 를 묻는 프롬프트가 수행된다. y VIEW_FORCE = ON/OFF 뷰의 기본 테이블 등이 존재하지 않아도 뷰를 강제로 생성한다. y DROP = ON/OFF 생성 스크립트 내부에 DROP 구문을 포함할 것인지 여부를 결정 한다. 대상 데이터베이스 내에 이미 객체가 존재할 경우 기존 객 체를 제거하기 위해 사용한다. 기존 객체를 삭제하기 때문에 사 용에 주의를 요한다. y ILOADER_OUT = run_il_out.sh 원 데이터베이스에서 데이터를 추출하기 위해 생성되는 쉘 스크 립트 파일명을 설정한다. OPERATION 프로퍼티를 OUT으로 설 정할 경우에 사용된다. y ILOADER_IN = run_il_in.sh 대상 데이터베이스에 데이터 로딩을 위해 사용될 쉘 스크립트의 파일명을 설정한다. y ISQL = run_is.sh 대상 데이터베이스에 데이터베이스 스키마를 구성하기 위한 스크 립트의 파일명을 설정한다. y ISQL_INDEX = run_is_index.sh 대상 데이터베이스에 인덱스를 생성하기 위한 쉘 스크립트의 파 일명을 설정한다. y ISQL_REPL = run_is_repl.sh 대상 데이터베이스에 이중화를 생성하기 위한 쉘 스크립트의 파 12 ALTIBASE5 Utilities User’s Manual 일명을 설정한다. y ILOADER_FIELD_TERM 테이블의 데이터를 텍스트로 다운로드 할 때 사용할 필드 구분자 를 설정한다. 설정하지 않을 경우 기본값은 쉼표(,)로 구분되며, 숫자는 그대로, 문자형 칼럼은 큰 따옴표(“”)로 구성된다. 그러나 ‘#’ 문자열을 사용할 경우 # 이하를 주석으로 처리하기 때문에, 구분자로 사용할 수 없다. y ILOADER_ROW_TERM 테이블 데이터를 텍스트로 내릴 때 사용할 레코드 구분자를 설정 한다. 설정하지 않을 경우 기본값은 이다. 그러나 ‘#’ 문자 열을 사용할 경우 # 이하를 주석으로 처리하기 때문에 구분자로 사용할 수 없다. 참고사항 iLoader User’s Manual 참조 SHMUTIL 13 2. SHMUTIL 14 ALTIBASE5 Utilities User’s Manual SHMUTIL 소개 개요 알티베이스가 사용중인 공유 메모리를 조회, 백업, 삭제할 수 있는 유틸리티이다. shmutil [OPTIONS -pwe] [-d HOME_DIR] [-f PROPERTY_FILE] 기능소개 알티베이스는 메모리 내에 데이터 영역을 할당할 때 프로세스 힙(heap)과 공유 메모리 중 하나를 사용하게 된다. 알티베이스가 데이터를 공유 메모리에 할당할 경우 알티베이스 프로세스가 종료된 후에도 데이터는 공유 메모리상에 계속 존재한다. 따라서 이에 대한 조회 및 관리를 위한 도구로서 SHMUTIL 을 제공한다. SHMUTIL 이 제공하는 기능은 다음과 같다. y 공유 메모리 정보 확인 y 공유 메모리 저장 y 공유 메모리 제거 SHMUTIL 15 SHMUTIL 사용방법 구문 shmut i l -e -w -dhome di r ect or y-f pr oper t y di r ec t or y -p 파라미터 파라미터 설명 -p 공유 메모리의 정보를 확인한다. -w 공유 메모리를 디스크에 기록한다. -e 공유 메모리를 제거한다. -d 알티베이스 홈 디렉터리의 경로를 지정한다. -f 프러퍼티 파일을 지정한다. 공유 메모리 정보 조회 데이터 영역으로 사용중인 공유 메모리의 요약 정보 및 공유 메모리 세그먼트 별 상세 정보를 조회한다. $ shmutil -p 알티베이스가 정상적으로 구동중인 경우 다음과 같은 메시지가 출력된다. $ shmutil -p ShmUtil: Release 5.3.3.1 - Production on Dec 16 2009 16:05:48 (c) Copyright 2001 ALTIBase Corporation. All rights reserved. #################### IPC Information ###################### SHM BASE KEY = 999(0x1869f) ID = 1493173498(0x590004fa) #################### Brief Information ###################### 16 ALTIBASE5 Utilities User’s Manual SIZE(MB) PAGE(#) TOTAL 4.0312 129 USED 2.718 87 FRE 1.3125 42 Timestamp is 1262224629(sec) / 23089(usec) #################### Detail Information ###################### # Shared Memory Chunk # Shm Key = 9 Shm Id = 1493173498 Page Count = 320 Size(MB) = 10.0 공유 메모리 사용량 결과 분석에 대한 자세한 내용은 Administrator’s Manual을 참고한다. 공유 메모리 저장 공유 메모리 상에 로딩되어 있는 데이터베이스를 디스크에 백업한다. $ shmutil -w 공유 메모리 저장은 반드시 알티베이스 프로세스가 종료된 상태에서만 수행해야 한다. 다음은 공유 메모리에 로딩되어 있는 데이터베이스를 mydb_backup 으로 백업 작업하는 예제이다. $ shmutil -w ShmUtil: Release 5.3.3.1 - Production on Dec 16 2009 16:05:48 (c) Copyright 2001 ALTIBase Corporation. All rights reserved. !!!!!! WARNING !!!!!! Duplicated DB-Name will overwrite original DB-file. Use Different DB-Path. Orignal DB Path 1) => /home/altibase_home/dbs Input DB-Path => mydb_backup 백업 이름 입력 Tablespace File saving...SYS_TBS_MEM_DIC Tablespace File saving...SYS_TBS_MEM_DATA [SUCCESS] Database File Saved 공유 메모리 제거 현재 공유 메모리 상에 로딩되어 있는 데이터베이스를 삭제한다. $ shmutil -e 공유 메모리의 삭제는 반드시 알티베이스 프로세스가 종료된 상태에서만 수행해야 한다. SHMUTIL 17 수행방법은 다음과 같다. $ shmutil -e ShmUtil: Release 5.3.3.1 - Production on Dec 16 2009 16:05:48 (c) Copyright 2001 ALTIBase Corporation. All rights reserved. Ready for Destroying Shared Memory? (y/N)y [SUCCESS] All Shared Memory Removed [SUCCESS] Database File Saved 참고사항 Administrator’s Manual 참조 Starting User’s Manual 참조 기타 Utilities 19 3. 기타 Utilities 20 ALTIBASE5 Utilities User’s Manual ALTIBASE 개요 ‘altibase’는 알티베이스의 모든 서비스를 관장하는 서버 프로세스의 실행 가능 파일이다. altibase {-v|n} 구문 altibase -v -n 파라미터 파라미터 설명 -v 설치되어 있는 알티베이스 제품의 버전 정보를 출력한다. -n 알티베이스를 포그라운드에서 수행한다. 설명 ‘altibase’는 알티베이스의 모든 서비스를 관장하는 서버 프로세스의 실행 가능(executable) 파일이다. 알티베이스의 구동 및 종료는 iSQL 에 nologging 모드로 접속한 뒤, 구동이나 종료 명령을 입력하여 수행한다. iSQL 로 구동된 알티베이스 서버 프로세스는 백그라운드에서 운영된다. 알티베이스는 관련된 일련의 명령을 묶어놓은 ‘SERVER’ 스크립트를 제공한다. 관련 내용은 본 문서의 ‘SERVER’ 항목을 참조한다. 보다 자세한 알티베이스의 구동 및 종료에 관한 내용은 iSQL User’s Manual 이나 Starting User’s Manual을 참조한다. 기타 Utilities 21 반면, 쉘 프롬프트에서 ‘altibase’를 수행할 경우 알티베이스는 백그라운드에서 구동되지 않는다. 단, ‘-n’ 옵션을 부여할 경우 포그라운드에서 알티베이스가 구동된다. 이는 알티베이스 디버깅을 위한 용도로만 사용되며, 실 운영시에는 사용하지 않도록 한다. ‘altibase’ 실행 가능 파일은 ‘-v’ 옵션을 통하여 현재 설치된 알티베이스 제품의 버전 정보를 출력한다. 참고사항 Starting User’s Manual 참조 Administrator’s User’s Manual 참조 iSQL User’s Manual 참조 22 ALTIBASE5 Utilities User’s Manual ALTIDUMP 개요 알티베이스 비정상 종료시 altibase_boot.log 에 기록된 알티베이스 프로세스 콜 스택을 사용자가 식별할 수 있는 형태로 변환하여 출력한다. altidump boot.log [altibase bin] 구문 altibase_boot.logaltidump altibase 파라미터 파라미터 설명 altibase_boot.log 알티베이스 비정상 종료시 콜 스택이 기록된 로그 파일. altibase 알티베이스 서버 바이너리. 지정하지 않을 경우 ${ALTIBASE_HOME}/bin/altibase을 참조한다. 설명 시스템의 비정상적인 동작 및 발견되지 않은 알티베이스 버그로 인하여 알티베이스 서버가 더 이상의 정상적인 서비스를 제공할 수 없는 상황이 발생면, 차후 문제 재발을 방지 및 해결을 위하여 당시 상황 분석이 필요하게 된다. 알티베이스는 이러한 상황에 대비하여 알티베이스가 더 이상 정상적으로 수행될 수 없는 상황에 처하게 될 경우, 알티베이스 프로세스의 콜스택을 altibase_boot.log 에 기록하고 서버 프로세스를 종료한다. 프로세스 콜 스택에는 알티베이스 종료 당시 수행되던 알티베이스 내부 모듈에 대한 정보가 기타 Utilities 23 기록된다. 그러나 이 정보는 사용자가 식별할 수 없는 프로세스내 함수 주소값만을 포함하고 있기 때문에 사용자가 식별할 수 있는 함수 형태로 변환이 필요하다. ALTIDUMP 는 altibase_boot.log 에 기록된 프로세스 콜 스택을 사용자가 식별할 수 있는 형태로 변환해주는 기능을 수행한다. ALTIDUMP 의 출력을 알티베이스 지원실에 송부하면, 보다 빠른 문제 해결에 도움이 될 수 있다. 사용예 y 기본 사용 방법 $ altidump $ALTIBASE_HOME/trc/altibase_boot.log ALTIDUMP 출력은 C++에서 오버로딩된 함수를 내부적인 형식으로 표기하기 때문에 정확한 형태의 코드를 제공하지 못한다. 이러한 출력을 보다 알기 쉬운 형태로 변환하기 위해서 c++filt 를 사용한다. 사용법은 다음과 같다. y SunOS $ altidump $ALTIBASE_HOME/trc/altibase_boot.log | /opt/SUNWspro/bin/c++filt y 그외의 OS $ altidump $ALTIBASE_HOME/trc/altibase_boot.log | c++filt 24 ALTIBASE5 Utilities User’s Manual ALTIMON 개요 알티베이스 서버 프로세스의 동작 상태를 모니터링한다. altimon.sh [view|stop|restart] 구문 altimon.sh restart view stop 파라미터 파라미터 설명 view 로그 파일에 갱신된 내용을 화면에 지속적으로 출력한다. stop ALTIMON의 수행을 종료한다. restart ALTIMON을 재시작한다. 설명 ALTIMON 은 알티베이스 서버 프로세스 및 쓰레드, 그리고 시스템 자원 사용 현황을 지속적으로 모니터링하여 로그 파일에 기록한다. ALTIMON 이 생성한 로그 파일은 안정적인 시스템 운용을 위한 기초 자료로 활용되며, 시스템에 장애 상황 발생시 원인 분석에 사용된다. ALTIMON 이 모니터링하는 항목은 다음과 같다. y 알티베이스 프로세스 y 알티베이스가 사용중인 메모리 기타 Utilities 25 y 이중화 y 세션 y 롱텀 트랜잭션 y 가비지 콜렉터 y 로그 파일 참고사항 Administator’s Manual 참조 26 ALTIBASE5 Utilities User’s Manual ALTIERR 개요 ALTIERR 은 알티베이스 서버 에러 코드에 대한 상세한 설명을 검색하여 출력하는 유틸리티이다. 에러 번호나 에러 메시지 패턴을 이용하여 검색이 가능하다. altierr {-w keyword pattern | [-n] error number} 구문 altierr -w -n error number keyword patern 파라미터 파라미터 설명 -w 에러 메시지에 포함된 키워드를 사용하여 검색한다. 키워드를 포함한 모든 레코드가 검색된다. -n 에러 번호를 사용하여 검색한다. 에러 번호는 16진수/양의 정수/음의 정수 형태로 입력가능하다. 에러 코드와 정확히 일치하는 레코드만 검색된다. 에러 번호를 사용하여 검색할 경우 파라미터를 생략 가능한다. 설명 ALTIERR 은 알티베이스 서버의 에러 코드 번호나 에러 메시지에 포함된 스트링을 이용하여 에러에 대한 상세한 설명을 검색하고 기타 Utilities 27 출력해 주는 유틸리티이다. 에러 상세 설명에는 에러 코드 번호, 에러 코드 스트링, 에러 설명, 에러가 발생한 원인, 그리고 에러에 대한 조치 사항이 포함된다. 알티베이스 서버는 에러 상황 발생시 해당 코드를 ‘ERR-{에러번호}’ 형태로 altibase_boot.log 에 출력한다. 여기서 에러 번호는 16 진수 값으로 해당 에러에 대한 상세 설명을 검색하기 위해선 ALTIERR 을 다음과 같이 사용할 수 있다. ex) For ‘ER-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” 사용예 ALTIERR 사용법은 다음과 같다. $ altierr 0x31045 $ altierr 200773 $ altierr -n 200773 $ altierr -n -200773 $ altierr -w connect $ altierr -w "does not" 참고사항 Error Message Reference 참조 28 ALTIBASE5 Utilities User’s Manual ALTIPASSWD 개요 SYSDBA 모드 접속을 위한 SYS 사용자의 암호를 변경한다. 데이터베이스 상에서 ALTER USER 문과 동시에 사용되며 ALTER USER 문으로만 암호를 변경했을 경우, 데이터베이스 구동, 종료 등 SYSDBA 작업을 했을 때 오류가 발생하게 된다. altipaswd 구문 설명 SYS 사용자의 암호를 변경한다. 사용예 SYS 사용자의 암호 manager 를 manager1234 로 변경한다면 쉘 프롬프트 상에서 다음과 같이 수행한다. $ altipasswd Previous Password : manager New Pasword : manager1234 기타 Utilities 29 ALTIPROFILE 개요 알티베이스 서버에서 QUERY_PROF_FLAG 프로퍼티를 설정하면 서버 내에서 수행되는 작업과 서버의 상태 정보를 파일로 기록하여 분석할 수 있게 한다. 서버가 남긴 상태 파일을 프로파일이라 하며 altiprofile 은 이 프로파일을 문자 형태로 변환하여 출력함으로써 사용자가 시스템의 상태를 분석할 수 있게 한다. altiprofile 구문 설명 서버가 남긴 프로파일을 문자 형태로 변환한다. 사용 예 $ altiprofile alti-1205717937-0.prof 사용 방법 QUERY_PROF_FLAG 프로퍼티를 설정하여 서버의 상태 및 작업 내용을 기록하도록 한다. QUERY_PROF_FLAG 프로퍼티의 값에 따라 다음의 정보들이 기록된다. 값 설명 0 기록하지 않음 1 SQL 문이 실행될 때마다 실행된 SQL문, 실행시간, 실행정보, 색인 및 디스크 접근 정보 출력 2 SQL 문이 실행될 때마다 BIND 파라미터 출력 30 ALTIBASE5 Utilities User’s Manual 4 SQL 문이 실행될 때마다 실행계획 출력 8 3초마다 세션 정보 출력(V$SESSTAT 정보) 16 3초마다 시스템 정보 출력(V$SYSSTAT 정보) 32 3초마다 메모리 정보 출력(V$MEMSTAT 정보) 위의 값을 조합하여 원하는 정보를 기록하도록 설정한다. 예를 들어, 프로퍼티를 1+4+32=37 로 설정하면 SQL 문이 실행될 때마다 SQL 문의 실행정보와 실행계획을 출력하고 3 초마다 메모리 정보를 출력한다. 프로퍼티가 설정되면, 서버는 alti-#시간-#번호.prof 형태로 파일을 남긴다. 사용자는 altiProfile 명령어로 상태 파일을 변환하여 분석할 수 있다. 주의사항 서버 내에서 실행되는 모든 SQL 문에 대해 실행 정보를 기록하며 또한 매 3 초마다 세션 및 시스템 정보 등 서버의 상태를 기록하므로 시스템에 부하를 줄 수 있다. 또한 프로파일링 파일이 커져 디스크가 꽉 차게 되면 문제가 발생할 수 있기 때문에, 프로파일링 설정시 신중해야 한다. 출력결과 다음과 같은 형식으로 출력된다. [STATEMENT] [BIND] [PLAN] [SESSION STAT] [SYSTEM STAT] [MEMORY STAT] [STATEMENT] [STATEMENT] 다음의 표는 실행한 STATEMENT 에 대한 정보를 나타낸다. 필드 이름 값 설명 SQL 문자열 실행된 SQL 문 User Info User ID INTEGER 사용자 식별자 Client PID BIGINT 클라이언트 프로세스 아이디 Client Type VARCHAR(40) 접속한 클라이언트의 타입 기타 Utilities 31 Client AppInfo VARCHAR(128) 클라이언트의 정보 문자열 Elapsed Time Total BIGINT 총 경과 시간 Parse BIGINT 파싱 경과 시간 Valid BIGINT 정당성 검사 경과 시간 Optim BIGINT 최적화 경과 시간 Execu BIGINT 실행 경과 시간 Fetch BIGINT Fetch 경과 시간 Query Execute Info EXECUTE Result Optimizer Mode BIGINT 최적화 모드 Cost Mode BIGINT 최적화 비용 Used Memory BIGINT 향후 확장 예정 SUCCESS SUM BIGINT 실행 성공 횟수의 총합 FAILURE SUM BIGINT 실행 실패 횟수의 총합 PROCESSED ROW BIGINT 처리된 레코드 개수 Index Access Info Memory Full Scan Count BIGINT 메모리 테이블에 대한 Full Scan이 발생한 횟수 Memory Index Scan Count BIGINT 메모리 테이블에 대한 Index Scan이 발생한 횟수 Disk Full Scan Count BIGINT 디스크 테이블에 대한 Full Scan이 발생한 횟수 Disk Index Scan Count BIGINT 디스크 테이블에 대한 Iindex Scan이 발생한 횟수 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 질의 수행시 UNDO영역 디스크 페이지에 대한 쓰기 연산 횟수 32 ALTIBASE5 Utilities User’s Manual GET UNDO PAGE BIGINT 질의 수행시 UNDO영역 디스크 페이지에 대한 버퍼 접근 횟수 CREATE UNDO PAGE BIGINT 질의 수행시 UNDO 영역 디스크 페이지에 대한 생성 횟수 [BIND] SQL 문에 바인드되는 변수들에 대한 정보이다. [PLAN] 실행된 SQL 문의 실행 계획이 출력된다. 실행 계획에 관한 자세한 내용은 Administrators Manual 의 SQL 튜닝 부분을 참고한다. [SESSION STAT] 매 3 초마다 V$SESSTAT 정보가 출력된다. V$SESSTAT 의 자세한 내용은 Administrators Manual의 성능 뷰 부분을 참고한다. [SYSTEM STAT] 매 3 초마다 V$SYSSTAT 정보가 출력된다. V$SYSSTAT 의 자세한 내용은 Administrators Manual의 성능 뷰 부분을 참고한다. [MEMORY STAT] 매 3 초마다 V$MEMSTAT 정보가 출력된다. V$ MEMSTAT 의 자세한 내용은 Administrators Manual의 성능 뷰 부분을 참고한다. 기타 Utilities 33 CHECKSERVER 개요 알티베이스 프로세스를 감시하여 알티베이스 비정상 종료시 수행해야 할 일을 스크립트 파일로 만들어 실행할 수 있도록 한다. checkServer [-n] {-f server-restart-script-file} 구문 checkServer -n -fserver-restrat-script-file 파라미터 파라미터 설명 -n CHECKSERVER를 foreground에서 수행 파라미터 생략시 checkServer는 background에서 수행 -f 알티베이스 구동 스크립트 설명 CHECKSERVER 는 주기적으로 알티베이스 프로세스가 구동중인지를 검사하여 알티베이스 프로세스가 비정상 종료되었을 경우 사용자가 지정한 스크립트를 수행한다. 알티베이스가 비정상 종료되었을 경우 알티베이스 재구동 스크립트를 수행하는 것이 일반적이며, 재 구동 스크립트는 다음과 같은 형식으로 작성한다. y 알티베이스 구동 스크립트 ‘restart.sh’ #! /bin/sh ALTIBASE_HOME=${HOME}/altibase_home/ ${ALTIBASE_HOME}/bin/server start 34 ALTIBASE5 Utilities User’s Manual CHECKSERVER 는 구동시 $ALTIBASE_HOME/trc 디렉토리에 ‘checkServer.pid’와 ‘checkServer.log’를 생성한다. ‘checkServer.pid’파일은 또다른 CHECKSERVER 가 동시에 수행되지 못하도록 하는 락의 역할을 하며 ‘checkServer.log’에는 CEHCKSERVER 의 동작 상태가 주기적으로 기록된다. CHECKSERVER 를 ‘kill -9’등의 방법으로 강제 종료했을 경우 ‘checkServer.pid’파일이 디렉토리에 계속 남아있어 CHECKSERVER 를 다시 수행 시 수행에 실패하게 된다. 이 때 ‘checkServer.pid’파일을 삭제하면 CHECKSERVER 를 정상적으로 수행할 수 있게된다. CHECKSERVER 를 종료하기 위해선 반드시 KILLCHECKSERVER 유틸리티를 이용한다. 사용예 쉘 프롬프트 상에서 다음과 같이 수행한다. $ checkServer -f restart.sh CHECKSERVER 는 알티베이스 서버가 비정상 종료하였을 경우에만 재구동 스크립트를 수행하며, 알티베이스가 사용자에 의하여 정상종료되었을 경우 알티베이스 서버와 함께 종료된다. 참고사항 KILLCHECKSERVER 절 참조 기타 Utilities 35 DUMPLA 개요 dumpla 는 이진 형식으로 저장된 loganchor 파일의 내용을 문자 형식으로 보여준다. loganchor 는 알티베이스의 물리적인 저장 정보(테이블스페이스, 데이터 파일)와 복구를 위해 필요한 정보들이 저장되는 파일이다. 알티베이스는 데이타베이스 생성(CREATE DATABASE 실행) 시에 이 파일 생성하고 altibase.properties 에 설정된 세 개의 LOGANCHOR_DIR 디렉토리에 loganchor#(#은 1, 2, 3)의 이름으로 저장, 관리한다. 세 개의 파일은 모두 같은 내용으로 파일이 손상될 경우를 대비해 복사본을 유지하는 것이다. 데이타베이스 생성 시에 현재 데이타베이스에 존재하는 테이블스페이스와 이에 속한 데이터 파일, 그리고 복구 관련 정보들이 저장된다. 데이타베이스 구동 시에 이 정보들을 이용하여 데이타베이스를 메모리에 적재하고 서비스를 준비한다. dumpla 구문 설명 loganchor 파일의 내용을 문자 형식으로 보여준다. 사용예 쉘 프롬프트 상에서 다음과 같이 수행한다. $ dumpla loganchor0 36 ALTIBASE5 Utilities User’s Manual 출력 dumpla 는 loganchor 의 내용을 다음과 같은 형식으로 나타내며 이에 대한 자세한 내용은 다음 단락에서 설명한다. [LOGANCHOR ATTRIBUTE SIZE] 현재 Loganchor 에 어떤 데이타들이 얼마만큼의 공간을 사용하고 있는지를 나타낸다 [LOGANCHOR HEADER] 데이타베이스의 버전 및 체크포인트 LSN 등의 loganchor Header 정보를 나타낸다. [TABLESPACE ATTRIBUTE] 메모리 테이블스페이스 정보를 나타낸다. [MEMORY CHECKPOINT PATH ATTRIBUTE] 메모리 테이블스페이스의 체크포인트 저장 경로를 나타낸다. [MEMORY CHECKPOINT IMAGE ATRIBUTE] 메모리 테이블스페이스의 체크포인트 이미지 정보를 나타낸다. [TABLESPACE ATTRIBUTE] 디스크 테이블스페이스 정보를 나타낸다. [DISK DATABASE FILE ATRIBUTE] 디스크 테이블스페이스의 데이터 파일 저장 경로를 나타낸다. 다음은 dumpla 의 출력 결과 중 일부분을 예로 보인 것이다. [ DISK DATABASE FILE ATTRIBUTE ] Tablespace ID [ 2 ] Database File ID [ 0 ] Database File Path C:altibase_homedbssystem001.dbf] Create LSN [ 0, 0, 43 ] Database File Status [ ONLINE ] Autoextend Mode [ Non-Autoextend ] Create Mode [ 0 ] Initialize Size [10 MBytes(1280 Pages)] Current Size [10 MBytes(1280 Pages)] Next Size [0 MBytes(0 Pages)] Maximum Size [0 MBytes (0 Pages)] [LOGANCHOR ATTRIBUTE SIZE] 현재 Loganchor 의 사용 공간을 나타내는 [LOGANCHOR ATTRIBUTE SIZE]의 내용은 다음과 같다. 필드 이름 값(단위 바이트) 설명 기타 Utilities 37 Loganchor Static Area 0 ~ unsigned int 타입의 최대값 Loganchor에 고정적으로 들어가는 정보의 크기를 나타낸다. 주로 복구 시 필요한 정보들이다. Tablespace Attribute 0 ~ unsigned int 타입의 최대값 저장된 Tablespace Attribute의 크기 Checkpoint Path Attribute 0 ~ unsigned int 타입의 최대값 저장된 Checkpoint Path의 크기 Checkpoint Image Attribute 0 ~ unsigned int 타입의 최대값 저장된 Checkpoint Image Attribute의 크기 Disk Datafile Attribute 0 ~ unsigned int 타입의 최대값 저장된 Disk Datafile Attribute의 크기 [LOGANCHOR HEADER] loganchor 파일의 Header 정보를 나타내는 [LOGANCHOR HEADER]의 내용은 다음과 같다. 필드 이름 값 설명 Binary DB Version Major.minor.patch ex) 5.3.3 현재 Loganchor를 생성한 데이터베이스 실행 파일의 데이터베이스 버전이다. Archivelog Mode Archivelog |No-Archivelog 데이터베이스가 아카이브 모드로 운영 중인지를 나타낸다. Begin Checkpoint LSN LFGID, FileNo, Offset Begin Checkpoint의 LSN을 나타낸다. End Checkpoint LSN LFGID, FileNo, Offset End Checkpoint의 LSN을 나타낸다. Disk Redo LSN LFGID, FileNo, Offset DRDB의 Redo 시작 위치를 나타낸다. Global SN 0 ~ unsigned long 타입의 최대값 각 로그는 Header에 Global SN값을 가지는데 이 값을 1 증가시키고 증가된 값을 자신의 SN으로 설정한다. Server Status SERVER_SHUTDO WN |SERVER_START ED 서버의 상태를 기록한다. 서버 시작 시 이 값이 SERVER_STARTED로 바뀌고 종료 시 SERVER_SHUTDOWN으로 바뀐다. 서버 시작 시에 이 값이 SERVER_STATED로 되어있다면 이전에 서버가 비정상 종료한 것이므로 재구동시 복구를 수행한다. Log File Group Count 0 ~ 32 로그 파일 그룹 개수 38 ALTIBASE5 Utilities User’s Manual 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 Num 0 ~ unsigned int 타입의 최대값 마지막으로 생성된 로그 파일 번호 Delete Logfile(s) Range 삭제되는 첫 번째 ~ 마지막 파일 번호 마지막으로 삭제된 로그 파일의 범위. 체크포인트 완료 후 더 이상 필요 없는 파일을 삭제하는데 이 때 지워지는 파일의 범위를 기록한다. Update And Flush Count 0 ~ unsigned int 타입의 최대값 logAnchor 파일이 변경되고 플러시된 횟수 New Tablespace ID 0 ~ unsigned int 타입의 최대값 새로운 테이블스페이스 식별자. 테이블스페이스가 생성될 경우 이 값을 자신의 테이블스페이스 식별자로 사용하고 이 값을 증가시킨다. [TABLESPACE ATTRIBUTE] 메모리 테이블스페이스 정보를 나타내는 [TABLESPACE ATTRIBUTE]의 내용은 다음과 같다. 필드 이름 값 설명 Tablespace ID 0 ~ unsigned int 타입의 최대값 테이블스페이스 식별자 Tablespace Name 문자열 ex) SYS_TBS_MEM_DIC테이블스페이스 이름 New Database File ID 0 ~ unsigned int 타입의 최대값 테이블스페이스에서 새로 파일이 추가될 때 파일이 가지게 될 파일의 식별자 Tablespace Status 아래 설명 참조 테이블스페이스의 상태를 나타낸다. Tablespace Type 0 ~ 8 아래 설명 참조 테이블스페이스의 타입 Checkpoint Path Count Checkpoint Path 개수 데이터 파일들의 경로. Autoextend Mode AutoExtend |Non-AutoExtend 자동 확장 Shared Memory Key 0 ~ unsigned int 데이터베이스가 공유 메모리 버전이면 기타 Utilities 39 타입의 최대값 공유 메모리에 데이터베이스가 이 때 사용된 공유 메모리의 키 Stable Checkpoint Image Num 0|1 체크포인트가 완료된 체크포인트 이미지 파일 번호 Init Size 0 ~ unsigned int 타입의 최대값 초기 크기(Mbyte) Next Size 0 ~ unsigned int 타입의 최대값 자동 확장되는 단위 크기(Mbyte) Maximum Size 0 ~ unsigned int 타입의 최대값 최대 크기 Split File Size 0 ~ unsigned int 타입의 최대값 메모리 테이블스페이스는 파일을 이 단위로 생성한다. 예를 들어 테이블스페이스가 1G이고, Split file size가 100MB이면 10개의 파일이 생성된다. [TABLESPACE ATTRIBUTE] 내용 중 Tablespace Status 의 의미는 다음과 같다. 값 설명 OFFLINE 오프라인 중. ONLINE 온라인 중. INCONSISTENT 비일관적인 상태. CREATING 생성 중. DROPPING 삭제를 수행한 트랜잭션이 아직 커밋하지 않아 삭제 중인 상태. DROP_PENDING 삭제를 수행한 트랜잭션이 커밋 이후 Pending 연산 중인 상태. DROPPED 삭제된 상태. DISCARDED Discard된 상태. BACKUP 백업 중. SWITCHING_TO_OFFLI NE OFFLINE으로 바뀌고 있는 중. SWITCHING_TO_ONLIN E ONLINE으로 바뀌고 있는 중. [TABLESPACE ATTRIBUTE] 내용 중 Tablespace Type 의 의미는 다음과 같다. 값 설명 0 MEMORY SYSTEM DICTIONARY 1 MEMORY SYSETM DATA 40 ALTIBASE5 Utilities User’s Manual 2 MEMORY USER DATA 3 DISK SYSTEM DATA 4 DISK USER DATA 5 DISK SYSTEM TEMP 6 DISK USER TEMP 7 DISK SYSTEM UNDO 8 VOLATILE USER DATA [MEMORY CHECKPOINT PATH ATTRIBUTE] 메모리 테이블스페이스의 체크포인트 경로를 나타내는 [MEMORY CHECKPOINT PATH ATTRIBUTE]의 내용은 다음과 같다. 필드 이름 값 설명 Tablespace ID 0 ~ unsigned int 타입의 최대값 테이블스페이스 식별자 Checkpoint Path 문자열 체크포인트 경로 [MEMORY CHECKPOINT IMAGE ATRIBUTE] 메모리 테이블스페이스의 체크포인트 이미지 정보를 나타내는 [MEMORY CHECKPOINT IMAGE ATTRIBUTE]의 내용은 다음과 같다. 필드 이름 값 설명 Tablespace ID 0 ~ unsigned int 타입의 최대값 테이블스페이스 식별자 File Number 0 ~ unsigned int 타입의 최대값 파일 번호 Create LSN Create LSN Create On Disk (PingPong 0) Created|None 파일생성 유무 Create On Disk (PingPong 1) Created|None 파일생성 유무 [TABLESPACE ATTRIBUTE] 디스크 테이블스페이스 정보를 나타내는 [TABLESPACE ATTRIBUTE]의 내용은 다음과 같다. 필드 이름 값 설명 Tablespace ID 0 ~ unsigned int 타입의 최대값 테이블스페이스 식별자 Tablespace Name 문자열 테이블스페이스 이름 기타 Utilities 41 New Database File ID 0 ~ unsigned int 타입의 최대값 새로운 데이터베이스 파일 식별자 Tablespace Status 위 표 참조 테이블스페이스의 상태 Tablespace Type 위 표 참조 테이블스페이스의 타입 [DISK DATABASE FILE ATRIBUTE] 디스크 테이블스페이스의 데이터 파일 경로를 나타내는 [DISK DATABASE FILE ATTRIBUTE]의 내용은 다음과 같다. 필드 이름 값 설명 Tablespace ID 0 ~ unsigned int 타입의 최대값 테이블스페이스 식별자 Database File ID 0 ~ unsigned int 타입의 최대값 데이터 파일 식별자 Database File Path 문자열 데이터 파일의 경로 Create LSN 데이터 파일이 생성된 시점의 시스템 로그의 마지막 LSN Database File Status 아래 설명 참조 파일의 상태 Atuoextend Mode AutoExtend| Non-AutoExtend자동 확장 설정 여부 Create Mode 0|1 0: 재사용 1: 새로 생성한 파일 Initialize Size 0 ~ unsigned int 타입의 최대값 초기 크기(MByte) Current Size 0 ~ unsigned int 타입의 최대값 현재 크기(MByte) Next Size 0 ~ unsigned int 타입의 최대값 확장 단위 크기(MByte) Maximum Size 0 ~ unsigned int 타입의 최대값 최대 크기(MByte) [DISK DATABASE FILE ATTRIBUTE] 내용 중 Database File Status 의 의미는 다음과 같다. 값 설명 OFFLINE 오프라인 상태 ONLINE 온라인 상태 CREATING 생성 중. BACKUP_BEGIN 백업을 시작한 상태 BACKUP_END 백업을 종료 중인 상태 42 ALTIBASE5 Utilities User’s Manual DROPPING 삭제 중인 상태 RESIZING 크기를 바꾸고 있는 상태 DROPPED 삭제된 상태 기타 Utilities 43 DUMPLF 개요 알티베이스는 복구를 위해서 트랜잭션이 변경 연산(Insert, Delete, Update 등)을 수행시 데이타베이스 영역(DB File)외의 별도 파일에 로그를 남긴다. 이 로그는 IO 최소화를 위해서 이진(binary) 형식으로 기록되어 있다. 이 로그가 기록되는 로그 파일은 이 파일은 altibase.properties 의 LOG_DIR 프로퍼티에 설정되는 디렉토리에 logfile#( #은 로그파일 번호로 계속 증가한다) 형태로 저장됩니다. dumplf 는 이 로그 파일의 내용을 문자 형식으로 변환해서 보여주는 유틸리티이다. 이 로그를 통해서 데이타베이스에 수행된 연산의 종류 및 변경 연산을 수행하는 트랜잭션의 빈도를 측정할 수 있다. dumplf 구문 설명 로그 파일의 내용을 문자 형식으로 변환해서 보여준다. 사용예 쉘 프롬프트 상에서 다음과 같이 수행한다. $ dumplf logfile0 출력 다음은 dumplf 의 출력 예이다. SN=<10>,LSN=< 0,2119 >, MAGIC:2119TID: 3584, BE: 0, REP: 0, IMPL: 0 PLSN=< 0, 0, 2034 >, LT: SMR_LT_TRANS_COMMIT, SZ: 45 [ 208- 02-21:16:01:03 ] 44 ALTIBASE5 Utilities User’s Manual 로그 파일의 내용 중, 필드들은 다음과 같은 의미를 갖는다. 필드 이름 값 설명 SN 0 ~ unsigned long 타입의 최대값 Log Sequence Number LSN 형식: (값1, 값2) 값의 범위 : 0 ~ unsigned int 타입의 최대값 , 현재 로그의 물리적인 위치로, LSN을 표시한다. LSN은 <로그파일 그룹 식별자(LFGID), 파일 번호, 오프셋>으로 표시된다. COMP Y|N Y : 로그가 압축(compress)되었음 N: 압축되지 않음 MAGIC 0 ~ unsigned short 타입의 최대값 로그 레코드가 유효하다는 것을 나타내기 위해서 로그 LSN의 로그 파일 번호와 오프셋으로 이 값을 만들고 Redo, Undo시 로그를 읽었을 때 이 값이 현재 로그의 LSN과 동일한지 검사한다. TID 0 ~ unsigned int 타입의 최대값 트랜잭션 식별자 BE Y|N Y : Begin Transaction Log REP Y|N Y: 이중화가 걸려있는 경우 Sender가 Standby로 보내거나 참조하는 로그이다. N: Sender는 이 로그를 무시한다 ISVP Y|N Y: 묵시적 저장점(Implicit Savepoint) 로그. 문장(Statement) 시작 후 처음으로 찍힌 로그이다. 트랜잭션이 문장을 수행했을 때 오류가 발생하면 이 로그까지 부분 철회(Partial Rollback)을 한다. PLSN 형식:(값1, 값2, 값3) 값의 범위: 0 ~ unsigned int 타입의 최대값 Previous Log LSN으로 이 값을 이용하여 같은 트랜잭션이 기록한 로그들끼리 체인(Chain)으로 연결되어 있다. LT 문자열 로그의 유형을 나타낸다. 자세한 내용은 아래 로그 유형에 대한 표를 참고한다. SZ 0 ~ unsigned int 타입의 최대값 로그 크기 기타 Utilities 45 dumplf 의 결과 중 LT 즉 로그 유형(Log Type)의 의미는 다음과 같다. 값 설명 SMR_LT_DUMMY Dummy 로그 SMR_LT_CHKPT_BEGIN Checkpoint Begin 로그 SMR_LT_DIRTY_PAGE Dirty Page 로그 SMR_LT_CHKPT_END Checkpoint End 로그 SMR_LT_TRANS_COMMIT Transaction Commit 로그 SMR_LT_TRANS_ABORT Transaction Abort 로그 SMR_LT_SAVEPOINT_SET Savepoint Set 로그 SMR_LT_SAVEPOINT_ABORT Savepoint Abort Begin 로그 SMR_LT_XA_PREPARE XA Prepare 로그 SMR_LT_TRANS_PREABORT Abort Begin 로그 SMR_LT_LOB_FOR_REPL 이중화를 위한 LOB 로그 SMR_LT_UPDATE MMDB(Main Memory Database) Update 로그 SMR_LT_NTA MMDB NTA(Nested Top Action) 로그 SMR_LT_COMPENSATION Compensaction 로그 SMR_LT_DUMMY_COMPENSATION Dummy Compensation 로그 SMR_LT_FILE_BEGIN File Begin 로그 SMR_LT_FILE_TBS_UPDATE Tablespace Update 로그 SMR_LT_FILE_END File End 로그 SMR_DLT_READONLY DRDB(Disk Resident Database) Redo Only 로그 SMR_DLT_UNDOABLE DRDB Undo 로그 SMR_DLT_NTA DRDB NTA 로그 SMR_DLT_COMPENSATION DRDB Compensation 로그 SMR_DLT_PAGEIMAGE DRDB Page Image 로그 SMR_DLT_NTA2 DRDB NTA 로그 46 ALTIBASE5 Utilities User’s Manual KILLCHECKSERVER 개요 실행중인 CHECKSERVER 를 종료시킨다. killCheckServer 구문 killCheckServer 설명 실행중인 CHECKSERVER 를 종료한다. 사용예 쉘 프롬프트 상에서 다음과 같이 수행한다. $ killCheckServer 참고사항 CHECKSERVER 절 참조 기타 Utilities 47 SERVER 개요 알티베이스 데이터베이스의 생성, 상태 조회, 구동 및 종료시키기 위한 쉘 스크립트이다. server { start | stop | restart | kill | status | create [DB Character-set | National Character-set] } 구문 파라미터 파라미터 설명 start 알티베이스 프로세스를 구동한다. stop 알티베이스 프로세스를 종료한다. restart 알티베이스 프로세스를 재구동한다. kill 알티베이스 프로세스를 강제 종료한다. status 알티베이스 프로세스의 상태를 출력한다. create 크기 10M, 노아카이브 로그로 입력된 캐릭터 48 ALTIBASE5 Utilities User’s Manual 셋으로 데이터베이스를 생성한다. 설명 알티베이스의 구동 및 종료, 데이터베이스 생성은 iSQL 상에서 SQL 구문으로 수행한다. 관리자가 자주 사용하게 되는 이러한 구문들을 묶어서 쉘 스크립트로 제공한다. SERVER 스크립트가 제공하는 기능은 다음과 같다. y 알티베이스 프로세스의 구동 y 알티베이스 프로세스의 종료 y 알티베이스 프로세스의 재구동 y 알티베이스 프로세스의 강제 종료 y 알티베이스 프로세스 상태 출력 y 알티베이스 데이터베이스 생성 알티베이스 관리를 위한 SQL 구문에 대한 자세한 내용은 iSQL User ’s Manual을 참조한다. 사용예 사용 방법은 다음과 같다. $ server start $ server restart $ server stop $ server status $ server kil $ server create ksc5601 utf16 참고사항 Administrator’s Manual 참조 iSQL User’s Manual 참조 찾아보기 49 찾아보기 ㅎ 환경변수 .......................................................... 5 A AEXPORT ................................................... 1, 7 AEXPORT 설정 ............................................. 3 AEXPORT 프로퍼티 .................................. 12 AEXPORT기능 소개 .................................... 2 AEXPORT소개 ............................................... 2 ALTIBASE ...................................................... 22 ALTIBASE_HOME ......................................... 5 ALTIBASE_NLS_USE ..................................... 5 ALTIBASE_PORT_NO .................................. 5 ALTIDUMP .................................................... 24 ALTIERR ......................................................... 28 ALTIMON ...................................................... 26 ALTIPASSWD ............................................... 30 ALTIPROFILE ................................................ 31 C CHECKSERVER ............................................ 35 D DUMPLA ....................................................... 37 DUMPLF........................................................ 45 I ILOADER_FIELD_TERM ............................ 13 K KILLCHECKSERVER ................................... 48 S SERVER .......................................................... 49 SHMUTIL ...................................................... 15 SHMUTIL 사용방법 .................................. 17 SHMUTIL 소개 ........................................... 16
릴리즈노트
-
- Altibase (ver 7.1.0.0.0) Release Notes (English) ㅣ 2017-07-06
- altimon.sh The altimon.sh has been enhanced in order to efficiently monitor the Altibase server and the host system in which the altiMon is installed. altiMon primarily monitors OS information and DB information, and the OS which can use the PICL...
-
미리보기
Altibase 7.1.0.0.0 Release Notes (2016.11) Altibase 7.1.0.0.0 Release Notes Altibase Contents Contents .................................................................................................................... 2 1. Operating System Requirements ........................................................... 3 Minimum Hardware Specifications ................................................ 4 Operating System and Platforms .................................................. 4 2. Release Information ..................................................................................... 5 2.1 New Features and Upgraded function of Altibase 7.1 ............ 6 2.2 Changes ................................................................................ 13 2.3 Packages .............................................................................. 16 2.4 Downloads ............................................................................ 17 Altibase 7.1.0.0.0 Release Notes Altibase 1. Operating System Requirements Altibase 7.1.0.0.0 Release Notes Altibase Minimum Hardware Specifications 1GB RAM (Recommended: 2GB) 1 CPU (Recommended: 2 CPUs) 4GB Sufficient space in hard disk (Recommended: 12GB) Operating System and Platforms Altibase 7.1 operation is available under the operating systems and platforms listed in the following table. OS CPU Version Bit (Server) Bit (Client) AIX PowerPC 6.1 tl03 and higher 64-bit 64-bit HP-UX IA64 11.31 and higher 64-bit 64-bit LINUX x86-64, PowerPC (GNU glibc 2.12 and higher) redhat 6.0 and higher 64-bit 64-bit Java version: Altibase 7.1 is compatible with JDK 1.5 or above. Window server and client is not supported since Altibase 7.1. Altibase 7.1.0.0.0 Release Notes Altibase 2. Release Information Altibase 7.1.0.0.0 Release Notes Altibase 2.1 New Features and Upgraded function of Altibase 7.1 2.1.1 Improved Features 2.1.1.1 SQL Extension Conversion of Non-Partitioned table and Partitioned table(Partition Exchange) CONJOIN TABLE: This statement controls converting a non-partitioned table into a partition of a table. The list partition and range partition are supported, but the hash partitioned is not supported. All the data created in the target table is transferred to the created partition. DISJOIN TABLE: You can use this statement to convert a partition in a partitioned table into a non- partitioned table. The hash partition is not supported whereas the existing partition attributes of the non-partitioned table remain the same. Modifying Tablespace of Table The tablespace storage of a table can be relocated along with the index and LOB column as well. However, only the non-partitioned table is able to transfer the records into the specified tablespace, but the records of the partitioned table cannot be moved. User-defined Columns during Creation of a Queue The user can define a column when creating a queue. Syntax extension of COMPACT and AGING COMPACT and AGING statements can be executed with a partition unit in partitioned tables. NOWAIT and WAIT Options NOWAIT and WAIT options are supported in INSERT, FOR UPDATE, and DEQUEUE statements. NOCOPY option The NOCOPY option can be employed along with parameters and local variables which are used in the stored procedures and the stored functions. This option takes a way of assigning parameters by utilizing the reference value, and only supports ASSOCIATIVE ARRAY type. Overloading of Package Subprogram Overloading of subprograms is available. That is to say, the name of subprograms are the same; however, the name of parameter and data type can be diversely defined. Using BULK COLLECTION in FETCH syntax BULK COLLECT INTO function is supported in the FETCH statement. Static SQL available for using Cursor Not only the dynamic SQL is available, but also the static SQL is available for use in the OPEN FOR clause. Note that the static SQL cannot be executed with the USING clause. Altibase 7.1.0.0.0 Release Notes Altibase Autonomous Transation and Exception Initializing Pragmas Altibase supports the following pragmas specifying compile options. Autonomous transaction pragma allows a PSM object to independently operate within a transaction, and there is an exception initializing pragma which can initialize exception variables with Altibase error code. Aggregate functions and Windows functions Various functions such as, percentage rank, ratio analysis functions, cumulative distribution of a group, array functions, sort functions, coefficient of correlation, sample covariance, and population distribution are supported in the aggregate functions and window functions as below. PERCENT_RANK CUME_DIST RATIO_TO_REPORT NTILE CORR COVAR_SAMP COVAR_POP User Lock functions The following functions are supported in an attempt to request or release the user lock. USER_LOCK_REQUEST USER_LOCK_RELEASE Other functions The following function which returns the context of currently accessed environment is supported. SYS_CONTEXT The functions returning the VARBYTE type character strings through encoding or decoding are supported as follows: BASE64_DECODE BASE64_ENCODE Altibase supports functions which can return VARBAYTE type character strings either by decoding or encoding the VARBYTE type character strings which were converted to Quoted printable format. The functions include as follows: QUOTE_PRINTABLE_DECODE QUOTE_PRINTABLE_ENCODE In addition, exclusive functions based upon the Altibase PIPE method have been added. These functions can efficiently manage overall database not belonging to a specific schema as listed below: MSG_CREATE_QUEUE MSG_DROP_QUEUE MSG_SND_QUEUE MSG_RCV_QUEUE Altibase 7.1.0.0.0 Release Notes Altibase 'UNTIL NEXT DDL' in LOCK TABLE If DDL(Data Definition Language) transaction is executed when a session is on NON- AUTOCOMMIT mode, the autocommit is executed before the DDL execution. However, if EXCLUSIVE mode is specified in the lock_mode, the autocommit is not implemented before the DDL execution. ENABLE and DISABLE functions The user can set the status either to enable or disable when creating triggers, and the ALTER TRIGGER statement can modify the status. 2.1.1.2 Application Interface Improvement JDBC Logging JDBC Logging indicates recording of all sorts of logs occurring in the Altibase JDBC driver, and the relevant logs can be stored by using java.util.logging package. 2.1.1.3 Data Types Support for Date format Altibase supports 'WW2' data format that returns which week of the year regardless of the date. 2.1.1.4 Built-in Functions DBMS Stats Functions The built-in function has been added in this release, and this function can duplicate partition stats. COPY_TABLE_STATS Other Built-in Functions The stored procedures, which can store the setting of V$SESSION information have been added as in the followings: SET_CLIENT_INFO SET_MODULE 2.1.1.5 Client Tools Improved altimon.sh The altimon.sh has been enhanced in order to efficiently monitor the Altibase server and the host system in which the altiMon is installed. altiMon primarily monitors OS information and DB information, and the OS which can use the PICL library is required to collect the OS information. Host Variable The default value of declared host variables has been modified. New ISQL command A command configuring the formatted display for the result of a SELECT column in the iSQL prompt has been added. Altibase 7.1.0.0.0 Release Notes Altibase SET NUMF[ORMAT] COLUMN CL[EAR] COL[UMNS] -prefetch_rows otpion of iLoader utility iLoader utility newly support -prefetch_rows option in the out mode of iLoader. This specify the number of records that can be fetched from the database at once. The default value is 0 which is the maximum size where the network packet can be input. Partition Information Output The DESC command allows to view partition information when viewing the table structure. aexport Property The following properties of aexport utility have been added. ILOADER_ARRAY ILOADER_COMMIT ILOADER_ERRORS ILOADER_PARALLEL 2.1.2 Efficiency 2.1.2.1 Enhanced Server Performance Newly Added Packages The system-defined stored packages newly added in Altibase are as follows. DBMS_ALERT DBMS_APPLICATION_INFO DBMS_CONCURRENT_EXEC DBMS_LOCK DBMS_OUPUT DBMS_RANDOM DBMS_SQL DBMS_STATS DBMS_RECYCLEBIN DBMS_UTILITY UTL_FILE UTL_RAW UTL_TCP Result Cache By using the Result Cache, the intermediate result or the final result of initially executed query can be stored so that the results can be reused when executing the same query again. Two-Phase Commit(2PC)Level of DBLink DB Link provides 2PC protocol to ensure interoperable compatibility of the global transaction conducted between other database system and the Altibase. Altibase 7.1.0.0.0 Release Notes Altibase Collecting of Automatic Statistics Columns that are not referenced from the outside are excluded to reduce the size and accelerate the performance of materialized views. Additional Hints In Altibase 7.1, various and advantageous hints, such as normalization code, join methods, and table access methods as well as parallel query execution have been added. INDEX_ASC INDEX_DESC LEADING NO_EXPAND NO_INDEX NO_PARALLEL NO_USE_HASH NO_USE_MERGE NO_USE_NL NO_USE_SORT USE_CONCAT Delay on Execution Plans A function delaying execution of hierarchy, sorting, windowing, grouping, set, and distinction in fetch is provided based upon execution plan graphs. The user can check the added DELAY plan under the top PROJECTION in the execution plan. IPCDA Protocol IPCDA (Inter Process Communication Direct Attach) is a protocol provided by Altibase to exchange data between the server and client by using shared memory as with IPC. IPCDA can produce much advanced performance by reducing idle time between the server and client as well as simplifying data reading and writing compared to IPC. Like as IPC, CLI and OBDB are supported, but JDBC is not supported. Besides, LOB data cannot be used when using IPCDA. IPCDA is only supported on Linux. The following properties should be configured in order to use IPCDA. ACCESS LIST Management Extension The following ACCESS_LIST_FILE property has been added to allow or deny access of the IP packet described in an external file. ACCESS_LIST_FILE 2.1.2.2 Resource Efficiency Reorganization of Memory Index You can reorganize the index space through integration of leaf nodes in the memory index. This function ensures high space efficiency especially when the index range is relatively greater than that of the data, or there is an occurrence of index fragmentation on a particular index. Altibase 7.1.0.0.0 Release Notes Altibase 2.1.3 High Availability Hybrid Partitioned Table Hybrid partitioned tables are supported in Altibase 7.1, and the partitioned table can transfer data from disk tablespace to memory/volatile tablespace, and vice versa; however, global indexes are not supported. Specifying the size of PSM character data Properties that can determine the size of character data type used in the stored procedures and the stored functions have been added as indicated below. PSM_CHAR_DEFAULT_PRECISION PSM_NCHAR_UTF8_DEFAULT_PRECISION PSM_NCHAR_UTF16_DEFAULT_PRECISION PSM_NVARCHAR_UTF8_DEFAULT_PRECISION PSM_NVARCHAR_UTF16_DEFAULT_PRECISION PSM_PARAM_AND_RETURN_WITHOUT_PRECISION_ENABLE PSM_VARCHAR_DEFAULT_PRECISION The properties specifying the basic size of character type data have been removed as follows. CHAR_DEFAULT_PRECISION NCHAR_DEFAULT_PRECISION NVARCHAR_DEFAULT_PRECISION VARCHAR_DEFAULT_PRECISION REMOTE Functions for Batch Process Altibase 7.1 have included Remote function and the related functions that can batch the database links.The added functions can be used only within the stored procedures. JDBC Adapter JDBC Adapter is an utility which applies modified data in Altibase database to other databases which support JDBC. The structure of this utility is to replicate the modified data to the target database through ALA(Alibase Log Analysis API) and JDBC(Java DataBase Connectivity). As of now, JDBC Adapter is only supported in Linux OS and operates in JRE 7 or higher version. 2.1.4 Other 2.1.4.1 Other Changes Deprecation of Supporting Window Platform Window server and client is not supported since Altibase 7.1. Table Function The TABLE FUNCTION transforms the return values of associative array type or the record type variables into a table form, then output them; however, this is not a function Dynamic SQL Method 4 Method 4 has been added in dynamic SQL. This method allows a user to insert values of parameter Altibase 7.1.0.0.0 Release Notes Altibase markers during the program operation. Functions, such as BIND VARIABLES, SELECT LIST, and ARRAY SIZE SET have been added in Altibase 7.1, and OPEN, FETCH, and EXECUTE functions have been highly improved. Support for JRE 1.5 JDK and JRE 1.5 or above is supported. Elimination of DataPort Data transferring function of DataPort, and convdp utility are no longer supported since they have been eliminated. Support Hibernate Hibernate dialect class is supported for Altibase to provide non-standard SQL. Since the official Hibernate library does not include AltibaseDialect.class, AltibaseDialect.java file should be compiled and ported in order to properly use it. Deprecation of Shared Memory mode Shared memory mode is no longer supported since Altibase version 7.1. The management tool supporting shared memory 'shmutil' and the following properties are not available for use anymore. The management tool supporting shared memory 'shmutil' and properties are not available for use anymore. 2.2 Changes The added, modified, and eliminated functions for database administrators and developers to be informed are explicated in the following sections. Database Versions Database components per the latest version. Altibase Version Database Binary Version Communication protocol Version Meta Version Replication Protocol Version 6.5.1 6.3.1 7.1.3 8.1.1 7.4.2 7.1 6.5.1 7.1.3 8.1.1 7.4.2 Compatibility Database Binary Version The database binary version signifies the compatibility between database image file and log files. Since the format of database image file and log file have been changed, the existing database should be migrated when upgrading the database. Altibase Version Database Binary Version 6.5.1 6.3.1. 7.1 6.5.1 Communication Protocol Version The communication Protocol Version remains the same Altibase Version Communication Protocol Version 6.5.1 7.1.3 7.1 7.1.3 Meta Version The Meta Version has not been changed. Altibase Version Meta Version 6.5.1 8.1.1 7.1 8.1.1 Altibase 7.1.0.0.0 Release Notes Altibase Replication Protocol Version The replication between Altibase 6.5.1 and 7.1 can be performed since the protocol version has not been changed. Altibase Version Replication Protocol Version 6.5.1 7.4.2 7.1 7.4.2 Properties The following properties have been included or eliminated. Refer to the General Reference for in-depth information on each property New Properties in Altibase 7.1 ACCESS_LIST_FILE DBLINK_RECOVERY_MAX_LOGFILE IPCDA_CHANNEL_COUNT IPCDA_DATABLOCK_SIZE IPCDA_FILEPATH LOCK_MGR_CACHE_NODE LOCK_MGR_DETECTDEADLOCK_INTERVAL LOCK_MGR_MAX_SLEEP LOCK_MGR_MIN_SLEEP LOCK_MGR_SPIN_COUNT LOCK_MGR_TYPE LOCK_NODE_CACHE_COUNT MEM_INDEX_KEY_REDISTRIBUTION MEM_INDEX_KEY_REDISTRIBUTION_STANDARD_RATE MSG_QUEUE_PERMISSION OPTIMIZER_AUTO_STATS OPTIMIZER_DELAYED_EXECUTION OPTIMIZER_PERFORMANCE_VIEW PSM_CURSOR_OPEN_LIMIT PSM_CHAR_DEFAULT_PRECISION PSM_NCHAR_UTF8_DEFAULT_PRECISION PSM_NCHAR_UTF16_DEFAULT_PRECISION PSM_NVARCHAR_UTF8_DEFAULT_PRECISION PSM_NVARCHAR_UTF16_DEFAULT_PRECISION PSM_PARAM_AND_RETURN_WITHOUT_PRECISION_ENABLE PSM_VARCHAR_DEFAULT_PRECISION RESULT_CACHE_ENABLE RESULT_CACHE_MEMORY_MAXIMUM TABLE_LOCK_MODE TOP_RESULT_CACHE_MODE Altibase 7.1.0.0.0 Release Notes Altibase USER_LOCK_POOL_INIT_SIZE USER_LOCK_REQUEST_CHECK_INTERVAL USER_LOCK_REQUEST_LIMIT USER_LOCK_REQUEST_TIMEOUT The following property has been eliminated. CHAR_DEFAULT_PRECISION DATAPORT_FILE_DIRECTORY DATAPORT_IMPORT_COMMIT_UNIT DATAPORT_IMPORT_STATEMENT_UNIT IPC_PORT_NO NCHAR_DEFAULT_PRECISION NVARCHAR_DEFAULT_PRECISION SHM_DB_KEY SHM_PAGE_COUNT_PER_KEY STARTUP_SHM_CHUNK_SIZE VARCHAR_DEFAULT_PRECISION Meta Tables The following meta table has been eliminated. SYS_DATA_PORTS_ Performance Views The following performance views have been added. V$ACCESS_LIST V$DBLINK_NOTIFIER_TRANSACTION_INFO The following performance views have been altered. V$DBLINK_LINKER_DATA_SESSION_INFO V$DBLINK_GLOBAL_TRANSACTION_INFO V$DBLINK_REMOTE_STATEMENT_INFO V$DBLINK_REMOTE_TRANSACTION_INFO V$SESSION V$REPSENDER V$REPSENDER_PARALLEL 2.3 Packages OS CPU Archive Name AIX PowerPC altibase- server-7.1.0.0.0-AIX-POWERPC-64bit-release.run altibase- client-7.1.0.0.0-AIX-POWERPC-64bit-release.run HP-UX IA64 altibase- server-7.1.0.0.0-HPUX-IA64-64bit-release.run altibase- client -7.1.0.0.0-HPUX-IA64-64bit-release.run LINUX X86 altibase- server-7.1.0.0.0-LINUX-X86-64bit-release.run altibase- client-7.1.0.0.0-LINUX-X86-64bit-release.run PowerPC altibase- server-7.1.0.0.0-LINUX-POWERPC-64bit-release.run altibase- client-7.1.0.0.0-LINUX-POWERPC-64bit-release.run 2.4 Downloads Location Package http://support.altibase.com Manual http://support.altibase.com Installation Refer to the Altibase Installation Guide for in-depth information.
-
- Altibase (ver 7.1.0.0.0) Release Notes (Korean) ㅣ 2017-07-06
- altimon.sh 개선 Altibase 서버와 altiMon이 설치된 호스트 장비를 모니터링 하기 위해 altimon.sh를 개선하였다. altiMon은 주로 OS 정보와 DB정보를 모니터링 하며, OS 정보를 수집하기 위해서는 PICL ...
-
미리보기
Altibase 7.1.0.0.0 Release Notes (2016.11) Altibase 7.1.0.0.0 Release Notes Altibase 목차 목차 ............................................................................................................................. 2 1. 시스템 요구사항 .............................................................................................. 3 하드웨어 최저 사양 ...................................................................... 4 운영 체제 및 플랫폼 .................................................................... 4 2. 릴리스 정보 ........................................................................................................ 5 2.1 Altibase 7.1의 새로운 기능 .................................................... 6 2.2 변경 사항 ............................................................................. 13 2.3 패키지 .................................................................................. 17 2.4 다운로드 ............................................................................... 18 Altibase 7.1.0.0.0 Release Notes Altibase 1. 시스템 요구사항 Altibase 7.1.0.0.0 Release Notes Altibase 하드웨어 최저 사양 1GB RAM (권장: 2GB) 1 CPU (권장: 2 CPUs) 4GB 하드 디스크 여유 공간 (권장: 12GB) 운영 체제 및 플랫폼 Altibase 7.1은 아래 표에 나열된 운영체제와 플랫폼 상에서 운영 가능하다. OS CPU Version Bit (Server) Bit (Client) AIX PowerPC 6.1 tl03 and higher 64-bit 64-bit HP-UX IA64 11.31 and higher 64-bit 64-bit LINUX x86-64, PowerPC (GNU glibc 2.12 and higher) redhat 6.0 and higher 64-bit 64-bit Java 버전: Altibase 7.1은 JDK 1.5 이상에서 호환된다. Altibase 7.1부터 윈도우용 서버 및 클라이언트를 지원하지 않는다. 2. 릴리스 정보 Altibase 7.1.0.0.0 Release Notes Altibase 2.1 Altibase 7.1의 새로운 기능 2.1.1 기능 개선 2.1.1.1 SQL 확장 논 파티션드 테이블 및 파티션드 테이블 변환 지원(Partition Exchange) CONJOIN TABLE: 이 구문은 논 파티션드 테이블을 테이블의 파티션으로 변환한다. 리스트 파티션과 범위 파티션은 지원하며, 해시 파티션은 지원하지 않는다. 대상 테이블의 데이터는 전부 생성된 파티션으로 이동한다. DISJOIN TABEL: 이 구문은 파티션드 테이블의 파티션을 논 파티션드 테이블로 변환한다. 해시 파티션은 지원하지 않으며, 논 파티션드 테이블은 기존 파티션의 속성을 그대로 갖는다. 테이블의 테이블스페이스 변경 테이블의 테이블스페이스 저장 공간을 이동할 수 있으며, 이 때 인덱스와 LOB 칼럼도 함께 이동한다. 단 논파티션드 테이블만이 지정한 테이블스페이스에 레코드를 이동할 수 있으며, 파티션드 테이블은 레코드 이동이 불가하다. 큐 생성시 사용자 정의 칼럼 지원 큐를 생성할 때 사용자가 칼럼을 정의할 수 있다. COMPACT, AGING 구문 확장 파티션드 테이블에 파티션 단위로 COMPACT 및 AGING구문을 수행할 수 있다. NOWAIT, WAIT 지원 INSERT, FOR UPDATE, DEQUEUE 문에 NOWAIT, WAIT옵션을 지원한다. NOCOPY 옵션 지원 저장 프로시저와 저장 함수에서 사용되는 매개 변수 및 지역 변수에 NOCOPY옵션을 지원한다. 이 옵션은 참조(reference)값을 활용하여 인자를 할당하는 방식이다. NOCOPY옵션은 ASSOCIATIVE ARRAY타입만 지원한다. 패키지 서브프로그램 다중정의(overloading) 지원 저장패키지에서 서브프로그램을 다중정의(overloading)할 수 있다. 즉, 서브프로그램의 이름은 같지만, 인자이름 및 데이터 타입 등을 다르게 정의할 수 있다. FETCH구문에 BULK COLLECTION 지원 Fetch 구문에서 BULK COLLECT INTO기능을 지원한다. 커서 사용시 정적 SQL 지원 OPEN FOR구문에서 동적 SQL뿐만 아니라 정적 SQL을 사용할 수 있다. 정적SQL은 USING 절과 함께 사용할 수 없다. 자율 트랜잭션 및 예외 초기화 프라그마 지원 컴파일 옵션을 지정하는 프라그마(Pragma)를 지원한다. 지원하는 프라그마는 PSM객체가 Altibase 7.1.0.0.0 Release Notes Altibase 트랜잭션 내에서 독립적으로 작동하는 자율 트랜잭션 프라그마(Autonomous_Transaction Pragma)와 예외 변수를 Altibase의 에러 코드로 초기화 할 수 있는 예외 초기화 프라그마(Exception_Init Pragma)가 있다. 집계 함수 및 윈도우 함수 추가 집계 함수와 윈도우 함수에서 사용할 수 있는 백분율 순위, 비율 분석 함수, 그룹의 누적 분포도, 정렬 함수, 상관 계수, 표본 공분산, 모공 분산 등을 지원한다. PERCENT_RANK CUME_DIST RATIO_TO_REPORT NTILE CORR COVAR_SAMP COVAR_POP 사용자 잠금(user lock) 함수 추가 사용자가 세션에서 사용자 잠금을 요청하거나 해제할 수 있는 함수가 지원된다. USER_LOCK_REQUEST USER_LOCK_RELEASE 기타 함수 추가 현재 세션에 접속한 환경 정보(context)를 반환하는 함수가 지원된다. SYS_CONTEXT VARBYTE 타입의 문자열을 인코딩 또는 디코딩하여 반환하는 함수를 아래와 같이 지원한다. BASE64_DECODE BASE64_ENCODE Quoted printable형태로 변환된 VARBYTE 타입의 문자열을 디코딩 또는 인코딩하여 VARBAYTE 타입의 문자열로 반환하는 함수를 아래와 같이 지원한다. QUOTE_PRINTABLE_DECODE QUOTE_PRINTABLE_ENCODE 특정 스키마에 소속되지 않고 전체 데이터베이스 수준에서 관리되는 알티베이스 파이프(PIPE)방식의 함수를 추가하였다. 추가된 함수는 아래와 같다. MSG_CREATE_QUEUE MSG_DROP_QUEUE MSG_SND_QUEUE MSG_RCV_QUEUE LOCK TABLE에 'UNTIL NEXT DDL' 구문 지원 세션이 NON-AUTOCOMMIT 모드일 때 테이블에 DDL(데이터 정의어)을 수행하면, DDL이 실행되기 직전에 자동으로 커밋을 수행한다. 그러나 lock_mode에서 EXCLUSIVE 모드를 지정하면, DDL을 수행하기 직전에 자동으로 커밋을 수행하지 않는다. Altibase 7.1.0.0.0 Release Notes Altibase ENABLE, DISABLE 지원 트리거 생성할 때 활성화(enable) 상태와 비활성화(disable) 상태를 설정할 수 있다. ALTER TIGGER 구문으로 상태를 변경할 수 있다. 2.1.1.2 응용 프로그램 개발 인터페이스 확장 및 개선 JDBC 로깅 JDBC 로깅(JDBC Logging)은 Altibase JDBC 드라이버에서 발생하는 각종 로그를 기록하는 것을 의미하며, java.util.logging 패키지를 이용하여 관련된 로그를 기록할 수 있다. 2.1.1.3 데이터 타입 날짜형 데이터 형식 지원 요일과 상관없이 일 년 중 몇 번째 주인지를 반환하는 'WW2' 데이터 형식을 지원한다. 2.1.1.4 내장 함수 DBMS Stats 함수 파티션의 통계 자료를 복사할 수 있는 내장 함수가 추가되었다. COPY_TABLE_STATS 그 외 함수들 V$SESSION 정보를 설정하는 저장 프로시저가 추가되었다. SET_CLIENT_INFO SET_MODULE 2.1.1.5 클라이언트 툴 altimon.sh 개선 Altibase 서버와 altiMon이 설치된 호스트 장비를 모니터링 하기 위해 altimon.sh를 개선하였다. altiMon은 주로 OS 정보와 DB정보를 모니터링 하며, OS 정보를 수집하기 위해서는 PICL 라이브러리를 사용할 수 있는 운영체제에서 가능하다. 호스트 변수 선언되는 호스트변수의 기본값이 변경되었다. isql 명령어 추가 iSQL에서 SELECT 결과의 칼럼에 대한 표시 형식을 설정할 수 있는 명령어가 추가되었다. SET NUMF[ORMAT] : 숫자 데이터 타입의 표시 형식 설정 COLUMN : 문자형 또는 숫자형 타입의 칼럼 표시 형식 설정 CL[EAR] COL[UMNS] : COLUMN명령어로 설정된 모든 칼럼의 설정을 해제 iLoader의 -prefetch_rows 지원 iLoader의 out모드에서 사용할 수 있는 -prefetch_rows옵션을 지원한다. select쿼리 수행 시에 데이터 베이스에서 한번에 가져오는 레코드 개수를 지정할 수 있다. Altibase 7.1.0.0.0 Release Notes Altibase 파티션 정보 출력 DESC 명령어를 사용하여 테이블 구조를 볼 때 파티션에 대한 정보도 함께 보여주는 기능이다. aexport 프로퍼티 추가 aexport 유틸리티의 프로퍼티들이 아래와 같이 추가되었다. ILOADER_ARRAY ILOADER_COMMIT ILOADER_ERRORS ILOADER_PARALLEL 2.1.2 효율성 2.1.2.1 서버 성능 향상 패키지 지원 Altibase에서 추가된 시스템 정의 저장 패키지는 아래와 같다. DBMS_ALERT DBMS_APPLICATION_INFO DBMS_CONCURRENT_EXEC DBMS_LOCK DBMS_OUPUT DBMS_RANDOM DBMS_SQL DBMS_STATS DBMS_RECYCLEBIN DBMS_UTILITY UTL_FILE UTL_RAW UTL_TCP Result Cache 지원 Result Cache를 사용하여 처음 실행한 쿼리의 중간 결과나 최종 결과를 서버에 저장하여, 같은 쿼리가 다시 실행되면 결과를 재사용할 수 있다. DBLink의 Two-Phase Commit (2PC) Level 지원 알티베이스와 이기종 데이터베이스 시스템 간에 수행하는 글로벌 트랜잭션의 정합성을 보장하기 위해 DB Link는 2PC 프로토콜을 제공한다. 자동 통계정보 수집 옵티마이저가 사용할 수 있는 통계정보를 자동으로 수집할 수 있다. 힌트 추가 정규화 형태, 조인방법, 조인순서, 테이블 접근방법, 병렬 질의 처리에 대한 힌트가 추가되었다. INDEX_ASC INDEX_DESC Altibase 7.1.0.0.0 Release Notes Altibase LEADING NO_EXPAND NO_INDEX NO_PARALLEL NO_USE_HASH NO_USE_MERGE NO_USE_NL NO_USE_SORT USE_CONCAT 실행 계획의 지연 기능 실행 계획의 그래프를 기준으로 sorting, windowing, grouping, set, distinction의 계층적 실행(hierarchy execute)이 Fetch에서 수행되는 것을 지연시키는 기능을 제공한다. 사용자는 실행 계획에서 상위 PROJECTION 아래에 DELAY 플랜이 추가된 것을 확인할 수 있다. IPCDA 프로토콜 지원 IPCDA(Inter Process Communication Direct Attach)는 Altibase에서 제공하는 프로토콜로써, IPC와 마찬가지로 공유 메모리를 이용하여 클라이언트와 데이터베이스 서버간에 데이터를 교환한다. IPCDA는 IPC보다 데이터 읽기, 쓰기를 단순화하고 클라이언트, 서버 사이의 유휴 시간을 줄여 성능이 향상되었다. IPC와 마찬가지로 CLI, ODBC는 지원하지만, JDBC는 지원하지 않는다. 또한 IPCDA를 사용할 때는 LOB 데이터를 사용할 수 없다. 현재는 Linux 운영체제에서만 사용할 수 있다. ACCESS LIST 관리 확장 외부 파일에 기술된 IP 패킷의 접근 및 차단을 허용할 수 있도록 ACCESS_LIST_FILE 프로퍼티를 추가하였다 2.1.2.2 자원 효율성 메모리 인덱스 재구성(Reorganization) 지원 메모리 인덱스의 리프 노드를 통합하여 인덱스 공간을 재구성한다. 데이터에 비해 인덱스의 범위가 클 때, 특정 인덱스에 단편화 현상이 있을 경우에 사용하면 공간 효율성이 향상된다. 메모리 B-tree인덱스만 사용할 수 있다. 2.1.3 고가용성 하이브리드 파티션드 테이블(Hybrid Partitioned Table) 지원 하이브리드 파티션드 테이블을 지원하여, 파티션드 테이블이 디스크 테이블스페이스에서 메모리/휘발성 테이블스페이스로, 메모리/휘발성 테이블스페이스에서 디스크 테이블스페이스로 데이터를 이동할 수 있다. 단 글로벌 인덱스는 지원되지 않는다. PSM 문자형 데이터 크기 결정 저장 프로시저와 저장 함수에서 사용하는 문자형 데이터 타입의 크기를 결정하는 프로퍼티가 추가되었다. PSM_CHAR_DEFAULT_PRECISION PSM_NCHAR_UTF8_DEFAULT_PRECISION Altibase 7.1.0.0.0 Release Notes Altibase PSM_NCHAR_UTF16_DEFAULT_PRECISION PSM_NVARCHAR_UTF8_DEFAULT_PRECISION PSM_NVARCHAR_UTF16_DEFAULT_PRECISION PSM_PARAM_AND_RETURN_WITHOUT_PRECISION_ENABLE PSM_VARCHAR_DEFAULT_PRECISION 문자형 데이터 타입의 기본 크기를 설정하는 프로퍼티는 제거되었다. CHAR_DEFAULT_PRECISION NCHAR_DEFAULT_PRECISION NVARCHAR_DEFAULT_PRECISION VARCHAR_DEFAULT_PRECISION 일괄처리(Batch) 지원 REMOTE 함수 알티베이스 데이터베이스 링크가 일괄처리(Batch)할 수 있는 Remote함수와 관련 함수를 추가하였다. 그리고 추가된 함수는 저장 프로시저 내에서만 사용할 수 있다. JDBC Adapter JDBC Adapter는 알티베이스 데이터베이스에서 변경된 데이터를 JDBC를 지원하는 다른(타사의) 데이터베이스에 적용하는 유틸리티 이다. 이는 알티베이스에서 제공하는 ALA(Alibase Log Analysis API) 와 JDBC(Java DataBase Connectivity) 를 이용하여 변경된 데이터를 타겟 데이터베이스에 복제하는 구조이다. 현재는 Linux 운영체제에서만 사용할 수 있으며, JRE 7 이상에서 동작한다. 2.1.4 기타 2.1.4.1 그 외 변경사항 윈도우 플랫폼 지원 중단 Altibase 7.1부터 윈도우용 서버 및 클라이언트를 지원하지 않는다. Table Function 지원 TABLE FUNCTION은 사용자 정의 함수에서 반환하는 associative array 타입이나 record 타입의 변수를 테이블 형태로 변환하여 출력한다. 이 기능은 함수가 아니다. 동적 SQL의 메소드4추가 동적SQL에 메소드4를 추가한다. 이 메소드는 프로그램 실행 중에 사용자가 파라미터 마커의 값을 입력할 수 있다. BIND VARIABLES, SELECT LIST, ARRAY SIZE SET함수가 추가되었고 OPEN, FETCH, EXECUTE함수가 개선되었다. Hibernate와 연동지원 Altibase가 비표준SQL을 제공할 수 있도록 Hibernate의 dialect클래스를 지원한다. Hibernate 공식 라이브러리는 AltibaseDialect.class을 포함하지 않기 때문에 AltibaseDialect.java파일을 컴파일하고 포팅해야 사용할 수 있다. JRE 1.5 지원 JDK, JRE1.5 이상을 지원한다. Altibase 7.1.0.0.0 Release Notes Altibase DataPort 기능 제거 데이터를 이전할 수 있던 DataPort 기능 및 유틸리티(convdp)를 지원하지 않는다. 공유 메모리 기능 미지원 공유 메모리(Shared Memory) 모드를 7.1부터 지원하지 않는다. 공유 메모리를 지원하는 관리 도구 'shmutil' 및 프로퍼티를 삭제한다. 2.2 변경 사항 DBA와 개발자가 알아야 할 추가, 변경, 및 제거된 기능을 아래에서 설명한다. 데이터베이스 버전 데이터베이스 구성 요소 별 최신 버전 Altibase 버전 데이터베이스 바이너리 버전 통신 프로토콜 버전 메타 버전 이중화 프로토콜 버전 6.5.1 6.3.1 7.1.3 8.1.1 7.4.2 7.1 6.5.1 7.1.3 8.1.1 7.4.2 호환성 데이터베이스 바이너리 버전 데이터베이스 바이너리 버전은 데이터베이스 이미지 파일과 로그 파일의 호환성을 나타낸다. 데이터베이스 이미지 및 로그 파일의 형식이 변경되었으므로, 데이터베이스 업그레이드 시 기존 데이터베이스는 마이그레이션 되어야 한다. Altibase 버전 데이터베이스 바이너리 버전 6.5.1 6.3.1. 7.1 6.5.1 통신 프로토콜 버전 통신 프로토콜 버전은 변경되지 않았다. Altibase 버전 통신 프로토콜 버전 6.5.1 7.1.3 7.1 7.1.3 메타 버전 메타 버전은 변경되지 않았다. Altibase 버전 메타 버전 6.5.1 8.1.1 7.1 8.1.1 Altibase 7.1.0.0.0 Release Notes Altibase 이중화 프로토콜 버전 이중화 프로토콜 버전이 변경되지 않았다. 따라서 Altibase 6.5.1 과 7.1 간의 이중화가 가능하다. Altibase 버전 이중화 프로토콜 버전 6.5.1 7.4.2 7.1 7.4.2 프로퍼티 아래의 프로퍼티들이 추가 및 삭제되었다. 각 프로퍼티에 대한 자세한 내용은 General Reference를 참고하기 바란다. Altibase의 새로운 프로퍼티 ACCESS_LIST_FILE DBLINK_RECOVERY_MAX_LOGFILE IPCDA_CHANNEL_COUNT IPCDA_DATABLOCK_SIZE IPCDA_FILEPATH LOCK_MGR_CACHE_NODE LOCK_MGR_DETECTDEADLOCK_INTERVAL LOCK_MGR_MAX_SLEEP LOCK_MGR_MIN_SLEEP LOCK_MGR_SPIN_COUNT LOCK_MGR_TYPE LOCK_NODE_CACHE_COUNT MEM_INDEX_KEY_REDISTRIBUTION MEM_INDEX_KEY_REDISTRIBUTION_STANDARD_RATE MSG_QUEUE_PERMISSION OPTIMIZER_AUTO_STATS OPTIMIZER_DELAYED_EXECUTION OPTIMIZER_PERFORMANCE_VIEW PSM_CURSOR_OPEN_LIMIT PSM_CHAR_DEFAULT_PRECISION PSM_NCHAR_UTF8_DEFAULT_PRECISION PSM_NCHAR_UTF16_DEFAULT_PRECISION PSM_NVARCHAR_UTF8_DEFAULT_PRECISION PSM_NVARCHAR_UTF16_DEFAULT_PRECISION PSM_PARAM_AND_RETURN_WITHOUT_PRECISION_ENABLE PSM_VARCHAR_DEFAULT_PRECISION RESULT_CACHE_ENABLE Altibase 7.1.0.0.0 Release Notes Altibase RESULT_CACHE_MEMORY_MAXIMUM TABLE_LOCK_MODE TOP_RESULT_CACHE_MODE USER_LOCK_POOL_INIT_SIZE USER_LOCK_REQUEST_CHECK_INTERVAL USER_LOCK_REQUEST_LIMIT USER_LOCK_REQUEST_TIMEOUT Altibase 의 삭제된 프로퍼티 CHAR_DEFAULT_PRECISION DATAPORT_FILE_DIRECTORY DATAPORT_IMPORT_COMMIT_UNIT DATAPORT_IMPORT_STATEMENT_UNIT IPC_PORT_NO NCHAR_DEFAULT_PRECISION NVARCHAR_DEFAULT_PRECISION SHM_DB_KEY SHM_PAGE_COUNT_PER_KEY STARTUP_SHM_CHUNK_SIZE VARCHAR_DEFAULT_PRECISION 메타 테이블 아래의 메타 테이블이 삭제되었다. 각 메타 테이블에 대한 자세한 내용은 General Reference를 참고하기 바란다. Altibase 의 삭제된 메타 테이블 SYS_DATA_PORTS_ 성능 뷰 아래의 성능 뷰 들이 추가되었다. 각 성능 뷰에 대한 자세한 내용은 General Reference를 참고하기 바란다. Altibase 의 새로운 성능 뷰 V$ACCESS_LIST V$DBLINK_NOTIFIER_TRANSACTION_INFO Altibase 의 수정된 성능 뷰 V$DBLINK_LINKER_DATA_SESSION_INFO V$DBLINK_GLOBAL_TRANSACTION_INFO Altibase 7.1.0.0.0 Release Notes Altibase V$DBLINK_REMOTE_STATEMENT_INFO V$DBLINK_REMOTE_TRANSACTION_INFO V$SESSION V$REPSENDER V$REPSENDER_PARALLEL 2.3 패키지 OS CPU Archive Name AIX PowerPC altibase- server-7.1.0.0.0-AIX-POWERPC-64bit-release.run altibase- client-7.1.0.0.0-AIX-POWERPC-64bit-release.run HP-UX IA64 altibase- server-7.1.0.0.0-HPUX-IA64-64bit-release.run altibase- client -7.1.0.0.0-HPUX-IA64-64bit-release.run LINUX X86 altibase- server-7.1.0.0.0-LINUX-X86-64bit-release.run altibase- client-7.1.0.0.0-LINUX-X86-64bit-release.run PowerPC altibase- server-7.1.0.0.0-LINUX-POWERPC-64bit-release.run altibase- client-7.1.0.0.0-LINUX-POWERPC-64bit-release.run 2.4 다운로드 위치 Package http://support.altibase.com Manual http://support.altibase.com 설치 Altibase Installation Guide 참고