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 ...
随机推荐
- Eclipse安装教程 ——史上最详细安装Java &Python教程说明
参考链接:https://blog.csdn.net/zichen_ziqi/article/details/73995755
- C# 判断网络是否连接
bool isconn = true; PingReply pr; Ping ping = new Ping(); pr = ping.Send("lightyiyi.cn"); ...
- 椭圆曲线密码学ECC
椭圆曲线密码学(Elliptic curve cryptography),简称ECC,是一种建立公开密钥加密的算法,也就是非对称加密.类似的还有RSA,ElGamal算法等.ECC被公认为在给定密 ...
- python中模块的__all__属性
python模块中的__all__属性,可用于模块导入时限制,如:from module import *此时被导入模块若定义了__all__属性,则只有__all__内指定的属性.方法.类可被导入. ...
- JavaScript-client、offset、scroll、定时器
client offset scroll client.offset.scroll系列 他们的作用主要与计算盒模型,盒子的偏移量和滚动有关 clientTop 内容区域到边框顶部的距离, 说白了, 就 ...
- python3+selenium入门09-键盘事件
Keys类提供了键盘上几乎所有按键的方法.通过send_keys()方法不仅可以用来模拟键盘输入,还可以用它来模拟键盘上的按键.包括组合键,比如Ctrl+a等 需要导入Keys类 from selen ...
- TextArea 保存时换行符处理
后台数据保存时就要处理“\r\n",替换成”<br />",前台(html)页面显示时再做下处理. 自己是mvc页面,用到了两个方法:Html.Raw(),以及Http ...
- Jquyer轮播带数字和提示文字
效果图如下: 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http: ...
- 40)django-常用过滤器
一.形式:小写 {{ name | lower }} 二.过滤器是可以嵌套的,字符串经过三个过滤器,第一个过滤器转换为小写,第二个过滤器输出首字母,第三个过滤器将首字母转换成大写 标签 {{ str| ...
- 洛谷P4841 城市规划 [生成函数,NTT]
传送门 题意简述:求\(n\)个点的简单无向连通图的数量\(\mod \;1004535809\),\(n \leq 130000\) 经典好题呀!这里介绍两种做法:多项式求逆.多项式求对数 先 ...