一、rman的概念
1、恢复管理器
Recovery Manager,简称 RMAN。
RMAN 工具可以实现服务器管理恢复(Server Managed Recovery: SMR)。
SMR 是一种数据库执行所需要的操作以确保自身备份成功的能力,依赖于Oracle RDBMS 内核中的内置代码可以完成这一功能。
SMR 的功能主要体现在能够减少用户的操作。
2、rman的作用
rman 是 oracle 用来备份恢复数据库的数据文件,归档日志,控制文件以及参数文件及整个数据库的备份恢复工具,同时也可以用来执行完全备份恢复和不完全备份恢复,通过计划任务实现自动的定时的最优化的备份恢复方案。
主要作用如下:
(1)可以实现自动备份和恢复
(2)支持增量备份
(3)减少恢复时间
(4)并行备份恢复
(5)在线备份不影响业务的正常运转
3、RMAN 与数据库权限
(1)登录RMAN需要的权限
RMAN 需要访问目标数据库上sys模式中存在的各种数据包,还需要具有启动和关闭目标数据库的权限。
因此RMAN 通常以sysdba 用户身份连接到目标数据库。
如果以不具有sysdba 权限的用户连接到目标数据库,RMAN 会报ORA-01031: insufficient privileges 错误。
4、RMAN运行环境
(1)归档模式
一般都运行在此模式下,数据库正常运行时进行热备。
(2)非归档模式
此模式备份,数据库不能以打开方式备份,只能在mount下备份,所以我们使用rman备份时,必须要运行在归档模式下。
二、备份数据块原理简析
其他备份技术,备份的单元依然是数据文件,最终进行备份的OS 使用程序将查看并备份整个文件,因此需要特别注意保证Oracle 数据块的完整性。
然而,RMAN 与之不同,因为RMAN 是集成在RDBMS 中的,它是在数据块层面访问数据,这和数据库本身所使用的方式相同。
块级别访问是RMAN 区别于其他备份工具的地方,正是由于rman 采用了这一层面的访问,才使得它具有诸多优势,因此我们可以更有效的利用数据块进行备份和恢复。
1、备份架构图
2、rman可以备份的内容
数据文件、归档日志、控制文件、参数文件;某个datafile文件,某个tablespace等,控制文件,参数文件。
三、rman工具的用法
1、rman登录
[oracle@qdmes219:/home/oracle]$rman target /
2、管理与维护相关命令
(1)查看备份列表
可以查看到备份的内容
RMAN> list backup;
(2)检查备份
RMAN> crosscheck backup;
(3)删除所有备份
RMAN> delete backup ;
(4)删除过期备份(文件不在了)
RMAN> delete expired backup;
(5)删除丢弃的(过时的)备份(文件在,已经过了保存期限)
虽然时可以丢弃的,但是仍然可以使用。
RMAN> delete obsolete ;
3、参数配置查看
RMAN> show all;
RMAN configuration parameters for database with db_unique_name MESORCL are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/app/oracle/product/11.2.0/db_1/dbs/snapcf_mesorcl.f'; # default
4、备份相关(小部分案例)
不指定路径,默认备份到db_recovery_file_dest 中。
(1)备份数据库
RMAN> backup database;
(2)备份归档
RMAN> backup archivelog all;
(3)备份控制文件
RMAN> backup current controlfile;
(4)备份参数文件
RMAN> backup spfile;
5、恢复相关
(1)还原操作
rman>restore database;
(2)恢复操作
rman>recover database;
四、案例实操
1、备份数据库
RMAN> backup database;
2、恢复案例1
某个数据文件被删除,进行恢复。
(1)模拟删除某个数据文件
(2)重启数据库
(3)报错查看
(4)恢复数据库
3、恢复案例2
控制文件丢失,进行恢复。