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

Linux平台下的Oracle自动备份案例(使用exp工具)

程序员文章站 2022-05-01 13:57:54
...

有朋友提了一个需求:每天的晚上12点使用exp备份数据库到指定目录下面,并且自动删除在一个星期以前备份的数据为此写出下文,仅以

有朋友提了一个需求:每天的晚上12点使用exp备份数据库到指定目录下面,并且自动删除在一个星期以前备份的数据为此写出下文,仅以记录并分享这个过程。

Linux平台下的Oracle自动备份案例(使用RMAN) 见


环境:
操作系统:RHEL5.4
数据库:Oracle 10.2.0
相关变量值:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
备份的方案名:MAI
备份的目标目录:/backup


实现过程如下:
准备目录:
mkdir /backup
chown oracle:oinstall /backup
chmod 755 /backup


切换到oracle用户,在oracle家目录下面创建bin目录,新建文件on_time_backup.sh
mkdir bin
cd bin
touch on_time_backup.sh
chmod 755 on_time_backup.sh
编辑on_time_backup.sh文件,添加如下内容:
#!/bin/bash
source /home/oracle/.bash_profile
/u01/app/oracle/product/10.2.0/db_1/bin/exp userid=mai/mai file=/backup/BACKUP_SCHEMA_MAI_`date +%Y%m%d%H%M`.dmp log=/backup/BACKUP_SCHEMA_MAI_`date +%Y%m%d%H%M`.log
/usr/bin/find /backup -mtime +7 -exec rm -rf {} \;


使用oracle用户添加例行任务:
crontab -e
新打开的窗口中添加一下内容:
0 24 * * * /home/oracle/bin/on_time_backup.sh
(*/1 * * * * /home/oracle/bin/on_time_backup.sh)
注,,括号内的可以是做测试的时候用的,每分钟执行一次备份


可以通过监控/var/log/cron文件来查看脚本是否执行了,至于是否执行了就要看在/backup目录下面是否有相应的备份文件了:
-rw-r--r-- 1 oracle oinstall 16384 Jul 5 13:33 BACKUP_SCHEMA_MAI_201207051333.dmp
-rw-r--r-- 1 oracle oinstall 1800 Jul 5 13:33 BACKUP_SCHEMA_MAI_201207051333.log
-rw-r--r-- 1 oracle oinstall 16384 Jul 5 13:35 BACKUP_SCHEMA_MAI_201207051335.dmp
-rw-r--r-- 1 oracle oinstall 1800 Jul 5 13:35 BACKUP_SCHEMA_MAI_201207051335.log
-rw-r--r-- 1 oracle oinstall 16384 Jul 5 13:36 BACKUP_SCHEMA_MAI_201207051336.dmp
-rw-r--r-- 1 oracle oinstall 1800 Jul 5 13:36 BACKUP_SCHEMA_MAI_201207051336.log
-rw-r--r-- 1 oracle oinstall 16384 Jul 5 13:37 BACKUP_SCHEMA_MAI_201207051337.dmp
-rw-r--r-- 1 oracle oinstall 1800 Jul 5 13:37 BACKUP_SCHEMA_MAI_201207051337.log
-rw-r--r-- 1 oracle oinstall 16384 Jul 5 13:38 BACKUP_SCHEMA_MAI_201207051338.dmp
-rw-r--r-- 1 oracle oinstall 1800 Jul 5 13:38 BACKUP_SCHEMA_MAI_201207051338.log

推荐阅读:

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密