ITPub博客

首页 > 数据库 > 国内数据库 > OceanBase学习之路54|如何配置多租户管理?

OceanBase学习之路54|如何配置多租户管理?

原创 国内数据库 作者:老树桩12 时间:2023-01-18 14:49:44 0 删除 编辑

OceanBase 数据库通过设置配置项和系统变量来完成配置管理。

配置项

配置项主要用于运维,常用于控制机器及其以上级别的系统行为。可以作为 OBServer 启动参数和租户创建参数,也可以在 OBServer 运行时进行修改以调整系统行为。 有关配置项的详细介绍请参见  设置参数。

系统变量

系统变量通常和用户 Session 绑定,用于控制 Session 级别的 SQL 行为。

支持设置 Global 和 Session 级别的变量。设置 Global 级别的系统变量后,当前 Session 上不会生效,新建的任何 Session 都能读到新的变量值。设置 Session 级别的系统变量后,仅对当前 Session 生效。

有关系统变量的详细介绍请参见  设置变量。

系统配置项和系统变量对比

对比项 系统配置项 系统变量
生效范围 集群、租户、Zone、机器。 租户的 Global 级别或 Session 级别。
生效方式
  • 动态生效: edit_level 为 dynamic_effective。
  • 重启生效: edit_level 为  static_effective。
  • 设置 Session 级别的变量仅对当前 Session 有效,对其他 Session 无效。
  • 设置 Global 级别的变量对当前 Session 无效,需要重新登录建立新的 Session 才会生效。
修改方式
  • 支持通过 SQL 语句修改,示例如下:
    obclient> Alter SYSTEM SET schema_history_expire_time='1h';
  • 支持通过启动参数修改,示例如下:
    cd /home/admin && ./bin/observer -o "schema_history_expire_time='1h'"
仅支持通过 SQL 语句修改,示例如下:  obclient> SET ob_query_timeout = 20000000;
obclient> SET GLOBAL ob_query_timeout = 20000000;
持久化 持久化到内部表与配置文件,可以在  /home/admin/oceanbase/etc/observer.config.bin 与  /home/admin/oceanbase/etc/observer.config.bin.history 文件中查询该配置项。 仅 GLOBAL 级别的变量会持久化,SESSION 级别的变量不会进行持久化。
生命周期 长,从进程启动到退出。 短,需要租户的 Schema 创建成功以后才生效。
查询方式 可以使用  SHOW PARAMETERS 语句查询。示例如下:
obclient> SHOW PARAMETERS LIKE 'schema_history_expire_time';
可以使用  SHOW [GLOBAL] VARIABLES 或  SELECT 语句查询。 示例如下: obclient> SHOW VARIABLES LIKE 'ob_query_timeout';
obclient> SHOW GLOBAL VARIABLES LIKE 'ob_query_timeout';
obclient> SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';
obclient> SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026075/viewspace-2932561/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2023-01-16

  • 博文量
    55
  • 访问量
    41057