Linux下oracle 10g的定时备份
2010-05-21 14:34:32| 分类: ORACLE | 标签: |字号大中小 订阅
在oracl用户下用 crontab -e命令配置定点备份。
[oracle@localhost ~]$ crontab -e
(这个命令是修改了/var/spool/cron/下的oracle文件)
文件内容如下,我这边设置的是每小时12分时备份。
0 7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 * * * /home/oracle/backups/exp_test.sh >/tmp/bakdata.log
exp_test.sh文件是在home/oracle/backups下
内容是
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8"
ORACLE_HOME=/u01/app/oracle export ORACLE_HOME
ORACLE_BASE=$ORACLE_HOME export ORACLE_BASE
ORACLE_SID=hcynms export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH export PATH
BACKUP_DIR=/home/oracle/backups
if [ ! -d $BACKUP_DIR ]; then
mkdir -p $BACKUP_DIR
fi
DAYS=(Sun Mon Tue Wed Thu Fri Sat)
TYPES=(incremental incremental incremental incremental incremental incremental incremental incremental incremental incremental incremental incremental incremental cumulative complete)
day=`date +%w`
declare -i time=`date +%H`
DAY_NAME=${DAYS[$day]}
TYPE=${TYPES[$time-7]}
DATE_NAME=`date +%F`
FILE_NAME=${DATE_NAME}-$time-${DAY_NAME}-${TYPE}.dmp #2008-12-8-Mon-complete.dmp
exp cs/cs inctype=$TYPE file=${BACKUP_DIR}/${FILE_NAME} > /dev/null
gzip ${BACKUP_DIR}/${FILE_NAME}
[oracle@localhost ~]$ crontab -e
(这个命令是修改了/var/spool/cron/下的oracle文件)
文件内容如下,我这边设置的是每小时12分时备份。
0 7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 * * * /home/oracle/backups/exp_test.sh >/tmp/bakdata.log
exp_test.sh文件是在home/oracle/backups下
内容是
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8"
ORACLE_HOME=/u01/app/oracle export ORACLE_HOME
ORACLE_BASE=$ORACLE_HOME export ORACLE_BASE
ORACLE_SID=hcynms export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH export PATH
BACKUP_DIR=/home/oracle/backups
if [ ! -d $BACKUP_DIR ]; then
mkdir -p $BACKUP_DIR
fi
DAYS=(Sun Mon Tue Wed Thu Fri Sat)
TYPES=(incremental incremental incremental incremental incremental incremental incremental incremental incremental incremental incremental incremental incremental cumulative complete)
day=`date +%w`
declare -i time=`date +%H`
DAY_NAME=${DAYS[$day]}
TYPE=${TYPES[$time-7]}
DATE_NAME=`date +%F`
FILE_NAME=${DATE_NAME}-$time-${DAY_NAME}-${TYPE}.dmp #2008-12-8-Mon-complete.dmp
exp cs/cs inctype=$TYPE file=${BACKUP_DIR}/${FILE_NAME} > /dev/null
gzip ${BACKUP_DIR}/${FILE_NAME}
可能遇到的问题:
1、备份时遇到一些问题部分是权限问题记得所有关于备份的文件都要在oracle用户下建立执行建立。
2、最后记得要将oracle的监听服务启动。命令是:lsnrctl start 和 emctl start dbconsole
3、export NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8",这一句主要是为了保证导出时的编码问题,这在之后的导入时就会发现,中文编码的问题,加上这一句主要是保证了一些表中列名的中文问题
---------------------------------------------------------------------------------------------分割线,多给你找几个资料------------------------------------------------------------------------------------------------------