개요
tbsql 사용 시, DB 서버 구분을 위한 prompt 변경 방안에 대해 설명합니다.
TSC Cascading 구성 등과 같이 다수의 서버를 사용할 때 이용할 수 있습니다.
방법
1. bash_profile에 TB_SQLPATH 지정
$ ls -alt tbsql.login
-rw-rw-r-- 1 rmgr1 rmgr1 108 2월 7 17:06 tbsql.login
$ cat .tibero7_2_2.profile
#Tibero 7 ENV
-- 중략 --
####. sql prompt ####
#. tbsql.login config 파일 경로 지정
export TB_SQLPATH=/home/rmgr1/
#. DB_MODE를 명시하여 Primary인지 Standby 인지 구분하기 위해 변수로 입력 받음
TB_DB_ROLE=$(tbsql sys/tibero <<EOF
select DATABASE_ROLE from v$database;
EOF
)
if [[ $TB_DB_ROLE == "PRIMARY" ]]; then
export TB_DB_ROLE='PRIMARY'
elif [[ $TB_DB_ROLE == "CASCADING" ]]; then
export TB_DB_ROLE='CASCADING'
else
export TB_DB_ROLE='STANDBY'
fi
#. Profile 적용 alias
alias dbrole='source /home/rmgr1/.tibero7_2_2.profile'
SQL
복사
2. tbsql 접속 시 적용 옵션 정의 (tbsql.login config 파일 설정)
$ cat tbsql.login
set serveroutput on
set lines 130
set pages 1000
define sql_prompt=[$TB_SID]
set sqlp '$TB_DB_ROLE &sql_prompt SQL> '
#-- $TB_DB_MODE = .bash_profile에 설정한 DB_MODE에 대한 환경 변수
#-- &sql_prompt = TB_SID
SQL
복사
3. tbsql 접속 전 profile 적용
$ source .tibero7_2_2.profile
or
$ dbrole
SQL
복사
4. tbsql 접속 후 확인
$ tbsql sys/tibero
tbSQL 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Connected to Tibero.
CASCADING [tibero7_s1] SQL>
SQL
복사