---
title: 4.3.5.3 升级至 4.4.2 后查询 all_tab_columns 系统视图结果顺序不一致-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于4.3.5.3 升级至 4.4.2 后查询 all_tab_columns 系统视图结果顺序不一致相关的常见问题和使用技巧，帮助您快速解决4.3.5.3 升级至 4.4.2 后查询 all_tab_columns 系统视图结果顺序不一致的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

划线反馈

# 4.3.5.3 升级至 4.4.2 后查询 all_tab_columns 系统视图结果顺序不一致

更新时间：2026-08-21 07:36

适用版本： V4.4.x 内容类型：Troubleshoot  

## 问题现象

客户从 OceanBase 4.3.5.3 版本升级到 4.4.2.1 版本后，对 `all_tab_columns` 系统视图进行查询，并按照 `table_name` 和 `column_name` 排序，发现 `column_name` 列的排序结果在两个版本中存在差异。客户租户的字符集为 GBK。

## 问题原因

该现象源于 OceanBase 4.4.2 版本对系统视图 Collation 推导逻辑的架构优化。

1. `all_tab_columns` 视图底层基于 `ALL_TAB_COLS_V$` 构建，其中 `column_name` 字段的定义为：`CAST(TC.COLUMN_NAME AS VARCHAR2(128) IGNORE) AS COLUMN_NAME`。
 2. **4.3.5.3 版本行为**：表达式类型推导默认调用 `get_nls_collation()` 函数，即根据租户的 NLS 字符集（例如 GBK）推导 Collation。这导致 `CAST` 操作输出的 `COLUMN_NAME` 列继承了 GBK 排序规则，最终结果按 GBK 规则排序。
 3. **4.4.2 版本行为**：由于 OceanBase 数据字典的排序规则统一为 UTF-8，在之前的版本中，非 UTF-8 字符集的租户查询系统表或视图时可能无法使用索引。4.4.2 版本对此进行了优化，新增了对 `CM_IS_ORA_SYS_VIEW_CAST` 的判断机制。当检测到系统视图中的 `CAST` 操作时，会强制使用源数据的 Collation（即 UTF-8）。因此，`CAST` 输出的列改为 UTF-8 排序规则，按 UTF-8 字节序排序，从而引发了排序结果的差异。

## 关键信息

### 4.3.5.3 版本查询结果

```sql
obclient [SYS]> SELECT table_name, column_name, data_type, data_length, nullable FROM all_tab_columns t WHERE  t.TABLE_NAME = 'REPORT_ORDER_DETAIL' ORDER BY table_name, column_name;

+---------------------+--------------------+-----------+-------------+----------+
| TABLE_NAME          | COLUMN_NAME        | DATA_TYPE | DATA_LENGTH | NULLABLE |
+---------------------+--------------------+-----------+-------------+----------+
| REPORT_ORDER_DETAIL | EQD下单时间        | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 订单状态           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 对冲资金账号       | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 更新时间           | DATE      |           7 | Y        |
| REPORT_ORDER_DETAIL | 合约编号           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 交易代码           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 交易方向           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 交易类型           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 交易日期           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 内部编号           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 市场               | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 收益互换客户       | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 算法类型           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 算法下单时间       | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 算法子单编号       | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 提示信息           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 下单价格           | NUMBER    |          22 | Y        |
| REPORT_ORDER_DETAIL | 下单数量           | NUMBER    |          22 | Y        |
| REPORT_ORDER_DETAIL | 下游编号           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 账户               | VARCHAR2  |         255 | Y        |
+---------------------+--------------------+-----------+-------------+----------+
20 rows in set (0.357 sec)

```

### 4.4.2.1 版本查询结果

```sql
obclient [SYS]> SELECT table_name, column_name, data_type, data_length, nullable FROM all_tab_columns t WHERE  t.TABLE_NAME = 'REPORT_ORDER_DETAIL' ORDER BY table_name, column_name;
+---------------------+--------------------+-----------+-------------+----------+
| TABLE_NAME          | COLUMN_NAME        | DATA_TYPE | DATA_LENGTH | NULLABLE |
+---------------------+--------------------+-----------+-------------+----------+
| REPORT_ORDER_DETAIL | EQD下单时间        | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 下单价格           | NUMBER    |          22 | Y        |
| REPORT_ORDER_DETAIL | 下单数量           | NUMBER    |          22 | Y        |
| REPORT_ORDER_DETAIL | 下游编号           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 交易代码           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 交易方向           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 交易日期           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 交易类型           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 内部编号           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 合约编号           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 对冲资金账号       | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 市场               | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 提示信息           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 收益互换客户       | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 更新时间           | DATE      |           7 | Y        |
| REPORT_ORDER_DETAIL | 算法下单时间       | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 算法子单编号       | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 算法类型           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 订单状态           | VARCHAR2  |         255 | Y        |
| REPORT_ORDER_DETAIL | 账户               | VARCHAR2  |         255 | Y        |
+---------------------+--------------------+-----------+-------------+----------+
20 rows in set (1.729 sec)

```

## 问题的风险及影响

升级后，对 `all_tab_columns` 系统视图执行相同的查询，返回结果的顺序可能不一致。

## 影响租户

Oracle 模式租户（GBK 字符集）。

## 适用版本

OceanBase 4.3.5 BP5（oceanbase-4.3.5.5-105000212025111617）和 4.4.2（oceanbase-4.4.2.0-100000252026020915） 及之后版本。

## 解决方法

暂无。

## 规避方式

暂无。

Previous

[OB 3.2.4.5 主机替换卡在最后两个副本（源节点磁盘错误导致迁移失败）](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000006896136)

Next

[集群 DDL 全部 hung 住无法执行](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000006802900) ![有帮助](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) 咨询热线
