1.3.?Oracle_migration工具集使用

1.3.1. 导出DDL
1.3.2. 初始化foreign server
1.3.3. 导入DDL
1.3.4. 同步数据
1.3.5. 新增表DDL同步
1.3.6. 对比迁移记录数目

工具集使用前,如果没有UXDB数据库,需要初始化一个UXDB数据库,然后启动这个数据库,具体方法可以参见《优炫数据库安装手册 V2.1》。工具集使用需要一些参数,为了说明的方便,假设连接信息如下:

这里只先介绍工具常用的参数和用法,更多使用方法可以参见帮助说明。例如:运行export_oracle -?可以看见一些使用例子和参数说明。

1.3.1.?导出DDL

./export_oracle -s 192.168.0.2:1521/fdw_test -u ora_user1 -p ora123456 -l table_owner1 > table_owner1.ddl

导出DDL时注意字符集的选择,目前支持两种常用的字符集gbk和utf8,如果不指定字符集,默认为utf8。字符集一般要与操作系统字符集一致。

1.3.2.?初始化foreign server

  1. 首先在oracle_migration目录下可以看见一个配置文件conn.config,它有6个配置项,修改这6个配置项如下:

    oracle_server_uri=//192.168.0.2:1521/fdw_test
    oracle_server_user=ora_user1
    uxdb_server_host=127.0.0.1
    uxdb_server_port=5432
    uxdb_server_dbname=uxdb
    uxdb_log_user=uxdb
  2. 运行init_foreign_server:

    ./init_foreign_server -f conn.config -p ux123456 -r ora123456

    init_foreign_server的参数包含UXDB连接信息和Oracle连接密码,此时并没有连接Oracle,只是将Oracle连接信息写入UXDB的foreign server。

1.3.3.?导入DDL

./import_uxdb -f conn.config -p ux123456 -i table_owner1.ddl
  • 导入DDL前一定要先初始化foreign server,因为导入时需要生成Oracle外部表,这些外部表依赖于foreign server。

  • 导入DDL时如果遇到同名schema,会先删除这个schema以及它包含的所有表。

  • 导入成功后,在UXDB中生成同名schema,同时生成同名表和相同表结构的外部表,例如Oracle中有张表 test_table(id int,name char(20),primary key(id)),那么UXDB中生成同名本地表 test_table(id int, name char(20),primary key(id)),同时生成外部表test_table_uxmigrationftbl(id int,name char(20))。

1.3.4.?同步数据

./sync_table -f conn.config -p ux123456 -r ora123456 -l table_owner1 > not_sync.txt

同步schema为table_owner1的所有表的数据,并把同步失败的表记录到not_sync.txt文件。

./sync_table -f conn.config -p ux123456 -r ora123456 -t table_owner1.test_table

同步单表table_owner1.test_table的数据。

1.3.5.?新增表DDL同步

./add_table -f conn.config -p ux123456 -r ora123456 -l table_owner1

检查schema为table_owner1的所有新增表,如果有新增那么就同步过来。

./add_table -f conn.config -p ux123456 -r ora123456 -t table_owner1.test_table

检查是否有新增表table_owner1.test_table,如果有就同步过来。

1.3.6.?对比迁移记录数目

./analyse_result_inc -f conn.config -p ux123456 -r ora123456 -l table_owner1 > not_correpond.txt

对比两边数据库对应表记录数目,把不一致的记录到文件not_correspond.txt。

XML 地图 | Sitemap 地图