SlideShare uma empresa Scribd logo
1 de 17
Backup with RMAN
Overview
• Recovery Manager(RMAN)是oracle官方推荐的备份恢复工具, RMAN
  的使用对于DBA而言至关重要. 这一章讲述如何使用RMAN进行数据
  库的备份:
  –   数据库一致性备份;
  –   数据库非一致性备份;
  –   增量备份;
  –   备份自动化;
  –   管理备份, 监控闪回区;
  –   定义和应用保留规则;
  –   镜像文件备份;
  –   启用快速增量备份;
  –   双重备份(duplex backups), 备份备份集;
  –   归档备份;
  –   多段, 压缩, 加密备份;
  –   备份报告和维护;
  –   备份设置和优化;
  –   备份通道
Backup Concepts &
                  Terminology
•   User-managed vs. Server-managed
    通过执行操作系统命令进行的备份被称为用户管理的备份, 通过RMAN执行的备份
    则称为服务器管理备份.
•   Closed vs. Open
    在数据库关闭的情况下执行的备份被称为closed backup, 也被称为一致性备份
    (consistent)、冷备份(cold) 、线下备份(offline); 当数据库处在打开状态下进行的备
    份称为open backup, 也被称为非一致备份(inconsistent) 、热备份(hot) 、在线备份.
    Tip: 热备份只有当数据库处在归档模式下可用. 如果数据库处在非归档模式, 只能
    进行冷备.
•   Whole vs. Partial(整体 vs. 部分)
    全部备份和部分备份, 前者对所有的数据文件和控制文件进行备份, 后者则备份这
    些文件的子集. 在大多数情况下, partial类型的备份只有当数据库处在归档模式下才
    能够执行.
•   Full vs. Incremental(全量 vs. 增量)
    full类型会备份目标文件所有被使用的数据块, 而incremental备份则只会备份那些从
    上次备份开始被修改过的数据块.
    Tip: 可以使用以上备份类型的任意组合, 常见的情况是在按周/月进行
    closed/whole/full备份, 每天则进行open/whole/incremental备份.
•   Backup set vs. Backup piece(备份集 vs. 备份片)
    备份片在物理上存储为一个文件, 备份片只属于一个备份集. 通常情况下一个备份
    集仅包含一个备份片, 只有当使用MAXPIECESIZE参数设置了备份片的大小时才有可
    能在一个备份集下面创建多个备份片.
RMAN Overview
•   Files
    RMAN可以备份如下文件:
    数据文件                控制文件               归档日志文件
    SPFILE              备份片(backup set piece)
    RMAN不能备份如下文件:
    临时文件(Tempfiles)     在线重做日志文件         密码文件
    PFILE               Oracle Net配置文件
•   Types
    RMAN能够生成以下三种类型的备份
    – 备份集(backup set)
    备份集是RMAN专有的备份格式, 一个备份集中可以实现对多个数据库文件的备份, 对于数据文件
    仅包含已经被使用的数据块(如果数据块不属于任何对象, 不会写入备份集中),这大大减小了备份
    文件的大小. 备份集可以是全量的也可以是增量的. 在物理上, 备份集由多个备份片(piece)组成.
    – 压缩备份集(compressed backup set)
    压缩格式下的备份集.
    – 镜像拷贝(image copy)
    等同于输入文件, 但仍需要使用RMAN才能进行数据库的还原 (restore)操作
•   Channels
    RMAN备份和恢复操作由服务端通道进程执行, 通道进程分为两种类型: 磁盘通道 和 磁带通道,
    分别写不同的介质.
•   RMAN Metadata Repository
    RMAN元数据用于描述已经发生的备份操作, 比如备份集由哪些备份片组成, 备份片的位置和
    名称; 镜像拷贝文件的位置等. RMAN元数据保存在控制文件中, 也可以选择保存在数据库中.
RMAN In Action
                    - Consistent Backup
•   在11g版本中所有的RMAN备份操作都由backup命令执行, 可以通过rman交互式命
    令, rman脚本或者database control界面执行.
•   Consistent Backup
    执行一致性备份要求数据库处在mount状态, 这是因为RMAN需要读取控制文件以
    确定数据文件的位置. 下面是一段执行cold/whole/full备份的RMAN脚本:
          run {
                  shutdown immediate;
                  startup mount;
                  allocate channel d1 type disk;
                  backup as backupset database format
                               '/opt/oracle/backup/offline_full_whole_%d_%U.bus';
                  alter database open;
          }
    1-2 关闭并重启数据库到mount状态
    3   分配一个通道进程, 这里使用磁盘类型
    4   使用备份集的方式备份整个数据库, 指定备份文件的位置
    5   打开数据库
    使用如下方式执行, rman交互式命令:
    – 使用rman target sys/passwd@ocpdemo登录, 如果是操作系统验证直接使用rman target /
    – 依次输入花括号中的命令.
    rman脚本:
    – 首先将该脚本保存在文本文件中比如offline_full_whole.rman
    – 切换到脚本文件所在目录, 运行rman target sys/passwd@ocpdemo @ offline_full_whole.rman
RMAN In Action
                     - Explained
•   备份集和备份片
    使用RMAN进行一次备份操作时, 通常会生成多个备份集, 这由RMAN自己决定或者
    通过人工的干预, 比如运行backup命令时指定filesperset选项. 通常情况下备份集下
    面只有一个备份片, 可以通过登录RMAN执行list backup命令查看备份信息, 或者通
    过视v$backup_set和v$backup_piece查看.
•   存储位置
    可以通过backup命令的format选项指定备份片文件的全路径, 需要在该路径中使用
    占位符, 比如:
    –   %d    数据库名称
    –   %U    保证备份片文件名的唯一性
    –   %s    备份集的序号
    –   %p    备份片在当前备份集中的序号
    –   %c    对于多路复用备份(multiplex backups), 表示拷贝的序号. 此占位符对于指定多路复
              用备份的文件格式是必须的.
    如果不指定format选项, 那么备份文件将会默认存储在闪回区, 相应的目
    录结构将会被自动创建, 比如:
    [oracle@localhost flash_recovery_area]$ tree .
    .
    `-- OCPDEMO
       `-- backupset
          `-- 2013_03_05
RMAN In Action
                                - Open Backup
• 在最简单的情况下, 可以使用backup database命令执行一次安全可靠的热
  备份操作. 下面是一个热备份的示例:
         run {
           allocate channel t1 type disk;
           allocate channel t2 type disk;
           backup as compressed backupset filesperset 4 database;
           backup as compressed backupset archivelog all delete all input;
         }
   1-2         分配两个通道进程(t1/t2), 依据服务器的资源可以提升备份的
               速度
  3            压缩备份整个数据库, 包括数据文件/控制文件/ SPFILE等.
               filesperset 4指定一个备份集最多包含4个文件, 这样可以缩小
               备份文件的大小提升数据库恢复的速度.
  4            压缩备份归档日志文件, 完成后删除归档日志
• 备份操作可以针对某个表空间, 数据文件, 或者符合某种模式的归档日志文
  件, 示例:
  backup as backupset format '/backup/orcl/df_%d_%s_%p' tablespace gl_tabs;
  backup as compressed backupset datafile 4;
  backup as backupset archivelog like '/u01/archive1/arch_1%';
RMAN In Action
             - Incremental Backup
• 增量备份是指在某一个备份点的基础上, 对发生改变的数据进行备份. 与全
  量备份相比, 增量备份需要的备份时间更短, 磁盘空间使用更少.
• level 0 vs. level 1
  level 0的增量备份相当于全量备份, 使用如下格式:
      backup as backupset incremental level 0 database;
  level 1的增量备份又分为两种类型:
  – differential
  在前一个level 1备份的基础上进行增量备份, 如果不存在level 1的增量备份则基于
  level 0备份. 示例:
     backup as backupset incremental level 1 database;
  – cumulative
  在前一个level 0备份的基础上进行增量备份, 格式如下:
     backup as backupset incremental level 1 cumulative database;
  Tip: 进行level 1增量备份时, 如果之前没有level 0备份, 那么当前的level 1备份实质
       上执行的是level 0备份.
RMAN In Action
                - Incremental Backup
• Block change tracking
  默认情况下, 增量备份对于备份速度的提升并没有那么显著,
  因为增量备份需要扫描数据库文件的内容已发现发生改变
  的数据块, 这会花费大量的时间. 可以通过开启”追踪数据块
  变化”以加速增量备份, 通过如下命令开启:
     alter database enable block change tracking using file
      '/opt/oracle/oradata/change_tracking.dbf';
 如果不指定追踪文件的位置, 该文件默认会创建在
 DB_CREATE_FILE_DEST参数指定的目录. 通常情况下该文件
 的大小在10M左右.
 可以通过v$backup_datafile视图查看启用数据块跟踪的效果,
 使用如下SQL:
 select file#, datafile_blocks, (blocks_read / datafile_blocks) * 100 as
       pct_read_for backup from v$backup_datafile
 where used_change_tracking='YES' and incremental_level > 0;
RMAN In Action
              - Image Copies
• RMAN镜像备份通过数据块的逐个拷贝实现, 备份
  的结果是与数据文件、控制文件、归档日志文件
  内容完全相同的拷贝. 镜像备份不能使用备份集
  相关的特性, 比如增量备份、压缩、设置备份片
  大小等. 镜像备份的一个好处是还原数据库的速
  度非常快, 来自官方的建议是保留一份数据库的
  镜像备份, 以及自该备份开始的归档日志文件.
• 镜像备份只能用于数据文件、归档日志文件, 控
  制文件, 不用使用于SPFILE. 示例:
  backup as copy database;
  backup as copy archivelog all delete all input;
RMAN In Action
                - Protect Backups
• RMAN支持对备份进行备份, 通常会将这种备份最
  终保存到磁带. 使用下面的命令实现备份的多路
  复用:
  backup as backupset device type disk copies 2 database
   format '/opt/oracle/backup/%s_%p_%c.bus‘;
  该命令会对数据库进行备份, 并产生额外的一份
  拷贝.
• 闪回区备份
 – backup recovery area;
 基于默认的设置将闪回区备份到磁盘;
 – backup recovery files;
 备份与数据库恢复相关的文件(包括闪回区文件以及不在
 闪回区的文件).
RMAN In Action
       - Backup Parallelizing
• RMAN备份支持并行操作, 最常见的情形是分配多个磁盘通道进程.
  RMAN备份的并行度由以下的几个因素决定:
 – 通道进程的个数
 通道进程的数量是对备份并行度的硬限制.
 – 备份集的个数
 – 输入文件的个数
 并行度不能超过输入文件的个数, 除非多段备份被使用.
 示例:
 run {allocate channel t1 type sbt;
    allocate channel t2 type sbt;
    allocate channel t3 type sbt;
    allocate channel t4 type sbt;
    backup database files per set 8;}
 这里分配了4个通道进程, 限制了并行度不能超过4; 现在假设数据库包括
 控制文件在内总共有100个文件, 那么就可以分为13个备份集, 最终的并行
 度是4; 如果只有20个文件, 那么将产生3个备份集, 最终的并行度是3.
RMAN In Action
            - Configure RMAN Defaults
•   登录RMAN之后可以使用show all指定查看所有的配置项, 这里显示的配置项均是默
    认值:




•   使用configure指令进行配置, 示例:
    CONFIGURE DEVICE TYPE DISK PARALLELISM 4 BACKUP TYPE TO BACKUPSET; -- 进行磁
    盘备份集备份时, 默认启动4个通道进程(并行度4);
    CONFIGURE BACKUP OPTIMIZATION ON; -- 启用备份优化, 如果检查到某文件有足够
    的备份则不再进行备份;
    CONFIGURE RETENTION POLICY TO REDUNDANCY 3; -- 默认设置下RMAN保存文件的
    一份拷贝, 这里设置为3表示保存文件的3份拷贝.
    CONFIGURE RETENTION POLICY TO RECOVERY WINDOW of 90 DAYS; -- 在此规则
    下, RMAN需要保存所有数据文件在过去90天内的至少一个备份.
•   使用CLEAR恢复到默认的配置, 示例:
    configure device type disk clear;
RMAN In Action
                  - Managing & Monitoring
•   list, report & delete
     –   list命令用于查看备份集或者镜像备份, 示例:
    list backup;         -- 查看所有的备份集
    list copy;           -- 查看所有的镜像拷贝
    list backup of database; -- 查看整个数据库的备份集, 包括全量和增量
    list backup of datafile 1; -- 查看包含数据文件1的备份集
    list backup of tablespace users; -- 查看包含表空间users的备份集
    list backup of archivelog all; -- 查看所有归档日志的备份集
    list copy of archivelog from time=‘sysdate - 7’; -- 查看过去7天内产生的归档日志镜像备份
    list backup of archivelog from sequence 1000 until sequence 1050; -- 查看归档日志备份集, 该归档日志
    包含1000到1500的日志切换序号.
     –   report命令用于判断哪些数据库文件需要进行备份, 这需要根据当前的RMAN元数据和保留规则(retention
         policy)进行判断. 示例:
     report schema; -- 列出组成数据库的数据文件
     report need backup; -- 根据保留规则列出所有所有需要备份的数据文件和归档日志文件
     report need backup days 3; -- 列出所有在过去3天内没有进行备份的文件
     report need backup redundancy 3; -- 列出所有少于3个份备份的文件
     report obsolete;     -- 根据当前保留规则列出所有不需要的备份集和镜像
     report obsolete redundancy 2; -- 列出所有大于2个备份的备份集或者镜像
     – delete 删除备份集或者镜像备份, 示例:
     delete obsolete;     -- 根据保留规则, 删除所有不需要的备份
     delete obsolete redundancy 2; -- 删除大于2个备份的备份集或者镜像
     delete backupset 4; -- 删除id为4的备份集
     delete copy of datafile 6 tag file6_extra; -- 删除数据文6的镜像
RMAN In Action
                 - DPV
• 数据库在启动时会读取控制文件中的备份元数据,
  并作为视图供用户查询. 这些视图包括:
 – v$backup_files
 RMAN备份的文件, 包括数据文件、spfile、控制文件
 及归档日志文件.
 – v$backup_set, v$backup_piece
 备份集, 备份片信息
 – v$backup_redolog, v$backup_spfile, v$backup_datafile
 分别表示归档日志、SPFIL及数据文件的备份信息
 – v$backup_device
 连接到RMAN的SBT设备
 – v$rman_configuration
 RMAN配置, 对于配置为默认值的项不包含
RMAN In Action
           - Backup Crosschecking
• list, report等命令会读取备份原数据并将备份信息展
  示出来, 但是它们不会去检查磁盘或者磁带设备上
  是否真实存在这些备份文件. RMAN提供了
  crosscheck命令以实现此功能, 示例:
   crosscheck backup of database;
 该命令会读取所有与整数据库备份相关的元数据,
 并检查备份文件是否存在. 如果文件不存在则标识
 备份状态为EXPIRED, 使用crosscheck backup/copy分别
 检查所有的备份集和镜像. 删除过期的备份集:
   delete expired backupset;
 注意: 与delete obsolete命令不同的是, 此命令仅更新
 RMAN元数据, 不会删除备份文件(已经不存在) .
END

Mais conteúdo relacionado

Mais procurados

分区表基础知识培训
分区表基础知识培训分区表基础知识培训
分区表基础知识培训
maclean liu
 
Times Ten Training
Times Ten TrainingTimes Ten Training
Times Ten Training
Li Chen
 

Mais procurados (10)

dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
 
分区表基础知识培训
分区表基础知识培训分区表基础知识培训
分区表基础知识培训
 
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
 
Times Ten Training
Times Ten TrainingTimes Ten Training
Times Ten Training
 
Ted yu:h base and hoya
Ted yu:h base and hoyaTed yu:h base and hoya
Ted yu:h base and hoya
 
5, system admin
5, system admin5, system admin
5, system admin
 
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
 
Debian 套件打包教學指南 - 繁體中文翻譯
Debian 套件打包教學指南 - 繁體中文翻譯Debian 套件打包教學指南 - 繁體中文翻譯
Debian 套件打包教學指南 - 繁體中文翻譯
 
Hdfs raid migration to hadoop 1.x
Hdfs raid migration to hadoop 1.x Hdfs raid migration to hadoop 1.x
Hdfs raid migration to hadoop 1.x
 
Sysadmin
SysadminSysadmin
Sysadmin
 

Destaque

Δοκιμή
ΔοκιμήΔοκιμή
Δοκιμή
niaou
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
romix farah
 
ARQUITECTURA DEL SISTEMA NACIONAL DE SALUD.
ARQUITECTURA DEL SISTEMA NACIONAL DE SALUD. ARQUITECTURA DEL SISTEMA NACIONAL DE SALUD.
ARQUITECTURA DEL SISTEMA NACIONAL DE SALUD.
Fernanda Ibarra
 

Destaque (16)

IMAGINE
IMAGINEIMAGINE
IMAGINE
 
Tour guiding 2
Tour guiding 2Tour guiding 2
Tour guiding 2
 
21st Century Sales and Marketing
21st Century Sales and Marketing21st Century Sales and Marketing
21st Century Sales and Marketing
 
Δοκιμή
ΔοκιμήΔοκιμή
Δοκιμή
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
파인트리컴퍼니 회사소개서
파인트리컴퍼니 회사소개서파인트리컴퍼니 회사소개서
파인트리컴퍼니 회사소개서
 
Company profile (2016)kr
Company profile (2016)krCompany profile (2016)kr
Company profile (2016)kr
 
TP1-Presentacion Nike - Azzaro, Giraldo, Interguglielmo, Rapattoni
TP1-Presentacion Nike - Azzaro, Giraldo, Interguglielmo, RapattoniTP1-Presentacion Nike - Azzaro, Giraldo, Interguglielmo, Rapattoni
TP1-Presentacion Nike - Azzaro, Giraldo, Interguglielmo, Rapattoni
 
Наши партнеры
Наши партнерыНаши партнеры
Наши партнеры
 
ARQUITECTURA DEL SISTEMA NACIONAL DE SALUD.
ARQUITECTURA DEL SISTEMA NACIONAL DE SALUD. ARQUITECTURA DEL SISTEMA NACIONAL DE SALUD.
ARQUITECTURA DEL SISTEMA NACIONAL DE SALUD.
 
Teaser memorandum(ball ready)
Teaser memorandum(ball ready)Teaser memorandum(ball ready)
Teaser memorandum(ball ready)
 
Its not all mud and flies
Its not all mud and flies Its not all mud and flies
Its not all mud and flies
 
BAM
BAMBAM
BAM
 
Διαγώνισμα τετραμήνου στη Γ Λυκείου Κατεύθυνσης (ΓΕΛ ΠΥΛΟΥ)
Διαγώνισμα τετραμήνου στη Γ Λυκείου Κατεύθυνσης (ΓΕΛ ΠΥΛΟΥ)Διαγώνισμα τετραμήνου στη Γ Λυκείου Κατεύθυνσης (ΓΕΛ ΠΥΛΟΥ)
Διαγώνισμα τετραμήνου στη Γ Λυκείου Κατεύθυνσης (ΓΕΛ ΠΥΛΟΥ)
 
สถานที่ท่องเที่ยวจังหวัดบึงกาฬ
สถานที่ท่องเที่ยวจังหวัดบึงกาฬสถานที่ท่องเที่ยวจังหวัดบึงกาฬ
สถานที่ท่องเที่ยวจังหวัดบึงกาฬ
 
KAP 업종별기술세미나-12년 6월
KAP 업종별기술세미나-12년 6월KAP 업종별기술세미나-12년 6월
KAP 업종별기술세미나-12년 6월
 

Semelhante a 8, OCP - backup with rman

Itpub电子杂志(第五期)
Itpub电子杂志(第五期)Itpub电子杂志(第五期)
Itpub电子杂志(第五期)
yiditushe
 
配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制
maclean liu
 
第4章 数据库管理
第4章 数据库管理第4章 数据库管理
第4章 数据库管理
zhang shuren
 
深入了解Oracle自动内存管理asmm
深入了解Oracle自动内存管理asmm深入了解Oracle自动内存管理asmm
深入了解Oracle自动内存管理asmm
maclean liu
 
Parnassus data技术白皮书v0.1
Parnassus data技术白皮书v0.1Parnassus data技术白皮书v0.1
Parnassus data技术白皮书v0.1
maclean liu
 
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 newX64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 new
Yiwei Ma
 
网站存储经验谈-pdf
网站存储经验谈-pdf网站存储经验谈-pdf
网站存储经验谈-pdf
Yu Lin
 
Oracle数据库升级前必要的准备工作
Oracle数据库升级前必要的准备工作Oracle数据库升级前必要的准备工作
Oracle数据库升级前必要的准备工作
maclean liu
 

Semelhante a 8, OCP - backup with rman (20)

Itpub电子杂志(第五期)
Itpub电子杂志(第五期)Itpub电子杂志(第五期)
Itpub电子杂志(第五期)
 
3, OCP - instance management
3, OCP - instance management3, OCP - instance management
3, OCP - instance management
 
12, OCP - performance tuning
12, OCP - performance tuning12, OCP - performance tuning
12, OCP - performance tuning
 
配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制
 
第4章 数据库管理
第4章 数据库管理第4章 数据库管理
第4章 数据库管理
 
深入了解Oracle自动内存管理asmm
深入了解Oracle自动内存管理asmm深入了解Oracle自动内存管理asmm
深入了解Oracle自动内存管理asmm
 
Parnassus data技术白皮书v0.1
Parnassus data技术白皮书v0.1Parnassus data技术白皮书v0.1
Parnassus data技术白皮书v0.1
 
11, OCP - awr & alert system
11, OCP - awr & alert system11, OCP - awr & alert system
11, OCP - awr & alert system
 
全新 Veeam Availability Suite v9包括 Veeam Backup & Replication 和 Veeam ONE 備份解決方...
全新 Veeam Availability Suite v9包括 Veeam Backup & Replication 和 Veeam ONE 備份解決方...全新 Veeam Availability Suite v9包括 Veeam Backup & Replication 和 Veeam ONE 備份解決方...
全新 Veeam Availability Suite v9包括 Veeam Backup & Replication 和 Veeam ONE 備份解決方...
 
H wand os
H wand osH wand os
H wand os
 
H wand os
H wand osH wand os
H wand os
 
10, OCP - flashback
10, OCP - flashback10, OCP - flashback
10, OCP - flashback
 
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 newX64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 new
 
Maven初级培训
Maven初级培训Maven初级培训
Maven初级培训
 
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档
 
【VM保護備份專題】Dell Power Protect Data Manager (PPDM) 詳解TSDM機制
【VM保護備份專題】Dell Power Protect Data Manager (PPDM) 詳解TSDM機制【VM保護備份專題】Dell Power Protect Data Manager (PPDM) 詳解TSDM機制
【VM保護備份專題】Dell Power Protect Data Manager (PPDM) 詳解TSDM機制
 
网站存储经验谈pdf
网站存储经验谈pdf网站存储经验谈pdf
网站存储经验谈pdf
 
网站存储经验谈-pdf
网站存储经验谈-pdf网站存储经验谈-pdf
网站存储经验谈-pdf
 
Oracle数据库升级前必要的准备工作
Oracle数据库升级前必要的准备工作Oracle数据库升级前必要的准备工作
Oracle数据库升级前必要的准备工作
 
8, lamp
8, lamp8, lamp
8, lamp
 

Mais de ted-xu (20)

6, OCP - oracle security
6, OCP - oracle security6, OCP - oracle security
6, OCP - oracle security
 
4, OCP - oracle networking
4, OCP - oracle networking4, OCP - oracle networking
4, OCP - oracle networking
 
2, OCP - installing and creating a database
2, OCP - installing and creating a database2, OCP - installing and creating a database
2, OCP - installing and creating a database
 
7, business event system
7, business event system7, business event system
7, business event system
 
6, workflow miscellaneous
6, workflow miscellaneous6, workflow miscellaneous
6, workflow miscellaneous
 
5, workflow function activity
5, workflow function activity5, workflow function activity
5, workflow function activity
 
4, workflow tables & api
4, workflow tables & api4, workflow tables & api
4, workflow tables & api
 
3, workflow in ebs
3, workflow in ebs3, workflow in ebs
3, workflow in ebs
 
2, a simple workflow
2, a simple workflow2, a simple workflow
2, a simple workflow
 
1, workflow intro
1, workflow intro1, workflow intro
1, workflow intro
 
8, bes tables & api
8, bes tables & api8, bes tables & api
8, bes tables & api
 
OPM Recipe designer notes
OPM Recipe designer notesOPM Recipe designer notes
OPM Recipe designer notes
 
5, sed
5, sed5, sed
5, sed
 
4, grep
4, grep4, grep
4, grep
 
3, regular expression
3, regular expression3, regular expression
3, regular expression
 
2, bash synax simplified
2, bash synax simplified2, bash synax simplified
2, bash synax simplified
 
1, shell intro
1, shell intro1, shell intro
1, shell intro
 
6, awk
6, awk6, awk
6, awk
 
6, vim
6, vim6, vim
6, vim
 
4, files & folders
4, files & folders4, files & folders
4, files & folders
 

8, OCP - backup with rman

  • 2. Overview • Recovery Manager(RMAN)是oracle官方推荐的备份恢复工具, RMAN 的使用对于DBA而言至关重要. 这一章讲述如何使用RMAN进行数据 库的备份: – 数据库一致性备份; – 数据库非一致性备份; – 增量备份; – 备份自动化; – 管理备份, 监控闪回区; – 定义和应用保留规则; – 镜像文件备份; – 启用快速增量备份; – 双重备份(duplex backups), 备份备份集; – 归档备份; – 多段, 压缩, 加密备份; – 备份报告和维护; – 备份设置和优化; – 备份通道
  • 3. Backup Concepts & Terminology • User-managed vs. Server-managed 通过执行操作系统命令进行的备份被称为用户管理的备份, 通过RMAN执行的备份 则称为服务器管理备份. • Closed vs. Open 在数据库关闭的情况下执行的备份被称为closed backup, 也被称为一致性备份 (consistent)、冷备份(cold) 、线下备份(offline); 当数据库处在打开状态下进行的备 份称为open backup, 也被称为非一致备份(inconsistent) 、热备份(hot) 、在线备份. Tip: 热备份只有当数据库处在归档模式下可用. 如果数据库处在非归档模式, 只能 进行冷备. • Whole vs. Partial(整体 vs. 部分) 全部备份和部分备份, 前者对所有的数据文件和控制文件进行备份, 后者则备份这 些文件的子集. 在大多数情况下, partial类型的备份只有当数据库处在归档模式下才 能够执行. • Full vs. Incremental(全量 vs. 增量) full类型会备份目标文件所有被使用的数据块, 而incremental备份则只会备份那些从 上次备份开始被修改过的数据块. Tip: 可以使用以上备份类型的任意组合, 常见的情况是在按周/月进行 closed/whole/full备份, 每天则进行open/whole/incremental备份. • Backup set vs. Backup piece(备份集 vs. 备份片) 备份片在物理上存储为一个文件, 备份片只属于一个备份集. 通常情况下一个备份 集仅包含一个备份片, 只有当使用MAXPIECESIZE参数设置了备份片的大小时才有可 能在一个备份集下面创建多个备份片.
  • 4. RMAN Overview • Files RMAN可以备份如下文件: 数据文件 控制文件 归档日志文件 SPFILE 备份片(backup set piece) RMAN不能备份如下文件: 临时文件(Tempfiles) 在线重做日志文件 密码文件 PFILE Oracle Net配置文件 • Types RMAN能够生成以下三种类型的备份 – 备份集(backup set) 备份集是RMAN专有的备份格式, 一个备份集中可以实现对多个数据库文件的备份, 对于数据文件 仅包含已经被使用的数据块(如果数据块不属于任何对象, 不会写入备份集中),这大大减小了备份 文件的大小. 备份集可以是全量的也可以是增量的. 在物理上, 备份集由多个备份片(piece)组成. – 压缩备份集(compressed backup set) 压缩格式下的备份集. – 镜像拷贝(image copy) 等同于输入文件, 但仍需要使用RMAN才能进行数据库的还原 (restore)操作 • Channels RMAN备份和恢复操作由服务端通道进程执行, 通道进程分为两种类型: 磁盘通道 和 磁带通道, 分别写不同的介质. • RMAN Metadata Repository RMAN元数据用于描述已经发生的备份操作, 比如备份集由哪些备份片组成, 备份片的位置和 名称; 镜像拷贝文件的位置等. RMAN元数据保存在控制文件中, 也可以选择保存在数据库中.
  • 5. RMAN In Action - Consistent Backup • 在11g版本中所有的RMAN备份操作都由backup命令执行, 可以通过rman交互式命 令, rman脚本或者database control界面执行. • Consistent Backup 执行一致性备份要求数据库处在mount状态, 这是因为RMAN需要读取控制文件以 确定数据文件的位置. 下面是一段执行cold/whole/full备份的RMAN脚本: run { shutdown immediate; startup mount; allocate channel d1 type disk; backup as backupset database format '/opt/oracle/backup/offline_full_whole_%d_%U.bus'; alter database open; } 1-2 关闭并重启数据库到mount状态 3 分配一个通道进程, 这里使用磁盘类型 4 使用备份集的方式备份整个数据库, 指定备份文件的位置 5 打开数据库 使用如下方式执行, rman交互式命令: – 使用rman target sys/passwd@ocpdemo登录, 如果是操作系统验证直接使用rman target / – 依次输入花括号中的命令. rman脚本: – 首先将该脚本保存在文本文件中比如offline_full_whole.rman – 切换到脚本文件所在目录, 运行rman target sys/passwd@ocpdemo @ offline_full_whole.rman
  • 6. RMAN In Action - Explained • 备份集和备份片 使用RMAN进行一次备份操作时, 通常会生成多个备份集, 这由RMAN自己决定或者 通过人工的干预, 比如运行backup命令时指定filesperset选项. 通常情况下备份集下 面只有一个备份片, 可以通过登录RMAN执行list backup命令查看备份信息, 或者通 过视v$backup_set和v$backup_piece查看. • 存储位置 可以通过backup命令的format选项指定备份片文件的全路径, 需要在该路径中使用 占位符, 比如: – %d 数据库名称 – %U 保证备份片文件名的唯一性 – %s 备份集的序号 – %p 备份片在当前备份集中的序号 – %c 对于多路复用备份(multiplex backups), 表示拷贝的序号. 此占位符对于指定多路复 用备份的文件格式是必须的. 如果不指定format选项, 那么备份文件将会默认存储在闪回区, 相应的目 录结构将会被自动创建, 比如: [oracle@localhost flash_recovery_area]$ tree . . `-- OCPDEMO `-- backupset `-- 2013_03_05
  • 7. RMAN In Action - Open Backup • 在最简单的情况下, 可以使用backup database命令执行一次安全可靠的热 备份操作. 下面是一个热备份的示例: run { allocate channel t1 type disk; allocate channel t2 type disk; backup as compressed backupset filesperset 4 database; backup as compressed backupset archivelog all delete all input; } 1-2 分配两个通道进程(t1/t2), 依据服务器的资源可以提升备份的 速度 3 压缩备份整个数据库, 包括数据文件/控制文件/ SPFILE等. filesperset 4指定一个备份集最多包含4个文件, 这样可以缩小 备份文件的大小提升数据库恢复的速度. 4 压缩备份归档日志文件, 完成后删除归档日志 • 备份操作可以针对某个表空间, 数据文件, 或者符合某种模式的归档日志文 件, 示例: backup as backupset format '/backup/orcl/df_%d_%s_%p' tablespace gl_tabs; backup as compressed backupset datafile 4; backup as backupset archivelog like '/u01/archive1/arch_1%';
  • 8. RMAN In Action - Incremental Backup • 增量备份是指在某一个备份点的基础上, 对发生改变的数据进行备份. 与全 量备份相比, 增量备份需要的备份时间更短, 磁盘空间使用更少. • level 0 vs. level 1 level 0的增量备份相当于全量备份, 使用如下格式: backup as backupset incremental level 0 database; level 1的增量备份又分为两种类型: – differential 在前一个level 1备份的基础上进行增量备份, 如果不存在level 1的增量备份则基于 level 0备份. 示例: backup as backupset incremental level 1 database; – cumulative 在前一个level 0备份的基础上进行增量备份, 格式如下: backup as backupset incremental level 1 cumulative database; Tip: 进行level 1增量备份时, 如果之前没有level 0备份, 那么当前的level 1备份实质 上执行的是level 0备份.
  • 9. RMAN In Action - Incremental Backup • Block change tracking 默认情况下, 增量备份对于备份速度的提升并没有那么显著, 因为增量备份需要扫描数据库文件的内容已发现发生改变 的数据块, 这会花费大量的时间. 可以通过开启”追踪数据块 变化”以加速增量备份, 通过如下命令开启: alter database enable block change tracking using file '/opt/oracle/oradata/change_tracking.dbf'; 如果不指定追踪文件的位置, 该文件默认会创建在 DB_CREATE_FILE_DEST参数指定的目录. 通常情况下该文件 的大小在10M左右. 可以通过v$backup_datafile视图查看启用数据块跟踪的效果, 使用如下SQL: select file#, datafile_blocks, (blocks_read / datafile_blocks) * 100 as pct_read_for backup from v$backup_datafile where used_change_tracking='YES' and incremental_level > 0;
  • 10. RMAN In Action - Image Copies • RMAN镜像备份通过数据块的逐个拷贝实现, 备份 的结果是与数据文件、控制文件、归档日志文件 内容完全相同的拷贝. 镜像备份不能使用备份集 相关的特性, 比如增量备份、压缩、设置备份片 大小等. 镜像备份的一个好处是还原数据库的速 度非常快, 来自官方的建议是保留一份数据库的 镜像备份, 以及自该备份开始的归档日志文件. • 镜像备份只能用于数据文件、归档日志文件, 控 制文件, 不用使用于SPFILE. 示例: backup as copy database; backup as copy archivelog all delete all input;
  • 11. RMAN In Action - Protect Backups • RMAN支持对备份进行备份, 通常会将这种备份最 终保存到磁带. 使用下面的命令实现备份的多路 复用: backup as backupset device type disk copies 2 database format '/opt/oracle/backup/%s_%p_%c.bus‘; 该命令会对数据库进行备份, 并产生额外的一份 拷贝. • 闪回区备份 – backup recovery area; 基于默认的设置将闪回区备份到磁盘; – backup recovery files; 备份与数据库恢复相关的文件(包括闪回区文件以及不在 闪回区的文件).
  • 12. RMAN In Action - Backup Parallelizing • RMAN备份支持并行操作, 最常见的情形是分配多个磁盘通道进程. RMAN备份的并行度由以下的几个因素决定: – 通道进程的个数 通道进程的数量是对备份并行度的硬限制. – 备份集的个数 – 输入文件的个数 并行度不能超过输入文件的个数, 除非多段备份被使用. 示例: run {allocate channel t1 type sbt; allocate channel t2 type sbt; allocate channel t3 type sbt; allocate channel t4 type sbt; backup database files per set 8;} 这里分配了4个通道进程, 限制了并行度不能超过4; 现在假设数据库包括 控制文件在内总共有100个文件, 那么就可以分为13个备份集, 最终的并行 度是4; 如果只有20个文件, 那么将产生3个备份集, 最终的并行度是3.
  • 13. RMAN In Action - Configure RMAN Defaults • 登录RMAN之后可以使用show all指定查看所有的配置项, 这里显示的配置项均是默 认值: • 使用configure指令进行配置, 示例: CONFIGURE DEVICE TYPE DISK PARALLELISM 4 BACKUP TYPE TO BACKUPSET; -- 进行磁 盘备份集备份时, 默认启动4个通道进程(并行度4); CONFIGURE BACKUP OPTIMIZATION ON; -- 启用备份优化, 如果检查到某文件有足够 的备份则不再进行备份; CONFIGURE RETENTION POLICY TO REDUNDANCY 3; -- 默认设置下RMAN保存文件的 一份拷贝, 这里设置为3表示保存文件的3份拷贝. CONFIGURE RETENTION POLICY TO RECOVERY WINDOW of 90 DAYS; -- 在此规则 下, RMAN需要保存所有数据文件在过去90天内的至少一个备份. • 使用CLEAR恢复到默认的配置, 示例: configure device type disk clear;
  • 14. RMAN In Action - Managing & Monitoring • list, report & delete – list命令用于查看备份集或者镜像备份, 示例: list backup; -- 查看所有的备份集 list copy; -- 查看所有的镜像拷贝 list backup of database; -- 查看整个数据库的备份集, 包括全量和增量 list backup of datafile 1; -- 查看包含数据文件1的备份集 list backup of tablespace users; -- 查看包含表空间users的备份集 list backup of archivelog all; -- 查看所有归档日志的备份集 list copy of archivelog from time=‘sysdate - 7’; -- 查看过去7天内产生的归档日志镜像备份 list backup of archivelog from sequence 1000 until sequence 1050; -- 查看归档日志备份集, 该归档日志 包含1000到1500的日志切换序号. – report命令用于判断哪些数据库文件需要进行备份, 这需要根据当前的RMAN元数据和保留规则(retention policy)进行判断. 示例: report schema; -- 列出组成数据库的数据文件 report need backup; -- 根据保留规则列出所有所有需要备份的数据文件和归档日志文件 report need backup days 3; -- 列出所有在过去3天内没有进行备份的文件 report need backup redundancy 3; -- 列出所有少于3个份备份的文件 report obsolete; -- 根据当前保留规则列出所有不需要的备份集和镜像 report obsolete redundancy 2; -- 列出所有大于2个备份的备份集或者镜像 – delete 删除备份集或者镜像备份, 示例: delete obsolete; -- 根据保留规则, 删除所有不需要的备份 delete obsolete redundancy 2; -- 删除大于2个备份的备份集或者镜像 delete backupset 4; -- 删除id为4的备份集 delete copy of datafile 6 tag file6_extra; -- 删除数据文6的镜像
  • 15. RMAN In Action - DPV • 数据库在启动时会读取控制文件中的备份元数据, 并作为视图供用户查询. 这些视图包括: – v$backup_files RMAN备份的文件, 包括数据文件、spfile、控制文件 及归档日志文件. – v$backup_set, v$backup_piece 备份集, 备份片信息 – v$backup_redolog, v$backup_spfile, v$backup_datafile 分别表示归档日志、SPFIL及数据文件的备份信息 – v$backup_device 连接到RMAN的SBT设备 – v$rman_configuration RMAN配置, 对于配置为默认值的项不包含
  • 16. RMAN In Action - Backup Crosschecking • list, report等命令会读取备份原数据并将备份信息展 示出来, 但是它们不会去检查磁盘或者磁带设备上 是否真实存在这些备份文件. RMAN提供了 crosscheck命令以实现此功能, 示例: crosscheck backup of database; 该命令会读取所有与整数据库备份相关的元数据, 并检查备份文件是否存在. 如果文件不存在则标识 备份状态为EXPIRED, 使用crosscheck backup/copy分别 检查所有的备份集和镜像. 删除过期的备份集: delete expired backupset; 注意: 与delete obsolete命令不同的是, 此命令仅更新 RMAN元数据, 不会删除备份文件(已经不存在) .
  • 17. END