Tibero RDBMS를 UNIX나 Linux상에서 운영할때 가끔씩은 session을 종료시켜야 할때가 있다. 이상한 쿼리가 실행되고 있다거나, Memory나 Disk I/O를 많이 일으킨다거나... 뭐 암튼 tm(Tibero Monitoring script)으로 확인한 session을 종료시키고 싶을때 명령행에서 처리하는 방법이다.

1. tbsql을 이용한다.
 이 방법은 뭐 따로 설명할 필요가 있을까마는....
# tbsql sys

tbSQL 4 SP1

TmaxSoft, Co. Copyright(C) 2001-2009. All rights reserved.

Enter Password:

SQL> alter system kill session(111,1111);

이런식으로 처리해준다. Oracle과 다를거 없다.
session이 종료되지 않을때도 있다.


2. tbsvr kill을 이용한다.
명령행에서 "tbsvr kill"을 입력하면 session을 종료시킬 수 있다.
# tbsvr kill
sess: 33 user: SYS

select kill session (0: QUIT):

요기서 33을 입력해주면 해당 session이 종료된다. 물론...... 안될때도 있다.
0(영)대신에 Q를 입력해도 이 프로그램에서 빠져나갈 수 있다.

YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST


 Tibero는 Oracle과 유사한 구조로 구현되어있기에, Oracle처럼 Redo log file과 Archive log file이 존재한다. 당연히 Archive log mode로 설정을 해줘야 된다.


1. Tibero RDBMS의 설정 파일에 Archive log file이 저장될 디렉토리를 지정해준다.
$TB_HOME/config/DB명.tip파일에 디렉토리 설정을 추가해준다.
LOG_ARCHIVE_DEST="/data/tb_archive_log"


2. 운영중인 Tibero를 종료시킨 뒤 mount mode로 기동한다.
# tbboot mount

3. Achive log mode로 변경한다.
# tbsql sys

SQL>  alter database archivelog;


4. DBMS를 재기동한 뒤 정상적으로 Archive log file이 생성되는지 확인한다.
# tbdown immediate

# tbboot

# tbsql sys

SQL> alter system switch logfile;
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST


 Tibero 4 SP1을 사용한지도 벌써 일년이 넘어가고 있다. 그동안 안정화에 꽤 많은 노력을 기울였고, 생각보다 오래 걸렸지만, Tibero를 그럭저럭 사용하고 있다. 문제는 아직까지는 초기에 Tibero 영업에서 얘기한 "Oracle 10g 기준으로 거의 모든(?) 기능이 동일하다"는 얘기에는 많이 모자란 모습이라는 것이다.

 그동안 Tibero에 대해서 몇번 얘기했었는데, 이번에 얘기할 것은 Oracle의 exp, imp에 해당하는 tbexport와 tbimport에 대한 얘기이다. tbexport는 Oracle의 exp와 같이 Online 상태의 DB에서 data를 backup할때 사용하는

 무엇이 문제인가!!
 Oracle에서 export한 덤프 파일을 import할 때에 원본 DB에는 A라는 Tablespace가 존재하지만, import하는 DB에는 A라는 Tablespace가 없다고 가정해보자. 어떻게 되는가. 아래의 이미지를 보면 쉽게 이해가 가지 않을까?
두 DB에 생성된 Tablespace 현황

  DB-1의 ERP라는 유저를 export한 뒤 DB-2의 ERP라는 유저에 import한다고 할 때, 두 DB에 생성된 Tablespace가 서로 다르다면, Oracle에서는 DB-1에서 export한 Table들이 원래 생성되었던 A라는 Tablespace가 DB-2에 없다면 import하는 계정의 default tablespace인 B에 Table을 생성하죠. Tibero에서도 이렇게 될 줄 알았습니다.


 그런데... Tibero에서는 import하는 DB에 원래 DB-1에서 Table이 생성될때 사용했던 Tablespace와 동일한 이름의 Tablespace가 없으면 에러를 발생시키네요. ignore=y 옵션을 주고 시작하면 해당 오류를 그냥 통과하고 나머지를 import합니다만 오류가 발생한 Table은 수작업으로 생성해야 합니다.
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST