---
title: 创建分区表错误，错误代码 1499 -OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于创建分区表错误，错误代码 1499 相关的常见问题和使用技巧，帮助您快速解决创建分区表错误，错误代码 1499 的难题。
---
切换语言

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

划线反馈

# 创建分区表错误，错误代码 1499

更新时间：2024-01-22 01:56

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

创建分区表错误时报 1499 错误，提示分区数超限。本文介绍该问题的原因以及处理方法。

## 适用版本

OceanBase 数据库所有版本

## 问题现象

建表失败并提示错误，错误信息如下。

```sql
ERROR 1499 (HY000): Too many partitions (including subpartitions) were defined

```

## 问题原因

根据错误代码，可知错误原因为建表的分区过多，因此查看建表的 SQL 语句，发现错误原因为表的分区数量超过了上限。OBServer 中分区过多后，会导致 CLOG 主备 keep alive 的 rpc 开销增大、后台遍历分区的定时任务的开销增大、每个分区占用的内存增加、容灾场景下，系统恢复时间变慢。因此 OceanBase 数据库增加了分区表中分区数量的限制。

建表时，应注意以下两个限制条件：

- 建表语句指定创建的分区数量必须小于等于分区上限。OceanBase 数据库社区版分区表的分区上限为 8192。
 - 整个 OceanBase 集群范围内，每台物理机上的 **分区总数** 必须在分区上限以内。每台物理机分区总数上限值为 50000。

## 解决方法

1. 使用以下 SQL 检查系统单台物理机上总分区数量是否超过上限。

   ```sql
   obclient> SELECT svr_ip, count(*) FROM __all_meta_table GROUP BY svr_ip;

   ```
 2. 修改建表语句，将分区数量指定为小于等于分区上限。

上一篇

[无法把非分区表改成分区表](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000267168)

下一篇

[创建分区表错误，错误代码 1499/ORA-00600](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000076) ![有帮助](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) 咨询热线
