root 发表于 2018-9-21 11:05:35

oracle用expdp方式备份脚本

$ vi /u01/app/backup/bin/bak.sh  #!/bin/sh
  #自己指定环境变量(适合多实例的数据库)
  export ORACLE_SID=orcl
  export ORACLE_BASE=/u01/app/oracle
  export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
  export PATH=$ORACLE_HOME/bin:$PATH:/sbin/
  expot LANG=zh_CN.UTF-8
  export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'
  #或使用oracle原先.bash_profile文件里环境变量
  source /home/oracle/.bash_profile
  #上面环境变量二选一即可
  timedate=$(date +%Y%m%d%H%M%S)
  bakdbname=hb
  bakdbpasswd=h1234
  dumpbame=hd
  bakdbhome=/u01/app/backup
  expdp $bakdbname/$bakdbpasswd directory=backDir dumpfile=$dumpbame-$timedate.dmp logfile=$bakdbname-$timedate.log
  #方法一、压缩dmp文件,会连接bakdbhome变量的目录及文件一并压缩
  zip -r $bakdbhome/$dumpbame-$timedate.zip $bakdbhome/$dumpbame-$timedate.dmp $bakdbhome/$bakdbname-$timedate.log      #压缩dmp文件及日志文件
  #或用方法二
  #若是不加项目路径目录名就切换到存放dmp文件的目录进行压缩即可
  cd $bakdbhome
  zip -r $dumpbame-$timedate.zip $dumpbame-$timedate.dmp $bakdbname-$timedate.log
  find $bakdbhome/*.log -mtime +10 -exec rm -rf {} \;
  find $bakdbhome/*.zip -mtime +10 -exec rm -rf {} \;
  find $bakdbhome/*.dmp -exec rm -rf {} \;#前面压缩后,删除原dmp文件
  cd $bakdbhome   #切换到备份文件目录下(这里如果用的方法二的就不在需要在切换目录的了)
  ftp -v -n 192.168.6.9
页: [1]
查看完整版本: oracle用expdp方式备份脚本