콘텐츠로 이동

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의 상태는 아래의 단계대로 순차적으로 진행된다.

  1. PRE-PROCESS

  2. PROCESS

  3. CONTROL

  4. META

  5. 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
$