oracle 备份脚本
本文是一个shell脚本。主要用于Oracle 数据库备份。默认情况下,在周一晚上进行全备。其他时间进行累积增量备份。
使用方法:
假如脚本保存名为: oracle_backup.sh
使用方法为 oracle_backup.sh -p $ORACLE_DIRECTORY -L $BACKUP_LEVEL
ORACLE_DIRECTORY 可从dba_directories 里查询所得。
BACKUP_LEVEL: 0(全备) 1 增量。
#!/bin/sh
###############################################################
#: This script is used to backup Oracle database with RMAN. #
#: A full backup will be taken early moring on Monday . #
#: I recomment that the incremental backup should be taken on #
#: every day except Monday. #
#: Made by Halberd(Asiainfo-PMO) , #
#: Modify Records: #
#: . #
#: Thu May :: CST #
#: halberd #
# add getopts . make the scripts more flexible #
############################################################### #: initial environment source ~/.bash_profile #: judge if parameters are offered [ $# == ] && echo -e "Usage :: $0 -[pl]\n p --> backup path \n l --> backup level with 0(full) or 1(incremental) \n examples:: \n $0 -p /home/oracle -l 1" && exit #: variables setting
#: attach the arguments values to their variables
while getopts p:l: option
do
case "$option" in
p)
BACK_PATH="$OPTARG"
;;
l)
if
[ "$OPTARG" == ] ;
then
LEVEL=
elif
[ "$OPTARG" == ] ;
then
LEVEL=
else echo "Level 0 or 1 is recommended. You should better choose 0 for full backup or 1 for incremental backup"
exit
fi
;;
\?)
echo "Usage: [-p <PATH>] [-l]"
echo "-p : the path in which backup files will be allocated"
echo "-l : RMAN backup level"
exit
;;
esac done #: initial other basic variables md=`date +%m%d`
weekday=`date +%w` if [ -z "$BACK_PATH" ] ;
then
BACK_PATH="$ORACLE_HOME"/dbs
echo -e "WARNING :: The backup piecies will be stored in $ORACLE_HOME/dbs .\n "
fi if [ -z "$LEVEL" ] ;
then
if [ "$weekday" == ] ;
then LEVEL=
else LEVEL=
fi
fi BACK_FORMAT="$BACK_PATH"/db"$LEVEL"'_%d_%T_%u' echo "BACKUP_PATH: $BACK_PATH"
echo "BACKUP_LEVEL:" "$LEVEL"
echo "BACKUP_FORMAT: $BACK_FORMAT" #: generate the rman commands
back_comm='
run{
allocate channel c1 type disk;\n
allocate channel c2 type disk;\n
allocate channel c3 type disk;\n
backup as compressed backupset incremental level '"$LEVEL"' format '\'"$BACK_FORMAT"\'' database include current controlfile plus archivelog delete input;\n
release channel c1;\n
release channel c2;\n
release channel c3;\n
}\n
crosscheck archivelog all;\n
delete noprompt expired archivelog all;\n
report obsolete;\n
delete noprompt obsolete;\n
exit
' #: execute rman backup
echo -e $back_comm| rman target sys/oracle log "$BACK_PATH"/rman_"$md".log
exit
oracle 备份脚本的更多相关文章
- 5、Oracle备份(oracle备份脚本配置)
1.1 Oracle数据库备份 1.1.1 链接Oracle介质管理库 请在数据库节点上操作. [oracle@db01/usr/openv/netbackup/bin]$ ./oracle_link ...
- oracle备份脚本
利用EXP导出全库,必须用SYSTEM或者DBA用户来导出. 具体脚本实现如下 全库导出(fullbackup): #!/bin/bash bname=`date +%Y%m%d` cd /backu ...
- Oracle自动备份脚本(网上找到的资料)
废话不多说了,直接给大家贴代码了,具体代码如下所示: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ...
- Windows环境下Oracle数据库的自动备份脚本
批处理文件(.bat) @echo off echo ================================================ echo Windows环境下Oracle数据 ...
- oracle expdp自动备份脚本
windows: @echo off echo ================================================ echo Windows环境下Oracle数据库的自动 ...
- Windows:Oracle 11g 备份脚本
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
- Oracle自动备份脚本的实现
问题描述: Oracle自动备份脚本的实现. 错误提示1: Message file RMAN.msb not found Verify that Oracle_HOME is set properl ...
- Oracle数据库的自动备份脚本
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
- Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
随机推荐
- 关于setInterval返回值问题
oBtn1.onclick = function(){ clearInterval(timer); timer = setInterval(cwidth,10); alert(timer); } oB ...
- Mysql多实例安装笔记
参考: 系统:KaliLinux (x86_64) 软件下载 1.下载地址: 2.选择5.6版本 安装 1.准备文件和目录 tar -zxvf mysql-5.6.40-linux-glibc2.12 ...
- 关于Jonathan S. Weissman与RIT(罗切斯特理工学院,位于纽约)
信息来源于:edx平台的 RITx: CYBER501xCybersecurity Fundamentals 课程的介绍(https://courses.edx.org/courses/course ...
- golang goroutine 介绍
Goroutine 是用户态自己实现的线程,调度方式遇到IO/阻塞点方式就会让出cpu时间(其实也看编译器的实现,如果TA在代码里面插入一些yield,也是可以的. 反正现在不是抢占式的.) 不能设置 ...
- GPU Tips
<1> Basic #include <stdio.h> #include <cuda_runtime.h> #include <device_launch_ ...
- Linux内存管理 (10)缺页中断处理【转】
转自:https://www.cnblogs.com/arnoldlu/p/8335475.html 专题:Linux内存管理专题 关键词:数据异常.缺页中断.匿名页面.文件映射页面.写时复制页面.s ...
- ES6学习笔记四(类和对象)
{ // 构造函数和实例 class Parent{ constructor(name='mukewan'){ this.name=name; } } let v_parent=new Parent( ...
- unity开发笔记
debug代码 Debug.Log("普通信息"); Debug.LogWarning("警告信息"); Debug ...
- DNS解析出现错误故障解决
当DNS解析出现错误,例如把一个域名解析成一个错误的IP地址,或者根本不知道某个域名对应的IP地址是什么时,就无法通过域名访问相应的站点了,这就是DNS解析故障.出现DNS解析故障最大的症状就是访问站 ...
- 题解-CTSC2012 熟悉的文章
Problem bzoj 题目大意:给定多个标准串和一个文本串,全部为01串,如果一个串长度不少于\(L\)且是任意一个标准串的子串,那么它是"熟悉"的.对于文本串\(A\),把\ ...