如何在Oracle 12c中配置RMAN备份片的最大切片大小?

浅杰大大_1557

浅杰大大_1557

2026-07-13

804人浏览

原创

RMAN中唯一决定单个备份片大小的是configure channel device type disk maxpiecesize命令,它强制按指定大小切片并生成新文件;maxsetsize控制备份集整体大小,set limit channel仅限RUN块内使用且不触发分片。

configure channel device type disk maxpiecesize 是唯一生效方式

rman 中控制单个备份片(backup piece)大小的配置,只有 configure channel device type disk maxpiecesize 这一条命令实际起效。其他看似相关的参数(如 maxsetsize、set limit channel 在非 run 块中)都不影响切片逻辑。
它不是“建议值”,而是硬性切割阈值:一旦备份数据流达到该大小,rman 就强制关闭当前备份片、生成新文件,并继续写入下一个片。

  • maxpiecesize 必须带单位(100M、2G),不支持 100m 或 100MB(会报 ORA-19566 或语法错误)
  • 该配置只对后续使用 device type disk 的通道生效;若同时配了磁带(SBT),需单独为 device type sbt 设置
  • 修改后立即生效,无需重启实例或 RMAN 客户端,但已有 RUN 块中的通道不受影响

为什么不能用 set limit channel kbytes 在 CONFIGURE 里设?

set limit channel 只能在 RUN 块内使用,且作用是限制**单个通道进程的累计写入量**(不是单个备份片大小),常被误当作切片控制手段。它本质是“写满就停”,但不会触发新备份片生成——RMAN 会直接报错中断备份,而不是优雅分片。

  • 错误写法:configure channel device type disk set limit channel d1 kbytes=10000; → 语法拒绝,RMAN 报 ORA-01031
  • 正确场景:仅在 RUN 块中配合 ALLOCATE CHANNEL 使用,用于限速+防止单次写入过大(如磁带容量不足),但必须搭配 maxpiecesize 才能真正分片
  • 典型组合:allocate channel c1 type disk; set limit channel c1 kbytes=102400; backup database format '/bk/%U'; —— 此时仍依赖 maxpiecesize 决定是否切片,set limit 只是兜底熔断

maxpiecesize 和 maxsetsize 容易混淆的边界

maxpiecesize 控制物理文件大小上限,maxsetsize 控制逻辑备份集(backup set)整体容量上限,二者互不替代,且行为冲突时以 maxpiecesize 优先。

QuantOracle
QuantOracle

63个确定性量化金融计算器 + 10个通过MCP的复合工作流。期权定价、Greeks、奇异衍生品、风险指标、投资组合优化……

下载
  • 若只设 maxsetsize 1G,但未设 maxpiecesize,RMAN 默认按 2GB 切片(Oracle 12c+ 行为),可能生成一个超 1G 的备份集含多个片 —— 这违反了你的 maxsetsize 意图
  • 若 maxpiecesize 500M 且 maxsetsize 1G,RMAN 最多生成 2 个片(500M + 500M),不会出现第三个片,哪怕数据总量刚超 1G
  • 若 maxpiecesize 500M 但 maxsetsize 300M,备份直接失败:因为单片最小也要 500M,不可能塞进 300M 的集里

生产环境推荐配置与验证方法

不要依赖默认值。磁盘备份建议显式设 maxpiecesize,尤其当目标文件系统有单文件大小限制(如 FAT32 ≤4GB,某些 NAS 对 >2GB 文件处理异常)或需要适配磁带块长时。

  • 常用值:configure channel device type disk maxpiecesize 2G;(兼顾兼容性与管理粒度)
  • 验证是否生效:执行一次小备份(如 backup datafile 1 format '/tmp/df1_%U.bkp';),然后 ls -lh /tmp/df1_*.bkp 看文件大小是否 ≤2G;再查 list backup of datafile 1; 确认 Piece Name 是否出现多个条目
  • 注意路径权限:format 中的目录必须对 Oracle OS 用户可写,否则即使配置正确,也会在写第一个片时因权限失败而中断,不提示切片问题

真正决定备份片怎么切的,从来就只是 maxpiecesize 这一个开关。其他所有“看起来相关”的参数,要么无效,要么只起辅助约束作用。配置前务必确认存储后端对单文件大小的实际限制,别让 RMAN 切得刚好,却卡在 OS 层写不进去。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

oracle

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
oracle清空表数据
oracle清空表数据

当表中的数据不需要时,则应该删除该数据并释放所占用的空间。本专题为大家提供oracle清空表数据的相关文章,帮助大家解决该问题。

2023.08.16

921

5

Oracle中declare的使用
Oracle中declare的使用

Oracle DECLARE语句是PL/SQL编程语言中用于声明变量、常量、游标或异常的关键字。它的主要作用是在程序中定义这些对象,以便在后续的代码中使用。DECLARE语句的语法简单明了,可以根据需要声明多个对象。通过使用这些声明的对象,可以进行各种操作,如计算、查询数据库、处理异常等 。

2023.09.15

2633

5

oracle怎么分页
oracle怎么分页

实现分页的步骤:1、使用ROWNUM进行分页查询;2、在执行查询之前进行设置分页参数;3、使用"COUNT(*)"函数来获取总行数,并使用"CEIL"函数来向上取整计算总页数;4、在外部查询中使用"WHERE"子句来筛选出特定的行号范围,以实现分页查询。想了解更多oracle怎么分页的文章,可以来阅读本专题先的文章。

2023.09.18

2670

5

Oracle查看表操作历史记录
Oracle查看表操作历史记录

查看操作历史记录的方法:1、使用Oracle内置的审计功能,可以记录数据库中发生的各种操作,包括登录、DDL语句、DML语句等;2、使用Oracle日志文件,其中包含了数据库中发生的各种操作,可以通过查看日志文件来获取操作历史记录;3、使用Oracle的Flashback功能,可以查看数据库在某个时间点的操作历史记录;4、使用第三方工具等。本专题还提供其他查看表操作的文章,大家可以免费阅读。

2023.09.19

1529

3

Oracle中RAC的用法
Oracle中RAC的用法

Oracle中RAC的用法:1、通过在多个服务器上运行数据库实例来提供高可用性;2、允许在需要时增加或减少节点数量;3、通过将工作负载分布到多个节点上来实现负载均衡;4、使用共享存储来实现多个节点之间的数据共享;5、允许多个节点同时处理数据库请求,从而实现并行处理;6、提供了透明故障切换功能;7、使用了一些技术来确保数据的一致性;8、提供了管理工具来简化RAC环境的管理和维护。本专题还提供RAC相关的其他文章,大家可以免费阅读。

2023.09.19

2133

7

oracle imp
oracle imp

imp是Oracle数据库中的一个命令行工具,用于将导出的数据和对象从一个数据库实例导入到另一个数据库实例。imp命令的一般语法为“imp username/password@connect_string file=file_name [options]”。

2023.09.19

2829

4

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.02

4369

19

oracle通配符有哪些
oracle通配符有哪些

oracle通配符有“%”、“_”、“[]”和“[^]"。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.08

237

5

oracle四舍五入怎么操作
oracle四舍五入怎么操作

oracle四舍五入操作可以使用ROUND函数来实现,其语法为“ROUND(number, decimal_places)”,其中,number是要进行四舍五入的数值,decimal_places是指定的小数位数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.14

726

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程