自动备份Oracle 数据库

自动备份Oracle 数据库

主机服务器环境:Oracle 8.16 for Linux

Redhat Linux 6.2

自动备份数据库分为几个步骤:

1、 创建数据库备份脚本

2、 创建FTP自动登陆脚本

3、 设置自动执行任务

一、建立导出Oracle 数据库的脚本文件

# Script for backup oracle database

# File Name backup.sh

ORACLE_HOME=/u01/oracle/oraclehome;

Export ORACLE_HOME;

ORACLE_SID=orc1;

Export ORACLE_SID;

# get the date string

rq=` date +”%m%d”`

/u01/oracle/oraclehome/bin/exp ledwaybc/ledway file=/u01/backup/ledwaybc$rq.dmp

log=/u01/backup/ledwaybc$rq.log

/u01/oracle/oraclehome/bin/expledwaybasic/ledwayfile=/u01/backup/ledwaybasic$rq.dmp

log=/u01/backup/ledwaybasic$rq.log

# End of script file

更改其文件属性设置为执行文件

$chmod 755 backup.sh


二、创建FTP自动登陆脚本

$cd $HOME

$vi .netrc

machine 192.168.11.2 login username password xxxx

macdef init

binary

bell

hash

prompt

cd databack

lcd/u01/backup

mput *.*

bye
说明:执行远程备份时必须在远程机器上安装FTP服务程序

cd databack 转到远程服务器的虚拟目录中

lcd /u01/backup 为进入本地的备份文件目录

**** 注意 bye 之后必须有空行 ****

创建调用FTP的脚本文件

$vi backup_remote.sh

# file name backup_remote.sh

ftp 192.168.11.2

# end of backup_remote.sh
改变其属性为可执行

chmod +x backup_remote.sh



三、使用自动备份进程

Cron是一个永久进程,它由/etc/rc.local启动执行。Cron检查/var/spool/cron/crontabs/目录中的文件,找到所要执行的任务和执行任务的时间。

Crontab文件的每一行由六个域(minutes、hours、day of month、month、day of week、 command)组成,域之间用空格或Tab分开,其中:

minutes: 分钟域,值的范围是0到59

hours: 小时域,值的范围是0到23

day of month: 日期,值的范围是1到31

month: 月份,值的范围是1到12

day of week: 星期,值的范围是0到6,星期日值为0

command: 所要运行的命令

如果一个域是 *,表明命令可以在该域所有可能的取值范围内执行。

如果一个域是由连字符“-”隔开的两个数字,表明命令可以在两个数字之间的范围内执行(包括两个数字本身)。

如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。

如果日期域和星期域都有值,则这两个域都有效。

现在,我们编写一个文件,用以启动自动备份进程。值得注意的是,该文件只能在Oracle用户名下用crontab -e 命令来编辑,否则将不会被定时执行,文件名定为Oracle,文件将放在/var/spool/cron/crontabs 目录下。编辑完成后,可以在Oracle的$提示符下,用crontab -l命令来查看:

30 01 * * * /u01/usrbin/backup.sh

45 01 * * */u01/usrbin/backup_remote.sh









假设所以的脚本文件都存放在 /u01/usrbin/目录下。


这里是脚本内容: backup_remote.sh
ORACLE_HOME=/u01/oracle/oraclehome;
export ORACLE_HOME;
ORACLE_SID=orc1;
export ORACLE_SID;

# get the date str
rq=` date +"%m%d"`
/u01/oracle/oraclehome/bin/exp ledwaybc/ledway
file=/u01/backup/ledwaybc$rq.dmp log=/u01/backup/ledwaybc${rq}.log

/u01/oracle/oraclehome/bin/exp ledwaybasic/ledway
file=/u01/backup/ledwaybasic${rq}.dmp
log=/u01/backup/ledwaybasic${rq}.log




--------------------------------------------------------------------------------

# backup remote file script
# file name backup_remote.sh
# create date 2001/12/19

ftp 192.168.11.2
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值