SAP BTP - SAP HANA Client Connection을 Trace해보자.
아무것도 잡힌 설정이 없겠지만 설정을 확인해보자.
hdbsqldbc_cons SHOW ALL
설정을 잡고 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
일단 명령어를 날려서 파일이 제대로 쌓이는지 확인해보자.
hdbsql -U Nuruhee "\s"
제대로 쌓였다. 그렇다면 우리는 이전에 사용해왔던 쿼리를 날리거나, 명령어를 치면 파일이 쌓이게 될 것이다. 바로 전 챕터에서 했던 node 인터페이스와 연결했던 여러가지 js파일들이 있을 것이다. nodeQuery.js를 사용해서 쿼리를 날려보자
node nodeQuery.js
우리가 날리는 쿼리는 ‘SELECT TITLE, FIRSTNAME, NAME FROM BJSYSTEMS.CUSTOMER;’ 이다.
로그에 잘 쌓였나 확인해볼까?
새로운 파일이 잘 만들어졌고, 로그 내용에서 쿼리 내용을 확인해보자.
성공하였다.
그렇다면 잡은 trace 설정을 해제 하기 위해선?
hdbsqldbc_cons TRACE OFF
다시 nodeQuery.js를 실행해보고 파일이 쌓이는지 확인해보자. 쌓이지 않는다.
설정해제도 성공적으로 되었다.
그 외 여러가지 옵션
충돌을 추적 할 때 파일 떨구게 하려면
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"