우리 회사 데이터베이스를 티베로로 변경하기
매개변수 파일 확인 및 변경 0 0 77,223

by 티베로 티베로 파일 [2018.10.11]


매개변수 파일은 티베로 설치 시 $TB_HOME/config/gen_tip.sh 스크립트를 통해 동일 경로에 $TB_SID.tip으로 생성된다.

초기 TEXT 형태(이하 TIP)로 생성이 되나 필요시 바이너리 형태(이하 BTIP)로 변경이 가능하며 매개변수 파일이 존재하지 않으면 티베로는 기동되지 않는다.

BTIP은 TIP과 달리 운영 중 ALTER SYSTEM(SCOPE BTIP OR BOTH)으로 변경한 값을 파일에 저장하여 재기동 시에 반영할 수 있다(TIP을 사용할 경우 ALTER SYSTEM을 통해 매개변수 값을 변경 후 VI를 통해 TIP 파일에도 수동으로 변경하고 저장해야 재기동 시 반영된다)

1. TIP을 통한 BTIP 생성

1) TIP > BTIP 생성
SQL> create btip from tip;
BTIP created.


--경로 설정을 원하는 경우
SQL> create btip='/tibero/tibero6/config/tiberodb.btip' from tip;
BTIP created.

이후 재기동을 하면 BTIP을 사용하여 티베로가 기동된다(TIP/BTIP이 동시에 존재할 경우 BTIP을 사용하고 BTIP이 없을 경우 TIP을 사용한다). 참고로 인스턴스가 BTIP을 이용하는지 여부는 USING_TIP 파라미터를 통해 확인이 가능하다.

2) BTIP > TIP 생성
SQL> create tip from btip;
TIP created.

-- 경로 설정을 원하는 경우
SQL> create tip='/tibero/tibero6/config/tiberodb.tip' from btip;
TIP created.

단, 티베로 인스턴스에서 BTIP을 사용 중인 경우만 TIP 생성이 가능하며 그렇지 않은 경우 아래와 같은 에러가 발생한다.
TBR-7407:Unable to execute this command while using Text-TIP.

2. 매개변수 파일 내용 확인

매개변수 파일은 OS의 vi editor 혹은 티베로 인스턴스에 접속한 후 v$paramter를 SELECT하여 확인이 가능하다(다만 바이너리 형태의 매개변수 파일을 사용할 경 우는 v$parameter를 통해서만 확인이 가능하다)

1) vi를 통한 확인
/tibero/tibero6/config # vi tiberodb.tip
####################################
##DatabaseIdentification
####################################
DB_NAME=tiberodb
LISTENER_PORT=99999
####################################
##FileConfiguration
####################################
DB_CREATE_FILE_DEST="/tibero/tbdata"
CONTROL_FILES="/dev/rcontrol001_1gd1","/dev/rcontrol002_1gd1"
...

2) v$parameters를 통한 확인
SQL> select * from v$parameters order by 1;

---------------------- -----------
NAME                   VALUE
---------------------- -----------
ACF_CMPT_CNT 36
ACTIVE_SESSION_HISTORY YES
ACTIVE_SESSION_TIMEOUT 0
ACT_LOG_DEST           /tibero/tibero6/instance/tiberodb/dump/act/
ACT_LOG_FILE_SIZE      104857600
AS_ADDR                127.0.0.1

tiberodb.tip에 정의하지 않은 매개변수들은 기본 값이 저장된 것을 확인할 수 있다.

3. 매개변수 파일의 변경

티베로 데이터베이스가 기동 시 읽어들인 매개변수 설정값은 메모리에 상주하고 있으며 해당 설정값에 알맞게 인스턴스는 운영이 된다.

예를 들어, 데이터베이스 관리자가 설정한 매개변수 TRACE_LOG_DEST의 값에 따라 티베로 인스턴스는 trace file을 생성하고 업데이트한다.

데이터베이스 기동 후 변수값을 변경할 때는 VT_PARAMETER의 IS_DYNAMIC을 확인하여 인스턴스 재기동이 필요한지 여부를 확인해야 하며 변경 전 기존 파일을 백업해두는 것이 안전하다(TIP을 VI로 변경할 경우는 IS_DYNAMIC 여부에 관계없이 재기동을 해야 데이터베이스에 적용된다).

데이터베이스 운영 중 MAX_SESSION_COUNT, TRACE_LOG_DEST 변경 예시(TIP 사용 기준)

1) VT_PARAMETER 확인
SELECT NAME, IS_DYNAMIC, IS_ADJUSTABLE, VALUE, DFLT_VALUE, TYPE 
  FROM VT_PARAMETER 
 WHERE NAME IN ('MAX_SESSION_COUNT','TRACE_LOG_DEST');
 
---------------- ----------- ------------ ---------------------------- ---------- -------
NAME             IS_DYNAMIC IS_ADJUSTABLE VALUE                        DFLT_VALUE TYPE
---------------- ---------- ------------- ---------------------------- ---------- -------
TRACE_LOG_DEST            1             1 /log/tibero/tibero/tracelog/            DIRNAME
MAX_SESSION_COUNT         0             1 300                                  20 INT32

TRACE_LOG_DEST는 IS_DYNAMIC이 TRUE(1)이므로 재기동 없이 변경 사항 적용이 가능하며, MAX_SESSION_COUNT는 변경 후 재기동해야만 적용이 가능함을 확인(참고로 IS_ADJUSTABLE은 DATABASE 생성 이후 변경 가능한 변수인지 확인)

2) 변수값 변경 전 백업
/tibero/tibero6/config 
# cp tiberodb.tip tiberodb.tip_backup201605

만약 BTIP를 사용한다면 CP로 바이너리 자체를 백업하는 것과 함께 CREATE TIP FROM BTIP; 으로 TIP 또한 백업해두는 것을 권장한다.

3) 변수값 변경
ALTER SYSTEM SET 
     TRACE_LOG_DEST = '/log/tibero/tibero/tracelog/tmp';

is_dynamic이 true 이므로 정상적으로 변경된다.

ALTER SYSTEM SET MAX_SESSION_COUNT = '3000';

is_dynamic이 false 이므로 TBR-7198: Unable to modify parameter 'MAX_SESSION_COUNT' dynamically 에러가 발생한다.

TIP 파일을 vi editor로 직접 변경한 후 재기동(tbdown immediate > tbboot)한다.

BTIP 사용 시 SCOPE BOTH를 적용한 이후 재기동한다(SCOPE 옵션은 아래 NOTE 내용을 참고한 다).

4) 변경사항 확인
SELECT NAME, IS_DYNAMIC, IS_ADJUSTABLE, VALUE, DFLT_VALUE, TYPE 
  FROM VT_PARAMETER 
 WHERE NAME IN ('MAX_SESSION_COUNT','TRACE_LOG_DEST');
 
---------------- ----------- ------------ ------------------------------- ---------- -------
NAME             IS_DYNAMIC IS_ADJUSTABLE VALUE                           DFLT_VALUE TYPE
---------------- ---------- ------------- ------------------------------- ---------- -------
TRACE_LOG_DEST            1             1 /log/tibero/tibero/tracelog/tmp            DIRNAME
MAX_SESSION_COUNT         0             1 3000                                    20 INT32

BTIP를 사용할 경우는 다음과 같은 세 가지 SCOPE 옵션 사용이 가능하다.

1) ALTER SYSTEM SET TRACE_LOG_DEST = ‘/log/tibero/tibero/tracelog/tmp’ SCOPE BTIP; >> BTIP 파일에 변경 사항을 저장한다. 따라서 재기동 이후 변경 사항이 적용된다.

2) ALTER SYSTEM SET TRACE_LOG_DEST = ‘/log/tibero/tibero/tracelog/tmp’ SCOPE MEMORY; >> MEMORY에 변경 사항을 저장한다. 따라서 변경 사항은 IS_DYNAMIC이 TRUE일 경우 바로 적용되며 재기동 시에는 변경 전 값이 적용된다

3) ALTER SYSTEM SET TRACE_LOG_DEST = ‘/log/tibero/tibero/tracelog/tmp’ SCOPE BOTH; >> BTIP 파일과 MEMORY에 모두 적용한다.

  • - 해당 강좌는 도서 " [우리 회사 데이터베이스를 티베로로 변경하기]"의 내용을 옮겼습니다.
  • - 해당 도서는 기간계 DBMS(DATABASE MANAGEMENT SYSTEM)를 티베로로 전환하는 실제 프로젝트를 수행한 실무자가 DBMS 전환 과정과 실제 적용 사례, 문제 해결 과정 등을 자세하게 설명하고 있습니다.

- 강좌 URL : http://www.gurubee.net/lecture/4161

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입