文档更新

This commit is contained in:
inrgihc
2021-06-09 22:55:20 +08:00
parent a997b9dfcc
commit c0ef64a4ec

View File

@@ -4,7 +4,7 @@
### 1、功能描述
一句话dbswitch工具提供源端数据库向目的端数据的迁移功能包括全量和增量方式。迁移包括
一句话dbswitch工具提供源端数据库向目的端数据的迁移同步功能,包括全量和增量方式。迁移包括:
- **结构迁移**
@@ -25,15 +25,15 @@
- 源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2/DM/Kingbase8/HighGo向目的端为Greenplum/PostgreSQL/HighGo的迁移(**支持绝大多数常规类型字段**)
- 源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2/DM/Kingbase8/HighGo向目的端为Oralce的迁移(**支持绝大多数常规类型字段**)
- 源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2/DM/Kingbase8/HighGo向目的端为DM的迁移(**支持绝大多数常规类型字段...**)
- 源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2/DM/Kingbase8/HighGo向目的端为SQLServer的迁移(**字段类型兼容测试中...**)
- 源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2/DM/Kingbase8/HighGo向目的端为MySQL/MariaDB的迁移(**字段类型兼容测试中...**)
- 源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2/DM/Kingbase8/HighGo向目的端为DB2的迁移(**字段类型兼容测试中...**)
- 源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2/DM/Kingbase8/HighGo向目的端为DM的迁移(**支持绝大多数常规类型字段...**)
- 源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2/DM/Kingbase8/HighGo向目的端为Kingbase8的迁移(**支持绝大多数常规类型字段...**)
### 4、结构设计
@@ -53,7 +53,7 @@
├── dbswitch-sql // 基于calcite的DML语句转换与DDL拼接模块
├── dbswitch-dbcommon // 数据库操作通用封装模块
├── dbswitch-dbchange // 基于全量比对计算变更(变化量)数据模块
├── dbswitch-dbsync // 将dbchange模块计算的变更数据同步入库模块
├── dbswitch-dbsynch // 将dbchange模块计算的变更数据同步入库模块
├── dbswitch-data // 工具入口模块,读取配置文件中的参数执行异构迁移同步
├── dbswitch-webapi // dbswitch-core与dbswitch-sql的RESTful接口模块
├── package-tool // 基于maven-assembly-plugin插件的项目打包模块
@@ -67,7 +67,7 @@
- 环境要求:
**JDK**:>=1.8
**JDK**:==1.8
**maven**:>=3.6
@@ -101,7 +101,7 @@ sh ./docker-maven-build.sh
### 3、配置文件
配置文件信息请见部署包中的conf/config.properties
配置文件信息请见部署包中的conf/config.properties也同时支持使用conf/config.yml配置文件名的YAML格式
| 配置参数 | 配置说明 | 示例 | 备注 |
| :------| :------ | :------ | :------ |
@@ -112,7 +112,7 @@ sh ./docker-maven-build.sh
| dbswitch.source[i].fetch-size | 来源端数据库查询时的fetch_size设置 | 10000 | 需要大于100有效 |
| dbswitch.source[i].source-schema | 来源端的schema名称 | dbo,test | 多个之间用英文逗号分隔 |
| dbswitch.source[i].prefix-table | 创建对应目的表的前缀 | TA_ | 不能含有特殊字符,可以为空; 建议最长为8个字符以下划线结尾 |
| dbswitch.source[i].source-includes | 来源端schema下的表中需要包含的表名称 | users1,orgs1 | 多个之间用英文逗号分隔 |
| dbswitch.source[i].source-includes | 来源端schema下的表中需要包含的表名称 | users1,orgs1 | 支持多个表(多个之间用英文逗号分隔);支持支持正则表达式(不能含有逗号) |
| dbswitch.source[i].source-excludes | 来源端schema下的表中需要过滤的表名称 | users,orgs | 不包含的表名称,多个之间用英文逗号分隔 |
| dbswitch.target.url | 目的端JDBC连接的URL | jdbc:postgresql://10.17.1.90:5432/study | 可为oracle/sqlserver/postgresql/greenplum,mysql/mariadb/db2/dm/kingbase8/highgo也支持但字段类型兼容性问题比较多 |
| dbswitch.target.driver-class-name |目的端 数据库的驱动类名称 | org.postgresql.Driver | 对应数据库的驱动类 |
@@ -150,49 +150,49 @@ jdbc驱动名称 org.mariadb.jdbc.Driver
- oracle的驱动配置样例
```
jdbc连接地址jdbc:oracle:thin:@172.17.20.58:1521:ORCL
jdbc连接地址jdbc:oracle:thin:@172.17.2.10:1521:ORCL
jdbc驱动名称oracle.jdbc.driver.OracleDriver
```
- SqlServer(>=2005)的驱动配置样例
```
jdbc连接地址jdbc:sqlserver://172.16.20.66:1433;DatabaseName=hqtest
jdbc连接地址jdbc:sqlserver://172.17.2.10:1433;DatabaseName=hqtest
jdbc驱动名称com.microsoft.sqlserver.jdbc.SQLServerDriver
```
- PostgreSQL的驱动配置样例
```
jdbc连接地址jdbc:postgresql://172.17.20.10:5432/study
jdbc连接地址jdbc:postgresql://172.17.2.10:5432/study
jdbc驱动名称org.postgresql.Driver
```
- DB2的驱动配置样例
```
jdbc连接地址jdbc:db2://172.17.20.91:50000/testdb:driverType=4;fullyMaterializeLobData=true;fullyMaterializeInputStreams=true;progressiveStreaming=2;progresssiveLocators=2;
jdbc连接地址jdbc:db2://172.17.2.10:50000/testdb:driverType=4;fullyMaterializeLobData=true;fullyMaterializeInputStreams=true;progressiveStreaming=2;progresssiveLocators=2;
jdbc驱动名称com.ibm.db2.jcc.DB2Driver
```
- 达梦DM的驱动配置样例
```
jdbc连接地址jdbc:dm://172.17.20.91:5236
jdbc连接地址jdbc:dm://172.17.2.10:5236
jdbc驱动名称dm.jdbc.driver.DmDriver
```
- 人大金仓Kingbase8的驱动配置样例
```
jdbc连接地址jdbc:kingbase8://172.17.20.91:54321/MYTEST
jdbc连接地址jdbc:kingbase8://172.17.2.10:54321/MYTEST
jdbc驱动名称com.kingbase8.Driver
```
- 翰高HighGo数据库(可按PostgreSQL使用)
```
jdbc连接地址jdbc:postgresql://172.17.20.91:5866/highgo
jdbc连接地址jdbc:postgresql://172.17.2.10:5866/highgo
jdbc驱动名称org.postgresql.Driver
```