매개변수 파일은 티베로 설치 시 $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 파일에도 수동으로 변경하고 저장해야 재기동 시 반영된다)
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 파라미터를 통해 확인이 가능하다.
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.
매개변수 파일은 OS의 vi editor 혹은 티베로 인스턴스에 접속한 후 v$paramter를 SELECT하여 확인이 가능하다(다만 바이너리 형태의 매개변수 파일을 사용할 경 우는 v$parameter를 통해서만 확인이 가능하다)
/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" ...
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에 정의하지 않은 매개변수들은 기본 값이 저장된 것을 확인할 수 있다.
티베로 데이터베이스가 기동 시 읽어들인 매개변수 설정값은 메모리에 상주하고 있으며 해당 설정값에 알맞게 인스턴스는 운영이 된다.
예를 들어, 데이터베이스 관리자가 설정한 매개변수 TRACE_LOG_DEST의 값에 따라 티베로 인스턴스는 trace file을 생성하고 업데이트한다.
데이터베이스 기동 후 변수값을 변경할 때는 VT_PARAMETER의 IS_DYNAMIC을 확인하여 인스턴스 재기동이 필요한지 여부를 확인해야 하며 변경 전 기존 파일을 백업해두는 것이 안전하다(TIP을 VI로 변경할 경우는 IS_DYNAMIC 여부에 관계없이 재기동을 해야 데이터베이스에 적용된다).
데이터베이스 운영 중 MAX_SESSION_COUNT, TRACE_LOG_DEST 변경 예시(TIP 사용 기준)
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 생성 이후 변경 가능한 변수인지 확인)
/tibero/tibero6/config # cp tiberodb.tip tiberodb.tip_backup201605
만약 BTIP를 사용한다면 CP로 바이너리 자체를 백업하는 것과 함께 CREATE TIP FROM BTIP; 으로 TIP 또한 백업해두는 것을 권장한다.
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 내용을 참고한 다).
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
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에 모두 적용한다.
- 강좌 URL : http://www.gurubee.net/lecture/4161
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.