数据库export自动备份操作过程:
此处设定备份cron脚本在每天的凌晨0点进行。
1. 以root用户身份,修改cron.allow文件属性为可写
# chmod u+w /var/adm/cron/cron.allow
2. 给oracle用户分配定时任务的权限
以root用户身份,在/var/adm/cron/cron.allow文件末尾增添一行
# vi /var/adm/cron/cron.allow
增添内容如下:
oracle
注意:
cron.allow文件在/etc/cron目录下,默认应该有cron.deny,cron.allow需要自己创建;root用户的登陆名必须出现在cron.allow文件中。
[@more@]3. 以root用户身份,修改cron.allow文件属性为只读
# chmod u-w /var/adm/cron/cron.allow
4. 建立备份相关目录
使用Smitty crfs新建文件系统oradataback,在oradataback目录下建立bin、log目录。
注意:
ü 在新建文件系统时要注意硬盘空间大小;
ü Log目录存放备份日志,bin目录存放执行sh;
ü Oracle由对Log、bin目录读写权限。
5. 以oracle用户身份,执行crontab –e
末尾增添一行如下:
0 00 * * * /oradateback/exp_cron.sh # everyday at 0:00AM execute fulldb backup
格式说明:
minute hour day_of_month month weekday command
其中各个字段取值范围为
Minute 0 = 59;hour 0 = 23;day_of_month 1 = 31;month 1 = 12;weekday 0 = 6(星期天到星期六);command shell命令。
6. 以oracle用户身份,在备份目录(备份目录建立在/oradataback/bin,oracle对此备份目录有读写权限)下建立exp_cron.sh
$ vi exp_cron.sh
#!/bin/ksh
#清除mbox文件内容,完成备份后mbox文件内容太多,需要及时清理
> /home/oracle/mbox
#删除上一天的备份
rm -R /oradataback/exp*
#必须配置oracle环境变量、SID、PATH信息,否则会执行备份失败,在查看mail时有如下报错:
Export: Release 9.2.0.6.0 - Production on Thu Aug 24 23:06:01 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
EXP-00056: ORACLE error 1034 encountered
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
IBM AIX RISC System/6000 Error: 2: No such file or directory
EXP-00005: all allowable logon attempts failed
EXP-00000: Export terminated unsuccessfully。
export ORACLE_HOME=/home/oracle/app/oracle/product/9.2/
export ORACLE_SID=ora921
export PATH=/home/oracle/app/oracle/product/9.2/bin:/usr/bin
#该配置项中使用的符号是 ` 而不是 ’ (单引号),否则在生成dmp文件时的文件会是exp_sjzdlp114_$thisweek.dmp,无法自动添加系统日期。
thisweek=`date "+%y""%m""%d"`
expfilesjz='/oradataback/exp_sjzdlp114_'$thisweek'.dmp'
explogsjz='/oradataback/log/sjzlog/exp_sjzdlp114_'$thisweek'.log'
exp sjzdlp114/sjzdlp114 owner=sjzdlp114 rows=y indexes=n compress=n buffer=1024000 direct=y feedback=100000 file=$expfilesjz log=$explogsjz
7. 以oracle用户身份,给exp_cron.sh增加执行权限
$ chmod u+x exp_cron.sh
8. 修改完毕后可以通过crontab –l来查看设置是否正确。
$ crontab -l
0 00 * * * /oradateback/exp_cron.sh # everyday at 0:00AM execute fulldb backup
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23493047/viewspace-1031742/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23493047/viewspace-1031742/