一、验证是否支持跨模式导入
准备测试数据
在dmhs模式下,创建t1表并插入100条数据
通过dexp导出数据
./dexp SYSDBA/SYSDBA@LOCALHOST:5238 SCHEMAS=DMHS DIRECTORY=/dm8/backup/bak FILE=dmhs_bak.dmp LOG=dmhs_bak.log
查看数据文件
创建模式test
将dmp文件导入模式test
./dimp SYSDBA/SYSDBA@LOCALHOST:5238 REMAP_SCHEMA=DMHS:TEST DIRECTORY=/dm8/backup/bak FILE=dmhs_bak.dmp LOG=dmhs_imp.log
通过指定REMAP_SCHEMA参数,格式为DMHS:TEST,将模式DMHS导入模式TEST。
查看test模式下是否存在表t1。
二、验证是否支持部分表导入
部分表导入可以通过两个方面来做
2.1、导出部分表
指定tables参数,可以导出指定表,多个表之间’,'号隔开。
./dexp SYSDBA/SYSDBA@LOCALHOST:5238 tables=DMHS.t1 DIRECTORY=/dm8/backup/bak FILE=dmhs_bak1.dmp LOG=dmhs_bak1.log
指定EXCLUDE参数,忽略指定的对象,这样t1,t2,t3都不会被导出。
./dexp SYSDBA/SYSDBA@LOCALHOST:5238 SCHEMAS=DMHS EXCLUDE=TABLES:DMHS.t1,DMHS.t2,DMHS.t3 DIRECTORY=/dm8/backup/bak FILE=dmhs_bak1.dmp LOG=dmhs_bak1.log
指定INCLUDE参数,包含指定对象,这样只会导出t1,t2,t3表。
./dexp SYSDBA/SYSDBA@LOCALHOST:5238 SCHEMAS=DMHS INCLUDE=TABLES:DMHS.t1,DMHS.t2,DMHS.t3 DIRECTORY=/dm8/backup/bak FILE=dmhs_bak1.dmp LOG=dmhs_bak1.log
以上通过导出步骤,选择性的导出部分表,导入时直接进行导入,即可导入部分表。
2.2、导入部分表
在导出时未做限制,可以在导入命令中选择性导入。
指定tables参数,可以导入指定表,多个表之间’,'号隔开。
./dimp SYSDBA/SYSDBA@LOCALHOST:5238 tables=DMHS.t1, DMHS.t2 REMAP_SCHEMA=DMHS:TEST DIRECTORY=/dm8/backup/bak FILE=dmhs_bak.dmp LOG=dmhs_imp.log
三、验证是否支持指定时间范围的数据通过DMP迁移
在导出时可以通过QUERY参数,指定where参数导出表的子集的select 子句。
要想指定时间范围导出,前提是该表存在时间字段。
选择表t2测试
指定参数QUERY导出
./dexp SYSDBA/SYSDBA@LOCALHOST:5238 tables=dmhs.t2 QUERY=“where itime > ‘2021-8-01’” DIRECTORY=/dm8/backup/bak FILE=dmhs_bak2.dmp LOG=dmhs_bak2.log
导入数据
./dimp SYSDBA/SYSDBA@LOCALHOST:5238 tables=dmhs.t2 REMAP_SCHEMA=DMHS:TEST DIRECTORY=/dm8/backup/bak FILE=dmhs_bak2.dmp LOG=dmhs_imp2.log
查看test.t2表
想更多了解达梦数据库,请关注达梦云适配中心。
https://eco.dameng.com/