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数据类型)

如何导出oracle数据库中某张表到excel

oracle 导入DMP文件时IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件

200万数据oracle导入表要多久

oracle dump是啥

100天精通Oracle-实战系列(第24天)Oracle 数据泵表导出导入