Document Type | Technical Information
Category | Migration
Applicable Product Version | Tibero6 FS07
Document Number | TMITI024
Overview
This document describes the method of migrating data from Altibase to Tibero using the Table Migrator.
Test Environment
- The Tibero Table Migrator was tested using the latest version.
- The Altibase test version is as follows.
[altibase@localhost lib]$ altibase -v
version 6.5.1.9.2 X86_64_LINUX_redhat_Enterprise_release6.0-64bit-6.5.1.9.2
-release-GCC4.6.3 (x86_64-unknown-linux-gnu) Jul 19 2022 14:09:55, binary
db version 6.3.1, meta version 8.1.1, cm protocol version 7.1.3,
replication protocol version 7.4.5
Method
Table Migrator Setup
- Prepare the Altibase.jar file
[tibero@localhost table_migrator]$ ls -alrt
total 6980
-rw-r--r--. 1 tibero tibero 114221 Aug 10 16:37 toolcom.jar
-rw-r--r--. 1 tibero tibero 2002395 Aug 10 16:37 table_migrator.zip
-rw-r--r--. 1 tibero tibero 4582 Aug 10 16:37 readme.txt
-rw-r--r--. 1 tibero tibero 352897 Aug 10 16:37 msllogger-14.jar
-rw-r--r--. 1 tibero tibero 4786 Aug 10 16:37 migrator.properties.eg
-rw-r--r--. 1 tibero tibero 79434 Aug 10 16:37 migrator_cli.jar
-rw-r--r--. 1 tibero tibero 126 Aug 10 16:37 migrator.bat
-rw-r--r--. 1 tibero tibero 1604298 Aug 10 16:37 internal-jdbc-16.jar
-rw-rw-r--. 1 tibero tibero 2111220 Aug 22 23:08 ojdbc6.jar
-rw-r--r--. 1 tibero tibero 388342 Aug 22 23:08 Altibase.jar
-rw-r--r--. 1 tibero tibero 141 Aug 22 23:34 migrator.sh
-rw-rw-r--. 1 tibero tibero 52503 Aug 22 23:54 tableMigrator.log
-rw-rw-r--. 1 tibero tibero 2707 Aug 22 23:55 migrator.properties
- Modify the migrator.sh file (add the Altibase.jar file)
[tibero@localhost table_migrator]$ cat migrator.sh
java -classpath migrator_cli.jar:Altibase.jar:ojdbc6.jar:msllogger-14.jar:
toolcom.jar:internal-jdbc-16.jar com.m.migrator.TableMigrator "$@"
- Change migrator.properties
[tibero@localhost table_migrator]$ cat migrator.properties
#######################
# Source DB Connection
#######################
# Source DB type (Optional, generic | default | ORACLE)
SOURCE_TYPE=generic
SOURCE_DRIVER=Altibase.jdbc.driver.AltibaseDriver
SOURCE_URL=jdbc:Altibase://192.168.41.137:20300/mydb?clientside_auto_commit=
on&auto_commit=false
SOURCE_USER=SYS
SOURCE_PASSWORD=MANAGER
SOURCE_TABLE=TEST_CLOB
SOURCE_TABLE_DEDUPLICATE=N
#######################
# Target DB Connection
#######################
TARGET_TYPE=DEFAULT
#TARGET_DRIVER=com.tmax.tibero.jdbc.TbDriver
TARGET_DRIVER=com.m.internal.jdbc.MInternalDriver
TARGET_URL=jdbc:internal:thin:@localhost:8629:tibero0
TARGET_USER=tibero
TARGET_PASSWORD=tmax
TARGET_TABLE=TEST_CLOB
# Ignore source/target DB character set (Optional, y | N )
SELECT_AS_BYTE=N
Table Migrator For Altibase 3
COMMIT_SIZE=-1
INDEX_DISABLE=N
INSERT_BATCH=N
BATCH_THRESHOLD=32
INSERT_COLUMN_NAME_CASE_SENSITIVE=N
USE_MULTITHREAD=N
THREAD_COUNT=1
CHECK_COLUMN_METADATA=N
LOG_LEVEL=INFO
LOG_FILE_NAME=tableMigrator.logNote
When migrating tables related to CLOB, the parameters ?clientside_auto_commit=on&auto_commit=false must be included for CLOB data to be migrated properly.
SOURCE_URL=jdbc:Altibase://192.168.41.137:20300/mydb?clientside_auto_commit=
on&auto_commit=false
If clientside_auto_commit=on&auto_commit=false is not included, the following error occurs.
[E0]1661237561878 - STARTED
[E0]1661237561887 - TOTAL Extracted ROWS: 1 (source schema = SYS, source table = TEST_CLOB)
[L0]1661237561908 Loader started
java.sql.SQLException: LobLocator cannot span the transaction 3920898.
at Altibase.jdbc.driver.ex.Error.processServerError(Error.java:337)
at Altibase.jdbc.driver.AltibaseClob.length(AltibaseClob.java:82)
at com.m.migrator.CPLDataLoader.run(CPLDataLoader.java:436)
notifying lock
notifying lock complete
Loader finished
Loading is ended.
Elapsed Time (milliseconds) : 1160
ADD BATCH : 0
EXECUTE BATCH : 0
[VERIFICATION] Source Info : SYS.TEST_CLOB : 1 Rows, Target Info : tibero.TEST_CLOB : 0 Rows [LOAD_FAIL]
Migration Test
- Source DB / Altibase
[altibase@localhost lib]$ isql -s 192.168.41.137 -u SYS -p MANAGER
-----------------------------------------------------------------
Altibase Client Query utility.
Release Version 6.5.1.9.2
Table Migrator For Altibase 4
Copyright 2000, ALTIBASE Corporation or its subsidiaries.
All Rights Reserved.
-----------------------------------------------------------------
ISQL_CONNECTION = TCP, SERVER = 192.168.41.137, PORT_NO = 20300
iSQL> create table test_clob (col clob);
Create success.
iSQL> insert into test_clob(col) values('tmax tibero');
1 row inserted.
iSQL> commit;
Commit success.
- Target DB / Tibero
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Connected to Tibero.
SQL> create table test_clob (col clob);
Table 'TEST_CLOB' created.
- Run Migrator.sh
[tibero@localhost table_migrator]$ sh migrator.sh
## [WARNING] Ignored parameters:
INSERT_THREAD_COUNT
=== Parameters ===
PROPERTY_FILE=migrator.properties
SOURCE_TYPE=generic
SOURCE_DRIVER=Altibase.jdbc.driver.AltibaseDriver
SOURCE_URL=jdbc:Altibase://192.168.41.137:20300/mydb?clientside_auto_commit=on&auto_commit=false
SOURCE_USER=SYS
SOURCE_PASSWORD=************
SOURCE_SCHEMA=SYS
SOURCE_TABLE=TEST_CLOB
SELECT_SUBPARTITION=
BATCH_THRESHOLD=32
SOURCE_TABLE_DEDUPLICATE=N
TARGET_TYPE=DEFAULT
TARGET_DRIVER=com.m.internal.jdbc.MInternalDriver
TARGET_URL=jdbc:internal:thin:@localhost:8629:tibero0
TARGET_USER=tibero
TARGET_PASSWORD=************
TARGET_SCHEMA=tibero
TARGET_TABLE=TEST_CLOB
COMMIT_SIZE=-1
INDEX_DISABLE=N
SELECT_FETCH_SIZE=1024
SELECT_AS_BYTE=N
INSERT_BATCH=N
INSERT_PARALLEL=N
INSERT_THREAD_COUNT=1
INSERT_COLUMN_NAME_CASE_SENSITIVE=N
INSERT_ZERO_LENGTH_STRING_AS_NULL=Y
LOG_FILE_NAME=tableMigrator.log
LOG_LEVEL=DEBUG
CHECK_COLUMN_METADATA=N
==================
SOUCE_SCEMA : SYS
Table Migrator For Altibase 5
SOUCE_TABLE : TEST_CLOB
TARGET_SCEMA : tibero
TARGET_TABLE : TEST_CLOB
[E0]1661239298969 - STARTED
[E0]1661239298977 - TOTAL Extracted ROWS: 1 (source schema = SYS, source table = TEST_CLOB)
[L0]1661239298989 Loader started
[L0]1661239299058 TOTAL Loaded ROWS: 1 (target schema = tibero, target table = TEST_CLOB)
Loader finished
Loading is ended.
Elapsed Time (milliseconds) : 1099
ADD BATCH : 14
EXECUTE BATCH : 0
[VERIFICATION] Source Info : SYS.TEST_CLOB : 1 Rows, Target Info : tibero.TEST_CLOB : 1 Rows [OK]