현상
$TB_HOME/client/bin/cepa_control 수행 시 아래와 같이 syntax error at line 76 에러가 발생하는 현상입니다.
$ ps aux | grep tbepa
tibero 35259440 0.0 0.0 59604 59840 - A 10:52:42 0:00 tbepa 44 1 77
$ sh $TB_HOME/client/bin/cepa_control -d -p 35259440
$TB_HOME/client/bin/cepa_control[25]: syntax error at line 76 : `=~' unexpected
SQL
복사
참고
c external procedure 사용 시 기동 되는 tbepa process에 대하여 점검이 필요할 경우, memory allocator dump 및 log level 변경을 위하여 cepa_control를 사용합니다.
원인
memory allocator dump 및 log level 변경을 위하여 사용하는 $TB_HOME/client/bin/cepa_control은 bash shell 구문으로 작성 된 script 입니다.
그렇기에 OS에 bash shell이 설치되어있지 않을 경우, bash shell 구문으로 작성 된 cepa_control script는 syntax error가 발생하며 실행 되지 않습니다.
$ vi $TB_HOME/client/bin/cepa_control
1 #!/bin/bash
2
3 print_usage ()
4 {
5 echo ""
6 echo "Usage: cepa_control [-h] [OPTION] "
7 echo ""
8 echo " -h, --help : show help"
...생략
SQL
복사
해결
OS에 bash shell 설치 이후 진행합니다.
Case 1. cepa_control 사용
cepa_control 사용 시, $TB_HOME/client/bin/cepa_control script의 옵션 동작 및 실행 순서는 아래와 같습니다.
1.
-p {tbepa pid} : $TB_HOME/client/tbepa에 'tbepa_{tbepa pid}.ctl' 을 생성합니다.
2.
-l [1~5] : 'tbepa_{tbepa pid}.ctl'에 'LOG_LVL=[1~5]' 내용이 추가됩니다.
3.
-d : 'tbepa_{tbepa pid}.ctl'에 'DUMP_EPAALLOC=Y' 내용이 추가됩니다.
4.
'kill -s SIGUSR1 {tbepa pid}'가 수행되면 'tbepa_{tbepa pid}.ctl'에 작성 된 내용에 따라 log level 변경 및 memory allocate dump가 수행됩니다.
Case 2. cepa_control 미사용
$TB_HOME/client/tbepa/tbepa_{tbepa pid}.ctl 을 수동 생성하고 옵션에 해당하는 설정을 작성 후에 {tbepa pid}로 SIGUSR1 signal을 보내면 cepa_control을 사용하지 않고 동일한 결과를 얻을 수 있습니다.
$ touch $TB_HOME/client/tbepa/tbepa_35259440.ctl
$ echo 'LOG_LVL=5' > $TB_HOME/client/tbepa/tbepa_35259440.ctl
$ echo 'DUMP_EPAALLOC=Y' >> $TB_HOME/client/tbepa/tbepa_35259440.ctl
$ cat $TB_HOME/client/tbepa/tbepa_35259440.ctl
DUMP_EPAALLOC=Y
LOG_LVL=5
$ kill -s SIGUSR1 35259440
$ ls -al $TB_HOME/client/tbepa
합계 3
drwxr-xr-x 3 tibero dba 4096 5월 9 17:09 .
drwxr-xr-x 9 tibero dba 4096 2월 25 16:33 ..
-rw-r--r-- 1 tibero dba 82 5월 9 17:09 tbepa.log_20250509170806_35259440.log
-rw-r--r-- 1 tibero dba 26 5월 9 17:09 tbepa_35259440.ctl
drwxr-xr-x 2 tibero dba 4096 5월 9 17:09 tracedump
*log level 5로 tbepa log가 생성
$ ls -al $TB_HOME/client/tbepa/tracedump
합계 2
drwxr-xr-x 2 jin dba 4096 5월 9 17:09 .
drwxr-xr-x 3 jin dba 4096 5월 9 17:10 ..
-rw-r--r-- 1 jin dba 2033 5월 9 17:09 epa_pga_35259440_20250509170931.dump
*tbepa memory allocator dump가 생성
SQL
복사