Show Menu
Cheatography

Tibero Command Cheat Sheet by

Tibero DBMS Command Cheat Sheet

세션 관리

자기 자신의 세션번호 빠르게 조회하기
SELECT
  *
FROM
 ­ ­VT_­MYS­ESSID;
간단한 세션모니터링
SELECT
 ­ ­TO_­CHA­R(s­ysdate, 'yyyy/­mm/dd hh24:m­i:ss') AS dt,
  sid,
  serial#,
  username,
  status,
 ­ ­sql_et / 1000 AS "sec",
  machine,
  prog_name
FROM
 ­ ­v$s­ession;
현재 수행중인 세션 확인
SELECT
  sid,
  sql_id,
  prog_name,
  ipaddr
FROM
  v$session
WHERE
 ­ ­status = 'RUNNING';
자기 세션을 제외하고 running 중인 session에 대해 kill session 구문 생성
SELECT
 ­ ­'ALTER SYSTEM KILL SESSION(' || sid || ',' || serial# || ')'
FROM
  v$session
WHERE
 ­ ­status = 'RUNNING'
 ­ AND sid &l­t;> (
    SELECT
      *
    FROM
      vt_mytid
 ­ );
Session Kill 시 Spinlock을 잡고있는 상태면 DB Down이 발생함. Force로 Kill 하기 전에 Spinlock 잡고 있는지 확인하는 방법
SELECT
  inst_id,
  sid,
  serial#,
  pid,
  OS_THR_ID
FROM
  gv$session
WHERE
 ­ sid = <SID>
 ­ AND inst_id = <In­sta­nce>
위 조회 결과가 없을 시 Kill Session 수행
ALTER SYSTEM KILL SESSION
 ­ ­'<위에 조회된sid­>,<위에 조회된 serial­#>' FORCE;
 

성능 관리

TPR Snapshot 생성
EXEC
 ­ ­dbm­s_t­pr.c­re­ate­_sn­apshot;
TPR Report 생성
EXEC
  dbms_tpr.report_text_id(<snap_id>,
    <snap_id>,
    <inst_id>,
 ­ ­ ­ ­'<f­ile­_na­me>');
SQL 수행 플랜 보기 쿼리 수행 후 플랜 노드 별 수치 보기
SELECT *
FROM table(
 ­ ­dbm­s_x­pla­n.d­isp­lay­_cu­rso­r(null, null,
 ­ ­ ­ ­'IO­STATS -TEMPREAD -TEMPWRITE LAST CARDS ROWS -COST PREDICATE ELAPTIME'
));
SQL 동작 중 Physical Plan Cache 초기화
ALTER SYSTEM FLUSH PPC
 ­ ­CHI­LE_­NUMBER 'SQL_ID';
autotrace 수행
SET AUTOT TRACE EXP;
SET AUTOT TRACE EXP PLANS STAT;
접속 중인 다른 세션의 sql trace 수집
예) 접속 중인 89번 세션에 sqltrace 수집하기
exec DBMS_M­ONI­TOR.SE­SSI­ON_­TRA­CE_­ENA­BLE­(89); // 활성화
exec DBMS_M­ONI­TOR.SE­SSI­ON_­TRA­CE_­DIS­ABL­E(89); // 비 활성화

DB 백업

유저 별 Export Backup
$ tbexport
  username=sys
  password=tibero
  sid=<SID>
  port=<PORT>
  file=<파일명>
  log=<로그명>
  script=y
 ­ ­use­r=<­유저명>
Control File Backup
ALTER DATABASE BACKUP CONTROLFILE
 ­ TO TRACE AS '<저­장할파­일명>';

기타 명령어

tbsql 명령어를 통한 sql 파일 직접수행
$ tbsql <계정­명>/­'<패­스워드­>' @<파­일명>
현재 접속된 유저 확인
ls user
tbsql에서 loop 구문 후 SQL 문장 작성시 주기적으로 해당 SQL문 수행
예) loop select 1 from dual;
SET INTERVAL <시간간격(초)>;
LOOP <반복 수행할 SQL문>;
 

로그 및 덤프 관리

tbev -ts 파일명 eventlog 바이너리를 텍스트로 추출하고자 할 때 사용
$ tbev -ts <파일­명>
tbiv -ts 파일명 iLOG 바이너리를 텍스트로 추출하고자 할 때 사용
$ tbiv -ts <파일­명>
특정 세션의 callstack 수집
ALTER SYSTEM DUMP CALLSTACK <SI­D>;
특정 에러 번호에 대한 Callstack 덤프 on/off
ALTER SYSTEM DUMP CALLSTACK ON ERROR
 ­ ­<에러­번호> <ON­/OF­F>;
컨트롤 파일 덤프 수행
ALTER SYSTEM DUMP CONTRO­LFILE;
데이터파일의 특정 블럭 번호 덤프 수행
ALTER SYSTEM DUMP DATAFILE <데이터파일번호>
 ­ ­BLOCK <블럭­번호>;
데이터파일의 특정 블럭 번호 구간 덤프 수행
ALTER SYSTEM DUMP DATAFILE <데이터파일번호>
 ­ ­BLOCK <시작­블럭번­호> <끝블­럭번호­>;
특정 세션이 수행한 쿼리덤프 수집(메모리정보)
ALTER SYSTEM DUMP MEMLOG <SI­D>;
ALTER SYSTEM DUMP PPC
 ­ ­'SQLID' CHILD_­NUMBER;
모든 행위에 대해 Callstack 덤프 수행
ALTER SYSTEM DUMP CALLSTACK;
아카이브 로그 파일 덤프 수행
ALTER SYSTEM DUMP LOGFILE
 ­ ­'<아­카이브­파일명­(절대­경로포­함)>';
DB 할당 메모리 Dump 추출
ALTER SYSTEM DUMP LOGFILE '<아­카이브­파일명­(절대­경로포­함)>';

OS 환경 관리

파일 삭제 시 티베로 프로세스가 파일을 오픈하고 있는지 확인
$ fuser <파일­명>
티베로 Port를 사용해야 하는데 충돌 발생 시, 해당 Port를 오픈한 프로세스 존재 확인
$ lsof -i <포트­번호>
비정상 종료 시 공유 메모리, 세마포어 일괄 정리
$ ipcs -m | grep tibero6 | awk '{print $2}' | while read line ; do ipcrm -m $line; done
$ ipcs -s | grep tibero6 | awk '{print $2}' | while read line ; do ipcrm -s $line; done
DB 차원이 아닌 OS 차원에서 DB에 연결된 TCP 접속 확인
$ netstat -antp | grep <리스­너포트> | grep LISTEN
           
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Oracle SQL Developer Keyboard Shortcuts
          SQLDev KB Shortcuts OS X Cheat Sheet
          DBeaver SQL Editor Keyboard Shortcuts