oracle导出部分表到其他库
Posted 草根追逐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle导出部分表到其他库相关的知识,希望对你有一定的参考价值。
在52库编辑脚本进行导出
su - oracle
vi export.sh
#!/bin/bash
DATE=`date +%F`
cd /home/u01/oracle/admin/hfcrm/dpdump/
if [ -e hfcrm_$DATE.dmp];then
mv hfcrm_$DATE.dmp hfcrm_$DATE_old.dmp
fi
expdp business_test/business_test@HFCRM directory=DATA_PUMP_DIR dumpfile="hfcrm_$DATE.dmp" logfile="hfcrm_$DATE.log" schemas=BUSINESS_TEST_UPDATE include=table:\\"in \\(select table_name from all_tables where table_name in \\(\\APAAS_BO_ATTR\\,\\APAAS_BO_ATTR_COLUMN\\,\\APAAS_BO_COLUMN\\,\\APAAS_BO_DEF\\,\\APAAS_BO_DEF_REL\\,\\APAAS_BO_INST\\,\\APAAS_BO_TABLE\\,\\APAAS_BO_TABLE_REL\\,\\APAAS_DATA_DATASET\\,\\APAAS_DATA_TEMPLATE_APP\\,\\APAAS_DATA_TEMPLATE_DEF\\,\\APAAS_DATA_TEMPLATE_FIELD\\,\\APAAS_DATA_TEMPLATE_TPL\\,\\APAAS_FORM_BO\\,\\APAAS_FORM_DATA_TEMPLATE\\,\\APAAS_FORM_DATA_TEMPLATE_TPL\\,\\APAAS_FORM_DEF\\,\\APAAS_FORM_DIALOG\\,\\APAAS_FORM_FIELD\\,\\APAAS_FORM_OPTIONS_TEMPLATE\\,\\APAAS_FORM_PRINT_RANGE\\,\\APAAS_FORM_PRINT_TEMPLATE\\,\\APAAS_FORM_QUERY\\,\\APAAS_FORM_SELECTOR\\,\\APAAS_FORM_TEMPLATE\\,\\T_MD_INDUSTRY_DICT\\,\\T_MD_CONTRACT_BANK\\\\)\\)\\"
rsync -avp -e "ssh -p 65530" hfcrm_$DATE.dmp,log 10.1.7.53:/home/u01/oracle/admin/hfcrm/dpdump/
说明:
business_test/business_test 用户/密.码
HFCRM 数据库服务名
directory=DATA_PUMPDIR 导出目录
dumpfile="hfcrm$DATE.dmp" 导出文件名
logfile="hfcrm_$DATE.log" 导出日志名
schemas=BUSINESS_TEST_UPDATE 导出指定模式
include=table: 导出指定表,后面跟表查询语句
rsync 用来将导出的文件同步到53的指定目录
执行导出脚本进行导出
sh export.sh
在53库编辑脚本进行导入
su - oracle
vi import.sh
#!/bin/bash
DATE=`date +%F`
cd /home/u01/oracle/admin/hfcrm/dpdump
impdp business_test/business_test@HFCRM directory=DATA_PUMP_DIR dumpfile="hfcrm_$DATE.dmp" logfile="hfcrm_$DATE.log" remap_schema=BUSINESS_TEST_UPDATE:BUSINESS_PRE REMAP_TABLESPACE=BUSINESS_TEST_UPDATE:BUSINESS_PRE table_exists_action=replace transform=segment_attributes:n,transform=OID:N
说明:
和导出一样的参数就不说明了
remap_schema 用来转换不同的模式
REMAP_TABLESPACE 用来转换不同的表空间
table_exists_action 用来判断表存在则覆盖
transform=segment_attributes:n 用来去掉导出的模式和表空间相关信息,并按导入库的模式表空间进行导入
在53库进行导入
sh import.sh
以上是关于oracle导出部分表到其他库的主要内容,如果未能解决你的问题,请参考以下文章
Oracle库中截取部分数据导出再导入(含NCLOB数据类型)