排除全局活动表的问题
为具有子表的表创建区域副本时出错:
无法为具有子表的表创建区域副本,因为全局活动表当前不支持子表。
排除添加区域副本时出现的问题:
-
指定不正确的区域时出错:
如果您在区域表副本的 SDK API 调用中指定的区域的名称不正确,将出现以下错误。您需要指定其他有效区域。
Adding replica: ca-montral-1 java.lang.IllegalArgumentException: ADD_REPLICA: Illegal Argument: ca-montral-1 isn't known to this service, and is not a valid region name -
在不冻结方案的情况下创建区域表副本时出错:
您需要先冻结表的方案,然后再创建表的区域副本。创建区域副本时,表的方案不能处于可变状态。
-
创建始终空闲表的区域副本时出错:
始终空闲的表不能转换为全局活动表。
对全局活动表的用户权限问题进行故障排除
跨区域/副本的不同用户权限:在一个区域中创建全局活动表并将其复制到其他区域,并且跨区域创建/更改表/读取表的用户权限不同时,可能会出现错误。在以下情况之一中可能会出现错误:
-
接收方区域中的用户没有 NOSQL_TABLE_INSPECT 权限
-
接收方区域中的用户没有 NOSQL_TABLE_READ 权限
-
接收方区域中的用户没有 NOSQL_TABLE_ALTER 权限
-
接收方区域中的用户没有 NOSQL_TABLE_CREATE 权限
-
如果租户在发送方区域或接收方区域中的读/写/存储容量不足。
-
如果租户已达到发送方区域或接收方区域中的 MAX_TABLES。
解决变更全局活动表的问题
-
冻结表后更改表方案时出错:
如果尝试通过添加列或删除现有列来更改全局活动表的定义,则会出现如下所示的错误。这是因为全局活动表的方案已冻结,无法更改。
Columns can't be added, because the table's schema is frozen. -
删除全局活动表而不删除所有区域副本时出错:
仅当当前没有区域表副本时,才能删除全局活动表。否则,将出现错误,如下所示。在删除表之前,应先删除区域副本。
The table named <tbl_name> can't be deleted, because it belongs to a set of replicas. A replica table cannot be deleted before its replicas are deleted. -
对于具有副本的全局活动表,将方案状态更改为“可变”时出错:
如果向全局活动表添加了区域副本,则无法解冻全局活动表的方案并将其更改为“可变”。下面显示了相应的错误。您应删除所有区域表副本,然后可以解冻方案。
The table's schema can't be unfrozen, because it is a global active table with replicas.