RaC——挂衬衫且打包外卖盒:如果机器人将失败,则人类让其先回退后纠正,以减缓IL中的误差累积(让数据的增长对任务促进的效率更高)

前言

现代机器人模仿学习范式通过在大量人类演示数据上训练表现力强的策略架构

然而,即使拥有成千上万的专家演示,在涉及丰富接触、可变形物体以及长时序任务上的表现仍远低于完美执行。这是由于现有基于人类远程操作的" 专家" 数据采集过程效率低下所致

为了解决这一问题,来自CMU的研究者提出了RaC,即在模仿学习预训练之后,引入人类参与回滚的新训练阶段

  1. 在RaC 中,作者使用"恢复和纠正机器人行为的人类干预轨迹" 对机器人策略进行微调
    具体来说,在策略执行过程中,当失败即将发生时,人类操作员会介入,首先将机器人倒回到一个熟悉的、分布内的状态,然后提供一个完成当前子任务的纠正片段
  2. 在这种数据组成上进行训练,使机器人技能库扩展到包括重试和适应行为,作者宣称,他们证明这些行为对于提升长时序任务的效率和鲁棒性至关重要

有的读者可能已经联想到了HIL-SERL,毕竟两者都融入了人工干预,不过HIL-SERL更多是IL和RL的结合,且不带回退,用的干预工具是SpaceMouse 3D鼠标

而RaC更多是IL和类VLA结构(ResNet + DiT + 流匹配)的融合,且带回退

第一部分 RaC:通过扩展恢复与修正能力实现机器人长时任务学习

1.1 引言与相关工作

1.1.1 引言

如原论文所说,在现代机器人学习中,利用富有表现力的模型对人类远程操作数据进行模仿学习已成为推动该领域进步的重要动力

事实上,近期众多学术界和工业界的研究都在大规模扩展模仿学习,将其作为机器人预训练的一种方式2,4-6,34,41,42,50

然而,越来越多的结果表明,这一范式的性能正在接近一个远低于完美任务完成率的上限。例如,即使拥有超过5000 个人类演示,最先进的特定任务模型在使用双手操作器将一件T 恤挂到衣架上的成功率也仅约为75 %

尽管人们或许希望通过更多数据或其他学习框架来弥补这一差距,但在实际操作中,这些方法在应对长期任务中的累积误差和随机性方面仍然面临挑战

  1. 原因在于虽然模仿专家动作能够让策略获得一些"基础"的有用技能,但当机器人面临任务变种或新的初始状态、环境具有随机性或噪声,或者任务本身具有长时序特性时,单纯模仿本质上是次优的

    在这些情况下,某一阶段的失败会阻碍后续阶段的成功(即,"误差累积"可能导致灾难性后果)15

  2. 因此,通过模仿学习训练的策略往往难以泛化到真实世界的随机性和动态变化中,即使增加数据量,其回报也会递减,最终导致性能平台期

    关键在于,这种失败并非源自学习算法或模型本身,而是由于数据分布本身:演示数据偏向于干净、成功的轨迹,但并未赋予策略应对长时序任务中由随机性引发的误差累积所需的行为能力

说白了,就是现实中情况多种多样,模仿学习训练出来的策略其泛化能力不行

在本研究中,来自CMU的研究者提出了一种用于训练机器人策略的替代范式,称之为RaC,直接针对仅以成功案例为基础的模仿学习的局限性

具体而言

  1. 他们在对干净的远程操作数据进行基本模仿学习(即"预训练")之后,交错使用成功完成任务的轨迹与包含恢复、重试和适应等片段的轨迹
    The central idea of RaC is to train on trajectories that interleave successful task executions with segments that demonstrate recovery, retries, and adaptation

    虽然标准的人类远程操作数据可能已经包含了一些偶发的恢复行为,RaC 则是有意识地鼓励并强化这些行为

  2. 从概念上讲,这一阶段类似于大型语言模型(LLM)推理中的"中期训练"45,其目的是展示如何将基础知识与算法行为(如回溯、试错、自我验证等)有效结合,通过生成更长的响应来解决复杂的推理问题

具体而言,作者引入了一种轻量级的人类参与数据收集协议:当运行中的策略开始偏离预期轨迹时,人类远程操作员会介入并接管控制权

如图3所示------其展示RaC核心概念『图中对比了通过RaC指定的人为干预收集的数据,以及仅基于修正数据("HG-DAgger")与同时包含恢复与修正数据(RaC)时策略执行的样例

  • 典型的干预方法(左)仅收集修正数据,即从分布外状态推动任务向前发展,目标是推进任务进程
  • 相比之下,RaC(右)首先收集一段恢复数据,将机器人带回到先前熟悉的状态**,然后再进行修正**,从该状态推动任务前进
    这样可以"加密"对熟悉状态的覆盖,并让机器人学会恢复到更广泛的初始状态区域
    由于学习恢复比推进子任务更容易,RaC利用了一种"验证-生成差距"38:它允许策略通过多次恢复来提升成功率

总之,这些干预自然分为两类:

  1. 错误纠正片段,即人类专家引导机器人完成任务(类似于DAgger风格的监督)
  2. 恢复片段,即人类将机器人回退或重新定位到先前成功的状态

为了扩展模仿学习中的恢复与纠正能力,RaC用两条规则对干预过程进行了标准化

  1. 规则1(先恢复再纠正)将每次人类接管操作结构化为:首先重置回分布内状态,然后执行纠正片段以完成当前子任务
  2. 规则2(干预后终止)则在干预片段结束后立即终止当前回合,避免在混合了学习策略和人类专家的状态分布下收集后续子任务的数据

关键在于,RaC保持模仿学习目标不变;性能提升完全来自于更优的数据构成

1.1.2 相关工作

第一,对于机器人学习中的数据扩展

  1. 近期研究表明,在不同任务、机体和环境中扩展真实机器人数据能够实现泛化
    大规模机器人数据集6,11,23,43,结合高表达力的神经网络架构2,4,5,24,30,34,42,已经产生了能够在多种基础技能(如抓取物体、折叠布料)上表现出色的通用策略
  2. 与此同时,另一类研究10,50也表明,类似的数据驱动方法同样能够产生在更复杂的灵巧双手任务上表现优异的专用策略。然而,这些方法通常需要为每项技能收集数千条高质量的专家演示50

第二,机器人模仿学习中的扩展性研究

受到LLMs 相关工作的启发18, 20,有若干研究旨在为机器人模仿建立扩展性规律14, 27, 48。这些工作中的一部分,旨在评估任务变化下的泛化能力,分析了策略在短时任务中的表现与训练数据中环境多样性之间的关系

  1. 然而,在所有此类研究中,演示数据本身都是通过人类" 专家" 远程操作收集的,并且在数据中展示的技能类型上变化很小

  2. 相比之下,RaC不关注环境多样性,而是关注长时任务中轨迹内的数据收集策略:具体来说,关注各种动作、恢复行为以及其中的变化

    正如RaC在实验中展示的,精心设计的轨迹级别收集策略,相较于以往在类似任务上的工作50,可以将效率提升超过10×

第三,对于人类在环模仿学习

RaC的方法通过强调恢复与纠正行为来收集干预数据,这使其与人类在环模仿学习的广泛文献相关联。经典方法源自 DAgger 37,其流程包括:

  1. 基于学习者的策略进行 on-policy rollout
  2. 在访问到的状态上向专家提问
  3. 在聚合的数据集上重新训练

该框架假设可以访问高质量的专家策略

  1. 为了将 DAgger 适应于人类操作员,HG-DAgger 22 允许远程操作员在策略访问到不良状态时进行干预,而更近期的系统如RoboCopilot 46 则通过开发改进的远程操作与干预界面,将这些思想扩展到双手移动操作任务

  2. 其他工作 29,33 探索了结合 on-policy rollout、干预数据与完整人类演示的目标。尽管RaC的学习目标与 HG-DAgger 22 有相似之处,但RaC在一个关键方面与其有所不同:以往的工作大多将人类干预视为需要模仿的最优专家解法,而RaC展示了收集恢复片段(这些片段本身并非任务最优,甚至可能逆转子任务的进展) 能显著提升扩展性

    这一发现挑战了"只有'专家'干预才有用"的传统观点,并突出了轨迹级数据收集的重要作用

第三,对于共享自主性

高效收集干预数据需要响应迅速且直观的遥操作界面。以往的人机协作系统通常依赖于6自由度SpaceMouse 29,31,32,或带有屏幕按钮和IMU传感的智能手机软件 33

  1. 虽然这些设备具有一定的功能性,但它们学习曲线陡峭25,且在应用于灵巧技能时尤其困难,特别是那些需要手腕旋转的操作
    因此,这些方法大多仅限于单臂场景或末端执行器姿态受限的相对简单的操作任务
  2. 最新的研究*46-Robocopilot: Human-in-the-loop interactive imitation learning for robot manipulation*尝试将VR摇杆与外骨骼硬件结合,以提供力反馈和更丰富的干预选项,但这需要专用设备并增加了额外成本
  3. 相比之下,RaC采用了广泛可得的现成VR摇杆作为远程操作和干预接口。通过在下文(对应于原论文第4.3节中)描述的轻量级软件修改,RaC的设计使用户能够即时接管控制并进行干预,无需将VR摇杆的姿态与机器人末端执行器的姿态对齐

第四,对于模仿学习中的恢复与纠正

  1. 已有多项研究探讨在模仿学习训练中引入恢复和纠正机制。Wang等人44提出了一种"回溯与优化"数据收集系统,该系统能够检测失败,通过重放轨迹使机器人回到先前的姿态,然后由远程操作员收集纠正性轨迹

    类似地,1,19研究了在仿真环境中自动生成和筛选恢复轨迹,以扩充数据集覆盖范围
    然而,这些方法仅限于纯仿真任务或受限的 sim2real 场景

  2. Sun 和 Song40在专家数据和学习得到的潜在动力学模型上训练基础扩散策略,并在测试时进行动态调整,以促使策略保持在专家演示流形上

    Ke 等人21从专家演示中学习局部 Lipschitz 动力学模型,并在演示流形附近合成纠正标签,以缓解累积误差
    Xu 等人47结合了顺应性干预接口以提供纠正,并学习残差策略以提升高接触任务的性能

  3. ++与通过设计回溯机制或修改基础模仿学习策略来工程化返回分布内状态的方法不同++ ,RaC 将恢复视为另一项"技能",通过人类演示学习,并与完整演示及纠正技能显式扩展

    因此,无需修改现有模仿学习目标或增加机器人系统的复杂性,RaC通过直接扩展人类演示数据,提高了策略的鲁棒性和性能

  4. Brandfonbrener 等人3提出了一种与 RaC 类似的数据收集协议,操作员通过回溯到较早的视觉状态,故意收集一系列视觉上相似的失败、恢复和成功序列
    然而,Brandfonbrener 等人3从离线强化学习的角度研究了这种数据收集策略的益处,使得能够从小型数据集中高效学习精确的价值函数
    而RaC则聚焦于此类恢复技能在数据集构成中的扩展性及其对模仿学习策略的影响

1.1.3 背景与机器人设置

首先,对于机器人本体的设置

作者的机器人系统(见图2)由两台7自由度的xArm-7机械臂组成,配备了缩小版的软体夹爪10,51,以便于完成富有接触和灵巧操作的任务

  1. 为了实现响应式控制,中央服务器以60Hz的频率同步并发布来自顶视摄像头和两个腕部摄像头的RGB图像流、机器人状态以及动作指令
  2. 且他们的系统采用RMPFlow8作为逆运动学运动生成器,实现实时避障和流畅的机械臂运动

从纯粹的机器学习角度来看,RaC的工作位于具有不断演化机器人数据集的迭代模仿学习环境中。该数据集中的每条轨迹 ------由每个观测 对应的一个动作组成

  • 在本文中,作者提出了一种通过在人类干预先前一代学习策略的基础上收集模仿学习数据的方法,从而实现更好的可扩展性

  • 正式来说,作者的目标是开发一种迭代式的人类数据收集策略,使任务性能的可扩展性随着数据收集预算的变化而提升

    换句话说,作者旨在提升可扩展性表现,即任务成功率与数据规模之间的斜率
    说白了,++就是让增长的数据对任务成功的促进效率更大++

为了研究数据组成,作者的数据包含三种类型:

  1. 完整且成功的专家演示
  2. 恢复片段,这些片段始于失败或分布外区域,并返回到分布内区域
  3. 以及(iii) 直接完成当前子任务的修正片段

其次,对于数据收集协议

作者的数据收集从使用初始预算规模R0(以小时或帧数/时间步数计)收集一轮完整演示数据开始

然后,作者

  1. 首先使用这轮" 第0 轮" 完整演示数据训练一个初始策略π0,并评估其性能
    第0 轮数据也可以来自社区中已有的现成模仿学习数据集
  2. 随后,可以通过两种协议扩展数据规模
    在批量数据收集协议中 ,作者分配额外的帧预算,从而获得一个大小为 的专家数据批次
    在迭代人工干预协议22,29,33,46 ,专家则进行K 轮交替的干预和训练
    In theiterative human intervention protocol 22, 29, 33, 46, experts instead perform 𝐾alternating rounds ofintervention and training:
    在每一轮k 中,他们在的执行过程中进行干预,将这些干预片段以不同方式与现有数据聚合,并重新训练一个新策略
    in each round 𝑘, they provide interventions during rollouts of 𝜋𝑘−1, aggregate these intervention segments with existing data (in different ways), and retrain a new policy 𝜋𝑘

总之,作者将研究能够最大程度提升模仿学习数据扩展效果的干预方式

1.2 RaC:用于模仿学习的可扩展恢复与纠正方法

作者的目标是设计一种可扩展模仿学习的迭代数据采集策略。与以往仅收集纠正片段的迭代方法22,29,33,46不同,RaC的方法有意识地引导人类干预,使其在采集"纠正"片段的同时,包含大量"恢复"片段

虽然恢复片段在完成长时序子任务时表现为次优方案,但在任务过程中,他们会主动将策略带回到分布内状态,从而让其有机会重新尝试任务(见图3)

相比之下,纠正片段则展示了如何完成该任务。作者的主要观点是,多次重试的能力为策略提供了一种通用方法,可以通过延长操作时间来降低错误,从而减轻模仿学习中常见的累积误差瓶颈

总之,作者对恢复与纠正的概念进行了形式化,并提出了一种能够自然收集富含这些行为的数据的方法

1.2.1 理解恢复与纠正片段在模仿中的作用

考虑一个机器人策略π,其执行轨迹,其中 表示人类专家介入时的状态

  • 开始的一系列人类动作构成一个恢复片段------如果机器人在介入后到达的状态落在前缀人类演示中访问到的状态分布内
  • 相反,如果该系列动作使得最终状态** 落在演示** 中 之后访问到的状态分布内,则该系列动作构成一个纠正片段

恢复片段如何提升性能?直观来看,恢复片段能够将策略带回到熟悉的先前状态,使其有机会重新尝试完成任务;而纠正片段则展示了如何将轨迹向前推进

  1. 这引出了一个问题:通过模仿恢复片段,策略是否真的能够学会"自我重置",以及为什么这会提升性能

  2. 作者的核心直觉是
    在那些有效初始状态集合较为宽泛的任务中(例如,将T恤挂在衣架上的任务,任何衣服平放在桌面且衣架被机器人手臂举在衣服上方的配置都可视为初始状态
    而有效目标状态集合却较为狭窄(例如,只有当衣服被正确挂在架上的衣架上时才算达成目标
    重置到先前遇到的状态通常比正确执行一个子任务(如将衣领插入衣架)要容易得多

    因为可以重置到多个熟悉的过去状态,恢复所需的精度较低,学习效率也高于直接解决整个任务
    这类似于验证---生成差距(VG-gap)38的存在,即学习某一项技能(恢复)比学习另一项技能(任务解决)更高效

这意味着,通过在恢复和纠正行为的混合数据上进行模仿学习训练,可以使策略具备两种互补的性能提升方式:

  1. 通过模仿纠正片段(以及完整演示)来在首次尝试时取得进展,至少有一定概率成功
  2. 能够重置到先前熟悉的状态并重新尝试
    当任务环境具备上述结构时,这种恢复能力可以通过相对较少的数据获得。一旦策略能够可靠地从预期的失败中恢复,多次重试就会自然地提升至少有一次成功完成子任务的总体概率

实际上,随着重试次数的增加,子任务从未成功的概率会呈指数级下降。这意味着模仿学习中的总体次优表现应当减少

这一机制类似于大型语言模型(LLMs)中的顺序测试时扩展方法 39:++正如长链式思维(CoT)模型 16 通过在回溯和恢复上消耗更多 token 并在重新尝试问题前提升性能和泛化能力一样++,作者预期 RaC 通过在动作空间中直接进行回溯和重试,也能获得类似的提升

那恢复片段如何提升数据扩展能力呢,相较于HG-DAgger风格的方法?

  1. 如上图右侧所示
    恢复片段提升了数据效率,因为返回到熟悉的分布内状态通常所需的数据量,比掌握许多纠正子任务要少得多
    在分布内状态下,策略已经能够从现有数据中获得强有力的监督
    ,而新添加的纠正片段进一步增强了这种监督
  2. 相比之下,如上图左侧所示
    HG-DAgger 等方法会在未知的分布外状态下展现出全新的行为,并要求策略能够掌握这些新行为。因此,HG-DAgger 的性能随数据规模的提升预期会较低,因为在有限干预预算内,它既不会显著扩展对分布内状态的覆盖,也无法有效扩展对新颖未知状态的覆盖

总之,如RaC原论文中所说的

  • 仅仅对专家的完整演示进行缩放,会优先考虑最优轨迹,但对分布外(OOD)状态和失败状态的覆盖不足,导致误差累积
  • 在训练中引入能够从失败或分布外状态恢复并在恢复后完成任务的轨迹,有助于促进"先恢复再重试"的行为,从而提升性能与数据效率

1.2.2 人类远程操作中的恢复与纠正片段的扩展

接下来,将探讨如何收集包含大量恢复与纠正片段的模仿数据。原则上,可以简单地指示人类远程操作员人为制造可能的失败状态,并演示相应的恢复和纠正行为 3

  • 然而,由人为设计或"虚假"状态下产生的这些行为,可能无法真实反映学习策略实际遇到的分布外错误。由于策略错误与具体策略密切相关,纯粹的离线方法通常难以奏效(类似于 LLMs38
  • 一种更有效的替代方案是通过人类参与环节(human-in-the-loop)进行干预来收集数据。通过对第 下文(对应于原论文5.3 节)中人类干预数据的分析,作者发现如果数据采集协议缺乏标准化,就很难在恢复与纠正之间实现良好的平衡

因此,作者提出了两条简单的干预规则:

  1. 规则1:为每个恢复阶段配对一个纠正阶段
    每次干预都被设计为包含两个阶段


    首先,人工操作员通过执行一系列动作,使机器人系统回到熟悉的分布内状态区域,从而进行恢复行为
    随后,操作员提供纠正行为,试图推动当前子任务的进展
    这种简单的结构确保每次干预都能让策略既学习如何自我重置,也学习如何取得进展,而不是只强调其中之一

  2. 规则2:干预后终止
    在一次干预结束后,作者会终止整个实验过程
    毕竟在长时序任务中,后续子任务依赖于前面子任务的正确执行。如果在人工干预后继续执行,将导致后续子任务所处的状态分布由学习到的策略与人工远程操控的混合产生

    虽然这种混合本身并不一定有问题,但在这种状态分布上学习,未必能提升策略在自身诱导的状态分布下完成后续子任务的能力,因为后续子任务的状态分布很可能与人工与策略混合分布有显著差异
    这意味着,干预后收集的后续子任务数据对提升策略帮助有限,反而会消耗更多样本。相反,提前终止可以将总的数据收集预算更多地用于提升早期子任务的表现

如原RaC论文中所说的

  1. 对于广泛使用的DROID 数据集23,对其1 % 的子样本进行分析显示,只有3.68 % 的片段包含≥1 次recovery,16.58 % 的片段包含≥1 次correction
  2. 类似地,在第5.3 节中,HG-DAgger 数据也严重偏向于correction,recovery 片段非常稀少

RaC 规范了干预的数据采集流程:将一次recovery 与一次correction 配对,然后终止,以产生均衡的技能混合,从而提升鲁棒性和数据效率

1.2.3 共享自主接口与远程操作员引导

为了实现对RaC 的有效干预,作者设计了一个基于Oculus Quest VR 控制器的轻量级共享自主接口

  1. 他们的设计采用了一个" 离合" 机制,将策略执行与人工接管统一起来:当按下侧边按钮时,控制器的动作会直接映射到末端执行器,使操作者能够接管控制并进行干预;当松开侧边按钮时,机器人则按照学习到的策略执行

  2. 为了减轻操作员的负担,作者采用了基于相对位姿增量的局部坐标系注册方案
    表示固定的VR 头戴设备坐标系, 表示时刻 的手持控制器坐标系

    在离合接合时刻(t = 0),作者将控制器相对于头戴设备坐标系的位姿 定义为局部基准坐标系
    之后的位姿则在该局部坐标系下表示为

    其中平移增量为,旋转增量为,用于参数化末端执行器的指令
    该设计消除了对全局姿态对齐的需求,使操作员能够以最小的阻力进行接管和干预

此外,为了便于操作员演示遵循"先恢复后纠正"规则的轨迹,作者基于图像分割模型SAM2 36开发了一款轻量级软件工具。该工具通过追踪++在初始全流程演示数据采集阶段++ 由顶置摄像头记录的机器人夹爪的所有RGB帧,生成机器人末端执行器的访问频率热力图『This toolrenders a robot end ef-fector visitation frequency heatmapbytrack-ing robot grippersacrossall RGB frames recorded by the overhead camera++in the ini-tial round of full demonstration data col-lection++.

如图5所示------用于指导干预数据收集的可视化辅助工具。作者利用夹爪访问频率的叠加热力图,展示遥操作员应当恢复到的分布内区域。在"蛤壳外卖盒打包"任务中,如下图所示,当策略在子任务3中使用铲子未能成功舀起汉堡时,遥操作员会将夹爪恢复到标记为子任务3的边界框内位置,以便重新尝试

在数据采集过程中,作者将该热力图叠加显示在顶置摄像头的窗口中,为操作者提供可视化辅助,明确显示机器人夹爪在干预后应当回到的分布内区域

该方法为引导恢复演示回归到分布内区域提供了一种有效途径

1.2.4 策略架构与基于模仿学习的训练

作者利用包含多模态、长时序行为的数据集进行模仿学习,具体而言,数据集包含以下类型

  1. 完整演示
  2. 策略自身在在线部署中的完全成功
  3. 有人为干预并进行恢复和纠正的片段

考虑到拟合各种数据来源需要高容量的策略架构,并具有足够表达能力的输出头2, 9, 30

  1. 对此,作者采用了flow-matching28 策略来拟合一个动作块49,其条件为观测,其中 为第 个RGB 相机图像,为包含末端执行器速度和每个末端之间相对距离的机器人状态向量,时间步为

    对于所有任务,作者使用H = 60,相当于预测未来一秒的动作

  2. 具体的策略采用了一个拥有3亿参数的多模态扩散Transformer(MM-DiT)架构12,*至于DiT的介绍,详见《[Diffusion Transformer(DiT)------将扩散过程中的U-Net换成ViT:近频繁用于视频生成与机器人动作预测(含清华PAD详解)](https://blog.csdn.net/v_JULY_v/article/details/144797429 "Diffusion Transformer(DiT)——将扩散过程中的U-Net换成ViT:近频繁用于视频生成与机器人动作预测(含清华PAD详解)")》*

  3. 在作者的真实世界实验中,针对全部3个摄像头视角(1个顶视摄像头和2个手腕摄像头),分别使用了ResNet-5017视觉编码器
    至于在仿真环境中则采用ResNet-18编码器


    且针对训练过程优化了条件流匹配损失28

    其中, 表示在流的时间 处计算的插值点,是在 处的速度, 是使用的动作块的总维数
    重要的是,在从 中采样训练数据时,除非轨迹在没有任何人工干预的情况下完全完成任务,否则不会包含来自机器人自身回滚的任何转移
    这一设计选择与HG-DAgger 22, 46 一致,但不同于如IWR 及其后续方法29, 33,后者基于人类知识筛选片段。关于策略训练的更多细节见附录A

在推理过程中,作者通过使用学习到的向量场,从t = 0 到t = 1 进行10 步欧拉积分来生成动作,初始值为随机噪声。且按照2,9,10 的方法,作者每0.5 秒运行一次策略推理,即执行每个动作片段的前一半,然后重新规划

该过程的完整伪代码如算法1 所示

1.3 RaC的实验评估

// 待更

相关推荐
dingdingfish8 个月前
关于Oracle RAC和ADG的学习资料
oracle·database·adg·rac·ha·dr·maa
liux35281 年前
Oracle 11g RAC 高可用集群部署最佳实践
数据库·oracle·rac
码上飞扬1 年前
Oracle RAC配置原理详解:构建高可用与高性能的数据库集群
数据库·oracle·rac
莳花微语2 年前
Oracle12.2 RAC集群管理之增加删除节点(DNS解析)
oracle·rac·增删节点
gsforget3212 年前
Oracle rac 修改vip & scan ip
oracle·rac·vip·scanip
祈心无尘3 年前
oracle rac了解
oracle·influxdb·rac
Floating warm sun3 年前
Oracle RAC 删除CRS集群配置失败
数据库·oracle·rac·问题处理