首页 > 解决方案 > ORA-01450: 在 SET max_string_size=extended 之后超出最大密钥长度

问题描述

我有一个 Oracle 12.2 PDB。

关于我想要执行的MAX_STRING_SIZE

ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;

如 CDB 和 PDB 部分所述。

但我害怕出错

ORA-01450: maximum key length exceeded.

更改MAX_STRING_SIZE将更新数据库对象并可能使它们无效,如下所示:

  • 具有虚拟列的表将使用VARCHAR2(4000)、4000 字节NVARCHAR2RAW(2000)类型的虚拟列的新数据类型元数据进行更新。
    • 如果对其关联的虚拟列的更改导致索引键超过索引键长度限制,则功能索引将变得不可用。尝试重建此类索引将失败,并显示ORA-01450: maximum key length exceeded.

我如何检查现在在我的 PDB 中的索引以查看它们是否会受到影响?

标签: oracle

解决方案


更改仅在 PDB 上执行。目前数据库正在工作,没有任何新错误。执行utl32k.sql只是不要更改某些物化视图的设置。


推荐阅读