使用 Oracle RMAN 和 ZFS Storage Appliance 优化高带宽备份和恢复操作需要调整控制 I/O 缓冲的实例参数。有关如何调整这些参数的信息,请参见 ID 为 1072545.1 的文章:《RMAN Performance Tuning Using Buffer Memory Parameters)》(《使用缓冲区内存参数调整 RMAN 性能》),位于 My Oracle Support 中。
对于 Oracle SPARC SuperCluster,应考虑调整四个参数:
_backup_disk_bufcnt-用于处理备份集的缓冲区数
_backup_disk_bufsz-用于处理备份集的缓冲区大小
_backup_file_bufcnt-用于处理映像副本的缓冲区数
_backup_file_bufsz-用于处理映像副本的缓冲区大小
对于针对备份集和映像副本的备份和恢复操作,将缓冲区数设置为 64,将缓冲区大小设置为 1 MB:
SQL> alter system set “_backup_disk_bufcnt”=64; SQL> alter system set “_backup_file_bufcnt”=64; SQL> alter system set “_backup_disk_bufsz”=1048576; SQL> alter system set “_backup_file_bufsz”=1048576;
可将这些命令添加到 SPFILE 以永久性配置它们,或可在用于执行备份或恢复操作的 Oracle RMAN 运行块中动态地设置这些命令。
以下代码片段显示了如何针对备份和恢复操作动态地调整缓冲区大小和计数。
备份集备份:
run {<br/> sql 'alter system set “_backup_disk_bufcnt”=64';<br/> sql 'alter system set “_backup_disk_bufsz”=1048576';<br/> allocate channel... ...<br/> backup as backupset database; }
备份集恢复:
run {<br/> sql 'alter system set “_backup_disk_bufcnt”=64';<br/> sql 'alter system set “_backup_disk_bufsz”=1048576';<br/> allocate channel... ...<br/> restore database; }
映像副本备份:
run {<br/> sql 'alter system set “_backup_file_bufcnt”=64';<br/> sql 'alter system set “_backup_file_bufsz”=1048576';<br/> allocate channel... ...<br/> backup as copy database; }
映像副本恢复:
run {<br/> sql 'alter system set “_backup_file_bufcnt”=64';<br/> sql 'alter system set “_backup_file_bufsz”=1048576';<br/> allocate channel... ...<br/> restore database; }
执行以增量方式应用的备份操作需要读取增量备份集和写入到映像副本。要为以增量方式应用的备份调整缓冲区,请运行以下命令:
run {<br/> sql 'alter system set “_backup_disk_bufcnt”=64';<br/> sql 'alter system set “_backup_disk_bufsz”=1048576';<br/> sql 'alter system set “_backup_file_bufcnt”=64';<br/> sql 'alter system set “_backup_file_bufsz”=1048576';<br/> allocate channel... ...<br/> recover copy of database; }