• Linux环境下用exp备份Oracle数据表并导入的脚本


    有时候为了两个Oracle数据库部分表的同步,我们可以采用从源库exp需要的表再在本地执行imp导入。

    操作的思路:首先从远程数据库exp需要的表到本地,然后在本地执行drop table命令把要替换的表删除,这里要注意那些主外键关联的表的删除的顺序,最后再执行imp导入即可。脚本如下:

    首先建立执行命令的.sh文件:

    [oracle@erpdevdb ~]$ cat erpupdate.sh
    echo "----------------------------------------------------------------" >>/home/oracle/erptable.log
    echo `date` >> /home/oracle/erptable.log
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=/u01/app/oracle/oracle/product/10.2.0/db_1
    export ORACLE_SID=erpstudydb
    export PATH=/home/oracle/bin:.:/u01/app/oracle/oracle/product/10.2.0/db_1/bin
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

    cd /home/oracle

    SJ=`date '+%Y%m%d'`
    exp banping/******@remotedb parfile=/home/oracle/parexptbl.lst file=/home/oracle/exptable/table${SJ}.dmp

    sqlplus -S "banping/******" @/home/oracle/droptable.sql

    imp userid=banping/****** file=/home/oracle/exptable/table${SJ}.dmp full=y commit=y

    #delete old files
    find /home/oracle/exptable -mtime +10 -exec ls -la {} \; >>/home/oracle/erptable.log
    find /home/oracle/exptable -mtime +10 -exec rm {} \; >>/home/oracle/erptable.log

    echo `date` >> /home/oracle/erptable.log
    echo "----------------------------------------------------------------" >>/home/oracle/erptable.log
    cat /home/oracle/erptable.log | sed "s/\n/\r\n/g" >/home/oracle/expimpmail.txt
    mail -s "StudyDB EXP-IMP Log" banping@banping.com < /home/oracle/expimpmail.txt
    rm /home/oracle/erptable.log

    其中droptable.sql就是一堆删除表的命令:

    [oracle@erpdevdb ~]$ cat droptable.sql
    drop table msgtask;
    drop table rdata;
    ......

    而parexptbl.lst就是要导入的表的列表:

    [oracle@erpdevdb ~]$ cat parexptbl.lst
    tables=(msgtask,rdata,......)

    这几个文件都弄好了之后,把.sh加入到定时任务即可:

    [oracle@erpdevdb ~]$ crontab -l
    30 5 * * * /home/oracle/erpupdate.sh >>/home/oracle/erptable.log 2>&1

    这样,每天通过邮件就可监控导出导入的信息了。

  • 相关阅读:
    luoguP2016 战略游戏
    [Usaco2006 Nov]Corn Fields牧场的安排
    [Ahoi2009]self 同类分布
    POJ3208:Apocalypse Someday
    [usaco2010 Oct]Soda Machine
    [Usaco2005 Dec]Scales 天平
    PTA的Python练习题(十九)
    堆叠注入
    PHP序列化与反序列化(三)总结实战
    攻防世界web进阶1-12总结篇
  • 原文地址:https://www.cnblogs.com/wzmenjoy/p/2367629.html
Copyright © 2020-2023  润新知