oracle数据库shell备份脚本

1、root用户下创建备份路径:

mkdir /opt/backup
chown oralce:oinstall /opt/backup

2、oracle用户创建备份脚本路径:

mkdir /opt/app/oracle/bin
cd /opt/app/oracle/bin

3、创建备份脚本

vi backup.sh
#!/bin/sh
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin:.
export ORACLE_SID=zd
#export NLS_LANG=american_america.UTF8
#export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

CURDATE=$(date ‘+%Y%m%d%H%M%S‘)

backup_directory=/opt/backup/
data_file_prefix=zd
BACKUP_FILE=$backup_directory/zd$CURDATE.dmp

delete_prev_month_data_file()
{
    premonth=$(date -d"5 days ago" ‘+%Y%m%d‘)
    rm -rf $backup_directory/$data_file_prefix$premonth* || true
}

#exp zd/[email protected] FILE=$BACKUP_FILE tablespaces=‘zd‘
exp zdwebsite/[email protected] FILE=$BACKUP_FILE owner=‘zdweb‘
delete_prev_month_data_file
exit 0

4、定时任务

crontab -e
0 5 * * * /opt/app/oracle/bin/backup.sh

5、crontab说明:
第一个*表示分钟 每小时的第几分钟执行 0-59

第二个*表示小时 每天的第几个小时执行 0-23

第三个*表示日期 每月的第几天执行 1-31

第四个*表示月历 每年的第几个月执行 1-12

第五个*表示星期 每周的第几天执行 0-6

原文地址:http://blog.51cto.com/meiling/2068171

时间: 2024-08-24 17:11:52

oracle数据库shell备份脚本的相关文章

windows下oracle数据库自动备份脚本

1.根据日期自动生成 Oracle 备份文件 @echo off echo 正在备份Oracle数据库,请稍等...... exp userid='用户名/密码@SID' file=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.log owner=res echo 任务完成! 2.根据日期时间分秒自动生成 Oracle 备份文件 @echo off

Oracle数据库定时备份脚本

一.编写脚本 vim /home/backup/oraclebk.sh #! /usr/bin #路径名,指定备份的路径 FILEPATH=/home/backup/oracledata #根据指定日期格式,定义备份数据库文件名 FILENAME=`date +"%Y%m%d_%H%M"` #切换至指定路径,并创建文件夹 cd $FILEPATH mkdir $FILENAME chmod 775 $FILENAME #oracle变量设置 export USER=oracle; ex

oracle数据库自动备份脚本

::通过exp命令导出远程机器(192.168.2.1)上指定服务(orcl)指定用户(pmis)及密码(pmis)的数据 ::运行该脚本的机器必须安装oracle @echo off @echo [备份pmis系统的数据] set hh=%time:~0,2% set hh=%hh: =0% set sid=127.0.0.1/orcl set backdir=D:\oracle_bak set backfile=%backdir%\%date:~0,4%%date:~5,2%%date:~8

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性 作者:赵全文  网名:guestart 我们生产环境的Oracle数据库都做了RMAN备份,是采用了一周的RMAN备份保留策略:除了使用RMAN备份以外,我们还使用了爱数(Eisoo)备份软件来进行备份,可以说是做到了有备无患.可是,如果有一天,Oracle数据库由于主机层面硬件原因或是数据库层面的原因不能对外提供高可用服务的时候,假设数据丢了一大部分,我们只有用RMAN备份来进行恢复,再如果发现,RMAN备份失效了,那就往地缝里

Oracle数据库的备份方法

1.引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统.比如使用export实用程序导出数据库对象.使用Oracle备份数据库.使用Oracle对称复制.使用Oracle并行服务器.使用Oracle冷备份.使用Oracle热备份等各种备份方法都有其优缺点.适用的场合和相应的软硬件要求.本文主要就用export实用程序导出数据库对象.Oracle冷备份.Oracle热备份这三种最基本的备份方法进行详细的探讨,分析各自的优缺

oracle数据库的备份及升级

以oracle用户登陆数据库所在的服务器,例如家目录为/home./oracle.执行以下命令进行备份操作. sqlplus /nolog connect /as sysdba sql>createdirectory dump_bx as '指定一个存放dmp文件的目录'; sql>grantread,write on directory dump_bx to  boss数据库的用户名称 ; sql>exit oracle>expdp boss数据库的用户名称/密码 directo

Oracle每天自动备份脚本

因为需要最近写了一个适用于Oracle上的备份脚本,Oracle的数据备份不像MySQL一样直接使用二进制工具就可以备份,在Oracle上进行数据备份需要 做好相应的配置,在配置好后才能进行正常的数据备份脚本,所以在Oracle备份数据前需要做一些配置. 首先,因为Oracle的11g开始的特性,空表不会分配表空间所以在备份脚本中我使用了expdp工具来进行数据备份,在备份开始之前需要先把Oracle的数据泵导出目录用DBA账户先做好指定并且授权读写,再修改目录的属组,操作很简单,就是一些exp

oracle数据库rman备份计划及恢复

1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog. 2.rman备份脚本: a.RMAN 0级备份命令: run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup incremental level 0 tag 'level0' format "

netbackup 7.5.0.7 之oracle数据库的备份和恢复

Oracle数据库的数据结构 Oracle的文件系统主要分为四大部分: 1) 控制文件 2) 数据文件 3) 日志文件 4) 其他文件(如参数文件,密码文件等) 前三种文件系是Oracle文件系统的主要组成部分,一般在以下路径可以找到: $ORACLE_HOME$\oradata\orcl .CTL文件为控制文件 .DBF 文件为数据文件 .LOG 文件为日志文件 除了前三种文件还有一种参数文件,参数文件不是数据库系统中的有效组成部分,在启动数据库时,参数文件不直接参与工作,只是控制文件是由参数