当前位置:网站首页 > 技术博客 > 正文

rman用法



原文出处:https://www.cnblogs.com/WoLykos/p/11585744.html 感谢作者分享

1、本地:

2、远程:

RMAN> show all //总配置参数,具体看configure模块

RMAN> show channel; // 通道分配
RMAN> show device type; // IO 设备类型
RMAN> show retention policy; // 保存策略
RMAN> show datafile backup copies; // 多个备份的拷贝数目
RMAN> show maxsetsize; // 备份集大小的最大值
RMAN> show exclude; // 不必备份的表空间
RMAN> show backup optimization; // 备份的优化

1、configure retention policy to redundancy 1;
舍弃备份原则,共三种,分别是:
(1)CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为obsolete。
(2)CONFIGURE RETENTION POLICY TO REDUNDANCY 5;
保持可以恢复的最新的5份数据库备份,任何超过最新5份的备份都将被标记为redundancy。一般采用的方法,默认值为1,可以设置为5。
(3)CONFIGURE RETENTION POLICY TO NONE;
不需要保持策略,clear将恢复回默认的保持策略。
 
2、CONFIGURE BACKUP OPTIMIZATION OFF;
默认为关闭,如果打开,rman将对备份的数据文件及归档等文件进行一种优化的算法。
 
3、Configure default device type to disk;
默认值是硬盘,是指定所有I/O操作的设备类型是硬盘或者磁带(SBT)。
 
4、CONFIGURE CONTROLFILE AUTOBACKUP OFF;
强制数据库在备份文件或者执行改变数据库结构的命令之后将控制文件自动备份,默认值为关闭。这样在控制文件和catalog丢失后,控制文件仍然可以恢复。
 
5、CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';
配置控制文件的备份路径和备份格式
 
6、CONFIGURE DEVICE TYPE DISK PARALLELISM 1;
配置数据库设备类型的并行度,默认为1。
 
7.CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
配置每次备份的copy数量。
 
8、CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
配置归档日志存放的设备类型。
 
9、configure maxsetsize 大小;
配置备份集的最大尺寸,默认值是unlimited,单位bytes,K,M,G;
 
10、CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:ORACLE…SNCFTEST.ORA';
配置控制文件的快照文件的存放路径和文件名,这个快照文件是在备份期间产生的,用于控制文件的读一致性。
 
11、CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_燨%p';
配置备份文件的备份路径和备份格式。
 
12、CONFIGURE CHANNEL DISK CLEAR;
用于清除上面的信道配置。
 
13、CONFIGURE EXCLUDE FOR TABLESPACE [CLEAR];
不备份指定的表空间到备份集中,对只读表空间是非常有用的。
 
14、configure channel device type disk format 'e:backupb%d_db_ћr>将备份文件存储到e:backupb,后面的%d_db_ပ式。
 
15、configure controlfile autobackup format for device type disk to 'e:backupcontrol%F';
指定control file存储在另一个路径: e:backupcontrol,后面的%F是存储格式。

1、list incarnation;
汇总查询,多备份文件时,可以对备份文件有个总体了解。
 
2、list backup;
列出备份详细信息。
 
3、list backup summary;
简述可用的备份(TY: B代表备份, LV: F代表全备fullbackup, A表示 Archivelog, 0,1,2 表示备份级别, S表示状态, A表示available可用, X表示expried过期)。

4、list backup by file;
按照文件类型列出以下四种类型列表:

数据文件备份列表、已存档的日志备份列表、控制文件备份列表、SPFILE 备份的列表。

5、list backup of database summary;
 
6、list backup of tablespace users;
 
7、list backup of archivelog all;
查看已经备份的 archive log 情况。
 
8、list archivelog all;
查看目前所有的archivelog文件 (可能包含已经备份的, 除非你在备份时有参数 delete input file 删除了)。
 
9、list backup of spfile;
 
10、list backup of controlfile;
 
11、list backup verbose;
 
12、list backup of datafile 1 [n | <dir>];
 
13、list backup of archivelog from sequence 1000 until sequence 1020;
 
14、list backupset tag=TAGT;
 
15、list expried backup;
列出过去的备份文件。

1、report schema;
报告目标数据库的物理结构。
 
2、report need backup;
报告需要备份的数据文件(根据条件不同)。
 
3、report need backup days 3;
最近三天没有备份的数据文件(如果出问题的话,这些数据文件将需要最近3天的归档日志才能恢复)。
 
4、report need backup redundancy 3;
报告出冗余次数小于3的数据文件。
 
5、report need backup recovery window of 3 days;
报告出恢复需要3天归档日志的数据文件。
 
6、report obsolete;
报告已经丢弃的备份(前提是设置了备份策略)。
 
7、report unrecoverable;
报告当前数据库中不可恢复的数据文件(即没有这个数据文件的备份、或者该数据文件的备份已经过期)。
 
8、report schema at time ‘sysdate – 7’;
 
9、report need backup days 2 tablespace system;

执行crosscheck时,RMAN检查目录中列出的每个备份集或副本并且判断他们是否存在与备份介质上。


如果以前被标记为expired 的备份集或副本再次存在于备份介质上,crosscheck 命令就会将它标记回available。
 
1、RMAN 备份检验的几种状态:
expired: 对象不存在于磁盘或磁带。
available: 对象处于可用状态。
unavailabe: 对象处于不可用状态。
 
2、expired 与 obsolette 的区别:
(1)对于EXPIRED状态,与crosscheck命令是密切相关的,RMAN通过crosscheck命令检查备份是否存在于备份介质上, 如果不存在,则状态由AVAILABLE改为EXPIRED。
(2)对于obsolete状态,是针对MAN备份保留策略来说的,超过了这个保留策略的备份,会被标记为obsolete,但其状态依旧为AVAILABLE,我们可以使用report obsolete来查看已废弃的备份。

2)非归档模式下:

2、指定备份片段的存放路径和命名规则:

3、备份成镜像文件:

4、设置备份标记(每个标记必须唯一,相同的标记可以用于多个备份只还原最新的备份)。

5、设置备份集大小(必须大于数据库总数据文件的大小,否则会报错)

6、设置备份片大小(磁带或文件系统限制)

PS:
可以在allocate子句中设定每个备份片的大小,以达到磁带或系统限制。
也可以在configure中设置备份片大小。

使用RMAN来扫描数据库的物理/逻辑错误,并不执行实际备份。
 
10、跳过脱机,不可存取或只读文件

 
12、基于上次备份时间备份数据文件
(1)只备份添加的新数据文件:

(2)备份"在限定时间周期内"没有被备份的数据文件:

%a:Oracle数据库的activation ID即RESETLOG_ID。
%c:备份片段的复制数(从1开始编号,最大不超过256)。
%d:Oracle数据库名称。
%D:当前时间中的日,格式为DD。
%e:归档序号。
%f:绝对文件编号。
%F:基于"DBID+时间"确定的唯一名称,格式的形式为c-IIIIIIIIII-YYYYMMDD-,其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD为日期,是一个1~256的序列。
%h:归档日志线程号。
%I:Oracle数据库的DBID。
%M:当前时间中的月,格式为MM。
%N:表空间名称。
%n:数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8。
%p:备份集中备份片段的编号,从1开始。
%s:备份集号。
%t:备份集时间戳。
%T:当前时间的年月日格式(YYYYMMDD)。
劃由备份集编号和建立时间压缩后组成的8字符名称。利用秈个备份集生成一个唯一的名称。
%U:默认是熸%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式。执行不同备份操作时,生成的规则也不同,如下所示:

%Y:当前时间中的年,格式为YYYY。
PS:
如果在BACKUP命令中没有指定FORMAT选项,则RMAN默认使用%U为备份片段命名。

3、增量备份例子

1、前提条件:

1)以0级数据文件镜像作为基础;
2)1级差异增量备份的标签需要和0级一致;
3)增量备份被应用到0级镜像上。

2、命令例子:

1、有效性(数据文件是否存在于正确的路径下,并且是否存在物理块损坏):


2)在备份时,对数据文件和归档日志文件进行检查:


3)支持对数据文件中的数据库进行检查:


4)支持对数据库备份集进行验证:

  

2、引用脚本文件执行任务:

1)
2)或登陆RMAN后
  

3、列出RMAN备份信息——list:

1)
2)
3)
4)
5)
  

4、列出RMAN备份信息——report:

1)----列出当前需要备份的数据文件
2)
3)
4)
  

5、备份相关的动态性能表:

1、同步数据库备份和镜像的逻辑记录——crosscheck:

1)


2)
  

2、删除备份信息——delete:


2)删除expired备份:


3)删除 expired 副本:


4)删除特定备份集:


5)删除特定备份片:


6)删除所有备份集:


7)删除特定映像副本:


8)删除所有映像副本:

3、还原和恢复数据库文件:

1)还原是指从所有的备份或镜像文件中找到一个用于恢复操作的数据文件。


3)在对数据库进行还原恢复操作时,可以先进行预览:

5)恢复表空间:

6)对数据坏块进行恢复:

PS:
坏块会记录到V$DATABASE_BLOCK_CORRUPTION视图中,还会记录在告警日志和TRACE文件中,可以通过V$DIAG_INFO查看这些文件的位置,找到相关文件进行坏块查看。

1)列出当前失败并确定修复选项:oracle中失败是指被Health Monitor监测到的数据损坏,例如逻辑或物理的数据块损坏、数据文件丢失等;


4)一般首先通过手工修复方式来进行修复,若手工修复不成功,再进行自动修复。
  
  

1)想使用闪回数据库技术,需要先开启闪回日志功能。(闪回日志只能存放在快速恢复区中,并且不会进行归档)

1、单个执行:

2、批处理:

这种方式是最常使用的方式,特别对于后台执行。  好处是如果作业中任何一条命令执行失败,则整个命令停止执行。

3、运行脚本:

1)
2)
3)


4)运行存储在恢复目录中的脚本(需要首先为rman 创建恢复目录):

1、Server session:

2、Channel:

3、backuppiece:

4、backupset:

备份集,表示进行一次备份所产生的所有备份片集合,是一个逻辑上的概念;
一个数据文件可以跨备份片存在,而不能跨备份集存在。

示例1:

allocate channel命令在目标数据库启动一个服务器进程,同时必须定义服务器进程执行备份或者恢复操作使用的I/O类型。

示例2:

表示一个备份片中包含一个文件,即使没有达到 1500M,也生成新的备份片,如我的有五个数据文件,还有 SPFILE和 CONTROLFILE 一个备份片,一共生成六个备份片.如果加上plus archivelog delete all input这个备份选项,那 FIELSPERSET 这个参数就会被IGNORE掉。

1、全备:

$cat arch_rman_backup.sh:

2、归档日志备份:

$cat arch_rman_backup.sh

4、将rman脚本文件放置到目录下:

5、编写RMAN脚本的运行脚本:

# 创建目录(-p表示不存在则新建,若存在则忽略)
# 创建all运行脚本
# 创建arc运行脚本

  • 上一篇: scanf用法
  • 下一篇: MySQL常用命令
  • 版权声明


    相关文章:

  • scanf用法2024-10-31 08:30:00
  • android 扫码二维码2024-10-31 08:30:00
  • 数据库有哪些?2024-10-31 08:30:00
  • 前端实现权限管理2024-10-31 08:30:00
  • java bitset用法2024-10-31 08:30:00
  • MySQL常用命令2024-10-31 08:30:00
  • kvm虚拟化有哪些组件组成2024-10-31 08:30:00
  • 基于swing的图形界面2024-10-31 08:30:00
  • 代码对比工具(🛠️在线代码比较工具-轻松查找代码差异🔍)2024-10-31 08:30:00
  • monkey测试(推荐一款好用的APP性能测试工具——Monkey!)2024-10-31 08:30:00