暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

RMAN基础教程

木底木叉 2020-02-19
509
  • 可以备份库、表空间、数据文件、控制文件及日志文件  exp不能备份控制文件/数据文件和日志文件

  • 压缩备份可以之备份变化的内容

  • 集成第三方磁带媒介软件

  • 可以在oracle数据库的目录中存放备份信息,及用数据库管理备份信息

RMAN常用概念

  • 目标库

  • 客户端

  • 闪回区(Flash Recovery Aera):存放备份和恢复相关信息的磁盘区域

  • 介质管理 (System Backup to)

  • 恢复目录(Recovery Catalog):一个独立的数据库,用于存放目标数据库的备份,可以存放多个数据库。

恢复目录

一般创建在异地设备中。

  • 创建恢复目录

    create tablespace rmtablesapce datafile 'e:\app\admin\oradata\orcl\rmtablespace.DBF'
    size 100m autoextend on next 10m maxsize 500m permanent extent management local;
    create user rm identified by "123456" default tablespace rmtablespace temporary tablespace temp quota unlimited on rmtablespace profile default account unlock;
    grant dba to rm;
    grant connect to rm;
    grant resource to rm;
    grant recovery_catalog_owner to rm;
    rman  --进入恢复目录管理器
    connect catalog rm/123456 --通过创建好的恢复目录用户连接到恢复目录数据库。
    create catalog  --创建恢复目录

    RMAN连接恢复目录

    rman target user/password@servicename catalog user/password@servicename

    RMAN通道分配

    确定连接数据库备份的设置个数

    通道-->设备与库进行关联

    手动分配:run

    自动分配:configure

    手动分配

    run

    {allocate channel ch_name1 device type typename1;

    allocate channel ch_name2 devices type typename2;

    ...

    backup...

    }
    register database
    run --单通道备份
    {allocate channel c device type disk;
    backup tablespace users;
    }


    run 
    {allocate channel c1 device type disk;
    allocate channel c2 device type disk;
    backup tablespace users
    }

    自动分配

    数据库自己定义分配数量和名称,但管理员徐定义参数(介质类型、通道最大个数、默认介质类型)

    configure device type typename parallelism n   --最大通道数
    configure default device type to typename --默认介质类型
    configure device type disk parallelism 3;
    congigure default device type to disk;
    backup tablespace users;

    RMAN备份

    • 备份集

    • 备份片

    • 创建恢复目录数据库并创建用户

    • 给恢复目录用户赋角色和权限

    • 创建恢复目录

  1. 通道备份后会自动释放

  2. run备份一定在rman命令状态下,并且连接到恢复目录和目标数据库前提下。

backup [level] [backup_type] [option]

level:1 2 3 4 full

backup_type:database、datafile、tablespace、archivelog all

option:channel、maxsize

backup full tablespace users;

RMAN恢复

RESTORE还原

restore object

object:database、datafile、tablespace、archivelog、controfile

restore:还原

RECOVER恢复

recover object;

object:与restore语法一致

FlashBack开启

  1. 开启归档日志

    mount状态:alter database archivelog;
  2. 设置闪回区

alter system set db_recovery_file_dest='C:\app\Administrator\flash_recovery_area' scop=both;
alter system set db_recovery_file_dest_size=4G scop=both;
alter system set db_recovery_retention_target=4320 scop=both;
  1. 在mount状态下,开启flashback

alter database flashback on;

RMAN初级

Rman连接本地数据库之前必须设置系统环境变量ORACLE_SID:并制定该值定于目标数据库的实力名。

本地连接允许操作系统验证。ORACLE_SID必须大写

命令:host:暂时退出

Rman备份类型

  • 镜像备份(Image Copies):利用目标数据库服务进程完成文件复制,实质上就是创建数据文件/控制文件和归档日志文件(了解)

  • 备份集(Backups Sets):Rman创建具有特定格式的逻辑备份文件,由备份片段组成。

命令执行方式

  1. 单个执行

  2. 批处理

  3. 运行脚本

备份初级

全库

backup database; --未指定保存路径
backup database format 'f"/backup/bak_%U'
list backup of database;--查看全库备份

表空间

backup tablespace users;
list backup of tablespace users;
delete backupset 10;

数据文件备份

指定数据文件名称

  • 数据文件详细路径

  • FILE_ID

select file_id,file_name from dba_data_file;
backup datafile 'f:\oracle\oradata\orcl\users01.dba'format 'f:\backup\da_%U';--datafile可以指定详细路径  也可以制定file_id;
list backup of datafile a;--n制定数据文件序列号,可以为多个序列号

控制文件的备份

控制文件方式灵活

  1. 手动

backup current controlfile;
  1. 执行backup命令时制定include current controlfile

backup database include current controlfile;--任何备份时都可制定备份控制文件
backup current controlfile include current controlfile; --逗你玩
  1. 备份数据库的1号文件

backup datafile 1;

4.设置自动备份

configure controlfile autobackup on;
list backup of controlfile;

归档文件备份

  1. 单独备份

backup archivelog all;--all可替换为untilscntimesequence

2.备份时指定'plus archivelog'

backup current controlfile plus archivelog;--备份控制文件前先对国有归档文件进行备份

plus archivelog过程:

  1. 运行alter system archive log  current归档当前redolog;

  2. 执行backup archivelog all;

  3. 执行backup命令备份指定项;

  4. 再次归档redolog;

  5. 对新生成的未备份归档文件进行备份

完成归档日志备份后,需要删除已备份过的归档文件(归档文件记录了数据库进行的所有操作,如果数据库操作频繁,归档文件会增加)rman 提供了delete all input 参数,加在backup后,则会在完成备份后自动删除归档目录中已备份的归档日志。

list backup of archivelog all;

初始化参数文件备份

通常备份控制文件会自动备份参数文件,如特殊需要,

backup spfile;

备份备份集

backup backuset all;
backup backupset n;

RMAN命令

List

show all;
show controlfile autobackup;
list backup;
list backup of controfile;
list backup of datafile 'f:\oracle\oradata\scott.emp.dbf';
list backup of datafile n;--文件序列号可通过v$datafiledba_data_files;
list backup of archivelog all;
list copy of tablespace 'system';
list device type disk backup;
list archivelog all;
list expired backup;

Delete

用于删除rman备份记录及相应的物理文件。执行rman备份时,会在Rman Repository(资料库)生成备份记录,默认被存放在控制文件。如果配置恢复目录(Recovery Catalog),那么该数据会存放在恢复目录中。

  • 删除过去备份

delete obsolete
  • 删除无效备份

delete expired backup;
  • 删除expired副本

delets expired backup copy
  • 删除特定备份集

delete backupset 9;
  • 删除特定备份片

delete backuppiece 'f:\backup\demo_19.bak'
  • 删除所有备份集

delete backup;
  • 删除特定映像副本

delete datafile copy 'f:\backup\test_3.bak';
  • 删除所有映像副本

delete copy
  • 在备份后删除输入对象

backup archivelog all delete input;
delete backupset 22 format='f;\backp\bak_3.bak'delete input;

Report

  • 查看7天前的数据库模式

report schema at time 'sysdate-7';查看模式必须连接到catalog数据量
  • 查看所有需要备份的文件

    report need backup;
  • 查看表空间是否需要备份

report need backup tablesapce system;
  • 查看过期备份

report obsolete

Crossecheck

检查备份归档物理文件状态,

crosscheck backup

Change

修改备份文件或归档文件状态。

change backupset n unavalable;
change backup of tablespace users unavalable;
change archivelog logssq=n unavalabel;   -v$archived_log
change archivelog logseq=n delete;

Rman高级

增量备份

  1. 增量备份选项

backup incremental level=0 database;--0级全库备份
backup incremental level=1 datafile 'f;\orahome\oradta\users01.dbf';--数据文件1级增量备份
backup incremental level=1 tablesapce users;--表空间1级增量备份
  1. 增量备份类型

differential(差异)(默认)、cumulative(累积)

backup incremental level=1 cumulative database; 累积方式全库1级增量备份
  1. 增量备份注意事项

Block Change Tracking(块修改追踪)

alter database enable block change tracking using file'/loaction/trk_fiename';--启用
alter database disable block change tracking;--禁用
select status from v$block_change_tracking;

备份/恢复时间--此消彼长

  1. rman备份集保留策略

  • 基于时间

configure retention policy to recovery window of n days;
  • 基于冗余

configure retention policy to redundancy n;--基于数量
configure retention policy to none;--不采用任何保留策略

多通道

备份设备:SBT、DISK

  • 手工分配通道

run{
allocate channel c1 device type disk format 'f:\oracle\backup\cn_%U';
backup tablesapce users;
}
  • 自动分配通道

    • configure device type sbt/disk parallelism n;

    • configure default device type to sbt/disk;

    • configure channel device type sbt/disk format...

    • configure channel n device type sbt/disk format...

是否启用复合备份(Duplexed):

  • backup copies 3 database;

  • run{

set backup copies 2;

backup device type disk format 'd:\backup\%U','d:\backup\%U'

tablespace users,sales;

}

  • configure default device type to disk;

configure datafile backup copies for device type disk to 2;

configure archivelog backup copies for device type disk to 2;

是否使用rman恢复目录(Recovery Catalog)

不要将恢复目录放到目标数据库中

  1. 创建独立表空间

create tablespace rmantbs datafile 'f:\oracle\oradata\ramtbs01.dbf'size 100m;
  1. 创建独立schema用来记录备份信息

grant connect ,resource,recovery_catalog_owner to rmanct identified by rmanct;
  1. 通过rman连接到新的恢复目录数据库

rman catalog rmanct /rmanct
  1. 在rman中创建catalog

create catalog tablespace tablespace rmantbs;

使用恢复目录前,需要在恢复目录中注册目标数据库

step1.以catalog模式连接目标数据库和恢复目录

rman target / catalog rmanct/rmanct@bakdb;

step2.注册

register database;

#恢复目录只是可选项,可用可不用,取消注册如下

unregister dabatbase;

是否启用备份优化(Backup Optimization)--如果满足特定条件,将跳过某些文件

条件:

  • configure backup optimization 为on

  • 执行的backup database 或backup archivelog 命令中带有all或like参数

  • 分配通道是只分配了一种设备类型

configure backup optimization on

是否对备份集压缩

backup as compressed backupset tablesapce system;--压缩 会降低恢复速度
backup tablespace system; -非压缩

批处理脚本


rman相关动态性能视图

  1. v$archive_log

  2. v$backup_set

  3. v$backup_piece

  4. v$backup_curruption

  5. v$session

  6. v$process

  7. v$session_longops




Rman恢复

Restore数据库修复、Recover数据库恢复

  • 将数据置于正确的状态:Mount/open

    • 整库:mount

    • 表空间或数据文件级:open

  • 执行完全或不完全恢复

    • restore

    • recovery

    • until

  • 打开数据库。如果执行不完全恢复,打开时必须执行resetlogs.

rman如何寻找备份级:寻找最近的备份集

rman恢复中的自动化

增量恢复和应用重做日志


文章转载自木底木叉,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论