OCP(D6C)------RMAN还原备份

20180513


逻辑备份和物理备份:rman是物理 备份

热备份和冷备份:冷备是指关闭数据库时执行的备份,热备是数据库打开状态下执行的备份,热备只能在归档模式下进行

全备份和局部备份:全备份指所有的数据文件,局部备份指部分数据文件

完整备份和增量备份:完整备份所有使用的文件块,增量只包括上次备份以来更改的块

使用rman进行备份和恢复:

RMAN实用程序由两部分组成:可执行文件和recover.bsq文件。recover.bsq文件实质上是库文件,可执行文件从recover.bsq文件中析取代码来创建在目标数据库上执行的PL/SQL调用。recover.bsq文件是整个操作的中枢。这两个文件始终保持链接,并从逻辑上构成RMAN客户端实用程序。需要指出的是,recover.bsq文件和可执行文件的版本必须相同,否则就不能正常工作。RMAN实用程序有一种独特的,有序的,可预测的用法:解释在目标数据库中远程执行的PL/SQL调用中的命令。实质上,RMAN实用程序完成了我们需要做的所有备份,还原,恢复,和处理备份工作。由可执行解释程序负责解释这些程序命令,并且使这些命令与recover.bsq文件中的PL/SQL块匹配。RMAN随后将这些RPC传递给数据库,并基于用户的请求收集信息。如果命令要求I/O操作(可能是备份或还原操作),RMAN会在返回信息时准备另一个过程块,并将这个过程块传递回目标数据块。这些过程块负责执行OS的系统调用以进行指定的读或写操作。rman在备份期间使用快照控制文件(控制文件的副本),就是rman在开始时最新的检查点信息和文件结构信息,在rman中可以设置

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/data/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_eskdb.f';

 

rman可以备份的文件类型:数据文件,控制文件,归档重做日志文件,spfile,备份集片

rman不能备份的文件类型:临时文件,联机重做日志文件,口令文件,init参数文件,tnsnames.ora配置文件

rman生成的三类备份:

备份集,专用格式的备份文件,在还原时必须使用rman,可以是完整或增量的备份,不备份未分配到段的文件块

压缩备份集,对备份集文件进行压缩

映像副本,与原本的输入文件相同的备份文件,只能是完整备份

rman存储仓库:存放备份信息的元数据,可以是数据库的控制文件,也可以是一个专用的目录数据库




开启归档模式:

alter system set db_recovery_file_dest_size=50g scope=spfile;

alter system set db_recovery_file_dest='/home/oracle/db_recovery' scope=spfile;

shutdown immediate

startup mount

alter database archivelog;

alter database open;

archive log list;

 

使用rman连接到数据库:rman target /

使用rman执行一次脱机-全部-完整备份:

run {

shutdown immediate;

startup mount;

allocate channel d1 type disk;

backup as backupset database;

alter database open;

}

使用rman执行一次完整的全部热备,每个备份集包含4个文件,同时备份所有的归档日志,之后删除:

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;

}

备份某一个表空间:

backup as backupset tablespace example;

0级增量备份:包含所有的块,一个完整备份

1级增量累积备份:自上一个级别0备份以来所有更改的块

1级增量差异备份:自上一个增量备份以来更改的块

backup as backupset incremental level 0 database;

backup as backupset incremental level 1 database;--1级差异

backup as backupset incremental level 1 cumulative database;--1级累积

如果当前没有0备份,第一次1级备份实际执行的是0备份。

启用块变化跟踪:

sqlplus:alter database enable block change tracking using file '/home/oracle/bct.dbf';

在后台会增加一个新的进程ctwr,会加快1级增量备份的速度

备份为映像副本(不常用):

backup as copy database;

backup as copy archivelog all delete all input;

查看rman的默认配置:

show all;

configure device type disk PARALLELISM 4 backup type to compressed backupset;

配置信道1创建的每个备份片最大为100m,最多打开8个文件,只允许最大100m的吞吐量

configure channel 1 device type disk maxpiecesize 100m maxopenfiles 8 rate 100m;

configure backup optimization on; #启用备份优化,和保留策略相关,适用于归档和只读文件 

configure retention policy to redundancy 3;#将多余的副本标记为冗余,作为删除的候选。

configure retention policy to recovery window of 7 days;#至少有一个副本保留7天

configure controlfile autobackup on;

configure device type disk clear;#恢复到默认配置

list命令查看已创建的备份:list backup;

report命令查看数据文件和需要备份的文件 :

report schema;

report need backup;

report obsolete;#通过比较保留策略列出所有可以删除的冗余备份

delete obsolete;#删除冗余备份

delete backup;#删除所有备份

delete backupset 30;#删除30号备份集

crosscheck backup;#将存在与仓库中但实际已经不存在的备份标记为expired

delete expired  backupset;#不删除文件只更新仓库信息

 

还原指从之前的备份中提取文件,恢复指应用重做日志和归档日志中的重做条目使数据文件保持最新,完全恢复没有数据丢失,不完全恢复指故意丢失数据或重做数据丢失,跳过坏事务恢复所有其他工作是不可能的。

使用数据恢复顾问,当碰到启动异常时,如丢失数据文件,可以在rman中进行如下操作:

list failure;

advise failure;

repair failure;#执行建议工具中的步骤,也可以按提示进行操作

 

在非归档日志模式下,只能进行整库还原,同时在此备份之后产生的所有数据都将丢失,强烈建议数据库运行在归档模式下

startup mount;

restore database;

alter database open resetlogs;

 

归档模式下还原恢复整个数据库:

startup mount;

restore database;

recover database;

alter database open;

 

 

 

系统表空间和undo表空间受损会导致实例终止,其他的数据文件受损不会导致实例终止。

丢失普通数据文件时在rman中进行如下操作:

sql 'alter database datafile 5 offline';

   restore datafile 5;

   recover datafile 5;

   sql 'alter database datafile 5 online';

对于关键数据文件的丢失恢复,将数据库启动到mount状态,然后还原,恢复,再打开

 

控制文件丢失恢复示例

configure controlfile autobackup on;

backup database plus archivelog;

shutdown immediate;

重命名控制文件

startup --会失败

restore controlfile from autobackup;

alter database mount;

recover database;

alter database open resetlogs;

 

不完全恢复还原所有数据文件

不完全恢复操作有三个选项(rman):

until time,恢复到确切的时间点,通常用于纠正用户错误

until scn,恢复到一个确切的系统改变号

until sequence,如果丢失了一些日志文件,指定一个日志序列号

run {

shutdown immediate;

startup mount;

set until time = "to_date('2018-01-07 09:45:01','yyyy-mm-dd hh24:mi:ss')";

restore database;

recover database;

alter database open resetlogs;

}

 

完整恢复,包括参数文件,控制文件和数据文件

编辑最简单的参数文件

vi initorcl.ora

db_name=orcl

使用这个参数文件将数据库启动到nomount状态 ,以下操作在rman下进行:

startup nomount pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora';

set dbid=1487720582;

restore spfile from '/home/oracle/db_recovery/ORACLE/autobackup/2018_01_07/o1_mf_s_964779109_f530h5gy_.bkp';

shutdown abort;

startup nomount;

restore controlfile from '/home/oracle/db_recovery/ORACLE/autobackup/2018_01_07/o1_mf_s_964779109_f530h5gy_.bkp';

或者使用如下命令

restore controlfile from autobackup;

alter database mount;

restore database;

recover database;

alter database open resetlogs;

 

恢复目录:包含目标数据库的物理结构的详细信息,数据文件的位置,已执行的所有备份的详细信息和rman的持久性配置设置。采用恢复目录主要是基于备份安全的考虑

控制文件中始终存储这些信息,保留时间由control_file_record_keep_time参数控制

使用控制文件恢复时大部分操作必须使数据库处于mount状态,使用恢复目录没有此要求。

rman同时可连接最多三个数据库实例:目恢复目标数据库,录数据库,使用备份创建的辅助数据库

为了使用恢复目录,在恢复目录数据库中创建专用的用户:

create user rman identified by rman default tablespace users;

grant recovery_catalog_owner to rman;

alter user rman quota unlimited on users;

使用rman连接恢复目录数据库:

rman target / catalog rman/rman@catadb

初次使用之前必须创建恢复目录并把目标数据库注册到恢复目录中

create catalog;

register database;

删除注册信息

unregister database;

drop catalog;

恢复目录再同步

resync catalog;

可以使用rman创建一个复制数据库,这也是搭建dataguard的一个步骤

duplicate target database to newdb from active database;

 

非rman备份(用户管理的备份):

非归档日志模式下的备份,安全关闭数据库,然后备份数据文件和控制文件。如果数据库异常关闭,需要同时备份重做日志。

 

备份控制文件:

alter database backup controlfile to '/home/oracle/con_bak';--控制文件的镜像副本

alter database backup controlfile to trace as '/home/oracle/con_bak_0107';--包含创建控制文件的sql语句

热备份数据文件:必须在归档模式下,需要将表空间置于备份模式,此时的重做日志将大于正常情况

alter tablespace users begin backup;

alter tablespace users end backup;

备份参数文件: create pfile='/home/oracle/pfile0917'  from spfile;

 

 

备份压缩:

备份文件可以进行四个级别的压缩,basic,low,medium,high,高级别的压缩文件小,消耗的cpu更多,同样在恢复时消耗的cpu也多

CONFIGURE COMPRESSION ALGORITHM 'HIGH';

backup as compressed backupset database;

 

增量更新的镜像副本备份

run{

recover copy of database with tag 'incr_update';

backup incremental level 1 for recover of copy with tag 'incr_update' database;

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值