文章目录

  • RMAN备份
    • 备份
    • 查看备份进度
    • 还原相关
    • 查看备份集信息
    • rman常用操作
    • rman 中的MAXSETSIZE和MAXPIECESIZE的用法
    • 备份格式的定义
    • 启用控制文件自动备份特性
    • RMAN备份FORMAT格式中%的含义

RMAN备份

它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。而且,通过RMAN提供的接口,第三方的备份与恢复软件如veritas将提供更强大的备份与恢复的管理功能。通过RMAN,也提供了其它更多功能,如数据库的克隆、采用RMAN建立备用数据库、利用RMAN备份与移动裸设备(RAW)上的文件等工作将变得更方便简单。9i的RMAN通过增强的自动配置与管理功能,以及特有的块级别的恢复,将使备份与恢复工作变得更加快捷与完美。

恢复归档日志到指定路径可以参考如下命令

RUN{SET ARCHIVELOG DESTINATION TO '/home/oracle/backup';RESTORE ARCHIVELOG all;
}

备份

  • 全备脚本

    #!/bin/bash
    export ORACLE_HOME=/oracle/ORA/11204
    export ORACLE_SID=ORA
    export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
    backtime=`date +"90%y%m%d%H%M%S"`
    $ORACLE_HOME/bin/rman target / log=/backup/rmanbak/full_backup_$backtime.log <<EOF
    run{
    allocate channel c1 device type disk;
    allocate channel c2 device type disk;
    allocate channel c3 device type disk;
    allocate channel c4 device type disk;
    sql 'alter system archive log current';
    backup full database format '/pekorabackup/rmanbak_19/bac/db_%d_%T_%U';
    sql 'alter system archive log current';
    backup archivelog all format '/pekorabackup/rmanbak_19/bac/arch_%d_%T_%s_%p.bak';
    backup current controlfile format '/pekorabackup/rmanbak_19/bac/ctl_%T.bkp';
    backup spfile format '/pekorabackup/rmanbak_19/bac/%u.spfile';
    release channel c1;
    release channel c2;
    release channel c3;
    release channel c4;    }
    exit
    EOF
    
  • 追加归档

    • 源库备份归档

      sql 'alter system archive log current';
      BACKUP ARCHIVELOG FROM SCN 12725878082620 format '/pekorabackup/rmanbak_19/bac/n3_ora_scn_%s_%p.bak';
      
    • 目标库追加归档

      sql 'shutdown immediate';
      sql 'startup mount';
      catalog start with '/orabackup/rmanbak/bac';
      recover database;
      

查看备份进度

set linesize 190 pagesize 999;col opname for a30;col progress for a30;
select case  when opname like '%aggregate%' then 'Total' else opname end opname,
trunc(sofar*100/totalwork,2)||'%' progress,units
from gv$session_longops where opname like 'RMAN%' and totalwork > sofar;

还原相关

  • 还原备份文件时当一个文件夹中含有多个数据库的备份集时,还原的时候要设置dbid

    set dbid ='';
    
  • 查看数据库dbid

    select dbid from v$database;
    -- 或者进入rman时有显示
    

查看备份集信息

  • list backupset summary;
    --  每一行代表一次备份,其中第一个字段代表的是备份集的编号。
    备份片号 类型 备份级别 设备类型 完成时间 片数 镜像数 是否压缩 标签
    关键字  TY  LV  S  设备类型  完成时间  段数  副本数  压缩标记  TAG
    
  • 查看某个备份数据文件的备份信息

    list backup of datafile 10 summary;
    
  • 查看某个表空间的备份集信息

    list backup of tablespace users summary;
    
  • 通过备份集的编号查出这个编号下具体的备份内容,包括文件名称和文件编号,备份时间,备份类型等。(不能用)

    list backup tag TAG11111111T111111;
    

rman常用操作

  • show

    show all;    -- 显示rman配置
    
  • report

    report schema    --报告目标数据库的物理结构
    report need backup days=3    --报告最近3天没有被备份的数据文件
    report need backup days 3 tablespace users    --在USERS表空间上3天未备份的数据文件
    report need backup incremental 3    --报告恢复数据文件需要的增量备份个数超过3次的数据文件
    report need backup redundancy 2 database   --报告备份文件低于2份的所有数据文件
    report need backup redundancy=2
    report need backup recovery window of 6 days    --报告文件报表的恢复需要超过6天的归档日志的数据文件
    report unrecoverable    --报告数据库所有不可恢复的数据文件
    report obsolete redunndancy 2    --报告备份次数超过2次的陈旧备份
    report obsolete    --报告多余的备份
    
  • list

    list backup    --列出详细备份;
    -- Type:备份类型,Incr代表增量备份
    list expired backup    --列出过期备份;
    list backup of database    --列出所有数据文件的备份集;
    list backup of tablespace user01    --列出特定表空间的所有数据文件备份集;
    list backup of controlfile    --列出控制文件备份集;
    list backup of archivelog all    --列出归档日志备份集详细信息;
    list archivelog all    --列出归档日志备份集简要信息
    list backup of spfile     --列出SPFILE备份集;
    list copy of datafile 5    --列出数据文件映像副本;
    list copy of controlfile    --列出控制文件映像副本;
    list copy of archivelog all    --列出归档日志映像副本;
    list incarnation of database    --列出对应物/列出数据库副本;
    list backup summary   --概述可用的备份;-- B表示backup-- F表示FULL-- A表示archive log-- 0 1表示incremental backup-- S说明备份状态(AAVAILABLEX EXPIRED )
    list backup by file    按备份类型列出备份;-- 按照数据文件备份,归档日志备份,控制文件备份,服务器参数文件备份 列出
  • crosscheck

    crosscheck backup    --核对所有备份集;
    crosscheck backup of database    --核对所有数据文件的备份集;
    crosscheck backup of tablespace users    --核对特定表空间的备份集;
    crosscheck backup of datafile 4    --核对特定数据文件的备份集;
    crosscheck backup of controlfile    --核对控制文件的备份集;
    crosscheck backup of spfile   --核对SPFILE的备份集;
    crosscheck backup of archivelog sequence 3     --核对归档日志的备份集;
    crosscheck copy    --核对所有映像副本;
    crosscheck copy of database    --核对所有数据文件的映像副本;
    crosscheck copy of tablespace users   --核对特定表空间的映像副本;
    crosscheck copy of datafile 6    --核对特定数据文件的映像副本;
    crosscheck copy of archivelog sequence 4    --核对归档日志的映像副本;
    crosscheck copy of controlfile    --核对控制文件的映像副本;
    crosscheck backup tag='SAT_BACKUP'
    crosscheck backup completed after 'sysdate - 2'
    crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '
    crosscheck backup device type sBT
    crosscheck archivelog all
    crosscheck archivelog like '%ARC00012.001'
    crosscheck archivelog from sequence 12
    crosscheck archivelog until sequence 522
    
  • delete

    delete obsolete    --删除陈旧备份;
    delete expired backup    --删除EXPIRED备份
    delete expired copy    --删除EXPIRED副本;
    delete backupset 19    --删除特定备份集;
    delete backuppiece ''d:\backup\DEMO_19.bak''    --删除特定备份片;
    delete backup    --删除所有备份集;
    delete datafilecopy ''d:\backup\DEMO_19.bak''    --删除特定映像副本;
    delete copy    --删除所有映像副本;
    delete archivelog all delete input;
    delete backupset 22 format = ''d:\backup\%u.bak'' delete input    --在备份后删除输入对象;
    delete backupset id;
    

rman 中的MAXSETSIZE和MAXPIECESIZE的用法

  • MAXSETSIZE跟MAXPIECESIZE用法

    区别:maxpiecesize设置的是备份完成后的备份片大小,对备份整体的大小没有影响,比如一个G的备份完成文件,maxpiecesize设置为100M,最后就会变成10个100M的备份文件。Maxsetsize设置限定的是整体大小,个人认为这个功能比较鸡肋,一般只要没人动,就用不到的。

  • maxsetsize的设置

    configure maxsetsize to 2G;
    -- 清除maxsetsize
    configure maxsetsize clear;
    
  • maxpiecesize的用法

    run{
    allocate channel c1 device type disk MAXPIECESIZE 100M;
    backup database format='/u01/app/oracle/oradata/Backup/oradb_%d_%s_%p.bak';
    release channel c1;
    }
    -- 然后每个文件都是100M
    
  • 理解备份集backup set和备份片backup piece

    • 备份集backup set

      存储备份信息的逻辑结构,仅仅是备份信息的逻辑结构而已,通俗说就是存储这个备份集里面都是备份了哪些数据文件以及这个备份集的大小,备份的时间,备份片的

      信息等信息,通俗的说相当于 一本书的序+目录.

      概念不要混淆,MAXSETSIZE指的是BACKUPSET大小,MAXPIECESIZE指的是BACKUP PIECE大小

    • 备份片backup piece

      存储备份集信息的二进制文件.备份集由一个或多个备份片组成,并且每个备份片对应一个OS文件

    • 数据文件可以跨备份片,不能跨备份集

      比如说你定义备份集的MAXSETSIZE参数,该参数的最小值必须大于你所备份的数据文件中最大的数据文件的大小。就是说如果你要备份的所有数据文件中最大的那个文件是350M,那MAXSETSIZE必须大于1G。这个参数默认是没有限制的。

      假如定义备份片的大小,要定义maxpiecesize参数,你可以定义每个备份片300M,这样你的一个备份集就会有多个备份片。因为仅仅350M的那个数据文件就会被分为两个备份片。由此可以看出数据文件可以跨备份片。

    • 概念不要混淆,MAXSETSIZE指的是BACKUPSET大小,MAXPIECESIZE指的是BACKUP PIECE大小

备份格式的定义

%p:piece备份段号。 %d:database 数据库名。%s:备份集号。

%c(copy号):总为1。 %u:自动生成的8个字符的唯一名称。 %t:时间。

默认格式为 %U=%u_%p_%c。

run {allocate channe cl type disk;backup full filesperset 3(database format'rm_%s%p.%d');release channel cl;
}

启用控制文件自动备份特性

CONFIGURE CONTROLFILE AUTOBACKUP ON;
-- 更改控制文件自动备份的路径
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup_rman/%T/%F';

RMAN备份FORMAT格式中%的含义

%a:Oracle数据库的activation ID即RESETLOG_ID。

%c:备份片段的复制数(从1开始编号,最大不超过256)。

%d:Oracle数据库名称。

%D:当前时间中的日,格式为DD。

%e:归档序号。

%f:绝对文件编号。

%F:基于"DBID+时间"确定的唯一名称,格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD为日期,QQ是一个1~256的序列。

%h:归档日志线程号。

%I:Oracle数据库的DBID。

%M:当前时间中的月,格式为MM。

%N:表空间名称。

%n:数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8。比如数据库名JSSBOOK,则生成的名称则是JSSBOOKx。

%p:备份集中备份片段的编号,从1开始。

%s:备份集号。

%t:备份集时间戳。

%T:当前时间的年月日格式(YYYYMMDD)。

%u:是一个由备份集编号和建立时间压缩后组成的8字符名称。利用%u可以为每个备份集生成一个唯一的名称。

%U:默认是%u_%p_%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式,执行不同备份操作时,生成的规则也不同,如下所示:

生成备份片段时,%U=%u_%p_%c;

生成数据文件镜像复制时,%U=data-D-%d_id-%I_TS-%N_FNO-%f_%u;

生成归档文件镜像复制时,%U=arch-D_%d-id-%I_S-%e_T-%h_A-%a_%u;

生成控制文件镜像复制时,%U=cf-D_%d-id-%I_%u。

%Y:当前时间中的年,格式为YYYY。

注:如果在BACKUP命令中没有指定FORMAT选项,则RMAN默认使用%U为备份片段命名

oracle RMAN备份相关推荐

  1. Oracle RMAN备份与还原 - 联机备份讲解

    Oracle RMAN备份与还原 - 联机备份讲解 脱机备份之后,对于RMAN备份有了初步的了解,相对于传统的用户手动管理备份文件,RMAN备份操作起来相对要简单方便的多,但是联机备份相对脱机备份操作 ...

  2. Oracle RMAN备份与还原 - 脱机备份讲解

    Oracle RMAN备份与还原 - 脱机备份讲解 RMAN在数据库服务器的帮助下实现数据库文件.控制文件.数据库文件与控制文件的映像副本.归档日志文件.数据库服务器参数文件的备份. RMAN的特点: ...

  3. Nagios 被动检测oracle Rman备份情况

    Nagios 被动检测oracle Rman备份情况 nagios监控服务器ip:192.168.9.172 被监控服务器ip:192.168.9.133 数据库实例名:orcl 需要开通被监控服务器 ...

  4. oracle rman备份时间点,Oracle Rman 控制RMAN的备份时间,减少IO消耗

    一.问题描述 由于服务器配置不高,备份策略为周末全备.周一至周六差异备份. 平时服务器CPU使用30%左右. 全备份时,开启两个通道,CPU达到70%-80%左右,业务不卡顿.不掉单,session不 ...

  5. oracle rman本地备份,【学习笔记】Oracle RMAN 备份集存储到远程其它服务器实现方法...

    天萃荷净 应运维DBA要求,将服务器本地Oracle数据库的RMAN备份集备份存储到远程其它服务器中,结合案例详细讲解实现步骤 在linux中,要使用rman备份后传输到远程服务器上,可以选择ftp, ...

  6. oracle rman备份时间,Oracle使用RMAN进行备份详述

    备份理论和基本语法 备份概念 执行备份或还原的数据库称为目标.在一些环境下,有许多数据库,因此有许多RMAN目标.应一次连接每个数据库.目标的每个备份都有一些属性: 打开或关闭 完整或部分 完整或增量 ...

  7. Oracle RMAN备份深入解析--联机备份

    RMAN> backup database plus archivelog;   此命令将触发以下操作:    1.首先,进程使用alter system archivelog current命 ...

  8. Windows下oracle RMAN备份脚本

    Windows 下RMAN备份脚本,比较简单.我们看内容. 1.      修改RMAN相关参数 RMAN>show all; RMAN>CONFIGURE CONTROLFILE AUT ...

  9. oracle备份慢,诊断Oracle RMAN备份慢的原因

    ㈠ 先在系统层面查询CPU.IO使用情况:top.iostat.sar...等 ㈡ EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(); ㈢ rman ta ...

  10. oracle rman备份spfile,RMAN备份恢复之SPFILE的恢复(一)

    缺少初始化文件,数据库是无法启动的.如果通过RMAN备份了初始化参数,那么可以通过RMAN对初始化参数进行恢复. 这篇文章简单介绍CATALOG方式下初始化参数的恢复问题. 初始化参数的丢失和损坏,并 ...

最新文章

  1. 什么是python自动化脚本_Python自动化
  2. OC的项目网址(自己编写的项目)
  3. Linux移植随笔 tslib
  4. iterm2一键登陆服务器(门神权限不用每次都输密码进行验证)
  5. python的应用图标_python实现根据图标提取分类应用程序实例
  6. 【Todo】RTP/RTCP/RTSP/SIP/SDP 等多媒体传输和会话协议
  7. win7 64位下自行编译OpenCV2.4.10+CUDA toolkit 5.5的整个过程以及需要注意的问题(opencv+cuda并行计算元素的使用)...
  8. 日志读取_实时数仓之Maxwell读取MySQL binlog日志
  9. matlab 无刷电机,无刷直流电机的matlab仿真
  10. 手机感应器,方向东南西北指南针,前后左右旋转角度。
  11. LTE下行传输机制--PBCH
  12. 汽车暖风系统操作步骤
  13. c++语言如何判断奇偶数,C++ 判断奇数偶数
  14. 编译原理 —— 什么是语法分析
  15. HTML基础(四)常用的内联元素
  16. 英语老师唱歌软件测试,【出彩教育人】课上打电话,课下能K歌,这样的英语课给我来一打!...
  17. 【Linux】快捷键
  18. Java我的2020年终盘点
  19. 整理 酷炫 Android 开源UI框架 其他
  20. invalid alteration of datatype(varchar2转化clob)

热门文章

  1. C++ array
  2. 函数中参数的调用*args **kwargs
  3. MySQL-InnoDB引擎-架构和事务原理
  4. 混淆矩阵(交叉表)及Kappa系数的计算
  5. 求求你们,别再刷 Star 了!这跟“爱国”没关系!
  6. 第十四届蓝桥杯(Web 应用开发)模拟赛 1 期-大学组-线上模拟赛-第一题-数据类型检测
  7. 【机器学习】三大树模型实战乳腺癌预测分类
  8. 美通企业周刊 | 中国平安将深度参与深圳公共住房建设;北京环球度假区将引入IMAX影院...
  9. PHP 的输入与输出
  10. 第三章 面向对象(上)