tbExport
Tibero DB Export 기능을 통해 백업과 이관, 전송가능한 tbExport 유틸리티 사용 방법을 설명합니다.
개요
tbExport는 Tibero에서 제공하는 Export 유틸리티입니다. 이 유틸리티를 통해 Tibero 데이터베이스에 저장된 스키마 객체의 전체 또는 일부를 추출해 고유 형식의 파일로 저장하므로 데이터베이스의 백업과 다른 머신 간의 데이터베이스를 전송할 때 유용합니다.
tbExport 유틸리티에서 하나의 스키마 객체를 추출하면 그와 연관된 스키마 객체가 자동으로 함께 추출됩니다. 예를 들어 하나의 테이블을 추출하면 그 테이블에 대해 생성된 인덱스와 제약조건 등이 함께 추출됩니다. 필요에 따라서 연관된 일부 스키마 객체가 함께 추출되지 않도록 지정할 수 있습니다.
Export 모드에는 전체 데이터베이스 모드, 사용자 모드, 테이블 모드가 있습니다. DBA만이 사용할 수 있으며, DBA 권한을 줄 수 없을 경우 SELECT ANY DICTIONARY 권한을 부여하여 사용하는 것을 권장합니다.
tbExport 유틸리티를 실행한 결과로 생성된 파일은 운영체제 파일입니다. 따라서 Tibero 데이터베이스 파일과는 달리 일반 파일과 같은 작업을 실행할 수 있습니다. 예를 들어 파일을 FTP를 이용하여 전송하거나 CD- ROM 등에 저장하여 원격지의 Tibero 데이터베이스로 옮길 수도 있습니다.
Export가 실행되는 과정에서 발생하는 로그는 LOG 파라미터를 사용하여 지정합니다.
아래는 tbExport 유틸리티를 실행한 결과로 생성되는 완료, 경고 및 에러 메시지에 대한 설명입니다.
항목
설명
완료 메시지
Export가 성공적으로 완료된 후에 출력된다.
경고 메시지
Export가 완료되♘으나 경고가 발생한 경우에 출력된다.
존재하지 않는 테이블에 대해 Export를 시도할 때와 같은 경우에 발생하며 이런 경우 tbExport 유틸리티는 경고 메시지를 출력한 후 해당 테이블을 건너뛰고 다음 객체에 대해 Export를 계속한다.
에러 메시지
Export가 실행되는 과정에서 에러가 발생하여 Export를 계속할 수 없는 경우에 출력 된다.
시스템 메모리가 부족한 상황이나 Export에 필요한 뷰가 생성되지 않는 경우처럼 Export를 계속 실행할 수 없는 상황에 출력되며, 에러 메시지를 출력한 후 Export 세션을 종료한다.
tbExport 유틸리티의 특징
논리적인 백업 Tibero의 내부 스키마 및 데이터를 SQL 문장으로 추출합니다.
서로 다른 시점의 데이터 여러 개의 테이블을 Export할 때 추출한 각 테이블의 데이터는 동일 시점의 데이터가 아니라 Export 작업이 실행되는 시점의 순차적인 데이터입니다.
테이블 정의를 저장 데이터의 존재 여부에 상관 없이 테이블 정의(테이블의 DDL 스크립트)를 저장합니다.
테이블의 재구성 테이블 생성 후 수많은 DML 작업으로 인해 발생한 마이그레이션이 된 로우(migrated row)나 단편화(fragmentation)를 제거합니다.
빠른 시작
tbExport 유틸리티는 Tibero를 설치하는 과정에서 함께 설치되며, Tibero를 제거하면 함께 제거됩니다. 또한 Java 언어로 구현되어 있으며, JVM(Java Virtual Machine)이 설치되어 있는 어떤 플랫폼에서도 바로 운영할 수 있습니다.
실행 전 준비사항
tbExport 유틸리티를 실행하기 전에 다음과 같은 사항을 준비합니다.
JRE 1.4.2 이상 설치
Tibero 데이터베이스 서버와 같은 플랫폼에 설치되어 있거나 네트워크로 연결됩니다.
실행에 필요한 클래스 라이브러리(기본 위치: $TB_HOME/client/lib/jar 디렉터리)
tbExport 클래스 : expimp.jar
유틸리티 공통 라이브러리 : toolcom.jar
유틸리티 공통 Logger 라이브러리 : msllogger-14.jar
JDBC 드라이버 : internal-jdbc-14.jar
Export 모드
Export 모드에는 전체 데이터베이스 모드, 사용자 모드, 테이블 모드가 있습니다. 각 모드는 파라미터를 사용하여 지정할 수 있습니다.
아래는 모드별로 Export하는 스키마 객체의 포함 관계를 나타내는 그림입니다.
[그림 1] Export 모드

전체 데이터베이스 모드
전체 데이터베이스 모드는 Tibero 데이터베이스 전체를 Export하기 위한 모드입니다. SYS 사용자를 제외한 모든 사용자의 객체를 Export하기 위해 사용합니다.
전체 데이터베이스 모드를 사용하려면 다음과 같이 FULL 파라미터를 Y로 설정합니다.
FULL=Y
사용자 모드
사용자 모드는 SYS 사용자를 제외한 지정된 사용자가 소유한 모든 스키마 객체를 Export하는 모드입니다. 지정한 사용자가 소유한 객체를 Export하기 위해 사용하며 DBA는 하나 이상의 사용자에게 이 모드를 사용할 수 있습니다.
사용자 모드를 사용하려면 다음과 같이 USER 파라미터를 USER=userlist 형태로 설정합니다.
USER=SCOTT, USER1, …
테이블 모드
테이블 모드는 하나 이상의 테이블을 지정하여 그 테이블과 연관된 인덱스 등의 스키마 객체를 함께 Export하는 모드입니다.
테이블 모드를 사용하려면 다음과 같이 TABLE 파라미터를 TABLE=tablelist 형태로 설정합니다.
SCOTT.EMP와 같이 테이블을 소유한 사용자를 반드시 명시합니다.
TABLE=SCOTT.EMP, USER1.TABLE1, …
실행
tbExport 유틸리티를 실행하려면 $TB_HOME/client/bin 디렉터리에서 tbexport 명령어를 입력합니다.
아래는 전체 데이터베이스 모드로 실행하는 예입니다.
tbExport 유틸리티의 실행
$ tbexport username=tibero password=tmax sid=tibero file=export.dat full=y
$ tbexport cfgfile=export.cfg
tbExport 유틸리티
본 절에서는 명령 프롬프트에서 지정할 수 있는 tbExport 유틸리티의 파라미터를 설명합니다.
사용자가 파라미터 값을 지정하지 않고 tbExport를 실행하면, 다음과 같이 명령 프롬프트에서 지정할 수 있는 파라미터의 목록과 사용법이 나타납니다.
tbExport 7.0 102665 TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Usage: tbexport [options] [parameter=value parameter=value ...]
Options:
-h|--help Display the more detailed information.
-v|--version Display the version information.
-p|--patch Display the binary's patch information.
Parameters:
CFGFILE Config file name
COMPRESS Compress Mode: Y/N, default: N
CONSTRAINT Export Constraint: Y/N, default: Y
CONSISTENT Consistent Mode: Y/N, default: N
ENCRYPTION Specifies a Encryption Mode
ENCRYPTION_PASSWORD Specifies a password for encrypting data
in the export Dump File
EXCLUDE Limit the export to specific objects
FILE Export dump file name, default: default.dat
FULL Full Mode: Y/N, default: N
GEOM_ASBYTES Export the geometry columns as bytes, default: N
GRANT Export Grant: Y/N, default: Y
INDEX Export Index: Y/N, default: Y
INLINE_CONSTRAINT Use the Inline Constraint: Y/N, default: N
(this option is only supported for the not null)
IP IP address, default: localhost
LOG Export script log file name
LOGDIR Export log directory
NO_PACK_DIR Export unpacked dump files to specified directory.
If this option is specified, FILE parameter will be ignored.
OVERWRITE Overwrite datafile if same file name exists: Y/N, default: N
PACK_TYPE Packing algorithm: TAR/ZIP, default: TAR
PASSWORD User password
PORT PORT number, default: 8629
QUERY Where predicate: (Optional) to filter data to be exported
(must be used with TABLE parameter.)
REMAP_TABLESPACE Remaps the objects from the source tablespace to the target
tablespace.
REMAP_TABLE Remaps the objects from the source table to the target table.
ROWS Export Table Rows: Y/N, default: Y
SAVE_CREDENTIAL Save your username and password to specified file
SCRIPT LOG THE DDL SCRIPT: Y/N, default: N
SID Database name
STATISTICS Export Statistics: Y/N, default: N
TABLE Table Mode: table name list
Append :<Partition Name> to select a single partition (Optional)
TARGETDB Target Server, default: TIBERO
TEMP_DIR Directory for the temporary raw dump files.
THREAD_CNT Thread Count, default: 4
USER User Mode: user name list
USERNAME Database user name
NOVALIDATE NOVALIDATE: Y/N , default: N
INDEX_PARALLEL_DEGREE Option of index parallel degree, default: 0 (NOPARALLEL)
아래는 명령 프롬프트에서 지정할 수 있는 tbExport 유틸리티의 파라미터입니다.
항목
설명
CFGFILE
환경설정 파일의 이름입니다.
COMPRESS
Export 수행과 동시에 Compress하는 기능입니다.
Y : Compress 모드로 Export합니다.
N : Compress 모드로 Export하지 않습니다. (기본값)
Compress 모드를 사용하는 경우 단일 스레드로 동작합니다.
CONSISTENT
Export를 수행하는 시점을 기준으로 데이터를 Export하는 기능입니다.
Y : Consistent 모드로 Export합니다.
N : Consistent 모드로 Export하지 않습니다. (기본값)
flashback query에서 지원하지 않는 대상에 대해서 지원하지 않습니다.
CONSTRAINT
Export를 수행할 때 제약조건의 Export 여부를 지정합니다.
Y : 제약조건을 Export합니다. (기본값)
N : 제약조건을 Export하지 않습니다.
ENCRYPTION
Export할 때 생성되는 덤프 파일에 데이터를 암호화하여 저장할지 선택 합니다. (암호화 알고리즘: AES-128)
다음의 5가지 모드가 존재합니다.
ALL : 데이터와 메타데이터 모두 암호화합니다.
DATA_ONLY : 데이터만 암호화합니다.
ENCRYPTED_COLUMNS_ONLY : 컬럼 암호화가 진행된 것만 특정 하여 암호화합니다.
METADATA_ONLY : 메타데이터만 암호화합니다.
NONE : 어떠한 데이터도 암호화된 포맷으로 저장하지 않습니다. (기본 값)
ENCRYPTION_PASSWORD
Encryption Mode를 통해 덤프 파일에 적용한 암호에 대한 Password를 지정합니다.
EXCLUDE
Export할 때 제외할 특정 user, table을 설정할 수 있습니다. 아래와 같은 방법으로 설정할 수 있습니다.
스키마 및 schema.table 제외 exclude=schema:"='TIBERO'/table:LIKE 'T%'" exclude=schema:"IN'USER1'"
여러 개 스키마 제외 exclude=schema:"='TIBERO'" exclude=schema:"='USER1'"
여러 개 테이블 제외 exclude=table:"LIKE'E%'" exclude=table:"IN('T2','T3')"
FILE
Export를 수행할 때 생성되는 파일의 이름입니다. (기본값: default.dat)
바이너리 파일의 형태로 운영체제에서 생성되며, 이름을 지정하지 않으면 기본값으로 생성됩니다.
FULL
전체 데이터베이스 모드로 Export를 수행할지 지정합니다.
Y : 전체 데이터베이스 모드로 Export를 수행합니다.
N : 사용자 또는 테이블 모드로 Export를 수행합니다. (둘 중 하나의 모드 는 있어야 함). (기본값)
GEOM_ASBYTES
geometry 컬럼에 대해 WKB 또는 bytes로 얻어올지 여부를 결정합니다. (기본값: N)
Tibero 6 이상 서버에서 Geometry 컬럼 데이터를 WKB 포맷으로 저장하기 때문에 export/import하는 경우 이 옵션을 사용하면 성능면에서 이점을 얻을 수 있습니다. export할 때 geom_asbytes 옵션을 'Y'로 설정하면 st_asbinary 같은 함수를 사용하지 않고 LOB 그대로 처리합니다.
Tibero 5 SP1 이하 버전의 Tibero에서 export할 때 WKB 포맷으로 export하기 위해서는 geom_asbytes를 'Y'로 설정하지 않도록 주의해야 합니다. geom_asbytes를 'N'로 설정하여 사용해야 하며, 이 때 내부적으로 st_asbinary()를 사용하여 WKB 포맷으로 데이터를 받아옵니다.
하위 버전의 Tibero 서버에서 Export 작업할 때 temp lob을 생성하여 처리해야 하는 성능상의 문제와 Import할 때에 DPL로 사용하는 경우 size가 큰 geometry 데이터에 대해서 처리할 수 없는 문제가 있을 수 있습니다.
GRANT
Export를 수행할 때 권한의 Export 여부를 지정합니다.
Y : 권한을 Export합니다. (기본값)
N : 권한을 Export하지 않습니다.
INDEX
Export를 수행할 때 인덱스 정보의 Export 여부를 지정합니다.
Y : 인덱스를 Export합니다. (기본값)
N : 인덱스를 Export하지 않습니다.
INLINE_CONSTRAINT
Export를 수행할 때 스크립트를 Inline Constraint로 출력할지 여부를 설정합니다.
Y : Inline Constraint로 출력합니다.(Not Null에만 지원)
N : Out-of-line Constraint로 출력합니다. (기본값)
IP
Export 대상 Tibero 서버의 IP 주소를 입력합니다. (기본값: localhost)
LOG
Export된 오브젝트들의 스크립트가 기록될 로그 파일의 이름을 입력합니다.
LOGDIR
Export의 수행 로그가 기록될 파일을 저장할 디렉터리 이름을 입력합니다.
NO_PACK_DIR
압축을 해제한 덤프 파일이 저장되는 디렉터리입니다. 이 옵션이 지정되면, FILE 파라미터에 설정된 값은 무시됩니다.
이 옵션으로 지정한 디렉터리에 파일이 존재하는 경우, 파일이 삭제될 수 있으므로 디렉터리를 지정할 때는 새로운 디렉터리나 비어있는 디렉 터리 사용을 권장합니다.
OVERWRITE
Export를 수행할 때 생성되는 파일의 이름과 동일한 이름의 파일이 이미 존재하는 경우 파일을 덮어쓸지 지정합니다.
Y : 파일을 덮어씁니다.
N : 파일을 덮어쓰지 않습니다. (기본값)
기존 파일이 덮어씌워지므로 설정에 주의합니다.
PACK_TYPE
Export를 Compress(압축)로 수행하는 경우 packing algorithm 선택 옵션입니다.
TAR : TAR 파일로 압축합니다. (기본값)
ZIP : ZIP 파일로 압축합니다.
PASSWORD
Export를 수행하는 사용자의 패스워드를 입력합니다.
PACK_TYPE (hidden)
패키징에 사용할 알고리즘을 지정합니다.
TAR : TAR 형식으로 패키징합니다. (기본값)
ZIP : ZIP 형식으로 패키징합니다.
PARALLEL_DEGREE (hid
den)
테이블의 데이터를 Export하기 위해 수행하는 질의의 parallel hint를 입력합니다. (기본값: 0 (NOT PARALLEL))
PORT
Export 대상 Tibero 서버의 포트 번호를 입력합니다. (기본값: 8629)
QUERY
Export될 데이터에 필터 조건을 지정합니다.
모드에 상관없이 동작하지만, 원하지 않는 테이블에도 적용될 수 있으므로 주의합니다.
Where 조건 앞과 뒤를 "\로 감싸주어야 합니다. 단, 조건절의 내용을 String 처리를 해야한다면 "\"로 감싸주어야 합니다.
지정된 조건에 의해 SQL 문장에서 문법(Syntax) 에러가 발생할 경우 조건을 적용하지 않고 다시 시도합니다.
REMAP_TABLESPACE
테이블 스페이스 이름을 변경할 수 있는 기능을 제공합니다. 아래와 같은 방법으로 설정할 수 있습니다.
테이블 스페이스 USR1에서 USR3으로 변경REMAP_TABLESPACE=usr1:usr3
여러 개 테이블 스페이스 변경 설정REMAP_TABLESPACE=usr1:usr3,usr2:usr4
대소문자 구분하여 설정 REMAP_TABLESPACE=\"Usr1\":usr3
REMAP_TABLE
테이블 이름을 변경할 수 있는 기능을 제공합니다. 아래와 같은 방법으로 설정할 수 있습니다.
테이블 TEST1에서 TEST2로 변경 REMAP_TABLE=test1:test2
여러 개 테이블 변경 설정 REMAP_TABLE=test1:test2,test3:test4
Partition 테이블 변경 설정REMAP_TABLE=test1.partition_test1:test2.partition_test2
ROWS
Export를 수행할 때 테이블의 데이터를 Export할지 여부를 지정합니다.
Y : 테이블의 데이터를 Export합니다. (기본값)
N : 테이블의 데이터를 Export하지 않습니다.
SAVE_CREDENTIAL
암호화한 USERNAME과 PASSWORD를 사용할 때 설정합니다.
SAVE_CREDENTIAL 옵션을 사용하여 EXPIMP_WALLET 암호화 파일을 생성합니다.
사용법 SAVE_CREDENTIAL=[EXPIMP_WALLET_FILE_NAME] 예)SAVE_CREDENTIAL=/tmp/.expimp USERNAME=username PASSWORD=password
아래는 EXPIMP_WALLET 파일의 환경변수를 설정하는 예입니다.
export EXPIMP_WALLET=/tmp/.expimp
아래는 위 설정의 인식 우선순위입니다. 위의 설정들에 지정되어 있지 않 으면 에러를 발생합니다.
1. command line에 입력한 username, password 파라미터
2. cfgfile 내의 USERNAME과 PASSWORD 파일
EXPIMP_WALLET 파일의 USERNAME과 PASSWORD
SCRIPT
Export를 수행할 때 스키마 객체를 생성하는 DDL 스크립트의 표시 여부를 지정합니다.
Y : 스키마 객체를 생성하는 DDL 스크립트를 표시합니다.
N : 스키마 객체를 생성하는 DDL 스크립트를 표시하지 않습니다. (기본 값)
SERVER_VER (hidden)
Export의 대상이 되는 Tibero의 버전을 지정하여, 버전에 맞는 스크립트 를 생성하도록 합니다. Export 버전 상수입니다.
8 : Tibero 6, Tibero 7 (기본값)
7 : Tibero 5 SP1
6 : Tibero 5
SID
Export 대상 Tibero 서버의 SID를 입력합니다.
STATISTICS
Export 대상의 통계정보를 Export할지 여부를 지정합니다. SAFE, RECAL CULATE 등 통계정보 재계산은 지원하지 않습니다.
Y : 대상 통계정보를 Export합니다.
N : 대상 통계정보를 Export하지 않습니다. (기본값)
TABLE
테이블 모드로 Export를 수행할 때 Export할 대상 테이블의 이름을 지정합니다. 자세한 내용은 "테이블 모드"를 참고합니다.
사용법 TABLE=tablelist
TEMP_DIR
Export를 수행할 때 사용되는 임시 덤프 파일들이 생성될 디렉터리를 지정합니다.
THREAD_CNT
테이블의 데이터를 Export하기 위해 사용하는 스레드의 개수를 입력합니다. (기본값: 4)
USER
사용자 모드로 Export를 수행할 때 Export될 객체의 소유자를 지정합니다. 자세한 내용은 "사용자 모드"를 참고합니다.
사용법 USER=userlist
USERNAME
Export를 수행하는 사용자의 계정을 입력합니다.
NOVALIDATE
Constraint를 Export할 때 기존의 Row들이 Constraint 조건을 만족하는지 조사 여부를 지정합니다.
Y : Constraint 조건을 만족하는지 조사하지 않습니다.
N : Constraint 조건을 만족하는지 조사합니다. (기본값)
Export할 때 이 옵션을 사용한 경우에만 효과가 있으며, Import할 때는 이 옵션의 사용 여부와 상관없이 Export할 때 사용했던 옵션대로 효과가 나타납니다.
INDEX_PARALLEL_DEGREE
Export할 Index의 parallel degree를 입력합니다. (기본값:0 (NOPARALLEL))
파라미터 값은 순서를 지정해서 입력하지 않아도 됩니다. 파라미터 값 중에 CFGFILE은 명령 프롬프트에서만 지정할 수 있지만, 나머지 파라미터 값은 환경설정 파일에서도 지정할 수 있습니다. 단, 환경설정 파일에 파라미터를 지정해서 사용하는 경우에는 파라미터 이름을 반드시 대문자로 입력해야 합니다.
명령 프롬프트에 사용되는 파라미터를 환경설정 파일에 저장하여 관리하는 방법에는 다음과 같은 두 가지 형식이 있습니다. 두 번째 형식은 하나 이상의 파라미터 값을 지정하는 경우입니다.
PARAMETER=value
PARAMETER=value1, ...
아래는 파라미터를 지정하는 예입니다.
FULL=Y
FILE=EXPORT.DAT
GRANT=Y
INDEX=Y
CONSTRAINT=Y
수행 예제
아래는 tbExport 유틸리티를 이용하여 Export를 수행하는 예입니다.
tbExport 유틸리티를 이용한 Export의 실행
tbExport 7.0 97668 TmaxData Corporation Copyright (c) 2008-. All rights reserved.
the entire database: Fri Feb 06 10:45:16 KST 2015
Export character set: MS949
exporting tablespaces
exporting roles
exporting schema: "TIBERO"
exporting tables
[0] exporting table BONUS no rows exported.
[1] exporting table DEPT 4 rows exported.
[2] exporting table EMP 10 rows exported.
[3] exporting table SALGRADE 5 rows exported.
exporting object privileges
exporting indexes
exporting sequences
exporting views
exporting synonyms
Packing the file...
Export completed successfully: Fri Feb 06 10:46:17 KST 2015
Last updated