首先感谢junsansi和leshani两位大师的文笔;我可是好好看了很多遍;这两位哦;我跟你们说;对rman的解说那是相当精彩;文章形如流水,通俗易懂;内容那是入木三分...;好了我也不多说了,反正我现在也词穷了;对一个语文不及格的来说;说了这么多成语也不容易;××费就不收你们的了;说真的很感谢这两位;反正我对rman相当的研究了。rman:(Recovery Manager);顾名思义那就是一个备份/恢复的工具;同时对迁移,克隆也是一把好手。说到迁移...DG好像有话说;暂时不让它说。

对oracle数据库备份/恢复;

  • 备份还是采用rman备份的好;原因吗?因为rman就是用来备份+恢复的工具。哦???。
  1. rman只备份oracle用到过的数据块;可以跳过未使用的数据块;这样备份集比“物理备份”要少;比逻辑备份我就不说了
  2. 它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。

好处当然不只1-2点;容你慢慢去学习。

  • 至于恢复吗

尽量使用flase database去恢复;如这恢复不了(这是要看你能够闪回的最晚时间;或者是文件丢失)。才去用rman去恢复。

有了完整的备份;一起都是浮云;这话说的有点大?但是备份还是不能少;

下面是一些笔记(挑选);至于详细大家还是去看他们的博客;我这就不复制了。

1.  alter system switch logfile 和 alter system archive log current 区别和含义:
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';
3. 密码文件
orapwd file=<fname> password=<password> entries=<users> force=<y/n>
orapwd file=orapwSY5221 password=oracle force=y entries=10            --force=y:表示允许覆盖原密码文件
 
4. 如何查找dbid
   rman target /
  SQL> select dbid from v$database;
 
5. filesperset 和 maxpiecesize的含义
   filesperset: 允许备份集文件最多有多少个。
   maxpiecesize  :允许备份集最大有多少

学习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笔记小结的更多相关文章

  1. openresty 学习笔记小结:综合应用实例

    openresty 学习笔记小结:综合应用实例 这个综合实验实现的功能其实很简单,用户访问一个页面,显示一个默认页面.输入参数(post或者get都可以),如果参数在数据库查询得到并满足一定条件,根据 ...

  2. Oracle单机Rman笔记[6]---记一次oracle脱机异地还原

    系统情况介绍 正式环境:windows 2008 r2-32bit/ Oracle: Release 11.2.0.1.0 目标环境:windows 2012 Standard-64bit / Ora ...

  3. Oracle单机Rman笔记[5]---脱机异地还原

    脱机异地还原(安装一个原环境相同的linux,并安装数据库,注意不要配置安装实例) .检查/home/oracle下的.bashrc .bash_profile内容是否与原环境一致(具体看情况而定), ...

  4. Oracle单机Rman笔记[4]---RMAN联机备份

    备注:RMAN备份(仅支持基于spfile的备份,不支持基于init.ora配置的备份) 练习:开启ARCHIVELOG模式 \为归档的重做日志被指FRA和单独的归档日志目标 SQL>show ...

  5. Oracle单机Rman笔记[3]---RMAN脱机备份及命令基础介绍

    A.NOARCHIVELOG模式下的物理备份 1.完全关闭数据库 2.备份所有的数据库文件.控制文件.联机重做日志 3.重新启动数据库 B.RMAN的体系结构概述 重新构建控制文件: 将控制文件备份为 ...

  6. Oracle单机Rman笔记[2]---RMAN基础介绍

    A.DBA对于备份恢复的问题: 1.在数据库发生故障时,丢失多少数据是可承受的? 2.恢复数据库时,能够忍受的最长时间多少? 3.为了确保您的数据能够被恢复,愿意投入多少成本? 4.备份期间可以关闭系 ...

  7. Oracle单机Rman笔记[0]---环境准备

    A. 安装操作系统rhel6.6,关闭防火墙,修改网卡配置IP(略)PS:1.默认分区选项(第二项,默认为LVM),然后进行调整2.安装类型选择“桌面”3.安装后 分配IP.调整防火墙.测试SSH B ...

  8. RMAN笔记

    Rman常用命令 Preview选项 1)    显示用于还原system表空间数据文件的备份文件 RMAN> restore datafile 2 preview; 2)    显示用于还原特 ...

  9. 《JavaScript高级程序设计》读书笔记 ---小结

    对象在JavaScript 中被称为引用类型的值,而且有一些内置的引用类型可以用来创建特定的对象,现简要总结如下: 引用类型与传统面向对象程序设计中的类相似,但实现不同: Object 是一个基础 ...

随机推荐

  1. linux系统服务名称

    服务列表(按字母顺序排列) 服务名 必需(是/否) 用途描述 acon 否 语言支持 acpi 否 电源管理 acpid 否 监听精灵进程 adsl 否 内部ADSL开关控制 alsa 否 高级Lin ...

  2. Add Digits

    Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. ...

  3. 苹果API常用英语名词

    0. indicating决定 1.in order to 以便 2.rectangle bounds 矩形尺寸 3.applied 应用 4.entirety全部 5.technique 方法 6. ...

  4. MQ基础

    1. 什么时候用activeMQ 在大量场合,ActiveMQ和异步消息对系统架构有意味深长的影响.下面举一些例子: 1). 异构系统集成 2). 取代RPC 3). 应用间的解耦 4). 事件驱动架 ...

  5. oracle导sql脚本

    在plsql里,新建命令窗口,输入如下命令 @d:\test.sql

  6. Java异步IO/NIO

  7. SLF4J环境变量配置

    因部分程序需要,需要把SLF4J加入到环境变量中. 添加位置:CLASSPATH 添加信息如下: C:\slf4j-1.7.19\slf4j-nop-1.7.19.jar;

  8. .NET C#: NameValueCollection

    NameValueCollection class is in System.Collection.Specialized assembly. Unlike with HashTable, NameV ...

  9. poj: 2262

    简单题 #include <iostream> #include <stdio.h> #include <string> #include <stack> ...

  10. 通过JavaScript设置样式和jQuey设置样式,还有随机数抛出水果的习题

    一:通过JavaScript的方式设置样式(:拿习题为例): var shuiguo = document.getElementById('fruit');     shuiguo.style.bac ...