【 使用环境 】测试环境
【 OB or 其他组件 】ob 4.x
【 使用版本 】
【问题描述】
大佬们试过在主备租户里面开启关闭全链路功能吗?我记得主备租户内的参数之类的会全部同步,但是试了下主备租户的全链路开启后,备租户上并未生效,不知道还有哪些操作在主备上是不同步的?
主备租户的全链路、日志归档是独立的,主租户开启后,还需要再备份租户单独开启,不过备租户归档功能依赖主租户归档
删除主租户时,备租户会根据主租户的删除方式(DROP TENANT或DROP TENANT FORCE )决定是否停止日志同步
根据文档库中的信息,在OceanBase主备租户的同步机制中,确实存在某些特定操作不会被同步的情况。具体来说:
-
参数设置:通常情况下,大部分系统参数和租户级别的参数会在主备之间进行同步,但是一些与性能诊断、监控相关的动态参数或开关可能不会自动同步。例如您提到的全链路跟踪功能(
dbms_monitor.ob_tenant_trace_enable/disable
),这类操作属于临时性的调试手段,其状态不会在备租户上自动生效。 -
非事务性变更:除了上述监控相关命令外,其他非事务性的变更如创建/删除用户、授予权限等也可能不会立即同步到备租户,除非这些操作是通过DDL(数据定义语言)语句执行并且涉及到结构上的变化。
-
会话级别设置:任何仅作用于当前会话的设置(比如使用
SET SESSION
命令修改会话变量)都不会传播给备租户,因为它们只影响发起该命令的具体连接。 -
临时表和全局临时表:对于临时表以及全局临时表的操作也不会同步到备租户,因为这些对象的存在周期依赖于具体的会话或者事务。
-
存储过程、触发器等PL/SQL元素:虽然存储过程本身会被同步,但是对存储过程内部逻辑所做的更改(如果未提交为正式版本)以及触发器的行为可能不会实时同步。
-
日志归档模式下的特殊处理:对于基于日志归档的物理备库场景,只有redo日志记录的数据变更会被同步,而像前面提到的一些非持久化配置则不在同步范围内。
为了确保您的测试环境中主备租户的一致性,建议对于那些需要保持一致的重要配置项采取手动同步的方式,或者利用OCP平台提供的自动化工具来帮助管理跨租户的一致性问题。如果您希望进一步了解哪些具体操作不支持同步,请参考多租户架构概述及相关章节获取更详细的说明。
此外,从您提供的图片内容来看,主要是关于启停全链路跟踪功能的日志输出,并没有直接显示主备不同步的问题。不过这正好印证了之前所说的观点——全链路跟踪这类临时性的监控措施不会自动同步至备租户。如果您有更多具体的疑问或者遇到其他类型的同步问题,欢迎继续提问!
检索到的文档如下: