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 中。

相关文章
|
Oracle 关系型数据库 Linux
PostgreSQL和Oracle中的一条错误消息分析
PostgreSQL服务端的日志里有时会残留一些这样的消息。意思是说客户端的socket意外终止了。 LOG: could not receive data from client: Connection reset by peer. 或中文的 LOG:无法从客户端获得数据: 出现这样的消息有2个可能的原因 1)客户端进程意外结束了 2)客户端进程没有关闭连接就退出了 其中第2点有时比较隐蔽。
3450 0
|
存储 关系型数据库 分布式数据库
【赵渝强老师】基于PostgreSQL的分布式数据库:Citus
Citus 是基于 PostgreSQL 的开源分布式数据库,采用 shared nothing 架构,具备良好的扩展性。它以插件形式集成,部署简单,适用于处理大规模数据和高并发场景。本文介绍了 Citus 的基础概念、安装配置步骤及其在单机环境下的集群搭建方法。
1089 2
|
XML 缓存 监控
Python中使用SOAP消息:全面指南
本文介绍了如何在Python环境中创建、发送和接收SOAP请求,包括安装`zeep`库、创建SOAP客户端、发送请求、处理复杂类型、错误处理、自定义SOAP头、性能优化、日志记录等内容。SOAP因其标准化、安全性、可靠性和互操作性,在企业级应用中仍被广泛采用。通过本文,读者可以掌握使用Python与SOAP Web服务交互的基本方法。
933 3
|
机器学习/深度学习 搜索推荐 算法
“会员营销API:自动化积分与优惠券,增强用户粘性”
会员营销API集积分管理、优惠券发放、用户行为追踪等功能于一体,助力企业自动化运营,降低成本并提升体验。其核心功能涵盖自动化积分系统、优惠券策略优化、数据整合与用户画像分析、跨平台体验管理,以及安全风控机制。通过实时同步积分、动态调整优惠力度和多终端数据整合,增强用户参与感与忠诚度。同时,提供效果评估工具和A/B测试接口,结合机器学习算法优化营销策略,实现精准化、高效化的会员管理与留存提升。
|
数据采集 自然语言处理 算法
朋友圈里的“数据局”——聊聊大数据与社交媒体分析的那些事儿
朋友圈里的“数据局”——聊聊大数据与社交媒体分析的那些事儿
515 0
|
监控 前端开发 Java
构建高效Java后端与前端交互的定时任务调度系统
通过以上步骤,我们构建了一个高效的Java后端与前端交互的定时任务调度系统。该系统使用Spring Boot作为后端框架,Quartz作为任务调度器,并通过前端界面实现用户交互。此系统可以应用于各种需要定时任务调度的业务场景,如数据同步、报告生成和系统监控等。
907 9
|
前端开发 关系型数据库 MySQL
OceanBase数据库常见问题之bootstrap时报错如何解决
OceanBase 是一款由阿里巴巴集团研发的企业级分布式关系型数据库,它具有高可用、高性能、可水平扩展等特点。以下是OceanBase 数据库使用过程中可能遇到的一些常见问题及其解答的汇总,以帮助用户更好地理解和使用这款数据库产品。
|
存储 安全 算法
AES算法
【10月更文挑战第30天】AES算法
2398 2
|
SQL Java 数据库连接
mybatis如何仅仅查询某个表的几个字段
【10月更文挑战第19天】mybatis如何仅仅查询某个表的几个字段
924 1
|
机器学习/深度学习 算法 API
NVIDIA Triton系列07-image_client 用户端参数
本文详细介绍了NVIDIA Triton推理服务器的Python版image_client.py用户端参数,通过具体实例演示了如何使用这些参数与Triton服务器交互,包括指定服务器地址、选择模型、设置图像缩放方式、批量处理图片等关键操作,为初学者提供了实用的指导。实验环境搭建在Jetson AGX Orin和树莓派上,确保了内容的实践性和可操作性。
379 0
NVIDIA Triton系列07-image_client 用户端参数