中止RMAN备份必须使用RMAN自身命令(如ABORT)或Ctrl+C,禁用kill -9;否则易致控制文件损坏,引发ORA-00205或ORA-00600错误,后续须验证v$backup_set、执行CROSSCHECK及备份控制文件。
中止 RMAN 备份时,kill -9 操作极大概率导致控制文件损坏
直接用 kill -9 干掉 rman 进程或其子进程(如 oracle 后台进程)不是“快”,而是埋雷。rman 在备份过程中会持续更新控制文件中的检查点、scn 和备份集元数据;突然中断会让控制文件处于不一致状态,后续启动可能报 ora-00205: error in identifying control file 或更隐蔽的 ora-00600 内部错误。
- 真正安全的中止动作必须由 RMAN 自身发起,它会触发清理逻辑:关闭备份通道、回滚未提交的备份片元、重置控制文件中相关状态位
- 如果 RMAN 客户端已无响应(比如卡在 I/O 等待),优先尝试
Ctrl+C发送 SIGINT —— 这会触发 RMAN 的优雅退出流程,比 OS 层 kill 可靠得多 - 确认 RMAN 进程是否仍在监听命令:执行
ps -ef | grep rman | grep -v grep,若只看到rman target /但无交互提示符,说明客户端已 hang,此时才考虑其他手段
RMAN 中断命令 EXIT 和 ABORT 的实际效果差异
EXIT 是默认行为,仅退出当前 RMAN 会话,对正在运行的备份作业**完全无效**;而 ABORT 才是真正的中止指令,但它必须在备份命令执行中被输入,且只对当前通道生效。
- 在 RMAN 提示符下输入
ABORT,只会中止最近一次启动的通道(例如你用了ALLOCATE CHANNEL c1 DEVICE TYPE DISK;,那ABORT就只杀 c1) - 如果用了
CONFIGURE CHANNEL配置了自动多通道,需逐个ALLOCATE后再ABORT,不存在“一键全停”命令 -
ABORT不等于立即消失:它会等待当前写入的备份片完成写入并做校验,耗时取决于块大小和 I/O 延迟,通常几秒到几十秒 - 执行后检查输出:成功会显示类似
channel ORA_DISK_1: backup cancelled,若没看到该提示,说明命令未被接受,RMAN 可能已失去响应
SQL 层强杀 RMAN 通道会话前,必须先查清 PROGRAM 和 MODULE
RMAN 通道在数据库中表现为后台会话,但它们的 PROGRAM 字段通常是 oracle@host (TNS V1-V3),和普通连接无异;真正识别依据是 MODULE 字段,值为 rman channel=ORA_DISK_1 或类似。
- 查活跃通道会话:
SELECT sid, serial#, program, module, action FROM v$session WHERE module LIKE 'rman%';
- 强杀前务必确认
status = 'ACTIVE'且state = 'EXECUTING',避免误杀已完成但尚未清理的会话 - 执行
ALTER SYSTEM KILL SESSION '<sid>,<serial#>' IMMEDIATE;后,RMAN 客户端通常会报RMAN-03002: failure during compilation of command,这是预期结果,不是失败 - 注意:若使用了共享服务器(MTS),
KILL SESSION可能不生效,需改用ALTER SYSTEM DISCONNECT SESSION
中止后必须验证控制文件一致性,不能只看 RMAN 是否退出
即使 RMAN 退出成功、会话被杀干净,也不能认为系统已恢复安全状态。控制文件中残留的“进行中”备份记录会导致后续 LIST BACKUP 显示异常、CROSSCHECK 报错,甚至影响增量备份链。
- 立刻执行:
SELECT * FROM v$backup_set WHERE status = 'IN PROGRESS';
若有结果,说明控制文件未清理干净 - 运行
CROSSCHECK BACKUP;,观察是否出现EXPIRED条目 —— 这是 RMAN 自动修正的信号;若大量UNAVAILABLE,说明需要手动CHANGE ... UNAVAILABLE - 最关键的验证:执行一次最小化备份(如
BACKUP CURRENT CONTROLFILE;),成功即说明控制文件可正常读写;失败则需从自动备份或手工备份中恢复控制文件 - 最容易被忽略的是归档日志状态:中止备份期间产生的归档可能未被 RMAN catalog 记录,需人工
CATALOG START WITH '/path/to/arch/';

















