---
title: 系统 db 下创建与内部表同名的表可能会导致 core-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于系统 db 下创建与内部表同名的表可能会导致 core相关的常见问题和使用技巧，帮助您快速解决系统 db 下创建与内部表同名的表可能会导致 core的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 系统 db 下创建与内部表同名的表可能会导致 core

更新时间：2026-06-04 09:56

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x 内容类型：Troubleshoot  

## 问题现象

- 问题 1 ：当在问题版本的用户租户 mysql db 内，手动创建了与系统租户 mysql db 内 `help_topic`、`help_category`、`help_keyword`、`help_relation` 同名（比较大小写不敏感）的多张表后（如在 mysql db 内创建两个名为 `help_topic` 的表），可能会导致 schema 刷新异常。
 - 引申问题 2 ：当在问题版本的 oracle 租户的 sys db 内，创建和已有内部表同名的表 (比较大小写不敏感，如 `DBA_OBJECTS` 和 `dba_objects` 认为是同名)会导致 schema 刷新异常。
 - 引申问题 3 ：当在问题版本的租户的 oceanbase/mysql/information_schema/sys 库下创建和内部表同名的临时表（比较大小写不敏感），会导致 schema 刷新异常。
 - 引申问题 4 ：当出现各种同名冲突没拦住的情况，因为 RPM 版本 `right_to_die()` 抛异常的行为，会导致第一现场无法保留以及可能会导致后续访问到非法内存而 core。

## 问题 1 ：用户租户 mysql db下创建多张同名的表，会导致 schema 刷新异常

## 问题原因

OceanBase 数据库 V2.2.0 版本 schema 拆分引入的 bug：在用户租户的 mysql 库下多次创建名为 `help_topic`/`help_category`/ `help_keyword`/`help_relation` 的表时，OBServer 误将这些用户表识别成了系统表，导致建表时通过了 sys 租户的同名检测逻辑，而没有走到该租户的同名检测逻辑，从而没防住该租户下建同名表。

关键日志: `build table name hashmap failed`。

触发条件为在普通租户的系统 db 内、多次创建与 sys 租户 only 的内部表同名的表。由于普通租户的 oceanbase、information_schema 这两个 db 限制了建表，所以实际会触发问题的就只有 mysql db 内已有的四张 sys 租户 only 的表：`help_topic`/`help_category`/`help_keyword`/`help_relation`。

## 影响版本

OceanBase 数据库企业版 V2.2.77 BP11 (oceanbase-2.2.77-20220502140811) 之前版本、V3.1.2 BP8 (oceanbase-3.1.2-20220329234820) 之前的版本。

## 解决方法

- 升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V2.2.77 BP11 (oceanbase-2.2.77-20220502140811) 及之后版本、V3.1.2 BP8 (oceanbase-3.1.2-20220329234820) 及之后版本。
 - 联系 OceanBase 技术支持通过修改内部表以及重启集群恢复。

## 引申问题 2 ：oracle 租户的 sys db 内，创建和已有内部表同名的表，会导致schema刷新异常

## 问题原因

OceanBase 数据库 V2.2.x 版本 schema 拆分引入的问题，Oracle 租户下同时存在 MySQL 模式和 Oracle 模式的内部表，相关代码路径 `compat_mode` 设置不对，没有拦住和已有 sys db 内部表同名的表。

触发条件为 Oracle 租户下的 sys db，创建与已有内部表同名的表，如 "DBA_OBJECTS"、"dba_objects"。

## 影响版本

OceanBase 数据库企业版 V2.2.77 BP17 (oceanbase-2.2.77-117000112023051914) 之前版本、V3.1.2 及现有所有的 BP 版本、V3.2.3 BP8 (oceanbase-3.2.3.3-108000062023041511) 之前版本、V3.2.4 BP3 (oceanbase-3.2.4.3-103000032023041816) 之前版本。

## 解决方法

- 升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V2.2.77 BP17 (oceanbase-2.2.77-117000112023051914) 及之后版本、V3.2.3 BP8 (oceanbase-3.2.3.3-108000062023041511) 及之后版本、V3.2.4 BP3 (oceanbase-3.2.4.3-103000032023041816) 及之后版本。
 - 联系 OceanBase 技术支持通过修改内部表以及重启集群恢复。

## 引申问题 3 ：创建和已有内部表同名的临时表，会导致 schema 刷新异常

## 问题原因

OceanBase V2.2.x 版本 schema 拆分引入的问题，临时表对非临时表不可见，和内部表名的处理产生冲突，导致和已有内部表同名的临时表能多次创建出来。

关键日志: `buil table hashmap failed`。

触发条件为如系统租户下的 mysql db，创建 2 次及以上与已有内部表同名的临时表，如 "help_topic"。

## 影响版本

- OceanBase 数据库企业版 V2.2.77 及现有所有的 BP 版本、V3.1.2 及现有所有的 BP 版本、V3.2.3 BP10 (oceanbase-3.2.3.3-110000092023091219)、V3.2.4 BP5 (oceanbase-3.2.4.5-105000012023081513) 之前版本。
 - OceanBase 社区版 V3.1.5 CE BP1 之前版本。

## 解决方法

- 升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V3.2.3 BP10 (oceanbase-3.2.3.3-110000092023091219) 及之后版本、V3.2.4 BP5 (oceanbase-3.2.4.5-105000012023081513) 及之后版本。
 - 联系 OceanBase 技术支持通过修改内部表以及重启集群恢复。
 - 应急解决方法：禁用创建和已有内部表同名的临时表。

## 引申问题 4 ：schema 刷新的 right_to_die() 导致 OBServer core 或者集群不可用

## 问题原因

当触发了上述 bug（用户租户 mysql 库下创建多张与内部表同名的表，导致建表卡住）或者 租户命名空间内可以创建多个同名（包括为空串）约束 的 bug 后，会触发 schema 的 rebuild 逻辑并触发 `right_to_die()` 逻辑。然而由于 `right_to_die()` 逻辑的 bug，导致其抛异常释放当前线程后，可能会带来上下文没清理或内存泄漏等风险，进而导致 OBServer 的 schema 刷新异常或者 OBServer 访问到非法内存而 core 掉。

该问题触发后打印 `right_to_die` 的 ERROR 级别日志。

## 影响版本

OceanBase 数据库企业版 V2.2.77 GA（oceanbase-2.2.77-20210508211731）及之后版本、V3.1.2 GA（oceanbase-3.1.2-20210618150922）及之后版本、V3.2.3 GA（oceanbase-3.2.3-20220419）及之后版本、V3.2.4 GA（oceanbase-3.2.4.0-100000072022102819）及之后版本。

## 解决方法

### 事前

升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V2.2.77 BP15（oceanbase-2.2.77-115000012023010607）版本、V3.1.2 BP11（oceanbase-3.1.2-111000052023010412）版本、V3.2.3 BP7（oceanbase-3.2.3.3-107000092023011911）版本、V3.2.4 BP1（oceanbase-3.2.4.1-101000052023010822）版本。

### 事中

联系 OceanBase 技术支持通过修改内部表 + 重启集群恢复。

## 规避方式

问题版本中不要在任何租户的 `oceanbase/information_schema/sys/mysql` 库下创建和已有内部表（含系统租户）同名（比较大小写敏感）的用户表/视图/临时表等对象。

Previous

[sql mode 为 ANSI_QUOTES 时，select "column", '' 触发 core](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000008221)

Next

[core 之后 easy 频繁刷的情况](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000691120) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
