ALTER FRAGMENT 操作中的 ONLINE 关键字

ONLINE 关键字指示数据库服务器修改后台中表的存储,并且其它并发用户仍可以继续存取该表。

通过在 ALTER FRAGMENT 语句中使用 ONLINE 关键字,DBA 可以降低非独占存取错误的风险,可以提高分片表的可用性。该指示数据库服务器在内部 ATTACH 、DETACH 和 MODIFYT 操作以提交工作,如果没有错误,它将在该表上应用一个内部意向排他锁而非排他锁。

在 DETACH 和 MODIFY 操作中,在以下条件下,ONLINE 关键字可以降低 -710 错误的风险:
  • AUTO_REPREPARE 配置参数设置为 1
  • IFX_ AUTO_REPREPARE 会话环境变量设置为 1
应用 ALTER FRAGMENT ONLINE FOR TABLE 语句有以下限制:
  • ALTER FRAGMENT ONLINE 只有 ATTACH 、DETACH 和 MODIFY 选项是有效的。
  • FOR TABLE 子句必须指定由范围区间架构分片的表。
  • 正在修改的表不能被 LOCK TABLE 语句显示地锁定。
  • ALTER FRAGMENT ONLINE 必须是该事务中首个修改任一数据库对象或表的语句。
  • 在同一事务中 ALTER FRAGMENT ONLINE 语句后不能出现修改数据库中对象的操作。