개요
본 문서는 Altibase 제품을 설치하고 구동/중지하는 방법에 대해 기본적인 내용을 설명한다.
기본적인 설치 이후 참고해야 하는 내용은 별도의 문서 및 URL로 제공되니 참고하도록 한다.
사전 절차
- 서버(시스템) 내에 Altibase 패키지 설치를 위한 OS 사용자 계정이 생성되어 있어야 한다.
- Altibase 패키지 인스톨러를 support.altibase.com 에서 다운로드 받아 시스템에 파일을 업로드 한다.
- 설치를 진행하기에 전에 Altibase Version 정보, OS Type, OS Bit정보, Mac Address 정보를 확인하여 support.altibase.com 에서 임시 라이선스 발급 또는 Altibase 영업부서에 문의하여 계약여부 확인 후 정식 라이선스 발급을 진행한다.
Altibase 패키지 인스톨러 파일을 아래 기술한 URL에서 접속하여 회원가입, 로그인 후 패키지 다운로드를 진행한다.
사용자는 http://support.altibase.com 또는 Altibase 로부터 패키지를 받을 수 있다.
해당 패키지에는 OS 정보 및 컴파일 비트, 제품의 버전 정보 등이 기술되어 있음으로 적합한 제품 패키지를 요청하거나 다운받도록 한다.
Altibase 패키지 파일명의 예 (Linux용 Altibase 패키지 파일 기준을 예로 6.5.1.XX, 7.1.0.XX 패키지 파일 설명)
Altibase 패키지 설치 및 DB 생성 절차
Altibase 의 EOS(End of Service) 정책에 따라 지원되는 버전들의 DB 생성 방법을 설명한다.
이 문서의 작성 시점 기준으로 최신 Altibase 버전은 'Altibase ver. 7' 이며 'Altibase ver. 6' 미만의 버전들은 EOS 대상이다.
Altibase 제품은 DB 생성을 하기 전까지는 구동할 수 없기에 구동 전 아래와 같이 DB 생성을 진행해야 한다.
Altibase 패키지 다운로드 및 설치 방법
Altibase 패키지 파일에 실행 권한을 부여한다.
Altibase 패키지를 실행하고 Installation directory 에 Altibase 엔진 설치를 위해 절대 경로를 설정한다.
DB 생성 방식을 결정한다. (기본값 = 1)
* Full 패키지 설치 및 패치 선택 옵션이며 Altibase 패키지 기본 설치는 Full 옵션을 선택한다.커널 설정값 가이드를 확인할 수 있다. (설치 경로 하위 install 디렉토리의 pre_install.sh 를 통해서도 확인할 수 있다.)
DB Name 을 결정한다. (기본값 = mydb)
* DB Name 은 변경 시 DB 재구성이 필요하다.DB PORT 를 설정한다. (기본값 = 20300)
MEM_MAX_DB_SIZE 값을 결정한다. (기본값 = 2G)
* MEM_MAX_DB_SIZE 는 memory 에 저장할 데이터의 '최대 값'을 의미하며, 미리 할당하는 것이 아니라 제한 값을 의미한다.버퍼풀의 총 메모리 크기를 결정한다. (기본값 = 128M)
* BUFFER_AREA_SIZE 는 디스크테이블 관련하여 버퍼영역으로 사용할 메모리 크기의 '최대 값'을 의미하며, 미리 할당하는 전체 값을 의미한다.DB 생성 여부를 결정한다. (기본값 = YES)
DB의 초기 Database 크기를 결정한다. (기본값 = 10M)
DB의 아카이브/노아카이브를 설정을 결정한다. (기본값 = No archivelog )
DB의 문자셋(Character set) 설정을 결정한다. (기본값 = UTF8)
DB의 국가 문자셋(National Character set) 설정을 결정한다. (기본값 = UTF8)
DB의 데이터파일(디스크테이블스페이스 데이터파일, 메모리테이블스페이스 체크포인트 이미지파일)과 아카이브 로그파일, 로그파일, 로그앵커파일 경로를 설정한다.
* 해당 경로는 설정하고자 하는 경로로 설정이 가능하며 기본 값은 Altibase 엔진이 설치된 디렉토리의 dbs, arch_logs, logs 경로로 설정된다.
DB의 기본 설정을 적용한 프로퍼티 값을 보여준다.
DB 생성을 진행하기 위해 패키지 설치를 진행한다.
DB 생성을 위해 패키지 설치 완료 후 발급 받은 라이선스를 입력한다. (기본값 = 1)
DB 생성을 진행한다. (위 프로퍼티를 설정한 값을 기준으로 DB구성에 필요한 데이터파일, 체크포인트 이미지파일, 로그파일, 로그앵커파일 생성)
DB생성 작업이 완료되면 Altibase 엔진 경로안에 conf라는 해당 디렉토리 안에 altibase.properties 파일에 설정 값이 적용되어 있다. ($ALTIBASE_HOME/conf/altibase.properties)
정상적으로 DB생성 작업이 완료되면 dbs, logs 디렉토리에는 아래와 같이 데이터파일, 체크포인트 이미지파일, 로그앵커파일, 로그파일들이 생성되어야 한다.
정상적으로 DB생성 작업이 완료되면 Altibase 패키지 설치를 진행한 OS 사용자 계정에 대해 자동으로 $ALTIBASE_HOME 설정 및 PATH가 환경변수에 등록된다.
Altibase 디렉토리 구성 요소
Altibase 패키지를 설치하면 아래와 같은 디렉토리가 생성된다.
기본 설치 및 구동에 대한 부분으로 설치 후 사용자가 확인할 주요 디렉토리들만 설명한다. (상세한 것은 매뉴얼을 참고하도록 한다.)
디렉토리 | 설명 |
admin | Altibase 성능뷰를 쉽게 볼 수 있는 예제 SQL 및 View 생성 파일 디렉토리 |
bin | Altibase 실행 파일, 유틸리티(실행파일) 디렉토리 |
include | Altibase 응용 프로그램 개발을 위해 제공되는 헤더파일 디렉토리 |
install | Altibase 응용 프로그램 개발을 위한 makefile을 위한 매크로 설정 예 등등이 포함된 altibase_env.mk 파일과 README 파일 디렉토리 |
lib | Altibase 응용 프로그램 개발을 위해 제공되는 라이브러리 디렉토리 |
sample | Altibase 응용 프로그램을 샘플로 제공한 예제 프로그램 소스(CLI, APRE, JDBC, C/C++ 등등) 디렉토리 |
trc | Altibase 운영 상태 정보가 기록되는 Trace 로그파일 위치 |
conf | Altibase 설정 파일(altibase.properties, aexport.properties)의 위치 및 해당 프로퍼티 예제 파일(sample), 라이선스 파일의 위치 디렉토리 |
logs | Altibase 로그앵커파일과 로그파일이 생성되는 기본 경로 |
dbs | Altibase 데이터파일들이 생성되는 기본 경로 |
arch_logs | Altibase 복구를 위해 로그 파일을 백업하는 백업 디렉토리 |
altiComp | Altibase 데이터베이스간의 이중화 운영시 장애로 인해 발생한 데이터 불일치를 해결하는 유틸리티 디렉토리 |
msg | Altibase 오류 메시지를 수록한 파일들을 포함하는 디렉토리 |
Altibase 패키지 관련 설치시 주의 사항
- Altibase는 공식적으로 32비트 패키지 제품을 제공하지 않는다.
단, 클라이언트 제품(클라이언트 서버)에 대해 개발 및 연동을 위한 패키지 제품을 제공한다.
클라이언트의 제품은 패키지 이름 앞에 “altibase-HDB-client-6.5.1.x.x” 라는 이름으로 시작한다.
제품 패키지에는 컴파일러 정보가 포함되기 때문에 예로 gcc/g++ 을 사용할 경우 해당 컴파일러의 버전을 사전에 확인하도록 한다. - Altibase 클라이언트 패키지 사용 여부, 제공 가능한 버전에 대한 내용은 추가적으로 02-2082-1114 또는 support.altibase.com 으로 기술 문의를 통해 자세한 내용을 안내 받으실 수 있다.
Altibase 데이터베이스 생성에 대한 설명
- Altibase 데이터베이스 생성 방법에 대한 자세한 내용은 아래의 URL에 구체적으로 기술한다.
25. ALTIBASE 데이터베이스 생성 가이드
Altibase 구동
Altibase 패키지를 위와 같이 기본 설치 및 DB생성이 완료되어야 정상적인 구동이 가능하다.
해당 파트에서는 사용자가 DB를 구동하는 방법에 대해 설명한다.
- Altibase 패키지는 설치 및 DB생성까지 완료한 경우 구동을 위해서는 해당 설치된 OS사용자 계정에서 환경변수파일을 실행한다.
환경변수파일은 OS종류마다 다르기에 해당 버젼에 대해 환경변수에 $ALTIBASE_HOME 설정 및 PAHT가 제대로 구성되었는지 확인한다.
Linux를 예를 들어 환경변수 파일에 $ALTIBASE_HOME 설정 및 PATH가 제대로 설정되어 있는지 확인 후 환경파일을 실행한다. ($ . $HOME/.bash_profile 또는 source $HOME/.bash_profile 실행)
Altibase 구동 절차
OS계정의 프롬프트창에서 아래와 같이 "server start" 라는 명령어를 수행하여 Altibase 구동이 가능하다. (사용자가 쉽게 구동할 수 있도록 "server" 라는 쉘스크립트를 통해 명령어를 수행하게끔 제공하고 있다.)
위와 같은 방법 이외에 iSQL로 접속하시어 "startup service" 명령어를 수행하여 Altibase 구동이 가능하다.
Altibase 구동 실패에 대한 간단한 예시
Altibase 중지
Altibase 설치가 완료 및 정상적으로 구동되었다면 해당 파트에서는 사용자가 DB를 중지하는 방법에 대해 설명한다.
Altibase 중지 절차
OS계정의 프롬프트창에서 아래와 같이 "server stop" 라는 명령어를 수행하여 Altibase 중지가 가능하다. (사용자가 쉽게 종료할 수 있도록 "server" 라는 쉘스크립트를 통해 명령어를 수행하게끔 제공하고 있다.)
위와 같은 방법 이외에 iSQL로 접속하시어 "shutdown immediate" 명령어를 수행하여 Altibase 중지이 가능하다. (shutdown 명령어 수행시 옵션은 abort, immediate, normal 로 종료가 가능)
* 위 shutdown을 진행시 3가지 방법으로 중지가 가능하며 아래의 설명을 참고한다.
옵션
설명
abort
현재 접속된 모든 세션(클라이언트)을 강제 종료시키고 즉시 구동을 중지한다. Altibase를 중지하기 때문에 정상적인 shutdown과정 없이 즉시 종료한다. (이후 구동시 데이터 복구작업을 진행하며 아무런 문제가 없음.)
immediate
현재 접속된 모든 세션(클라이언트)을 강제 종료시키고 정상적인 shutdown과정을 거쳐 중지한다.
normal
현재 접속된 모든 세션(클라이언트)이 정상 종료하기를 대기한 이후에 정상적인 shutdown과정을 거쳐 중지한다.
“normal” 옵션을 사용하는 경우 세션(클라이언트)이 종료하기를 기다려야 하기 때문에 이런 이유를 인지하지 못한 채 Altibase를 중지하면 shutdown과정이 진행되지 않는 것처럼 착각할 수 있음으로 사용에 주의 및 종료여부에 대해 확인을 필요로 한다.
Altibase 구동 및 중지에 대한 설명
- Altibase 구동 및 중지에 대한 자세한 내용은 아래의 URL에 구체적으로 기술한다.
43. Altibase 구동/중지 과정의 이해
Altibase 간단한 사용 예시
- 본 장에서는 DB사용자의 생성 및 테이블스페이스의 생성이나 테이블의 생성 방법에 대해 간단하게 예시로 설명한다.
- Altibase는 SQL92표준을 준수하기 때문에 다른 DBMS와 구문상의 큰 차이는 없다.
- 자세한 SQL문 사용법에 대해서는 Altibase가 제공하는 매뉴얼을 참조하도록 한다. (메뉴얼은 support.altibase.com 으로 접속 및 로그인하시어 문서 확인 및 다운로드가 가능하다.)
iSQL 명령어
Altibase는 사용자가 SQL문을 터미널 및 응용프로그램에서 사용할 수 있도록 제공하는 유틸리티 프로그램이다.
* DB를 생성한 시점에는 “SYS” 라는 DBA권한의 사용자만 존재하기 때문에 $ALTIBASE_HOME/bin/is 만 실행 및 접속이 가능하다. (“is”는 iSQL을 쉽게 접속 및 사용할 수 있도록 만든 쉘 스크립트로 제공한다.)* 각 입력 옵션은 다음과 같다.
입력 옵션
설명
-u
DB 사용자의 계정 이름을 입력한다.
-p
DB 사용자의 계정의 비밀번호(패스워드)를 입력한다.
-s
접속하고자 하는 대상 DB가 위치하는 서버의 네트웍 IP 주소를 입력하거나 로컬서버의 경우 127.0.0.1 을 입력한다.
-port
접속하고자 하는 대상 DB에 설정되어 있는 PORT_NO를 입력한다. ($ALTIBASE_HOME/conf/altibase.properties 파일에서 PORT_NO를 확인할 수 있다.
만일, DB문자셋(Character set)을 US7ASCII로 설정하지 않은 경우에는 DB를 생성할 때 지정하였던 문자셋을 환경변수로 설정을 해주어야 한다.
* DB를 생성한 시점에는 문자셋(Character set)을 예로 MS949로 설정하여 생성 및 구동하였을 경우
한글 데이터에 대한 입력 및 출력에 대해서는 접속하는 세션(클라이언트)도 동일하게 MS949로 ALTIBASE_NLS_USE의 문자셋(Character set)을 설정 및 적용하여 접속해야 한다.
DB 사용자의 계정 생성 및 삭제
Altibase 기본적으로 “SYS” 계정이라는 DBA권한을 가진 사용자가 생성되어 있다. 이 계정으로 접속하여 새로운 사용자를 만들 수 있다.
* 해당 파트에서는 신규 사용하고자 하는 유저에 대해 생성 및 삭제하는 명령어를 간단한 예시로 설명한다.* 사용한 각 입력 부분은 다음과 같다.
입력 항목
설명
CREATE USER 이후
Altibase에서 사용할 새롭게 만들 사용자의 이름을 기술한다.
IDENTIFIED BY 이후
사용자의 비밀번호(패스워드)를 지정하기 위해 기술한다.
DEFAULT TABLESPACE 이후
이 부분부터는 기술하지 않아도 사용자는 생성 가능하다. 다만, 접근 가능한 테이블스페이스를 명시해 주는 절이며 “ALTER USER” 구문을 통해 변경이 가능하다.
ACCESS ~ ON
ACCESS ~ ON 사이에 기술된 테이블스페이스에 접근 가능하도록 권한을 부여한다.
테이블스페이스의 계정 생성 및 삭제
Altibase 기본적으로 HDB(Hybrid DBMS)이며 메모리 테이블스페이스, 디스크 테이블스페이스를 모두 사용이 가능하다.
* 해당 파트에서는 유저 메모리 테이블스페이스, 유저 디스크 테이블스페이스에 대해 생성 및 삭제하는 명령어를 간단한 예시로 설명한다.
테이블 생성 및 삭제
Altibase 기본적으로 HDB(Hybrid DBMS)이며 메모리 테이블스페이스, 디스크 테이블스페이스를 모두 사용이 가능하기에 메모리 테이블, 디스크 테이블을 생성할 수 있다.
* 해당 파트에서는 메모리 테이블, 디스크 테이블에 대해 생성 및 삭제하는 명령어를 간단한 예시로 설명한다.