# 测试部署步骤  

  针对coms和heronsdb1库的测试数据部署步骤  


## 表和数据导出

测试数据和表结构准备
```
  从原库导出的使用命令
  mydumper  -t 5 -o heronsdb1_data2 -h '127.0.0.1' -P 5000 -u root -B heronsdb1 -m -e
  mydumper  -t 5 -o heronsdb1_ddl -h '127.0.0.1' -P 5000 -u root -B heronsdb1 -d

  mysqldump -h127.0.0.1 -P5000 --skip-lock-tables  -uroot  -t -B heronsdb1    >heronsdb1.data.sql
  mysqldump -h127.0.0.1 -P5000 --lock-tables=false  -uroot  -d  -B heronsdb1  >heronsdb1.ddl.sql
```

## 源端(TiDB)数据导入  

heronsdb1使用mysqldump导出文件导入；
coms因为数据包含的特殊字符较多，需使用myloader导出文件导入；

TiDB端导入全部DDL  
```
  mysql -uuser -p -h127.0.0.1 -P4100 -B heronsdb1 <heronsdb1.ddl.sql  
  or  
  myloader -uuser -p -h  127.0.0.1-P 4100 -B ts_coms_raw -d nt_ddl --verbose=3  
```

TiDB端导入全部数据  
```
  mysql -uuser -p -h127.0.0.1 -P4100 -B heronsdb1 <heronsdb1.data.sql  
  or  
  myloader -u user -p  -h 127.0.0.1 -P 4100 -B ts_coms_raw -d nt_data
```


## 目标端(Oracle)导入全部DDL

Oracle端导入全部DDL
```
  imp xxx/xxx@oratidb file=heronsdb1.tab.dmp
  or
  使用Navicat/Sql Developer等工具从Tidb同步DDL
```

Oracle端导入全部数据  
```
  使用drainer复制
```


## 数据整理

根据实际测试需求，删除不符合测试场景的数据
* 数据类型不支持的表，例如time
* 无主键但包含LOB数据的表
* LOB数据是主键的表
* 包含超长doule数字的数据
* 包含无效日期的日期类型数据
* 包含Null数据的唯一约束数据
* 包含特殊十六进制字符的数据



