暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

基于官方文档的OceanBase 知识学习-转储管理-<自动/手动触发转储> (基于官方文档做记录 V2.2.77版本)

原创 lxs_data 2021-12-31
550

     本文是基于OceanBase V2.2.77版本 官方文档 做的学习记录,主要是目的是进行OBCP 考试,通过学习文档,希望了解OceanBase知识,最终考过OBCP。go! 

     本文内容大部分都是OceanBase 官网资料,做了一些比较显著的标志。

自动触发转储

         租户的 MemTable 内存使用达到触发条件即触发转储

         租户在创建时指定了租户的内存大小,租户的内存分为动态可伸缩内存和 MemTable。OceanBase 数据库会根据 MemTable 的内存使用比例决定进行转储或者合并释放 MemTable 的内存,该比例由配置项 freeze_trigger_percentage 控制。  

        通过freeze_trigger_percentage 决定MemStore 内存占用到达其上限的百分比后就进行冻结(转储和合并的前置动作)。

        通过 minor_freeze_times 参数来判断当 MemStore 内存使用达到 freeze_trigger_percentage 时进行转储还是合并。 minor_freeze_times  决定是转储还是合并。

        minor_freeze_times 的值为 0 可以关闭转储,进而每次当 MemStore 内存使用达到 freeze_trigger_percentage 时进行合并。

        由于合并带来的影响比转储大,通常不建议关闭转储功能。

   

 freeze_trigger_percentage   

          freeze_trigger_percentage 用于设置触发全局冻结的租户使用内存阈值

           如果开启了自动触发全局冻结,则当租户使用的内存达到该阈值时,会触发全局冻结。自动触发全局冻结开关的有参数enable_global_freeze_trigger 设置

         

 enable_global_freeze_trigger

          enable_global_freeze_trigger 用于设置是否开启自动触发全局冻结。 

属性

描述

参数类型

布尔类型

默认值

False

取值范围

  • True

  • False

是否重启 OBServer 生效

          注意:该配置项保持保持默认值,不推荐使用。


手动触发转储

           转储操作命令的语法:

              ALTER SYSTEM MINOR FREEZE [zone] | [server_list] | [tenant_list] | [replica]

各参数的取值格式:

参数

格式

zone

Zone_name

server_list

SERVER = ip_port_list

tenant_list

TENANT = tenant_name [, tenant_name ...]

replica

PARTITION_ID = 'partition_idx%partition_count@table_id'

操作命令

  • 集群级别的转储

    obclient> ALTER SYSTEM MINOR FREEZE;
  • Server 级别的转储

    obclient> ALTER SYSTEM MINOR FREEZE server = ('10.10.10.1:2882');
  • 租户级别的转储

    obclient> ALTER SYSTEM MINOR FREEZE tenant = ('prod_tenant');
  • Replica 级别的转储

    obclient> ALTER SYSTEM MINOR FREEZE ALTER partition_id = '8%0@1099511627933';











「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论