---
title: 重名约束(含空串)导致 OBServer core 掉-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 重名约束(含空串)导致 OBServer core 掉相关的常见问题和使用技巧，帮助您快速解决 重名约束(含空串)导致 OBServer core 掉的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# 重名约束(含空串)导致 OBServer core 掉

更新时间：2024-01-16 11:56

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

## 问题现象

OceanBase 数据库的同一个租户下，如果存在同名的约束(含空串)，则可能触发了 schema 刷新线程不清理上下文的 bug，导致 OBServer core 掉。

## 问题原因

约束为空串的可能原因有两个。

- 特定版本 ODC 的 “新建” 功能创建约束时若不指定约束名，则可能在 OceanBase 数据库中创建名为空串（即""）的约束。
 - 通过 OBClient 等客户端工具直接执行 DDL 操作时，由于创建约束时部分内核模块缺少对空串名拦截及同名约束检查的 bug，使得不同租户模式下的命名空间可能含有多个同名（包括为空串）的约束。

  错误示范例子如下。

  ```shell
  obclient > create table u_ltest.test_table_null(
   c1 number(10),
   c2 number(10) not null,
   CONSTRAINT "" PRIMARY KEY (c1));

  ```

  #### 注意

  此语句为错误示范，不要在生产环境执行。

## 适用版本

OceanBase 数据库 V2.x、V3.x 版本。

## 解决方法

规范操作，创建任何对象时，无比使用非空的名字，这才是规避本问题的关键。

对于怀疑出现本问题的系统，可通过下述思路进行排查。

- 查询相关数据字典。

     - 针对 Oracle 租户，同一 user 内不能出现多个同名约束（包括为空串）。在 sys 租户下查询下表以检查：

      ```shell
      obclient> select * from oceanbase.__all_virtual_constraint;

      ```
     - 针对 MySQL 租户，同一 database 内不能出现多个同名约束（包括为空串）。在本租户下查询下表以检查：

      ```shell
      obclient > select * from information_schema.table_constraints;

      ```

      #### 注意

      MySQL 租户下不记录主键约束名，均默认为 PRIMARY。
 - 搜索 RS 日志：日志中包含以下 Trying so hard to die 的 ERROR 级别日志时，代表集群已经出现了问题。
 - 对于已出现本问题的系统，可通过升级解决，其余情况则需要联系 OceanBase 技术支持进行解决。

  升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V2.2.77 BP11 (oceanbase-2.2.77-20220502140811) 及之后版本、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) 及之后版本。

上一篇

[虚拟表查询用 hint 指定索引会导致 core](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000008219)

下一篇

[集群内对象同名冲突导致 core](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000043622) ![有帮助](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) 咨询热线
