RMAN笔记小结
首先感谢junsansi和leshani两位大师的文笔;我可是好好看了很多遍;这两位哦;我跟你们说;对rman的解说那是相当精彩;文章形如流水,通俗易懂;内容那是入木三分...;好了我也不多说了,反正我现在也词穷了;对一个语文不及格的来说;说了这么多成语也不容易;××费就不收你们的了;说真的很感谢这两位;反正我对rman相当的研究了。rman:(Recovery Manager);顾名思义那就是一个备份/恢复的工具;同时对迁移,克隆也是一把好手。说到迁移...DG好像有话说;暂时不让它说。
对oracle数据库备份/恢复;
- 备份还是采用rman备份的好;原因吗?因为rman就是用来备份+恢复的工具。哦???。
- rman只备份oracle用到过的数据块;可以跳过未使用的数据块;这样备份集比“物理备份”要少;比逻辑备份我就不说了
- 它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。
好处当然不只1-2点;容你慢慢去学习。
- 至于恢复吗
尽量使用flase database去恢复;如这恢复不了(这是要看你能够闪回的最晚时间;或者是文件丢失)。才去用rman去恢复。
有了完整的备份;一起都是浮云;这话说的有点大?但是备份还是不能少;
下面是一些笔记(挑选);至于详细大家还是去看他们的博客;我这就不复制了。
alter system switch logfile 是强制日志切换,不一定就归档当前的重做日志文件(若自动归档打开,就归档前的重做日志,若自动归档没有打开,就不归档当前重做日志。)alter system archive log current 是归档当前的重做日志文件,不管自动归档有没有打都归档。
2. 备份控制文件
RMAN> backup current controlfile;
SQL>alter database backup controlfile to trace as '/data/control01.txt';
orapwd file=<fname> password=<password> entries=<users> force=<y/n>orapwd file=orapwSY5221 password=oracle force=y entries=10 --force=y:表示允许覆盖原密码文件
学习rman;至少要了解oracle体系结构(必要条件);里面的参数重在理解;能灵活运用。
例如;就三思出的那个定时备份的题目来说;我写的脚本就是这样的;
run{
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;
allocate channel c1 type disk;
backup database format 'f:\oracle\backup\back_%U' plus archivelog delete all input;
delete noprompt obsolete;
release channel c1;
}
还是那句话重在理解;能灵活运用。就行。
最后奉送一个备份脚本;很完善的rman备份脚本
#!/bin/bash # User specific environment and startup programs if [ -f ~/.bash_profile ]; then source ~/.bash_profile fi ORACLE_SID=ora11g; export ORACLE_SID RMAN_LEVEL=${}; export RMAN_LEVEL TIMESTAMP=`date +%Y%m%d%H%M`; export TIMESTAMP DATE=`date +%Y%m%d`; export DATE RMAN_DIR=/data/backup/rman; export RMAN_DIR RMAN_DATA=${RMAN_DIR}/${DATE}; export RMAN_DATA RMAN_LOG=/data/backup/log; export RMAN_LOG # Check rman level #====================================================================== if [ "$RMAN_LEVEL" == "F" ]; then unset INCR_LVL BACKUP_TYPE=full else INCR_LVL="INCREMENTAL LEVEL ${RMAN_LEVEL}" BACKUP_TYPE=lev${RMAN_LEVEL} fi RMAN_FILE=${RMAN_DATA}/${ORACLE_SID}_${BACKUP_TYPE}_${TIMESTAMP}; export RMAN_FILE SSH_LOG=${RMAN_LOG}/${ORACLE_SID}_${BACKUP_TYPE}_${TIMESTAMP}.log; export SSH_LOG MAXPIECESIZE=4G; export MAXPIECESIZE #Check RMAN Backup Path #========================================================================= if ! test -d ${RMAN_DATA} then mkdir -p ${RMAN_DATA} fi echo "---------------------------------" >>${SSH_LOG} echo " " >>${SSH_LOG} echo "Rman Begin to Working ........." >>${SSH_LOG} echo "Begin time at:" `date` --`date +%Y%m%d%H%M` >>${SSH_LOG} #Startup rman to backup #============================================================================= $ORACLE_HOME/bin/rman log=${RMAN_FILE}.log << EOF connect target / run { CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF DAYS; CONFIGURE BACKUP OPTIMIZATION ON; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '${RMAN_FILE}_%F'; ALLOCATE CHANNEL 'ch1' TYPE DISK maxpiecesize=${MAXPIECESIZE}; ALLOCATE CHANNEL 'ch2' TYPE DISK maxpiecesize=${MAXPIECESIZE}; set limit channel ch1 readrate=; set limit channel ch1 kbytes=; set limit channel ch2 readrate=; set limit channel ch2 kbytes=; CROSSCHECK ARCHIVELOG ALL; DELETE NOPROMPT EXPIRED ARCHIVELOG ALL; BACKUP ${INCR_LVL} DATABASE FORMAT '${RMAN_FILE}_%U' TAG '${ORACLE_SID}_${BACKUP_TYPE}_${TIMESTAMP}'; SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT'; BACKUP ARCHIVELOG ALL FORMAT '${RMAN_FILE}_arc_%U' TAG '${ORACLE_SID}_arc_${TIMESTAMP}' DELETE INPUT; DELETE NOPROMPT OBSOLETE; RELEASE CHANNEL ch1; RELEASE CHANNEL ch2; } sql "alter database backup controlfile to trace as ''${RMAN_DATA}/cntl_${BACKUP_TYPE}.bak''"; exit; EOF RC=$? cat ${RMAN_FILE}.log >>${SSH_LOG} echo "Rman Stop working @ time:"`date` `date +%Y%m%d%H%M` >>${SSH_LOG} echo >>${SSH_LOG} echo "------------------------" >>${SSH_LOG} echo "------ Disk Space ------" >>${SSH_LOG} df -h >>${SSH_LOG} echo >>${SSH_LOG} " ]; then echo "------ error ------" >>${SSH_LOG} else echo "------ no error found during RMAN backup peroid------" >>${SSH_LOG} rm -rf ${RMAN_FILE}.log fi #Remove old backup than 3 days #============================================================================ RMDIR=${RMAN_DIR}/`/bin/date +%Y%m%d -d "3 days ago"`; export RMDIR echo >>${SSH_LOG} echo -e "------Remove old backup than 3 days ------\n" >>${SSH_LOG} if test -d ${RMDIR} then rm -rf ${RMDIR} RC=$? fi echo >>${SSH_LOG} " ]; then echo -e "------ Remove old backup exception------ \n" >>${SSH_LOG} else echo -e "------ no error found during remove old backup set peroid------ \n" >>${SSH_LOG} fi exit
RMAN笔记小结的更多相关文章
- openresty 学习笔记小结:综合应用实例
openresty 学习笔记小结:综合应用实例 这个综合实验实现的功能其实很简单,用户访问一个页面,显示一个默认页面.输入参数(post或者get都可以),如果参数在数据库查询得到并满足一定条件,根据 ...
- Oracle单机Rman笔记[6]---记一次oracle脱机异地还原
系统情况介绍 正式环境:windows 2008 r2-32bit/ Oracle: Release 11.2.0.1.0 目标环境:windows 2012 Standard-64bit / Ora ...
- Oracle单机Rman笔记[5]---脱机异地还原
脱机异地还原(安装一个原环境相同的linux,并安装数据库,注意不要配置安装实例) .检查/home/oracle下的.bashrc .bash_profile内容是否与原环境一致(具体看情况而定), ...
- Oracle单机Rman笔记[4]---RMAN联机备份
备注:RMAN备份(仅支持基于spfile的备份,不支持基于init.ora配置的备份) 练习:开启ARCHIVELOG模式 \为归档的重做日志被指FRA和单独的归档日志目标 SQL>show ...
- Oracle单机Rman笔记[3]---RMAN脱机备份及命令基础介绍
A.NOARCHIVELOG模式下的物理备份 1.完全关闭数据库 2.备份所有的数据库文件.控制文件.联机重做日志 3.重新启动数据库 B.RMAN的体系结构概述 重新构建控制文件: 将控制文件备份为 ...
- Oracle单机Rman笔记[2]---RMAN基础介绍
A.DBA对于备份恢复的问题: 1.在数据库发生故障时,丢失多少数据是可承受的? 2.恢复数据库时,能够忍受的最长时间多少? 3.为了确保您的数据能够被恢复,愿意投入多少成本? 4.备份期间可以关闭系 ...
- Oracle单机Rman笔记[0]---环境准备
A. 安装操作系统rhel6.6,关闭防火墙,修改网卡配置IP(略)PS:1.默认分区选项(第二项,默认为LVM),然后进行调整2.安装类型选择“桌面”3.安装后 分配IP.调整防火墙.测试SSH B ...
- RMAN笔记
Rman常用命令 Preview选项 1) 显示用于还原system表空间数据文件的备份文件 RMAN> restore datafile 2 preview; 2) 显示用于还原特 ...
- 《JavaScript高级程序设计》读书笔记 ---小结
对象在JavaScript 中被称为引用类型的值,而且有一些内置的引用类型可以用来创建特定的对象,现简要总结如下: 引用类型与传统面向对象程序设计中的类相似,但实现不同: Object 是一个基础 ...
随机推荐
- SLAM学习笔记(2)SLAM算法
SLAM算法分为三类:Kalman滤波.概率滤波.图优化 Kalman滤波方法包括EKF.EIF:概率滤波包括RBPF,FastSLAM是RBPF滤波器最为成功的实例, 也是应用最为广泛的SLAM方法 ...
- Oracle 12C -- 使用seed PDB创建新的pdb
$ sqlplus '/as sysdba' SQL*Plus: Release Production on Tue Jun :: Copyright (c) , , Oracle. All righ ...
- maven中下载jar包源码和javadoc
1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...
- 树形DP(Rebuilding Roads poj1947)
题意:给出一颗树,求要形成一颗元素个数是p的子树,最少要去掉多少边 #include"stdio.h" #include"string.h" #include& ...
- [原创]java WEB学习笔记71:Struts2 学习之路-- struts2常见的内建验证程序及注意点,短路验证,非字段验证,错误消息的重用
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [摘录]quarts:feature
Features of Quartz Runtime Environments Quartz can run embedded within another free standing applica ...
- [原创]安装Oracle 11gR2,以及如何在win8下使用plsql develper连接Oracle数据库 ,在这里和大家分享下
一,关于win8下安装Oracle 11gR2 1.我下载的是Oracle_11gR2_win64.其中有两个包: 注意:在解压了之后将:win64_11gR2_database_2of2\datab ...
- Java基础(48):归并排序的Java封装含原理,完整可运行,结合VisualGo网站更好理解)
原理: 归并排序建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用. 将已有序的子序列合并,得到完全有序的序列:即先使每个子序列有序, ...
- SQL中索引的原理
(一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引.簇集索引 ...
- java项目中可能会使用到的jar包解释
一.Struts2 用的版本是struts2.3.1.1 一个简单的Struts项目所需的jar包有如下8个 1. struts2-core-2.3.1.1.jar: Struts2的核心类库. 2. ...