在SYS租户中,以下哪条命令用于切换到用户租户并修改该用户租户的全局变量?

在SYS租户中,以下哪条命令用于切换到用户租户并修改该用户租户的全局变量?

A. SET GLOBAL TENANT

B. ALTER TENANT SET VARIABLES

C. ALTER SYSTEM CHANGE TENANT

D. SWITCH TO TENANT

  • 【来源:《OBCP_V4_DBA2:OceanBase V4 数据库运维与监控》第36页】
1 个赞

正确答案是:B. ALTER TENANT SET VARIABLES

:bulb: 详细解析:

在 OceanBase 中,当管理员处于系统租户(SYS 租户)时,可以通过特定的 SQL 语句直接修改普通用户租户的全局变量,而无需先切换过去。

  • 选项 B 正确ALTER TENANT tenant_name SET VARIABLES variable_name = 'value'; 这条命令专门用于在 SYS 租户下修改指定用户租户的 Global 级别变量。
  • 选项 C 错误ALTER SYSTEM CHANGE TENANT tenant_name; 虽然可以在不退出当前会话的情况下切换到指定的用户租户,但它仅仅是“切换”操作,本身并不具备“修改全局变量”的功能。
  • 选项 A、D 错误 :OceanBase 中不存在 SET GLOBAL TENANTSWITCH TO TENANT 这样的语法

不对

1 个赞

B. ALTER TENANT SET VARIABLES

2 个赞

选D

在 SYS 租户中,正确答案是 D ,即 SWITCH TO TENANT 。这里有个容易混淆的地方:虽然 ALTER TENANT 也能修改租户的全局变量,但它有一个关键限制——执行后对当前会话无效 ,无法满足题目中“切换到该租户”的要求。

1 个赞

选C才是官方正解!

2 个赞

D

OceanBase 中在SYS租户使用SWITCH TO TENANT切换至普通租户,之后可执行语句修改该租户全局变量。
A、B、C均非标准合法命令。

1 个赞

所以到底应该选啥?

题目有点瑕疵。“并”字可能引起歧义,但是其他3个选项错的太离谱,不影响选到正确答案。