본문 바로가기

Tibero

Tibero 기본 사용방법 - 기동과 중지와 파라메터 조작

1. 기동과 중지

1.1 Instance 기동 절차

 

일반적인 Tibero Instance의 기동 모드는 세 가지로서 NOMOUNT, MOUNT, OPEN 모드가 있으며 각 모드에 대한 설명은 다음과 같다.

 

티베로 DB 기동단계

 

• Instance start ( NoMount )
– Parameter Value를 결정하고, TSM을 할당한 다음 Process를 생성.
– Instance 생성 가능


• Database Mount ( Mount )
– Control File에서 Data File과 Redo Log File의 위치 Read.
– Database Recover 가능


• Database Open ( Open )
– Database Open시 Online Data File과 Online Redo Log File도 같이 Open.
– Database Open시 Data File이나 Redo Log File이 하나라도 없다면 Error 발생.

 

1.2 Tibero 기동 (tbboot)

tibero 소유 User로 Login을 한다.
tbboot 명령어로 tibero를 기동한다. (리스너는 자동 기동된다)
sys.log (5버전은 trace.log) 에서 NORMAL mode 를 확인한다.

 

▲ tibero 기동의 예

※ Oracle의 경우 sqlplus 프롬프트 상에서 기동/중지 명령이 수행되지만, Tibero는 터미널 상에서 수행된다.

 

1.3 Tibero 중지 (tbdown)
tibero 소유 User로 Login을 한다.
tbdown immediate 명령어로 tibero를 종료한다. (리스너는 자동 종료된다)
sys.log (5버전은 trace.log) 에서 server shut down 메시지 확인.

▲ tibero 중지의 예

 

※ tbdown의 옵션 

- normal : 모든 세션이 종료되면 DB를 종료한다. 

- immediate : 모든 세션과 TX를 종료한 뒤 DB를 종료한다. 

- abort : 모든 세션을 TX와 상관 없이 모두 종료한 뒤 DB를 종료한다. 

- abnormal : 모든 프로세스를 OS상 강제로 kill 한다.

 

1.4 Tibero 상태 확인

 

ps -ef | grep tbsvr 을 확인하여 Tibero Process를 확인한다.
Windows 계열 서버인 경우에는 서비스에서 Process를 확인한다.
공통적으로 V$INSTANCE 뷰를 통해 인스턴스의 상태를 확인한다.

▲ 프로세스 상태 확인의 예 (Unix계열)

 

▲ 프로세스 상태 확인의 예 (Windows계열)

 

▲ DB인스턴스 상태 확인의 예

 

2. Tibero Parameter 조작

Tibero는 약 1800여 종류의 파라미터(Tibero6 기준 : 히든 약 1500개 , 일반 약 300개)가 존재한다.
모든 파라미터는 $TB_HOME/config/$TB_SID.tip 파일에서 조작할 수 있으며, 크게 정적 파라미터와 동적 파라미터로 구분된다.
정적 파라미터는 적용을 위해 DB 재기동이 필요하다.
동적 파라미터는 sys._vt_parameter 뷰에서 IS_DYNAMIC 옵션이 1로 표시된다.

 

정적 파라미터 적용
$TB_HOME/config/$TB_SID.tip 파일은 바이너리 파일이 아닌 일반 텍스트 파일이므로 vim 에디터를 이용해 내용을 수정한 뒤 DB를 재기동한다.

 

▲ tip파일 예시



동적 파라미터

 

동적 파라미터는 데이터 조작 쿼리(ALTER문)를 통해 변경이 가능하며,
파라미터 조작 전 이미 Database에 접속되어 있는 세션은 접속을 다시 맺어야만
변경된 파라미터가 적용 된다.
동적 변경한 파라미터를 영구 적용하기 위해서는 반드시 tip파일을 수정해 주어야 한다.

 

▲ 파라미터 동적 적용 예시

정적 파라미터에 대해 동적 변경을 시도하면 다음과 같이 에러가 발생한다.

▲ 에러화면

 

파라미터 적용 확인
변경한 파라미터의 값이 적용 되었는지 여부는 sys._vt_parameter 뷰를 조회하거나 tbsql상에서 show parameter [파라미터명] 명령을 통해 확인 가능하다.

▲ 파라미터 확인 예시1

 

▲ 파라미터 확인 예시2

※ 단, hidden parameter의 경우에는 show parameter 명령어로 조회할 수 없다.

다음은, 기본적인 파라미터의 종류에 대해 알아보려 한다.

 

Appendix A. Tibero Init Parameter

Group Parameter Name Description  
DB Basic DB_BLOCK_SIZE Default 8192
설명 Database 에서 사용할 기본 block size 를 지정한다.
사유 OLTP성 업무의 시스템은 일반적으로 권고되는 '8192' 를 적용한다.
MAX_SESSION_COUNT Default 10
설명 DB에 접속할 수 있는 최대 세션 개수를 지정한다.
사유 최대 예상 접속 세션의 개수 보다 조금 더 여유 있게 지정한다. 향후 모니터링을 통해 조정이 필요할 수 있음.
Memory Management MEMORY_TARGET Default 0
설명 인스턴스가 사용할 TSM(sga) 와 PGA의 합.
사유 일반적으로 DB서버 메모리 스펙의 절반을 권장하며, DB만 사용 할 경우에는 절반 보다 더 크게 적용하기도 한다.
TOTAL_SHM_SIZE Default 0
설명 인스턴스가 사용할 TSM(sga) 영역의 크기
사유 일반적으로 MEMORY_TARGET의 절반을 권장하며,
부족 할 경우 MEMORY_TARGET의 2/3 가량 증설 하기도 한다.
DB_CACHE_SIZE Default TOTAL_SHM_SIZE * 2 / 3
설명 DB CACHE 영역의 크기
사유 Physical Read 로 인한 IO 성능저하를 최소화하도록 설정한다. OLTP 업무에서는 Buffer Cache Hit Ratio 가 최소 90% 이상이 되어야 한다.
_USE_HUGE_PAGE Default N
설명 Hugepage 기능을 사용할지의 유무
사용 하기 위해서는 커널파라미터와 ulimit 세팅이 필요 함.
사유 TSM(sga)을 관리하는 Pagesize를 높여 효율을 높이기 위함
LOG_BUFFER Default 10M
설명 Log Buffer 의 크기를 지정한다.
사유 Physical memory size 대비 10% 의 size로 설정 했으며, 향후 운용중 모니터링을 통하여 조정이 필요할 수 있음. (OLTP성 시스템에서는 REDO LOG의 10%를 권고)
UNDO UNDO_RETENTION Default 900
설명 UNDO 공간의 재사용이 가능한 최소 시간을 설정 (초)
사유 특별히 RECYCLEBIN 기능 등을 이용하여 ROLLBACK 저장 시간이 지정된 것이 아니라면 기본 값을 사용한다.
_USGMT_UNIFORM_EXTSIZE Default 512
설명 UNDO Segment의 공간 할당을 지정된 값 씩 할당 받는 기능 (block 개수)
사유 디스크 공간이 충분하고 대용량 TX 위주인 경우 성능향상과 작은 TX에 인한 UNDO 단편화를 방지하기 위해 큰 값을 설정하기도 한다.
_USGMT_ONLINE_MIN Default 11
설명 부팅 시 미리 만들어 놓을 UNDO Segment의 최소 개수
사유 작은 값으로 설정 시 부팅 직후 다량의 tx가 한꺼번에 들어오면 성능 저하가 발생할 수 있으므로 미리 큰 값을 설정하기도 한다.
_USGMT_ONLINE_MAX Default 300
설명 온라인 중 최대로 만들 수 있는 UNDO Segment의 개수
사유 동시 TX 유발 Session이 많고 undo segment가 적을 경우 에는 tx 할당에 실패하여 에러가 발생하는 경우를 방지하고자 크게 설정하기도 한다.
USE_RECYCLEBIN Default N
설명 Recyclebin 기능을 사용할지의 여부
사유 -
APM AUTOMATIC_PERFORMANCE_MONITORING Default Y
설명 APM 기능을 사용할지의 여부
사유 APM 기능 사용을 위해 Y
APM_SNAPSHOT_SAMPLING_INTERVAL Default 60
설명 APM Snapshot 수행 주기 (분)
사유 -
APM_SNAPSHOT_RETENTION Default 7
설명 스냅샷 보관 주기 (일)
사유 -
APM_SNAPSHOT_TOP_SQL_CNT Default 5
설명 APM 리포트에 남겨지는 TOP 쿼리의 개수
사유 -
ACTIVE_SESSION_HISTORY Default N
설명 ASH 기능을 사용할지의 여부
사유 -
GATHER_SQL_EXEC_TIME Default N
설명 SQL의 수행 시간을 기록할 지의 여부
사유 -
GATHER_SQL_PLAN_STAT Default Y
설명 SQL의 실행계획과 통계정보를 기록할 지의 여부
사유 -
BIND_VARIABLE_CAPTURE Default N
설명 BIND변수 캡쳐 기능을 사용할 지의 여부
사유 -
LOG AUDIT_FILE_DEST Default NULL ($TB_HOME/instance/$TB_SID 하위)
  설명 Audit trail 파일이 생성되는 디렉토리 절대경로
  사유 Audit trail 파일이 생성되는 디렉토리 절대경로
  CALLSTACK_DUMP_DEST Default NULL ($TB_HOME/instance/$TB_SID 하위)
  설명 Callstack 파일이 생성되는 디렉토리 절대경로
  사유 Callstack 파일이 생성되는 디렉토리 절대경로
  DBMS_LOG_DEST Default NULL ($TB_HOME/instance/$TB_SID 하위)
  설명 dbms.log 파일이 위치하는 디렉토리 절대경로 (dbms.log : trace.log 파일에 기록되는 정보와 중복되며, 서버의 기동 및 종료 , DDL 문장의 수행 등이 기록된다)
  사유 dbms.log 파일이 위치하는 디렉토리 절대경로