oracle expdp 整库自动备份上传到 ftp

本贴最后更新于 1885 天前,其中的信息可能已经物是人非

oracle expdp 整库自动备份上传到 ftp

root用户操作

创建备份文件夹

/home/data/backup/full/

新建脚本 auto_backup_oracle.sh


#!/bin/bash
set -euxo pipefail
. /etc/profile
. ~/.bash_profile

backupdir=/home/data/backup/full/
backuplog=/home/data/backup/backup.log

backup_filename=`date +%Y%m%d%H%M%S`
start_time=`date +"%Y-%m-%d %H-%M-%S"`

dumpfile=$backup_filename-full.dump
gz_dumpfile=$backup_filename-full.tar.gz

ftpUsername=ftp账号
ftpPassword=ftp密码
##ftp目录手动创建
ftpResPath=ftp地址/archives/$gz_dumpfile


cd $backupdir


echo '1. full backup...' >> $backuplog

expdp 账号/密码@实例 数据库信息 directory=fulldumpdir  dumpfile=$dumpfile full=y  >> $backuplog

echo '2. zip...' >> $backuplog
/usr/bin/tar -zcvf $gz_dumpfile $dumpfile

echo '3. backup to remote...' >> $backuplog
/usr/bin/curl -u $ftpUsername:$ftpPassword -T $gz_dumpfile ftp://$ftpResPath

echo '4. clean 7 days ago backup' >> $backuplog
/bin/find ./ -mtime +7 -name "*.dump" -exec rm -rf  {} \;
/bin/find ./ -mtime +7 -name "*.zip" -exec rm -rf  {} \;

end_time=`date +"%Y-%m-%d %H-%M-%S"`
echo Start: $start_time End: $end_time $gz_dumpfile >> $backuplog


echo '5. truncate tables' >> $backuplog
sqlplus -S 账号/密码 << EOF
select 1 from dual;
exit
EOF
echo '6. truncate table success' >> $backuplog


目录权限

chown -R oracle =/home/data/backup/
chmod -R 775 /home/data/backup/
查询备份路径 添加自定义备份路径

切换oracle用户操作

su - oracle

sqlplus 登录

sqlplus / as sysdba

sqlplus 执行

create directory dumpdir as '/home/data/backup/full/'

添加定时任务 每三天执行一次

执行

crontab -e 

追加 每周 6 晚上 22 点执行一次

0 22 * * 6 /bin/bash -x /home/data/backup/auto_backup_oracle.sh > /home/data/backup/backup_execute.log 2>&1

注意修改zip,curl 等软件路径 zip压缩上限4GB,可以使用tar压缩

ftp 目录 需要存在

压缩方法

  • ALL :对导出的元数据和表数据都进行压缩,得到的导出文件是最小的,耗时也是最长的。
  • DATA_ONLY :仅对表数据进行压缩,对于大数据量的导出效果明显,会比 METADATA_ONLY 方式得到更小的压缩文件。
  • METADATA_ONLY :仅对元数据进行压缩,而不会对表数据进行压缩,这种压缩执行后效果一般不是很明显,不过速度比较快。
  • NONE :不进行任何的压缩,导出后的文件也是最大的。
  • DEFAULT :默认方式,即不指定 COMPRESSION 参数,会采用默认的压缩方式 METADATA_ONLY。
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    103 引用 • 126 回帖 • 454 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...