OB有问必答 | 参数和变量的区别是什么?

简介: OceanBase 的参数和变量设置方式常让初学者很迷惘,实际掌握其实并不难,下面就为大家展开介绍

OceanBase 的参数和变量设置方式常让初学者很迷惘,实际掌握其实并不难。下面就为大家展开介绍。

首先说参数和变量的区别。参数(parameter)是 ORACLE 的叫法,变量(variable)是 MySQL 的叫法,在 OceanBase 里这两种概念和修改方法都存在,跟 ORACLE 和 MySQL 基本保持一致。通常集群级别的设置用参数,租户级别的设置用变量。参数查看方式是 show parameters,变量查看方式是 show [global|session] variables 。在参数或变量的定义中,有初步的涵义说明。

第二说作用域。通常参数的作用域是集群级别,变量的作用域是租户级别。参数和变量通常是针对不同的行为做设置。变量的设置在具体的租户里设置,参数的设置在 sys 租户里设置,影响 sys 的行为就是影响这个集群的行为。所以这并不是说参数的值在所有租户都可以见。参数的作用域还可以指定生效的节点。默认是所有节点(就是集群级别了)。同时参数的作用域还可以是租户级别,需要指定组户名。这是 sys 租户里参数设置的特权,可以管理其他租户的参数设置。这种效果跟到租户里去设置这个参数效果是一样的(在具体的租户里设置就不需要指定组户名)。

第三说生效时间。大部分参数的设置是立即生效的,极少数参数修改需要重启节点或集群。变量的设置生效时间则有点复杂,取决于变量的设置方法。比如说是租户全局级别设置、会话级别设置、语句级别设置。如果是全局级别的变量设置,老的会话的变量不会变化,只有新建会话的变量设置才会生效;如果是会话级别的变量设置,该会话里立即生效,但是会话断开重连后,所有变量又读取了全局级别的默认变量设置。语句级别的变量设置主要是以 Hint 形式存在,只影响当前语句并是立即生效。

第四说参数的设置方法。参数的设置通常是通过 alter system set xxx 方式修改,也可以通过节点进程启动时指定(指 OBServer 启动参数 -o 里指定的)。即使启动时指定了参数,后期也是可以修改的。

第五说变量的设置方法。变量的设置方法通常是通过 set [global] xxx 方式修改。大部分变量都可以反复修改,极少数变量属于初始化变量(如字符集),只能在实例初始化的时候指定一次,后期不能再修改。还有一招是在 sys 租户里设置其他租户的变量,方法是 alter tenant xxx set yyyy,这种效果相当于租户全局级别的变量设置。

第六说参数和变量的持久化。参数的修改会写到 sys 租户视图__all_virtual_sys_parameter_stat 中和 OBServer 的参数文件中,下次重启节点时会读取。变量的修改只要是全局级别的修改,都会写到租户的内部视图 __all_sys_variable 中。

相关文章
|
SQL 缓存 关系型数据库
OBCP题目及解析
OBCP题目及解析
1497 0
|
Oracle 关系型数据库 Linux
PostgreSQL和Oracle中的一条错误消息分析
PostgreSQL服务端的日志里有时会残留一些这样的消息。意思是说客户端的socket意外终止了。 LOG: could not receive data from client: Connection reset by peer. 或中文的 LOG:无法从客户端获得数据: 出现这样的消息有2个可能的原因 1)客户端进程意外结束了 2)客户端进程没有关闭连接就退出了 其中第2点有时比较隐蔽。
3158 0
|
存储 Kubernetes 数据可视化
|
7月前
|
存储 关系型数据库 分布式数据库
【赵渝强老师】基于PostgreSQL的分布式数据库:Citus
Citus 是基于 PostgreSQL 的开源分布式数据库,采用 shared nothing 架构,具备良好的扩展性。它以插件形式集成,部署简单,适用于处理大规模数据和高并发场景。本文介绍了 Citus 的基础概念、安装配置步骤及其在单机环境下的集群搭建方法。
658 2
|
Cloud Native Docker 容器
免费Docker镜像服务
近期,一位博友分享了如何利用Cloudfare路由功能实现Docker镜像代理的方法。本文作者则选择了一种更为简便的方式,直接使用道客(DaoCloud)提供的Docker镜像代理服务,该服务已稳定运行半年以上,支持通过添加域名前缀或修改配置文件两种方式使用。
701 4
|
10月前
|
人工智能 供应链 数据挖掘
销售易CRM:深度赋能制造业,驱动产业链升级
销售易CRM是国内领先的客户关系管理系统,助力制造业从传统模式向智能化、服务化转型。通过全链路客户旅程管理,提升客户生命周期价值;智能数据分析赋能精准决策;跨部门协作打破信息孤岛;持续技术创新如AI、大数据等优化系统功能。以某机械制造企业为例,客户满意度提升30%,复购率增长20%。销售易CRM成为制造业数字化转型的坚实伙伴,推动企业迈向卓越运营,在竞争中脱颖而出。
编译QCefView+VS2019+QT5.15.2
本文介绍了如何编译QCefView项目,并在VS2019和Qt 5.15.2环境下集成,包括编译结果、要点、cmake部署Qt的方法和相关参考链接。
1027 2
编译QCefView+VS2019+QT5.15.2
|
数据可视化 Java API
Knife4j的相关知识点!!
Knife4j的相关知识点!!
576 2
|
前端开发 关系型数据库 MySQL
OceanBase数据库常见问题之bootstrap时报错如何解决
OceanBase 是一款由阿里巴巴集团研发的企业级分布式关系型数据库,它具有高可用、高性能、可水平扩展等特点。以下是OceanBase 数据库使用过程中可能遇到的一些常见问题及其解答的汇总,以帮助用户更好地理解和使用这款数据库产品。
|
Linux BI
设置Linux服务器时间为北京时间
设置Linux服务器时间为北京时间
1426 1