if(재능이 없으면 시간으로 극복하라){return 성공;}

SAP BTP - SAP HANA Client Connection을 Trace해보자.

아무것도 잡힌 설정이 없겠지만 설정을 확인해보자.

hdbsqldbc_cons SHOW ALL

image

설정을 잡고 TRACE를 확인할 수 있도록 경로를 만들고 파일로 떨궈준다.

hdbsqldbc_cons TRACE SQL ON LEVEL INFO
hdbsqldbc_cons TRACE TIMING ON
mkdir c:\temp\traces
hdbsqldbc_cons TRACE FILENAME c:\temp\traces\SQLDBC-%p.txt

설정이 제대로 잡혔는지 확인.

hdbsqldbc_cons SHOW ALL

image

일단 명령어를 날려서 파일이 제대로 쌓이는지 확인해보자.

hdbsql -U Nuruhee "\s"

image

제대로 쌓였다. 그렇다면 우리는 이전에 사용해왔던 쿼리를 날리거나, 명령어를 치면 파일이 쌓이게 될 것이다. 바로 전 챕터에서 했던 node 인터페이스와 연결했던 여러가지 js파일들이 있을 것이다. nodeQuery.js를 사용해서 쿼리를 날려보자

node nodeQuery.js

우리가 날리는 쿼리는 ‘SELECT TITLE, FIRSTNAME, NAME FROM BJSYSTEMS.CUSTOMER;’ 이다. image

로그에 잘 쌓였나 확인해볼까? image

새로운 파일이 잘 만들어졌고, 로그 내용에서 쿼리 내용을 확인해보자. image

성공하였다.

그렇다면 잡은 trace 설정을 해제 하기 위해선?

hdbsqldbc_cons TRACE OFF

다시 nodeQuery.js를 실행해보고 파일이 쌓이는지 확인해보자. 쌓이지 않는다. 설정해제도 성공적으로 되었다. image

그 외 여러가지 옵션

충돌을 추적 할 때 파일 떨구게 하려면

hdbsqldbc_cons TRACE FLUSH ON

trace이 파일 크기 제한을 걸거나 특정 오류 발생할 때 파일 떨구게 하려면

hdbsqldbc_cons TRACE SIZE 100K
hdbsqldbc_cons TRACE ONLY ON ERROR 10
hdbsqldbc_cons SHOW ALL

환경변수 추가(powershell은 동작하지 않으니 cmd에서)

set HDB_SQLDBC_TRACEFILE=c:\temp\traces\flush-%p.txt
set HDB_SQLDBC_TRACEOPTSS=SQL=INFO,FLUSH

명령어와 함께 trace 설정

./hdbsql -U Nuruhee -Z traceFile=stdout -Z traceOptions=sql=warning "SELECT * FROM BJSYSTEMS.CUSTOMER"

환경변수 설정과 함꼐 쿼리를 날리는 방법도 있음

set HDB_SQLDBC_TRACEOPTS=SQL=WARN
set HDB_SQLDBC_TRACEFILE=stdout
hdbsql -U Nuruhee "SELECT * FROM BJSYSTEMS.CUSTOMER"

JDBC tracing configuration 조회하는 명령어 ngdbc.jar 경로로 이동해서

java -jar ngdbc.jar SHOW

command를 이용해 SQL trace on 옵션을 넣을 수 있음

java -jar ngdbc.jar TRACE ON

ngdbc.jar를 통해 직접 쿼리를 날리는 방법도 있음

java -jar ngdbc.jar -k Nuruhee -o encrypt=True -o validatecertificate=false -c "SELECT * FROM BJSYSTEMS.CUSTOMER"

trace 파일을 확인하는 방법은 trace 저장된 경로로 이동해서 type 트레이스 파일명

type trace파일명

stdout을 이용하여 trace 저장하는 방법

java -jar ngdbc.jar -k Nuruhee -o traceFile=stdout -o traceOptions=CONNECTIONS -c "SELECT * FROM BJSYSTEMS.CUSTOMER"