주로 Tibero to Tibero 이관 작업을 할떄 사용하며, 두 데이터베이스의 캐릭터셋이 동일해야만 한다.
tbExport/tbImport
Tibero를 설치하면 $TB_HOME/client/bin 경로에 기본적으로 포함된 유틸리티로, tbExport는 Tibero 데이터베이스 객체의 전체나 일부를 파일로 추출하며, 추출된 덤프 파일과 tbImport를 이용해서 Tibero에 데이터를 다시 생성할 수 있다
tbExport
모드
- 전체 데이터베이스 모드
- Tibero 데이터베이스 전체를 덤프하는 모드로 아래 파라미터 지정으로 설정할 수 있다.
- FULL=Y
- 사용자 모드
- 지정된 사용자의 모든 객체를 덤프하는 모드로 아래와 같이 userlist를 지정해서 설정할 수 있다.
- USER=TIBERO,TIBERO1,SCOTT,...
- 테이블 모드
- 아래 tablelist로 지정된 테이블과 연관된 인덱스 등의 객체를 덤프하는 모드이다.
- TABLE=USER1.TAB1,USER1.TAB2,USER2.TAB3,...
실행 방법
아래와 같이 command-line 에서 옵션을 선언해줄 수도 있고,
tbexport username=tibero password=tmax sid=tibero file=tbExp.dat log=tbExp.log full=y
별도로 파라미터를 설정해둔 .cfg 파일을 이용할 수도 있다.
tbexport cfgfile=tbExp.cfg
파라미터
- CFGFILE
- CFG 파일 경로 (tbExp.cfg)
- command-line 으로 파라미터를 설정하는 것이 아니라 별도로 파라미터를 기록해둔 파일을 이용해서 사용하는 경우 해당 파일의 파일명을 기입
- COMPRESS
- Y | N
- 추출하는 동시에 압축을 수행하고자하는 경우 Y로 선언하며, 이 때에는 단일 스레드로만 동작
- CONSTRAINT Export Constraint: Y/N, default: Y
- Y | N
- CONSTRAINT 추출 여부
- CONSISTENT
- Y | N
- tbExport 수행 시점 기준 consistency 보장 여부
- ENCRYPTION
- ALL | DATA_ONLY | ENCRYPTED_COLUMNS_ONLY | METADATA_ONLY | NONE
- AES-128 알고리즘으로 암호화 할 대상 지정
- ENCRYPTION_PASSWORD
- password
- 암호화를 진행하는 경우 덤프 파일에 적용할 암호 설정
- EXCLUDE
- 스키마 및 schema.table 제외
- EXCLUDE=schema:\"=\'TIBERO\'/table:LIKE \'T%\'\"
- EXCLUDE=schema:\"IN\'USER1\'\"
- 여러개 스키마 제외
- EXCLUDE=schema:\"=\'TIBERO\'\"
- EXCLUDE=schema:\"=\'USER1\'\"
- 여러개 테이블 제외
- EXCLUDE=table:\"LIKE\'E%\'\"
- EXCLUDE=table:\"LIKE\'E%\'\"
- 특정 사용자나 테이블을 제외하고 추출
- FULL
- Y | N
- 전체 데이터베이스 모드로 추출할지 여부
- USER
- 데이터베이스 사용자 리스트
- 사용자 모드로 추출하고자하는 경우, 사용자 리스트
- TABLE
- 테이블 리스트
- 테이블 모드로 추출하고자하는 경우, 테이블 리스트
- GEOM_ASBYTES Export the geometry columns as bytes, default: N
- GRANT
- Y | N
- 추출 대상 데이터베이스의 권한을 그대로 추출할지 여부
- INDEX
- Y | N
- INDEX 추출 여부
- INLINE_CONSTRAINT
- Y | N
- INDEX 추출은 INDEX 생성 구문으로 추출하는데, CONSTRAINT를 추출할 때 INDEX 생성 구문에 INLINE으로 할 지 여부
- FILE
- 파일명
- 덤프 파일명 지정
- LOG
- 파일명
- 작업로그 파일명 지정
- LOGDIR
- 파일경로
- 작업로그 경로 지정
- NO_PACK_DIR
- 파일경로
- 데이터베이스를 추출한 뒤 단일 파일로 packing하지 않고자 하는 경우, 덤프 파일이 쌓일 경로를 지정. tbexport는 데이터베이스를 추출할 때, 객체 단위로 추출하여 단일 파일로 패킹하기 때문에 덤프파일의 두 배 가량의 여유 공간이 필요. 추출하는 서버에 여유 공간이 없는 경우 사용.
- OVERWRITE
- Y | N
- 동일한 이름의 파일이 존재하는 경우 overwrite 여부
- IP
- IP=192.168.86.29
- Tibero 서버 IP 주소
- PORT
- PORT=8629
- Tibero 서버 Listener Port
- SID
- SID=TIBERO
- Tibero 서버의 Database Name
- USERNAME
- USERNAME=SYS
- tbexport 프로그램이 데이터베이스를 추출하기 위해 데이터베이스 서버에 접근할 사용자. 추출하고자 하는 객체들에 대한 충분한 권한이 필요.
- PASSWORD
- PASSWORD=TIBERO
- USERNAME 사용자의 DB 접근 암호
- SAVE_CREDENTIAL
- 아래 활용 예에서 사용 방법 별도 설명
- 추출을 위해 DB 서버 접근시, EXPIMP_WALLET 시스템 환경변수로 지정된 Credential 파일에 암호화하여 저장된 Username과 password 사용
- QUERY
- QUERY='\where rownum>10\'
- Export될 데이터에 where 필터를 지정
- REMAP_TABLESPACE
- REMAP_TABLESPACE=USR1:USR3,USR2:USR4
- 추출시 테이블스페이스 명을 변경.
- REMAP_TABLE
- REMAP_TABLE=T1:T3,T2:T4
- 추출시 테이블 명을 변경
- ROWS
- Y | N
- 데이터를 추출할 지 여부. N 으로 설정하는 경우 테이블 구조만 추출
- SCRIPT
- Y | N
- 추출된 DDL Script를 로그에 포함시킬지 여부
- TEMP_DIR
- 파일경로
- raw 덤프 파일들이 임시로 사용될 경로 지정
- THREAD_CNT
- Number (default: 4)
- 테이블을 추출할 때 사용되는 Thread 개수 지정
활용 예
EXPIMP_WALLET 을 이용하여 암호화된 접속 정보를 이용하여 서버에 접근하며, 전체 데이터베이스를 추출하는 경우
먼저 EXPIMP_WALLET 파일을 준비돼있어야 한다.
export EXPIMP_WALLET=~/exp/.expimp_wallet
tbexport save_credential=$EXPIMP_WALLET username=tibero password=tmax
ls $EXPIMP_WALLET
아래와 같이 Credential 이 정상적으로 저장되었다고 출력되면 이후 tbexport 유틸을 실행할 때부터는 username과 password를 지정하지 않더라도 DB 서버에 접근할 수 있다. tbExport를 이용한 백업 스크립트에 DB 접속 정보가 표기되지 않으므로 잘 활용하면 패스워드 노출을 막을 수 있다.
Credential saved: ~/exp/.expimp_wallet
TIBERO1 스키마를 제외한 모든 데이터베이스 객체를 추출하는 CFGFILE을 작성한다.
vi tbExp.cfg
FULL=Y
SCRIPT=Y
CONSISTENT=Y
OVERWRITE=Y
EXCLUDE=schema:\"='\TIBERO1\'"
FILE=tbExp.dat
LOG=tbExp.log
IP=127.0.0.1
PORT=8629
SID=tibero
다음 명령을 수행하면 username과 password 없이 추출이 수행되는 것을 확인할 수 있다.
tbexport CFGFILE=tbExp.cfg
tbImport
실행 방법
tbimport username=tibero password=tmax sid=tibero file=tbExp.dat log=tbImp.log full=y
또는
tbimport cfgfile=import.cfg
파라미터
일반적으로 tbexport에서 추출한 파일을 그대로 사용하는 경우가 많으므로, 위 실행 방법에 나온 구문으로 수행하면 된다.
세부적인 옵션은 tbimport 명령을 수행하면 다음과 같이 사용법 및 파라미터 설명을 확인할 수 있다.
tbimport 6.0 xxxxxx Copyright 2015 TmaxData Co., Ltd. All Rights Reserved.
Patch files (none)
Usage: tbimport [PARAMETER1=VALUE] [PARAMETER2=VALUE] ...
Parameters:
BIND_BUF_SIZE Specify the buffer size of DPL stream, default: 1M(1048576)
CFGFILE Config file name
COMMIT Commit after the insertion, default: N
CONSTRAINT Import Constraint: Y/N, default: Y
DBLINK Import DB Link: Y/N, default: Y
DPL Use Direct Path Load: Y/N, default: N
ENCRYPTION_PASSWORD encryption password to decrypt dump file
EXP_SERVER_VER Specify the exported server version, default: 8
FILE Import dump file name, default: default.dat
FROMUSER FromUser toUser Mode: user name list(must be used with TOUSER parameter)
FULL Full Mode: Y/N, default: N
GRANT Import Grant: Y/N, default: Y
GEOM_ASBYTES Import the data to the geometry columns as bytes, default: N
IGNORE Ignore create error due to object existence: Y/N, default: N
INDEX Import Index: Y/N, default: Y
IO_BUF_SIZE Specify the buffer size of file I/O, default: 16M(16777216)
IP IP address, default: localhost
LOG Import script log file name
LOGDIR Import log directory
NATIONAL_CHARSET Specify the exported national character set, default is the exported character set
NO_PACK_DIR Import unpacked dump files from specified directory. If this option is specified, FILE parameter will be ignored.
PASSWORD User password
ROLE Import Role: Y/N, default: Y
PORT PORT number, default: 8629
PSM Import PSM: Y/N, default: Y
P_DPL Use Parallel DPL: Y/N, default: N
ROWS Import 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
SEQUENCE Import Sequence: Y/N, default: Y
SID Database name
STATISTICS Import Statistics: Y/N, default: N
SYNONYM Import Synonym: Y/N, default: Y
TABLE Table Mode: table name list
TEMP_DIR Directory for the temporary raw dump files.
THREAD_CNT Thread Count, default: 4
TOUSER FromUser toUser Mode: user name list(must be used with FROMUSER parameter)
TRIGGER Import Trigger: Y/N, default: Y
USER User Mode: user name list
USERNAME Database user name
'DB > Tibero' 카테고리의 다른 글
[Tibero] RawDevice + TAC 설치 하는법 (1) | 2023.02.02 |
---|---|
[Tibero] tbexport & tbimport (1) | 2023.02.01 |
[Tibero] 사용자 관리와 데이터베이스 보안 (0) | 2023.01.10 |
[Tibero] Window서버 Tibero to Tibero 이관 하기 (0) | 2022.12.23 |
[Tibero] DB Link 가이드 (0) | 2022.12.22 |