Oracle impdp 远程导出数据到本地数据库,不生成备份文件

1、导出数据的impdp脚本

$ cat /home/oracle/script/dump_xxx_tables_jobs.sql 

#!/bin/bash
source ~/.bash_profile
logger(){
local info="$*"
echo "[`date +'%Y/%m/%d %H:%M:%S'`]  $info"
}

function dumpTablesJob()
{
logger The dump xxx tables mission start!
sqlplus xxxx/xxxx @/home/oracle/script/sql/DROP_TABLE.sql
logger start impdp tables ....
impdp system/xxxxx  directory=dump_dir NETWORK_LINK=dl_xxx tables=xxxx.tp_meeting,xxxx.tp_basedate,xxxx.t_gddhzk,xxxx.t_gddhzk2,xxxx.t_gddhzk3,xxxx.tp_tasklist,xxxx.t_gddhyt,xxxx.t_gddhljyt,xxxx.t_gdtpjg,xxxx.t_gdtpjg_qfii,xxxx.t_ljtpjg,xxxx.t_cxgs,xxxx.t_chxx,xxxx.t_tbgd,xxxx.t_chxxandtbgd,xxxx.t_yzxdr,xxxx.t_files_xc,xxxx.tp_gdmc_file logfile=xxxx_dump_tables.log  job_name=my_job;
logger end impdp tables ....
sqlplus xxxx/xxxx @/home/oracle/script/sql/CREATE_T_JYXTTPRZ.sql
sqlplus xxxx/xxxx @/home/oracle/script/sql/ALTER_T_DRRZMX.sql
sqlplus xxxx/xxxx @/home/oracle/script/sql/ALTER_T_TPMX_WORK_XC.sql
sqlplus xxxx/xxxx @/home/oracle/script/sql/ALTER_T_TPMX_WORK.sql
logger The dump xxx tables mission finished!
}


dumpTablesJob  >>/home/oracle/script/log/dump_gddh_tables_`date +%Y%m%d%H%M`.log 2>&1

说明:
1、sqlplus 执行sql脚本,脚本文件里面一定要写exit,否则执行完脚本不退出
2、impdp 可以导出全库备份的部分数据,比如导出备份表,部分用户的数据
3、NETWORK_LINK 为dblink的信息
4、此种方法可以不生成dump文件,速度较快,20几G的数据大概10多分钟可以导完

$crontab -e
00 15 * * *  /home/oracle/script/dump_xxx_tables_jobs.sql  

crontab 里面不生成日志信息,将生成日志信息写在脚本中

说明:
1、crontab任务不执行,看看时区是否正确,如果更改时区,需要重启才生效
2、另外可以查看/var/log/cron 日志


本文出自 “小鱼的博客” 博客,转载请与作者联系!

你可能感兴趣的:(oracle,impdp)