首页 > 数据库 >如何查看oceanbase数据库修改过的参数

如何查看oceanbase数据库修改过的参数

时间:2024-12-24 20:41:46浏览次数:3  
标签:varchar 变量 查看 NO oceanbase 数据库 参数 obdiag NULL

OceanBase中没有像ORACLE或MySQL那样独立的参数文件,因此在进行数据库迁移的这种场景下,如何保持新老数据库的参数的一致成了OceanBase中的一个问题。这个问题其实也可以转化为如何查询OceanBase数据库中修改过的参数,我们需要找到那些和默认值不一致的参数,并以此在新数据库环境中同步修改。

一. OCP查询

在OCP集群和租户界面的参数管理功能下,可以查看“参数列表”和“修改历史”。但是这里“修改历史”只能查询通过OCP平台修改过的参数,如果是通过命令行修改的则无法查询,并且如果OCP重装后这里的“修改历史”也会被清空。因此,通过OCP查询参数的修改历史不能保证获取全部修改过的参数。

二. obdiag工具

2.1 obdiag集群参数分析

obdiag是OB官方推出的黑屏诊断工具,obdiag有个参数分析功能,可以一键分析OceanBase集群参数和默认值的差异。分析集群参数时,首先需要使用集群参数收集功能一键收集集群参数信息,然后用生成的csv文件进行参数比对。

#集群参数收集
obdiag gather parameter
#集群参数比对
obdiag analyze parameter default --file    

在OceanBase3.2.3版本使用参数分析功能时,报了以下错误。这是因为323版本不存在oceanbase.GV$OB_PARAMETERS试图,所以这个功能至少得4版本以后的OB才可以用。

在OceanBase4.2.1进行参数比对时,发现所有参数都和默认值相同,这明显是不符合实际的。因为这里是用采集生成的csv文件作为默认值文件,所以自然不能找到非默认值参数。对于OB 4.2.2之后的版本,则无需添加--file选项,直接使用obdiag analyze parameter default功能即可找出非默认值参数。因此,obdiag的这个功能其实要在4.2.2版本后才能真正达到和默认值对比的效果。此外,我们也可以在集群迁移的时候,在新集群收集一份参数的存档文件,通过对比新老集群的参数找出不一致的参数。

 2.2 obdiag租户变量分析

 obdiag analyze variable diff 可以一键分析 OceanBase 在线集群变量和之前相比是否变更了,有助于排查变量变更带来的问题。同样,分析变量时,首先也需要一键收集变量信息,然后使用收集变量信息生产的csv文件进行变量比对。

#变量收集
obdiag gather variable
#变量比对
obdiag analyze variable diff --file=/tmp/gather_variables/ob_test2_stb_variables_20241015110704.csv

同样obdiag变量分析功能其实也是和使用obdiag收集的变量存档文件进行比对,而不能直接找出非默认值参数。这样的话,就需要在集群搭建好的时候使用obdiag收集一份变量的存档文件进行变量比对。或者,在租户迁移的时候,在新环境收集一份变量存档文件,然后用这份存档文件和老环境的变量进行比对,这样也能找出两边不一致的变量。

三、系统视图查询

oceanbase中提供了参数相关的数据字典视图,我们可以从这些视图中发现一些端倪。在3版本和4版本的OB中,描述租户变量的视图分别是__all_virtual_sys_variable和cdb_ob_sys_variables,在这两个视图中有两列gmt_create和gmt_modified,代表着变量的创建和修改时间,通过比对这个时间,可以找到修改过的租户变量。

MySQL [oceanbase]> desc __all_virtual_sys_variable;
+--------------+----------------+------+-----+---------+-------+
| Field        | Type           | Null | Key | Default | Extra |
+--------------+----------------+------+-----+---------+-------+
| tenant_id    | bigint(20)     | NO   | PRI | NULL    |       |
| zone         | varchar(128)   | NO   | PRI | NULL    |       |
| name         | varchar(128)   | NO   | PRI |         |       |
| gmt_create   | timestamp(6)   | NO   |     | NULL    |       |
| gmt_modified | timestamp(6)   | NO   |     | NULL    |       |
| data_type    | bigint(20)     | NO   |     | NULL    |       |
| value        | varchar(65536) | YES  |     | NULL    |       |
| info         | varchar(4096)  | NO   |     | NULL    |       |
| flags        | bigint(20)     | NO   |     | NULL    |       |
| min_val      | varchar(65536) | NO   |     |         |       |
| max_val      | varchar(65536) | NO   |     |         |       |
+--------------+----------------+------+-----+---------+-------+
11 rows in set (0.00 sec)

MySQL [oceanbase]> select min(gmt_create) from __all_virtual_sys_variable where tenant_id=1028;
+----------------------------+
| min(gmt_create)            |
+----------------------------+
| 2024-08-30 14:48:19.243321 |
+----------------------------+

MySQL [oceanbase]> select * from __all_virtual_sys_variable where tenant_id=1028 and gmt_modified>'2024-08-30 14:48:19.243321';
+-----------+------+------------------+----------------------------+----------------------------+-----------+------------+----------------------------------+-------+---------+---------+
| tenant_id | zone | name             | gmt_create                 | gmt_modified               | data_type | value      | info                             | flags | min_val | max_val |
+-----------+------+------------------+----------------------------+----------------------------+-----------+------------+----------------------------------+-------+---------+---------+
|      1028 |      | ob_query_timeout | 2024-10-15 15:12:40.329644 | 2024-10-15 15:12:40.329644 |         5 | 1000000000 | Query timeout in microsecond(us) |   131 |         |         |
+-----------+------+------------------+----------------------------+----------------------------+-----------+------------+----------------------------------+-------+---------+---------+
1 row in set (0.00 sec)

对于集群参数,相关的数据字典视图分别是3版本的__all_virtual_tenant_parameter_stat和__all_virtual_sys_parameter_stat,以及4版本的gv$ob_parameters。在这几个数据字典视图中没有相关的信息可以找到曾经修改过的集群参数。

MySQL [oceanbase]> desc __all_virtual_sys_parameter_stat;
+---------------+----------------+------+-----+---------+-------+
| Field         | Type           | Null | Key | Default | Extra |
+---------------+----------------+------+-----+---------+-------+
| zone          | varchar(128)   | NO   |     | NULL    |       |
| svr_type      | varchar(16)    | NO   |     | NULL    |       |
| svr_ip        | varchar(46)    | NO   |     | NULL    |       |
| svr_port      | bigint(20)     | NO   |     | NULL    |       |
| name          | varchar(128)   | NO   |     | NULL    |       |
| data_type     | varchar(128)   | YES  |     | NULL    |       |
| value         | varchar(65536) | NO   |     | NULL    |       |
| value_strict  | varchar(4096)  | YES  |     | NULL    |       |
| info          | varchar(4096)  | NO   |     | NULL    |       |
| need_reboot   | bigint(20)     | NO   |     | NULL    |       |
| section       | varchar(128)   | NO   |     | NULL    |       |
| visible_level | varchar(64)    | NO   |     | NULL    |       |
| scope         | varchar(64)    | NO   |     | NULL    |       |
| source        | varchar(64)    | NO   |     | NULL    |       |
| edit_level    | varchar(128)   | NO   |     | NULL    |       |
+---------------+----------------+------+-----+---------+-------+

MySQL [oceanbase]> desc gv$ob_parameters;
+------------+----------------+------+-----+---------+-------+
| Field      | Type           | Null | Key | Default | Extra |
+------------+----------------+------+-----+---------+-------+
| SVR_IP     | varchar(46)    | NO   |     | NULL    |       |
| SVR_PORT   | bigint(20)     | NO   |     | NULL    |       |
| ZONE       | varchar(128)   | NO   |     | NULL    |       |
| SCOPE      | varchar(64)    | NO   |     | NULL    |       |
| TENANT_ID  | bigint(20)     | YES  |     | NULL    |       |
| NAME       | varchar(128)   | NO   |     | NULL    |       |
| DATA_TYPE  | varchar(128)   | YES  |     | NULL    |       |
| VALUE      | varchar(65536) | NO   |     | NULL    |       |
| INFO       | varchar(4096)  | NO   |     | NULL    |       |
| SECTION    | varchar(128)   | NO   |     | NULL    |       |
| EDIT_LEVEL | varchar(128)   | NO   |     | NULL    |       |
+------------+----------------+------+-----+---------+-------+

四、总结

本文总结了在OceanBase数据库中找出和默认值不一样的参数的三种方法。目前看来,通过obdiag工具在新部署的数据库环境收集参数信息生成存档文件,然后再通过obdiag工具比对参数存档文件和老数据库的参数,这种方法是最靠谱有效的。此外通过变量数据字典视图也可以帮助我们找到那些曾经修改过的参数。

标签:varchar,变量,查看,NO,oceanbase,数据库,参数,obdiag,NULL
From: https://www.cnblogs.com/coygfly/p/18622500

相关文章

  • pandas 数据库操作
    importpandasaspdfromsqlalchemyimportcreate_engine#username="root"password="@WSX3edc"host="127.0.0.1"port=3306database="test"engine=create_engine("mysql+pymysql://{username}:{password}@{hos......
  • 【Nginx应用】Windows下使用Nginx反向代理访问MySQL数据库
    环境说明1和2互通,2和3互通,1和3不通,想要在1上访问3上的msyql服务。实现步骤如下:一、安装nginx1.1下载nginx下载地址https://nginx.org/download/nginx-1.26.2.zip1.2将下载的安装包上传到192.168.221.134运维跳板机,并解压1.3nginx常用操作1.3.1启动nginx#进入......
  • 数据库系统------并发控制
    基于锁的协议锁机制用于控制并发访问数据项锁协议是事务在请求和释放锁时需要遵循的一组规则。锁协议的目的是确保事务的并发执行不会导致数据的不一致性,同时帮助系统避免死锁和其他问题锁的两种模式排它锁(ExclusiveLock,X模式)目的:一个事务在对数据项进行操作时,可以对......
  • MySQl数据库数据的时间比当前时间少了8小时处理
    在mysql中如何设置时间在MySQL中设置时间主要涉及到两个方面:一是设置数据库服务器的系统时间,二是设置表中的时间字段。一、设置数据库服务器的系统时间MySQL数据库服务器的系统时间通常与操作系统的时间同步。如果你需要调整MySQL服务器的时间,可以通过以下命令:代码语言:txt复......
  • 用pandas导入含嵌套字典的json文件至mysql数据库
    需要导入的文件格式如下,要把data-diff数组里的所有元素导进去,对于某些json文件还需要添加日期字段。{"rc":0, "rt":6, "data":{ "total":197, "diff":[ { "f1":1, "f2":295.5, "f3":{"f4":......
  • Springboot进口零食销售网站74r3o(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,零食信息,类型开题报告内容研究背景随着互联网技术的飞速发展和消费者购物习惯的深刻变革,电子商务已成为推动全球经济增长的重要力量。进口零食作为日常消......
  • Springboot紧急自救知识教学与交流平台9c75u(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,灾害类型,历史案例,教学课程,课程购买,紧急通知开题报告内容一、课题来源及研究目的和意义在现代社会,自然灾害与突发事件频发,公众对于紧急自救知识的需求......
  • ssm九价预约t4s1p程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景近年来,九价HPV疫苗因其高效预防宫颈癌等恶性肿瘤而受到广泛关注。然而,由于疫苗供应紧张,预约接种过程繁琐,使得许多有接种需求的人群面......
  • ssm教职工新冠疫苗预约x0i30--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景随着新冠疫情的全球蔓延,疫苗接种已成为控制疫情、保障教职工健康安全的重要手段。然而,传统的疫苗接种预约方式存在诸多不便,如信息不透......
  • 2024年12月中国数据库排行榜:群雄竞逐显风采,GoldenDB摘探花
    2024年末的墨天轮中国数据库排行榜如期发布。回顾整年,榜单持续波动:OceanBase与PolarDB交替登顶,前三甲的位置也不断迎来新晋挑战者。在最新一期的榜单中,GoldenDB凭借技术创新与市场积淀成功跃升前三,openGauss与TDSQL出现了位次调整,其他产品也在不断沉淀与创新中激发出新的动力。可......