首页 > 代码库 > 运维必备:Oracle自备份精简教程(linux及win)

运维必备:Oracle自备份精简教程(linux及win)

Oracle在linux环境下的自动备份

1、自动导出及历史文件删除脚本

 

su - oracle<<EOF

cd /db_backup/databak

mv orabak*.* /db_backup/old

exp username/password@sidname full=y log=orabak`date +%Y%m%d%H%M`.log file=/db_backup/databak/bzxtbakpipe &

gzip </db_backup/databak/bzxtbakpipe > orabak`date +%Y%m%d%H%M`.dmp.gz

cd /db_backup/old

rm -rf orabak`date --date=‘2 days ago‘ +%Y%m%d%H%M`.*

EOF

如下图所示:

技术分享

Linux下的自动导出及历史文件删除脚本

2、备份文件异地拷贝脚本

 

su - oracle<<EOF

cd /db_backup/databak

scp *.dmp.gz 10.130.112.48:/db_backup/databak/

EOF

如下图所示:

技术分享

备份文件异地拷贝

3、脚本自动执行的定时任务创建

crontab -e

 

30 20 * * * su - oracle -c /db_backup/backup_scripts/backupdb.sh

30 21 * * * /db_backup/backup_scripts/scpdmp.sh

如下图所示:

技术分享

定时任务创建

Oracle在Windows环境下的自动备份

1、自动导出及历史文件删除脚本(bat文件)

set date=%date:~0,4%%date:~5,2%%date:~8,2%

echo %date%

del *%date:~4,10%-5.dmp

exp nianjin/nianjin file=D:\temp\nianjin%date%.dmp owner=nianjin

如下图所示:

技术分享

简化的自动导出脚本

2、备份文件异地拷贝脚本(win拷贝至linux)

  • ftp命令脚本

ftp -n 192.168.226.129 < "E:\work\各种脚本\ftpq.txt"

  • ftp命令执行内容

user why 123456

cd /home/why/ftptest

bin

put seo.pptx

bye

!

  • 命令执行图示如下

技术分享

ftp脚本内容及执行图示

3、脚本自动执行定时任务

将上述导出及异地拷贝的脚本加入windows的计划任务,定时执行即可(具体过程略)。

运维必备:Oracle自备份精简教程(linux及win)