共计 4337 个字符,预计需要花费 11 分钟才能阅读完成。
这篇文章主要为大家展示了“oracle RMAN 怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让丸趣 TV 小编带领大家一起研究并学习一下“oracle RMAN 怎么用”这篇文章吧。
1.RMAN 环境简介
1)RMAN 是对数据库进行备份和恢复操作并自动管理相关备份策略的客户端工具。
2)RMAN 环境至少包括两部分:
目标数据库(target database):即需要进行备份和恢复的数据库,在 RMAN 命令行下通过 target 命令指定;
RMAN 客户端:默认存放于 $ORACLE_HOME/bin 目录下的可执行程序,用于执行 RMAN 命令进行数据库备份和恢复操作。
在某些情况下,RMAN 环境还可能包括:
快速恢复区(fast recovery area):用于存放和管理备份恢复相关文件的地方,可通过 DB_RECOVERY_FILE_DEST 和 DB_RECOVERY_FILE_DEST_SIZE 设置。
介质管理器:RMAN 与介质设备打交道所需要的应用程序;
恢复目录(recovery catalog):单独的数据库方案,用于存储其管理的多个目标数据库的元数据。
2. 启动 RMAN 并连接到目标数据库
1)使用 RMAN 连接到数据库时,默认使用 SYSDBA 角色登陆。
2)RMAN 连接语法
3. 查看当前 RMAN 配置
1)通过 show all;命令,可以查看当前的配置。
4. 备份数据库
1)通过 backup 命令备份数据库,默认情况下将备份文件放到快速恢复区中,若要备份到其他路径,需要设置 FORMAT 参数。
2)RMAN 默认备份类型为备份集而非镜像。可通过输入 BACKUP AS COPY 来备份镜像文件。
5. 在归档模式备份数据库
1)若数据库开启归档,则数据库支持 open 状态进行 RMAN 备份,但此时的备份为非一致性备份,即在恢复时,需要使用到归档 redo 日志,才能使数据库恢复到一致性状态。
2)backup database plus archivelog;
6. 在非归档模式下进行 RMAN 备份
1)在非归档模式下的数据库,只能进行一致性备份,备份前需要将数据库一致性关闭后,打开到 mount 状态,再进行备份。
2)shutdown immediate;
backup database
7. 常用典型备份选项
1)FORMAT:指定备份片段的存放路径和命名规则。
BACKUP FORMAT /u01/app/oracle/oradata/enmo1/AL_%d/%t/%s/%p ARCHIVELOG LIKE %arc_dest%
其中:%U 获得系统分配的一个唯一名;%d 为 DB_NAME;%t 备份设置的时间戳;%s 为备份设置的编号;%p 为备份片段编号。
2)TAG:给备份片段指定一个标签,若不指定,则系统自动生成一个随机唯一标签。标签在备份原数据中总是以大写方式存储。
BACKUP TAG weekly_full_db_bkup DATABASE MAXSETSIZE 10M;
8. 创建增量备份
1)增量备份分为累计增量备份(cumulative incremental backup)和差异增量备份(differential incremental backup)。oracle 默认类型为差异增量备份。
2)差异增量备份和累积增量备份的差别:
差异增量备份:每次备份至上一次备份级别小于等于当前级别的备份。
累积增量备份:每次备份至上一次小于当前级别的备份。
3)增量备份需要先进行一次 0 级备份,作为备份的起点。
4)oracle 建议备份的级别只限于 0 级和 1 级,方便备份管理。
5)增量备份例子:
backup incremental level 0 database;—- 0 级增量备份,作为增量备份策略的基础
backup incremental level 1 cumulative database;—- 1 级累积增量备份
backup incremental level 1 database;—- 1 级差异增量备份
9. 创建增量更新备份
1)RMAN 支持增量更新备份,但是该特性需要以下前提条件:
第一,需要 0 级数据文件镜像作为基础,并且这些镜像需要一个系统定义或者个人定义的标签。
第二,定期备份期间,1 级差异增量备份的标签需要和 0 级数据文件镜像的标签一致。通过 BACKUP FOR RECOVER OF COPY 命令可以指定一个只备份从上一个相同标签的备份以来发生数据块改变的增量备份。
第三,定期备份期间,增量备份被应用到 0 级镜像上,由于数据文件镜像已经被增量备份更新过,这样在介质恢复时,所需要的工作量将大大减少。
2)命令例子:
backup incremental level 0 for recover of copy tag test database; —- 使用 tag 标记数据文件镜像作为备份策略基础
recover copy of database with tag test —- 增量更新备份
10. 检查数据库文件和备份的有效性
1)有效性包括:数据文件是否存在于正确的路径下,并且是否存在物理块损坏。通过 CHECK LOGICAL 命令,还可以检查是否存在逻辑块损坏。
2)在备份时,对数据文件和归档日志文件进行检查:BACKUP VALIDATE CHECK LOGICAL DATABASE ARCHIVELOG ALL;
3)支持对数据文件中的数据库进行检查:VALIDATE DATAFILE 4 BLOCK 10 TO 30;
4)支持对数据库备份集进行验证:VALIDATE BACKUPSET 3;
11. 使用脚本文件来执行 RMAN 任务
1)RMAN 支持所有格式的文件
2) 脚本文件的引用可以通过 RMAN @/my_dir/test.txt 或者登陆 RMAN 后通过 @/my_dir/test.txt 引用。
12. 使用 list 列出 RMAN 备份信息
1)list backup of database by backup;
list backup by file;
list backup summary;
list expired backupset/copy;
list backup recoverable;
13. 使用 REPORT 列出 RMAN 备份信息
REPORT NEED BACKUP DATABASE;– 列出当前需要备份的数据文件
REPORT OBSOLETE;
REPORT SCHEMA;
REPORT UNRECOVERABLE;
14. 维护 RMAN 备份
1)CROSSCHECK:该命令将同步数据库备份和镜像在实际存储上的位置和资源库中的逻辑记录,如果备份文件在磁盘存在,CROSSCHECK 会检查文件头部是否有效。一般在删除备份之前,需要进行 CROSSCHECK 检查。
2)例子:CROSSCHECK BACKUP ; CROSSCHECK COPY;
15. 删除超时的备份
1)DELETE 命令将会删除磁盘或者磁带上的备份文件,并且更新控制文件中的状态为“已删除”或者删除备份目录(backup catalog)中的记录。
2)DELETE OBSOLETE;
16. 使用数据恢复建议器(data recovery advisor)进行失败诊断和修复
1)列出当前失败并确定修复选项:oracle 中失败是指被 Health Monitor 监测到的数据损坏,例如逻辑或物理的数据块损坏、数据文件丢失等。监测到的失败有不同的优先级(CRITICAL、HIGHT 和 LOW),还有状态(OPEN 和 CLOSED)。
2)通过 LIST FAILURE 可以查看当前监测到的失败,若在同一会话中执行 ADVISE FAILURE 命令,数据库会列出手工和自动的修复选项以供选择。
3)一般首先通过手工修复方式来进行修复,若手工修复不成功,再进行自动修复。
17. 使用闪回数据库技术
1)想使用闪回数据库技术,需要先开启闪回日志功能。(闪回日志只能存放在快速恢复区中,并且不会进行归档)
2)闪回数据库不能用于介质恢复和修复数据文件的丢失。
3)闪回数据库需要在 mount 状态下进行。
4)命令:
shutdown immediate ;—- 调整至 mount 状态
startup mount;
flashback database to scn 1526845;—- 闪回到过去的某时刻
flashback database to restore point before_points;
flashback database to timestamp to_date(20140510 , yyyymmdd
alter database read only;—- 将数据库置为只读状态,进行验证
shutdown immediate;—- 若闪回后满足要求,启动数据库
startup mount;
alter database open resetlogs;
18. 还原和恢复数据库文件
1)还原是指从所有的备份或镜像文件中找到一个用于恢复操作的数据文件。
2)恢复是指在还原的数据文件上应用 redo 日志或增量备份中记录的变化,使得数据文件向前滚到一个 SCN 值或者一个时间点。
3)在对数据库进行还原恢复操作时,可以先进行预览:restore database preview summary;
4)恢复整个数据库:
startup force mount;—- 将数据库至于 mount 状态
restore database;—- 还原数据库
recover database;—- 恢复数据库
alter database open;
5)恢复表空间:当数据库处于打开状态,可以通过 restore tablespace 和 recover tablespace 来进行表空间级的还原和恢复。在对表空间进行还原和恢复时,需要将表空间涉及到的数据文件置为离线,恢复完成后,再设为在线。
alter tablespace users offline;
alter tablespace users online;
6)对数据块进行恢复
RMAN 工具在进行备份时,会将备份过程中检测到的坏块记录到 V$DATABASE_BLOCK_CORRUPTION 视图中;
在备份过程中,坏块还会记录在告警日志和 TRACE 文件中,可以通过 V$DIAG_INFO 查看这些文件的位置,找到相关文件进行坏块查看。
使用 RMAN 进行坏块恢复
recover corruption list;—- 修复所有的坏块
recover datafile 1 block 33, 44 datafile 2 blocke 1 to 200;
以上是“oracle RMAN 怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!