4. Altibase 구동 및 종료#
데이터베이스를 생성 후 서비스를 제공하기 위해서는 서버를 서비스 단계까지 구동하여야 한다. 이 장에서는 데이터베이스 구동과 종료 시에 참고할 사항들을 설명하고 있다.
Altibase 구동#
Altibase 서버를 구동하는 방법은 두 가지가 있다.
-
데이터베이스 관리자가 sys 계정으로 서버에 로그인 시 -sysdba 관리자로 서버에 접속하여 서버 구동
-
서버 스크립트 명령으로 서버 구동
Altibase를 구동시키기 위해서는 데이터베이스 생성 시와 마찬가지로 우선 isql을 –sysdba 옵션으로 실행해야 한다.
다음은 iSQL을 -sysdba옵션으로 실행하는 것을 보여준다.
$ is -sysdba
-----------------------------------------------------------------
Altibase Client Query utility.
Release Version 7.3.0.0.1
Copyright 2000, ALTIBASE Corporation or its subsidiaries.
All Rights Reserved.
-----------------------------------------------------------------
ISQL_CONNECTION = UNIX, SERVER = localhost
Connected to idle instance.
iSQL(sysdba)>
Note
STARTUP 명령어는 Altibase (isql 포함)를 설치한 계정으로만 수행이 가능하다.
Altibase를 구동하면, Altibase의 상태는 아래의 단계대로 순차적으로 진행된다.
-
PRE-PROCESS
-
PROCESS
-
CONTROL
-
META
-
SERVICE
STARTUP 명령어는 아래의 단계 옵션과 함께 사용할 수 있다.
STARTUP [PROCESS | CONTROL | META | SERVICE];
SERVICE 상태가 되어야 SYS사용자를 제외한 일반 사용자들이 데이터베이스에 접근할 수 있다.
Note
Altibase의 상태는 다음 상태로 진행만 할 수 있으며, 이전 상태로 되돌아갈 수는 없다.
SERVICE 상태로 전이시키는 예는 아래와 같다.
iSQL(sysdba)> STARTUP SERVICE
Connecting to the DB server.... Connected.
TRANSITION TO PHASE : PROCESS
TRANSITION TO PHASE : CONTROL
TRANSITION TO PHASE : META
[SM] Recovery Phase - 1 : Preparing Database
: Dynamic Memory Version => Parallel Loading
[SM] Recovery Phase - 2 : Loading Database
[SM] Recovery Phase - 3 : Skipping Recovery & Starting Threads...
Refining Disk Table
[SM] Refine Memory Table : .................................................................................................................................. [SUCCESS]
[SM] Rebuilding Indices [Total Count:134] ...................................................................................................................................... [SUCCESS]
TRANSITION TO PHASE : SERVICE
[CM] Listener started : TCP on port 20300 [IPV4]
[CM] Listener started : UNIX
[CM] Listener started : IPC
[RP] Initialization : [PASS]
--- STARTUP Process SUCCESS ---
Command executed successfully.
iSQL(sysdba)>
구동의 각 단계에서 사용자가 할 수 있는 일은 다음과 같다.
단계 | 가능한 작업 |
---|---|
PRE-PROCESS | PROCESS 단계로 전이할 수 있다. |
PROCESS | CREATE DATABASE구문으로 데이터베이스를 생성하거나 DROP DATABASE 구문으로 데이터베이스를 삭제할 수 있다. 제한된 개수의 성능 뷰들을 조회할 수 있다. 프로퍼티 값들을 변경시킬 수 있다. CONTROL 단계로 전이할 수 있다. |
CONTROL | 미디어 복구 (Media Recovery)를 수행할 수 있다. META 단계로 전이할 수 있다. CONTROL 단계에서 불완전 복구를 한 경우 META 단계로 전이할 때 온라인 로그를 리셋(reset)해야 한다. |
META | 메타 데이터 (Dictionary table)를 업그레이드할 수 있다. SERVICE 단계로 전이할 수 있다. |
SERVICE | SYS사용자를 제외한 일반 사용자로부터 접속을 받을 수 있다. SHUTDOWN NORMAL/IMMEDIATE/ABORT 를 수행할 수 있다. |
Altibase 종료#
현재 구동중인 Altibase 서버를 종료하려면 SHUTDOWN 구문을 사용한다. 아래의 옵션이 가능하다.
SHUTDOWN [NORMAL | IMMEDIATE | ABORT];
SHUTDOWN NORMAL과 SHUTDOWN IMMEDIATE는 Altibase가 SERVICE 상태일 때만 수행 가능하며, SHUTDOWN ABORT는 어떤 상태에서도 수행 가능하다.
Note
SHUTDOWN 명령어는 Altibase (isql 포함)를 설치한 유닉스 계정으로만 수행이 가능하다.
SHUTDOWN NORMAL#
서버를 정상적으로 종료하는 방식이다. 서버는 모든 클라이언트들이 서버로부터 접속을 끊을 때까지 종료 작업을 대기한다. 서버 종료시 내부적으로 다음의 작업이 수행된다.
-
클라이언트-서버간 통신 세션을 감지하는 쓰레드의 종료
-
서비스 쓰레드의 종료
-
자료 저장 관리자의 종료
-
마지막으로 Altibase 서버 프로세스가 완전히 종료되면, Altibase 서버를 종료
이 방식으로 Altibase를 종료했을 때 다음과 같은 메시지가 출력된다.
iSQL(sysdba)> SHUTDOWN NORMAL
Ok..Shutdown Proceeding....
TRANSITION TO PHASE : Shutdown Altibase
[RP] Finalization : PASS
shutdown normal success.
iSQL(sysdba)>
SHUTDOWN IMMEDIATE#
SHUTDOWN IMMEDIATE를 실행하면, Altibase 서버는 먼저 현재 연결된 세션들을 강제로 단절시킨 다음, 현재 실행 중이던 트랜잭션들을 철회(rollback) 시키고 Altibase 서버를 종료한다.
이 방식으로 Altibase를 종료했을 때 다음과 같은 메시지가 출력된다.
iSQL(sysdba)> SHUTDOWN IMMEDIATE
Ok..Shutdown Proceeding....
TRANSITION TO PHASE : Shutdown Altibase
[RP] Finalization : PASS
shutdown im../imgte success.
iSQL(sysdba)>
서버 스크립트 명령을 이용하여 서버를 종료할 수도 있다.
$ server stop
-----------------------------------------------------------------
Altibase Client Query utility.
Release Version 7.3.0.0.1
Copyright 2000, ALTIBASE Corporation or its subsidiaries.
All Rights Reserved.
-----------------------------------------------------------------
ISQL_CONNECTION = UNIX, SERVER = localhost
Ok..Shutdown Proceeding....
TRANSITION TO PHASE : Shutdown Altibase
[RP] Finalization : PASS
shutdown im../imgte success.
$
SHUTDOWN ABORT#
SHUTDOWN ABORT는 Altibase 서버를 강제로 죽인다. 이 방법으로 Altibase 서버를 종료하면, 데이터베이스가 완전하지 못한 상태가 되어 다음에 Altibase 서버를 구동할 때 데이터베이스 복구 과정을 거쳐야 할 수도 있다.
이 방식으로 Altibase를 종료했을 때 다음과 같은 메시지가 출력된다.
iSQL(sysdba)> SHUTDOWN ABORT
iSQL(sysdba)>
또는 서버 스크립트 명령을 이용할 수 있다.
$ server kill
-----------------------------------------------------------------
Altibase Client Query utility.
Release Version 7.3.0.0.1
Copyright 2000, ALTIBASE Corporation or its subsidiaries.
All Rights Reserved.
-----------------------------------------------------------------
ISQL_CONNECTION = UNIX, SERVER = localhost
$