반응형

4. 인스턴스 기동/종료 방법

인스턴스를 기동 시키기 위해서는 SHARED_MEMORY_STATIC_KEY 프로퍼티가 설정 되어 있어야 하며, Client Server dedicate 모델에서 인스턴스를 기동 시키기 위해서는 리스너가 실행 되어 있어야 한다.

sysdba role 가지고 접속 기동을 시키면 .

 

1. 인스턴스 기동

 

Startup 오라클과 마찬가지로 내부적으로 다음과 같은 순서로 기동 된다.

gSQL> select INSTANCE_STATUS from v$instance; 명령을 이용하여 확인 가능

 

IDLE

인스턴스가 기동되지 않은 상태.

 

- 인스턴스에 필요한 프로퍼티 수정 가능 (파일 수정 또는 ALTER SYSTEM SET property=value SCOPE=file ; )

- gsql 에서 \startup 명령 수행 가능

 

NOMOUNT

인스턴스를 관리하는 gmaster 프로세스를 기동 시킴

 

- gmater 기동 시킨다.

- gmaster내의 Timer Cleanup 쓰레드가 기동됨.

- SSA(Shared memory Static Area) 할당 하고 초기화

 

 


 

MOUNT

$GOLDILOCKS_DATA 환경변수를 이용하여 프로퍼티들과 복구를 위한 Control File을 읽어 들인다

 

- 데이터 베이스가 Mount 상태이고, Control File 읽어서, 데이터 파일, 로그파일 사용하는 파일들의 정보 제어 가능

- 다음의 명령어 수행 가능

- ALTER SYSTEM OPEN DATABASE

- ALTER DATABASE ADD LOGFILE

- ALTER DATABASE DROP LOGFILE

- ALTER DATABASE RENAME LOGFILE

- ALTER DATABASE { ARCHIVELOG | NOARCHIVELOG }

- ALTER DATABASE DELETE BACKUP

- ALTER DATABASE REGISTER

- ALTER DATABASE RECOVER

- ALTER DATABASE RESTORE

- ALTER SESSION SET

- ALTER SYSTEM RESET

- ALTER SYSTEM SWITCH LOGFILE

- ALTER SYSTEM { KILL | DISCONNECT } SESSION

- ALTER TABLESPACE ADD { DATAFILE | MEMORY }

- ALTER TABLESPACE RENAME DATAFILE

- ALTER TABLESPACE OFFLINE

 


 

OPEN

- Instance에서 사용하는 모든 데이터파일을 공유 메모리로 로딩한다.

- Instance 복구 수행.

- NOLOGGING 인덱스를 구축한다.

- Ager Thread가 삭제하지 못한 객체나 파일을 정리한다.

- 딕셔너리(Dictionary) 객체를 위한 캐시를 구축한다.

- "SHARED_SESSION" property가 YES로 설정된 경우 gmaster내의 Process Monitor 쓰레드가 구동된다.

- Process Monitor 쓰레드는 balancer process, dispatcher process, shared-server process를 실행한다.

 

데이터 베이스가 정상적으로 종료 되었다는 가정하에 Open시에 READ ONLY 모드로 오픈 있다.

 

gSQL> alter system open database read only;

 

 

단계적 Startup 하는 방법

 

% gsql --as sysdba

Connected to an idle instance.

 

gSQL> \ startup nomount

Startup success

 

gSQL> alter system mount database;

System altered.

 

gSQL> alter system open database;

System altered.

 

한번에 Startup 하는 방법

 

$ gsql --as sysdba

 

 Copyright © 2010 SUNJESOFT Inc. All rights reserved.

 Release Trunk.3.1.0 revision(22178)

 

Enter user-name: sys

Enter password:

 

Connected to an idle instance.

 

gSQL> \startup open

 

Startup success

 

 

 

2. 인스턴스 종료

 

오라클과 마찬가지로 인스턴스 종료 방법으로 다음의 옵션을 제공 .

 

NORMAL

- 새로운 세션을 허용하지 않는다.

- 이미 접속되어 있는 세션에서 새로운 트랜잭션이나 Statement들은 허용한다.

- Instance에 접속되어 있는 모든 세션이 종료되기를 기다린다.

- 이후 Instance 구동 시 Instance 복구 과정을 수행하지 않는다.

TRANSACTIONAL

- 새로운 세션과 트랜잭션을 허용하지 않는다.

- 이미 진행된 트랜잭션에서 새로운 Statement들은 허용한다.

- 현재 진행중인 트랜잭션들이 종료되기를 기다린다.

- 현재 진행중인 트랜잭션이 종료된 이후에 세션은 자동 종료된다.

- 이후 Instance 구동 시 Instance 복구 과정을 수행하지 않는다.

IMMEDIATE

- 새로운 세션과 트랜잭션을 허용하지 않는다.

- 현재 진행중인 세션과 트랜잭션들은 강제로 종료시킨다.

- 시스템의 백그라운드 쓰레드들이 수행 중이던 것을 완료할 때까지 기다린다.

- 이후 Instance 구동 시 Instance 복구 과정을 수행하지 않는다.

ABORT

- 새로운 세션과 트랜잭션을 허용하지 않는다.

- 현재 진행중인 세션과 트랜잭션들은 강제 종료된다.

- 시스템의 백그라운드 쓰레드들을 즉시 종료시킨다.

- 이후 Instance 구동 시 Instance 회복과정을 수행한다.

 

종료 시키는 방법

 

% gsql --as sysdba

Connected to GOLDILOCKS Database.

 

gSQL> \ shutdown normal

Shutdown success

 

 

3. 리스너 기동/종료

리스너 설정은 인스턴스 설정과 마찬가지로 프로퍼티 파일 또는 환경 변수로 설정할 있다.

프로퍼티 파일의 내용이 환경변수 값보다 우선한다.

 

프로퍼티 파일 : $GOLDILOCKS_DATA/conf/goldilocks.listener.conf

 

프로퍼티

 

 기본

LISTEN_PORT

glsnr가 연결을 대기하는 Port이다.

TCP 연결을 원하는 Client들은 여기에 지정된 Port로 접속을 시도해야만 한다

22581

(1024 ~ 49151)

TCP_HOST

glsnr가 bind하는 ip address ( ip address (ip v4))

0.0.0.0

BACKLOG

client가 동시에 접속 시 glsnr가 동시에 처리할 수 있는 client수이다.

이 설정 값이 client의 동시 접속자수를 보장해주지는 않는다

1024

(1 ~ 32768)

DEFAULT_CS_MODE

client에서 접속 모드를 dedicated 또는 shared 선택을 안 한경우에 기본 접속 모드를 설정한다

dedicated

( dedicated | shared )

TCP_VALIDNODE_CHECKING

접속을 시도한 client가 유효한 client인지 검증할지를 설정한다.

 

- 이 값이 "NO"로 설정되면 client 검증을 하지 않는다.

- 이 값이 "YES"로 설정되고 TCP_INVITED_FILE에 설정된 파일이 존재하면 TCP_INVITED_FILE에 설정된 파일의 ip address를 가진 client만 유효한 사용자로 설정된다.

- 이 값이 "YES"로 설정되고 TCP_INVITED_FILE에 설정된 파일이 존재하지 않고 TCP_EXCLUDED_FILE에 설정된 파일이 존재하면 TCP_EXCLUDED_FILE에 설정된 파일의 ip address를 제외하고 유효한 사용자로 설정된다.

- 이 값이 "YES"로 설정되고 TCP_INVITED_FILE에 설정된 파일이 존재하지 않고 TCP_EXCLUDED_FILE에 설정된 파일도 존재하지 않으면 client검증을 하지 않는다.

 

 NO

( YES | NO )

TCP_INVITED_FILE

TCP_VALIDNODE_CHECKING값이 "YES"인 경우만 사용된다.

여기에 설정된 파일이 존재할 경우 파일에 포함된 사용자(ip address)만 접속이 가능하다

goldilocks.invited.conf

TCP_EXCLUDED_FILE

TCP_VALIDNODE_CHECKING값이 "YES"이고 TCP_INVITED_FILE에 설정된 파일이 없는 경우만 사용된다.

여기에 설정된 파일이 존재할 경우 파일에 포함된 사용자(ip address)를 제외하고 접속이 가능하다.

goldilocks.excluded.conf

TIMEOUT

glsnr의 timeout 값이며 단위는 초(second)이다.

glsnr에서 client와 통신시에 client가 응답이 없거나 반응이 느린 경우 timeout에 의해서 접속이 해제된다

100

( 0 ~ 2147483647 )

LISTENER_LOG_DIR

glsnr에서 출력되는 log가 저장되는 디렉토리를 설정한다. 설정값의 <GOLDILOCKS_DATA>는 $GOLDILOCKS_DATA환경 변수의 값으로 대체된다

<GOLDILOCKS_DATA>/trc

UDS_DIR

glsnr에서 사용되는 Unix Domain Socket 파일이 저장되는 디렉토리를 설정한다. 디렉토리 최대 길이는 60byte 이내로 설정해야 한다

/tmp

 

 

리스너 기동

 

% glsnr --start

Listener is started successfully.

 

$ glsnr --start --silent  (기동 메시지 출력 )

 

$ glsnr --start --home Gliese/home/g1n1_home

Listener is started successfully

 

 

리스너 종료

 

% glsnr --stop

Listener is stopped.

 

리스너 상태 확인

 

$ glsnr --status

Listener is not running.

 

$ glsnr --start

Listener is started successfully.

 

$ glsnr --status

Listener process ID : 27880

Listener configuration

Unix Domain Path : /tmp/unix-glsnr.22581

TCP Listen Host : 0.0.0.0,

default C/S mode : Dedicated

Connection Timeout(second)

 

Listener is running.

 

옵션 확인

 

$ glsnr --help

 

Usage:

glsnr [options]

 

Options:

 

--silent don't print message

--start start listener

--stop stop listener

--status show listener status

--help show listner help messages

 

 

반응형

+ Recent posts