自动撤消管理和 Oracle RAC

Oracle 数据库自动管理分配给实例的特定撤消表空间内的撤消段。
一般情况下,只有分配给undo表空间的实例才能修改该表空间的内容。
但是,所有实例始终可以出于一致性读取目的读取所有撤消块。
此外,任何实例都可以在事务恢复期间更新任何撤消表空间,只要该撤消表空间当前未被另一个实例用于撤消生成或者事务恢复。

我们可以通过为 SPFILE 或者单个 PFILE 中的每个实例指定不同的 UNDO_TABLESPACE 参数值来在 Oracle RAC 管理员管理的数据库中分配撤消表空间。
对于策略管理的数据库,如果我们启用了 Oracle Managed Files,Oracle 会在实例启动时自动分配撤消表空间。
我们不能在 Oracle RAC 数据库中同时使用自动撤消管理和手动撤消管理。
换句话说,Oracle RAC 数据库的所有实例都必须在相同的撤消模式下运行。

我们可以通过执行 ALTER SYSTEM SET UNDO_TABLESPACE 语句来动态切换撤消表空间分配。

ALTER SYSTEM SET UNDO_TABLESPACE=undotbs3 SID='RAC01';

我们可以从任何实例运行此命令。
在上面的示例中,分配给 RAC01 实例的先前使用的撤消表空间保持分配给它,直到 RAC01 的最后一个活动事务提交。
在提交针对该表空间的所有事务之前,挂起的离线表空间可能对其他实例不可用。
我们不能在 RAC 数据库中同时使用自动撤消管理 (AUM) 和手动撤消管理。
强烈建议我们使用 AUM。

日期:2020-09-17 00:11:19 来源:oir作者:oir