欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

RedHat Linux下使用Crontab实现Oracle 10g 定时备份

程序员文章站 2022-06-15 12:55:16
...

RedHat Linux下使用Crontab实现Oracle 10g 定时备份(包含SFTP下载说明)。这是说的定时备份是热备份,也就是写shell脚本,这是的

RedHat Linux下使用Crontab实现Oracle 10g 定时备份(包含SFTP下载说明)。

这是说的定时备份是热备份,也就是写shell脚本,这是的语法是oracle10g的,9i稍微修改(用exp语法)

定时备份后,可以用客户端机器自动下载,用sftp客户端,设置成自动下载,如没有可以去网上找sftp的实现,java有开源的。

1.创建shell 备份脚本文件

#!/bin/sh

#oracle command

expcmd="/opt/ora10/product/10g/bin/"

#bakup dir 这个备份目录是用expdp 需要先建立,10g里面有的,自己可以去查 create directory 命令

dbbakdir="dbbakdir"

#bakup file name

filebak1="$(date +%Y%m%d%H%M%S)dbbak1.dmp"

#bakup db log

dboplog="db1.log"

#table name 这里是以备份某个表做的,其他自己可以参考expdp 语法

tablenames ="xxxtablename"

./expdp username/password@dbname directory=$dbbakdir dumpfile=$filebak1 logfile=$dboplog filesize=4G tables=$tablenames

这个保存为/oralce/shelltest.sh ,赋执行权限 chmod +x ,需要用oracle安装用户如useroracle,不能用root用户。

2.添加crontab任务

用oracle安装用户如useroracle执行下面命令

#crontab -e

30 01 * * * /oralce/shelltest.sh

上面设置的是,每天凌晨1点半执行,具体语法,,看 crontab 格式

设置之后,可以用crontab -l 命令查看

RedHat Linux下使用Crontab实现Oracle 10g 定时备份