diff --git a/product/en/docs-mtk/v2.0/faqs.md b/product/en/docs-mtk/v2.0/faqs.md
index d1907223c6086b3c391b5b2f9cf2f66f81bac88b..05eec391fe716b2cb87c8b2b4acac33c87de4e9f 100644
--- a/product/en/docs-mtk/v2.0/faqs.md
+++ b/product/en/docs-mtk/v2.0/faqs.md
@@ -8,6 +8,14 @@ date: 2021-09-14
# FAQs
+## Support character set conversion?
+
+Character set conversion is supported by default. For example, the source database GBK is migrated to the destination database UTF8.
+
+The Column length changes when performing string conversion.
+
+Char type data needs to be noted. For example, in Oracle, Char(1) migrates to openGauss/MogDB, which will become Char(2), and the service query will have multiple spaces
+
## Column length change?
Yes. Considering that other non-single-byte strings such as Chinese are subject to length changes due to inconsistent database encoding.
@@ -34,18 +42,34 @@ The following scenarios exist.
|Oracle |AL32UTF8 |VARCHAR2(100 CHAR)|VARCHAR(300)|openGauss|UTF8|A|
|Oracle |AL32UTF8 |VARCHAR2(100 BYTE)|VARCHAR(100)|openGauss|UTF8|PG|
|Oracle |AL32UTF8 |VARCHAR2(100 CHAR)|VARCHAR(100)|openGauss|UTF8|PG|
-|MySQL |GBK |VARCHAR(100 )|VARCHAR(300)|openGauss|UTF8|A|
-|MySQL |GBK |VARCHAR(100 )|VARCHAR(300)|openGauss|GBK|A|
-|MySQL |UTF8 |VARCHAR(100 )|VARCHAR(300)|openGauss|UTF8|A|
-|MySQL |GBK |VARCHAR(100 )|VARCHAR(100)|openGauss|UTF8|PG|
-|MySQL |GBK |VARCHAR(100 )|VARCHAR(100)|openGauss|GBK|PG|
-|MySQL |UTF8 |VARCHAR(100 )|VARCHAR(100)|openGauss|UTF8|PG|
-|DB2 |GBK |VARCHAR(100 )|VARCHAR(150)|openGauss|UTF8|A|
-|DB2 |GBK |VARCHAR(100 )|VARCHAR(100)|openGauss|GBK|A|
-|DB2 |UTF8 |VARCHAR(100 )|VARCHAR(100)|openGauss|UTF8|A|
-|DB2 |GBK |VARCHAR(100 )|VARCHAR(100)|openGauss|UTF8|PG|
-|DB2 |GBK |VARCHAR(100 )|VARCHAR(100)|openGauss|GBK|PG|
-|DB2 |UTF8 |VARCHAR(100 )|VARCHAR(100)|openGauss|UTF8|PG|
+|oracle |ZHS16GBK |CHAR(1 ) |CHAR(1)|openGauss|UTF8|A|
+|oracle |ZHS16GBK |CHAR(2 ) |CHAR(3)|openGauss|UTF8|A|
+|oracle |ZHS16GBK |CHAR(1 ) |CHAR(1)|openGauss|UTF8|PG|
+|oracle |ZHS16GBK |CHAR(2 ) |CHAR(2)|openGauss|UTF8|PG|
+|oracle |AL32UTF8 |CHAR(1 ) |CHAR(1)|openGauss|UTF8|A|
+|oracle |AL32UTF8 |CHAR(2 ) |CHAR(2)|openGauss|UTF8|A|
+|oracle |AL32UTF8 |CHAR(1 ) |CHAR(1)|openGauss|UTF8|PG|
+|oracle |AL32UTF8 |CHAR(2 ) |CHAR(2)|openGauss|UTF8|PG|
+|MySQL |GBK |VARCHAR(100 ) |VARCHAR(300)|openGauss|UTF8|A|
+|MySQL |GBK |VARCHAR(100 ) |VARCHAR(300)|openGauss|GBK|A|
+|MySQL |UTF8 |VARCHAR(100 ) |VARCHAR(300)|openGauss|UTF8|A|
+|MySQL |GBK |VARCHAR(100 ) |VARCHAR(100)|openGauss|UTF8|PG|
+|MySQL |GBK |VARCHAR(100 ) |VARCHAR(100)|openGauss|GBK|PG|
+|MySQL |UTF8 |VARCHAR(100 ) |VARCHAR(100)|openGauss|UTF8|PG|
+|DB2 |GBK |VARCHAR(100 ) |VARCHAR(150)|openGauss|UTF8|A|
+|DB2 |GBK |VARCHAR(100 ) |VARCHAR(100)|openGauss|GBK|A|
+|DB2 |UTF8 |VARCHAR(100 ) |VARCHAR(100)|openGauss|UTF8|A|
+|DB2 |GBK |VARCHAR(100 ) |VARCHAR(100)|openGauss|UTF8|PG|
+|DB2 |GBK |VARCHAR(100 ) |VARCHAR(100)|openGauss|GBK|PG|
+|DB2 |UTF8 |VARCHAR(100 ) |VARCHAR(100)|openGauss|UTF8|PG|
+|DB2 |ZHS16GBK |CHAR(1 ) |CHAR(1)|openGauss|UTF8|A|
+|DB2 |ZHS16GBK |CHAR(2 ) |CHAR(3)|openGauss|UTF8|A|
+|DB2 |ZHS16GBK |CHAR(1 ) |CHAR(1)|openGauss|UTF8|PG|
+|DB2 |ZHS16GBK |CHAR(2 ) |CHAR(2)|openGauss|UTF8|PG|
+|DB2 |AL32UTF8 |CHAR(1 ) |CHAR(1)|openGauss|UTF8|A|
+|DB2 |AL32UTF8 |CHAR(2 ) |CHAR(2)|openGauss|UTF8|A|
+|DB2 |AL32UTF8 |CHAR(1 ) |CHAR(1)|openGauss|UTF8|PG|
+|DB2 |AL32UTF8 |CHAR(2 ) |CHAR(2)|openGauss|UTF8|PG|
## Empty String and NULL conversions ?
diff --git a/product/en/docs-mtk/v2.0/mtk-config.md b/product/en/docs-mtk/v2.0/mtk-config.md
index 5e6bbf00e73bf25281d7939df709b46afa12dce5..69d5aab28e0bffd401fadc9426dda8b901db05e0 100644
--- a/product/en/docs-mtk/v2.0/mtk-config.md
+++ b/product/en/docs-mtk/v2.0/mtk-config.md
@@ -767,6 +767,23 @@ select utl_raw.cast_to_varchar2(hextoraw('D6A4C8AFCDB6D6')) from dual; -- ORA-
select utl_raw.cast_to_varchar2(hextoraw('D6A4C8AFCDB6D6'))||'' from dual; -- normal
```
+### convertPackageMethod
+
+string
+
+Supported after `v2.2.5` version.
+
+How to migrate Oracle Package to openGauss/MogDB
+
+- schema
+- package
+
+Default: `schema`
+
+openGauss database version greater than or equal to 2.1.0 can be configured as `package` or `schema`
+
+openGauss databases smaller than 2.1.0 can only be configured as `schema`
+
## limit
```json
@@ -782,7 +799,7 @@ select utl_raw.cast_to_varchar2(hextoraw('D6A4C8AFCDB6D6'))||'' from dual; -- no
### parallel
-Indicates the degree of parallelism. This parameter is used only when table data is migrated. It will be later used during index creation.
+Indicates the degree of parallelism. Create tables, constraints, etc. in parallel.
### fetchSize
diff --git a/product/en/docs-mtk/v2.0/mtk-oracle-to-openGauss.md b/product/en/docs-mtk/v2.0/mtk-oracle-to-openGauss.md
index e3ee853fb63fa49500937bf254ffd89b36af6dd5..dbbdebe401f04a474d8e1772eb73665228fa9092 100644
--- a/product/en/docs-mtk/v2.0/mtk-oracle-to-openGauss.md
+++ b/product/en/docs-mtk/v2.0/mtk-oracle-to-openGauss.md
@@ -119,6 +119,45 @@ Therefore, the values **A**, **B**, and **PG** are commonly used.
To be supplemented. This document lists only part problems.
+### Char Column Type
+
+If character set conversion is present, note the Char type field data.
+
+- Oracle
+
+```sql
+
+SQL> create table tab_char(id number, col_char char(2));
+
+Table created.
+
+SQL> insert into tab_char values (1,'1');
+
+1 row created.
+
+SQL> select id,'"'||col_char||'"' ,col_char from tab_char;
+
+ ID '"' C
+---------- --- -
+ 1 "1 " 1
+```
+
+- openGauss/MogDB
+
+Due to the migration from the GBK character set to UTF8, the field length becomes larger
+
+```sql
+MogDB=#create table tab_char(id bigint, col_char char(3));
+CREATE TABLE
+MogDB=#insert into tab_char values (1,'1');
+INSERT 0 1
+MogDB=#select id,concat('"',col_char,'"') ,col_char from tab_char;
+ id | concat | col_char
+----+--------+----------
+ 1 | "1 " | 1 >> There is one more space
+(1 row)
+```
+
### Sequence
If the current value is greater than 9223372036854775807, an error will occur. For other situations, the log will be printed.
diff --git a/product/zh/docs-mtk/v2.0/faqs.md b/product/zh/docs-mtk/v2.0/faqs.md
index 6376e063543b889152079ae24216177f7b998552..79d3196e64c61331f335c9d85d1dcdce9f8cd390 100644
--- a/product/zh/docs-mtk/v2.0/faqs.md
+++ b/product/zh/docs-mtk/v2.0/faqs.md
@@ -8,6 +8,14 @@ date: 2021-09-14
# FAQs
+## 支持字符集转换?
+
+默认支持字符集转换。如源库GBK迁移到目标库UTF8.
+
+在进行字符串转换时字段长度会进行变化.
+
+Char类型数据需要注意. 如在Oracle里Char(1)迁移到openGauss/MogDB就会变成Char(2),业务查询会多个空格
+
## 存在字段长度变化?
会. 考虑到中文等其他非单字节字符串在数据库编码不一致下进行长度变化. 存在以下场景.
@@ -32,18 +40,34 @@ date: 2021-09-14
|Oracle |AL32UTF8 |VARCHAR2(100 CHAR)|VARCHAR(300)|openGauss|UTF8|A|
|Oracle |AL32UTF8 |VARCHAR2(100 BYTE)|VARCHAR(100)|openGauss|UTF8|PG|
|Oracle |AL32UTF8 |VARCHAR2(100 CHAR)|VARCHAR(100)|openGauss|UTF8|PG|
-|MySQL |GBK |VARCHAR(100 )|VARCHAR(300)|openGauss|UTF8|A|
-|MySQL |GBK |VARCHAR(100 )|VARCHAR(300)|openGauss|GBK|A|
-|MySQL |UTF8 |VARCHAR(100 )|VARCHAR(300)|openGauss|UTF8|A|
-|MySQL |GBK |VARCHAR(100 )|VARCHAR(100)|openGauss|UTF8|PG|
-|MySQL |GBK |VARCHAR(100 )|VARCHAR(100)|openGauss|GBK|PG|
-|MySQL |UTF8 |VARCHAR(100 )|VARCHAR(100)|openGauss|UTF8|PG|
-|DB2 |GBK |VARCHAR(100 )|VARCHAR(150)|openGauss|UTF8|A|
-|DB2 |GBK |VARCHAR(100 )|VARCHAR(100)|openGauss|GBK|A|
-|DB2 |UTF8 |VARCHAR(100 )|VARCHAR(100)|openGauss|UTF8|A|
-|DB2 |GBK |VARCHAR(100 )|VARCHAR(100)|openGauss|UTF8|PG|
-|DB2 |GBK |VARCHAR(100 )|VARCHAR(100)|openGauss|GBK|PG|
-|DB2 |UTF8 |VARCHAR(100 )|VARCHAR(100)|openGauss|UTF8|PG|
+|oracle |ZHS16GBK |CHAR(1 ) |CHAR(1)|openGauss|UTF8|A|
+|oracle |ZHS16GBK |CHAR(2 ) |CHAR(3)|openGauss|UTF8|A|
+|oracle |ZHS16GBK |CHAR(1 ) |CHAR(1)|openGauss|UTF8|PG|
+|oracle |ZHS16GBK |CHAR(2 ) |CHAR(2)|openGauss|UTF8|PG|
+|oracle |AL32UTF8 |CHAR(1 ) |CHAR(1)|openGauss|UTF8|A|
+|oracle |AL32UTF8 |CHAR(2 ) |CHAR(2)|openGauss|UTF8|A|
+|oracle |AL32UTF8 |CHAR(1 ) |CHAR(1)|openGauss|UTF8|PG|
+|oracle |AL32UTF8 |CHAR(2 ) |CHAR(2)|openGauss|UTF8|PG|
+|MySQL |GBK |VARCHAR(100 ) |VARCHAR(300)|openGauss|UTF8|A|
+|MySQL |GBK |VARCHAR(100 ) |VARCHAR(300)|openGauss|GBK|A|
+|MySQL |UTF8 |VARCHAR(100 ) |VARCHAR(300)|openGauss|UTF8|A|
+|MySQL |GBK |VARCHAR(100 ) |VARCHAR(100)|openGauss|UTF8|PG|
+|MySQL |GBK |VARCHAR(100 ) |VARCHAR(100)|openGauss|GBK|PG|
+|MySQL |UTF8 |VARCHAR(100 ) |VARCHAR(100)|openGauss|UTF8|PG|
+|DB2 |GBK |VARCHAR(100 ) |VARCHAR(150)|openGauss|UTF8|A|
+|DB2 |GBK |VARCHAR(100 ) |VARCHAR(100)|openGauss|GBK|A|
+|DB2 |UTF8 |VARCHAR(100 ) |VARCHAR(100)|openGauss|UTF8|A|
+|DB2 |GBK |VARCHAR(100 ) |VARCHAR(100)|openGauss|UTF8|PG|
+|DB2 |GBK |VARCHAR(100 ) |VARCHAR(100)|openGauss|GBK|PG|
+|DB2 |UTF8 |VARCHAR(100 ) |VARCHAR(100)|openGauss|UTF8|PG|
+|DB2 |ZHS16GBK |CHAR(1 ) |CHAR(1)|openGauss|UTF8|A|
+|DB2 |ZHS16GBK |CHAR(2 ) |CHAR(3)|openGauss|UTF8|A|
+|DB2 |ZHS16GBK |CHAR(1 ) |CHAR(1)|openGauss|UTF8|PG|
+|DB2 |ZHS16GBK |CHAR(2 ) |CHAR(2)|openGauss|UTF8|PG|
+|DB2 |AL32UTF8 |CHAR(1 ) |CHAR(1)|openGauss|UTF8|A|
+|DB2 |AL32UTF8 |CHAR(2 ) |CHAR(2)|openGauss|UTF8|A|
+|DB2 |AL32UTF8 |CHAR(1 ) |CHAR(1)|openGauss|UTF8|PG|
+|DB2 |AL32UTF8 |CHAR(2 ) |CHAR(2)|openGauss|UTF8|PG|
## 存在空字符串和NULL转换?
diff --git a/product/zh/docs-mtk/v2.0/mtk-config.md b/product/zh/docs-mtk/v2.0/mtk-config.md
index 1d053f840fe688074531c88a5527dce6ce2837b6..ac6ee65c1ecb70c363ff4b07a78c25eaeed0f288 100644
--- a/product/zh/docs-mtk/v2.0/mtk-config.md
+++ b/product/zh/docs-mtk/v2.0/mtk-config.md
@@ -756,6 +756,23 @@ select utl_raw.cast_to_varchar2(hextoraw('D6A4C8AFCDB6D6')) from dual; -- 报
select utl_raw.cast_to_varchar2(hextoraw('D6A4C8AFCDB6D6'))||'' from dual; -- 不报错
```
+### convertPackageMethod
+
+string
+
+`v2.2.5`之后的版本支持本参数。
+
+迁移 Oracle Package 到 openGauss/MogDB 的方式
+
+- schema
+- package
+
+默认值: `schema`
+
+openGauss 数据库版本大于等于2.1.0可配置为 `package` 或 `schema`
+
+openGauss 数据库小于2.1.0 只能配置为 `schema`
+
## limit
```json
@@ -771,7 +788,7 @@ select utl_raw.cast_to_varchar2(hextoraw('D6A4C8AFCDB6D6'))||'' from dual; --
### parallel
-并行度,现在只在迁移表数据时有用。后面增加在创建索引时指定并行度
+并行度。并行创建表,索引等
### fetchSize
diff --git a/product/zh/docs-mtk/v2.0/mtk-oracle-to-openGauss.md b/product/zh/docs-mtk/v2.0/mtk-oracle-to-openGauss.md
index 1df26eea05780df91744c9def4cc53ef34fbc9c6..70d6f4007c49275b64ca2fffb7ef176cacdf9d48 100644
--- a/product/zh/docs-mtk/v2.0/mtk-oracle-to-openGauss.md
+++ b/product/zh/docs-mtk/v2.0/mtk-oracle-to-openGauss.md
@@ -102,6 +102,45 @@ DBCOMPATIBILITY [ = ] compatibility_type
> - 将字符串转换成整数类型时,如果输入不合法,B兼容性会将输入转换为0,而其它兼容性则会报错。
> - PG兼容性下,CHAR和VARCHAR以字符为计数单位,其它兼容性以字节为计数单位。例如,对于UTF-8字符集,CHAR(3)在PG兼容性下能存放3个中文字符,而在其它兼容性下只能存放1个中文字符。
+### Char 字段类型
+
+如果存在字符集转换,需要注意Char类型字段数据.
+
+- Oracle
+
+```sql
+
+SQL> create table tab_char(id number, col_char char(2));
+
+Table created.
+
+SQL> insert into tab_char values (1,'1');
+
+1 row created.
+
+SQL> select id,'"'||col_char||'"' ,col_char from tab_char;
+
+ ID '"' C
+---------- --- -
+ 1 "1 " 1
+```
+
+- openGauss/MogDB
+
+由于从GBK字符集迁移到UTF8,字段长度会变大
+
+```sql
+MogDB=#create table tab_char(id bigint, col_char char(2));
+CREATE TABLE
+MogDB=#insert into tab_char values (1,'1');
+INSERT 0 1
+MogDB=#select id,concat('"',col_char,'"') ,col_char from tab_char;
+ id | concat | col_char
+----+--------+----------
+ 1 | "1 " | 1 >> 多了个空格
+(1 row)
+```
+
### 序列
如果当前值大于9223372036854775807,提示错误。其余打印日志。