暂停MRP但保持RFS接收,只需执行ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;,该命令终止MRP0进程(状态变为NOT APPLYING或IDLE),而RFS仍正常接收重做数据;切回实时同步时执行USING CURRENT LOGFILE即可从SRL最新位置续应用。如何暂停MRP但保持RFS日志接收备库停掉mrp进程后,默认仍会通过rfs进程接收主库发来的重做数据------前提是归档传输没被手动禁用。关键在于:mrp(日志应用)和rfs(日志接收)是两个独立进程,停止前者不影响后者运行。实操上只需执行一条命令即可暂停应用,同时保留传输链路畅通:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; ------ 这会终止MRP0进程,状态变为NOT APPLYING,但RFS照常写SRL或归档日志确认MRP已停:SELECT PROCESS, STATUS FROM vmanaged_standby WHERE PROCESS = 'MRP0';,返回空或STATUS = 'IDLE'即成功检查RFS是否仍在工作:SELECT PROCESS, STATUS, CLIENT_PROCESS FROM vmanaged_standby WHERE PROCESS = 'RFS';,只要STATUS不是FAILED且CLIENT_PROCESS为LGWR或ARCH,说明接收正常为什么不能只关LGWR或设DEFERRED?误以为"关闭日志传输"就能"只收不应用",其实是混淆了传输层和应用层。若在主库把LOG_ARCHIVE_DEST_2设为DEFERRED,或停掉LGWR进程,RFS根本收不到新数据,备库日志就会断流,后续恢复时可能触发ORA-01547或gap问题。DEFERRED是传输开关,一关就断收;而CANCEL只是应用开关,收不停RAC环境尤其要注意:必须在每个主库实例执行ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;,否则部分节点传输静默失败,你以为"还在收",其实只有一半在干活如果主库用的是ARCH异步传输,备库即使停MRP,也只会收到归档而非实时流,延迟天然偏高;建议优先确保主库配置LGWR ASYNC,再停MRP常见错误现象:MRP停了,但RFS也挂了典型表现是v$managed_standby里RFS显示FAILED或UNKNOWN,ALERT.log里出现TNS-12545、ORA-12170或ORA-01034。这不是MRP命令的问题,而是网络或监听配置崩了。 WisPaper 复旦大学研发的AI学术搜索工具,5分钟内筛选1000篇论文
相关推荐
青少儿编程课堂13 分钟前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:中缀表达式求值解析这个DBA有点耶22 分钟前
MySQL 8.0直方图:统计信息升级了,执行计划为什么还是选错?灿飞屋2 小时前
Kotlin与Java虚拟机四:函数老纪的技术唠嗑局2 小时前
把 seekdb 塞进 iOS App:让混合检索嵌入手机ClouGence3 小时前
开源数据库管理工具 CloudDM 新版本发布,支持 OpenSearch、IoTDB 数据源徐小黑ACG3 小时前
Redis-基础一晌小贪欢4 小时前
Python基础:第 09 篇 · while 循环:重复直到不满足火山引擎开发者社区4 小时前
案例实践 | 让 Agent 读懂业务口径:ContextSearch 在广告数据查询中的实践一条大祥脚4 小时前
CuTe 与 CuTe DSL:从 C++ 模板元编程到 Python DSL 的 GPU 编程演进10年前端老司机5 小时前
Milvus 8种检索能力实践