3.6 RMAN使用的SYS数据包
RMAN服务器进程在协调通道工作时要访问两个SYS数据包:
DBMS_RCVMAN
数据包和DBMS_BACKUP_RESTORE
数据包,
这两个包包含了目标数据库中RMAN的所有功能。
3.6.1 SYS.DBMS_RCVMAN
数据包
DBMS_RCVMAN
数据包用来访问控制文件中的表并将此信息传递给RMAN,使用RMAN可以构建准确反应数据库结构的备份和还原操作。
DBMS_RCVMAN
包负责在执行任何操作前设置time运算符和校验数据文件头中的检查点信息,并检查文件位置和大小,以及有关节点相似性(在RAC环境中)和磁盘相似性的其他信息。- 这种信息会影响RMAN的性能,并且RMAN在构建实际备份/还原命令之前自动执行负载均衡(load-balancing)算法和性能增强(performance-enhancing)算法。
3.6.2 SYS.DBMS_BACKUP_RESTORE
数据包
概述
RMAN接收从DBMS_RCVMAN
数据包返回的信息,并在通道间基于负载均衡算法分配工作,然后创建一系列DBMS_BACKUP_RESTORE
数据包调用。
- ⭐️⭐️⭐️⭐️⭐️
SYS.DBMS_RCVMAN
包访问控制文件并校验所有必须的信息。 - ⭐️⭐️⭐️⭐️⭐️这些必须的信息被传递回RMAN服务器进程,RMAN服务器进程随后会基于
recover.bsq
文件中的代码创建一些PL/SQL块。 - ⭐️⭐️⭐️⭐️⭐️这些PL/SQL块含有对
DBMS_BACKUP_RESOTRE
数据包的调用,实际上RMAN中是由DBMS_BACKUP_RESTORE
数据包来创建系统调用以备份数据文件,控制文件和归档日志,该包是RMAN的真正动力。 - 在
V$SESSION_LONGOPS
视图中可以跟踪的是DBMS_BACKUP_RESTORE
数据包的工作。它执行备份和还原操作,此外还可以以受限方式访问控制文件。 DBMS_BACKUP_RESTORE
数据包访问控制文件以备份该文件(实际上是控制文件的快照),在备份完成后写入备份信息。一旦完成了一个备份集,DBMS_BACKUP_RESTORE
数据包就会在控制文件的表中写入备份开始时间,备份大小和备份名的信息。
内核中的RMAN数据包
- 创建数据库时,运行
cataproc.sql
脚本可以默认安装上述两个RMAN数据包。- 数据库创建期间无法跳过这一步骤。
- 所以在8.0.3以后的每个版本里都存在rman包。
- 这样就不必配置RMAN,我们可以立即运行RMAN 并开始备份数据库。
- 这些RMAN数据包还有一个重要的特性,他们被硬编码到Oracle软件的库文件中,因此即使没有打开数据库也可以调用这些数据包。
- 我们知道,大多数数据包只在数据库打开时才能被使用,不过RMAN可以在数据库实例处于nomount模式或者mount模式时编写对
DBMS_BACKUP_RESTORE
数据包的调用。 - 这是一个关键要素,其原因显而易见:需要在没有打开数据库时也能备份和还原这个数据库。
- 我们知道,大多数数据包只在数据库打开时才能被使用,不过RMAN可以在数据库实例处于nomount模式或者mount模式时编写对
- 你会注意到这样的问题:如果要使用RMAN连接目标数据库,目标数据库应该处于什么状态?需要启动实例吗?数据库需要挂载吗?还是必须打开?
- 实际上RMAN 可连接到这3种状态的目标数据库, 但是目标数据库只有至少处于NOMOUNT 模式下,RMAN 才能执行更多操作, 而非仅发出startup 命令。
最后修改时间:2020-09-14 09:57:13
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
👍
1年前

评论
相关阅读
Oracle DataGuard高可用性解决方案详解
孙莹
570次阅读
2025-03-26 23:27:33
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
530次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
433次阅读
2025-04-18 14:18:38
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
429次阅读
2025-04-08 09:12:48
墨天轮个人数说知识点合集
JiekeXu
427次阅读
2025-04-01 15:56:03
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
424次阅读
2025-04-22 00:20:37
Oracle SQL 执行计划分析与优化指南
Digital Observer
424次阅读
2025-04-01 11:08:44
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
402次阅读
2025-04-22 00:13:51
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
390次阅读
2025-04-20 10:07:02
Oracle 19c RAC更换IP实战,运维必看!
szrsu
363次阅读
2025-04-08 23:57:08