深入理解 RMAN 备份:类型、模式与操作指南
1. RMAN 相关组件与内存需求
RMAN 不仅可以在磁盘驱动器上进行备份,还能将备份存储在磁带驱动器上。为了与磁带进行交互,RMAN 需要制造商提供的相关驱动,而 Oracle 提供的 Media Management Library (MML) API 能让供应商编写接口。不过,使用 MML 通常涉及许可费用。
Oracle Secure Backup (OSB) 可视为 RMAN 的附加组件。由于磁带驱动器供应商众多,使用环境也各不相同,OSB 内置了适用于 RMAN 的 MML,并提供了统一的管理界面,不仅能管理数据库,还能管理底层挂载点。此外,它能与 NAS 无缝集成,并且如果需要,还能通过 EM 提供 GUI 界面。
RMAN 还会使用位于 $ORACLE_HOME/rdbms/admin
的 RECOVER.bsq
库文件。RMAN 执行的所有命令都会通过远程过程调用 (RPC) 转换为 PL/SQL 过程调用,在目标数据库中,会使用 DBMS_BACKUP_RESTORE
、 DBMS_RCVMAN
和 DBMS_RCVCAT
等内部包来执行这些过程调用。
在将 RMAN 任务的元数据存储到目标数据库的控制文件之前,这些元数据会保存在实例中。默认情况下,RMAN 使用共享池内存结构来保存这些元数据,但共享池是一个包含大量内存池(超过 800 个)的中央存储库,用于数据库的各个方面。因此,建议使用大池(Large Pool)来存储 RMAN 元数据,可通过 LARG