ITPub博客

首页 > 数据库 > Oracle > oracle自动exp备份

oracle自动exp备份

原创 Oracle 作者:dengxinjian 时间:2010-03-11 09:42:46 0 删除 编辑


数据库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博客 ” ,链接:https://blog.itpub.net/23493047/viewspace-1031742/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    46
  • 访问量
    121018