【问题标题】:ORA-01450: maximum key length exceeded after SET max_string_size=extendedORA-01450: 在 SET max_string_size=extended 之后超出最大密钥长度
【发布时间】:2018-07-10 19:12:32
【问题描述】:

我有一个 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 中现在的索引以查看它们是否会受到影响?

【问题讨论】:

  • 致投票将问题移至 dba.stackexchange 的人们:虽然更改设置显然是 DBA 的任务和决定,但我们开发人员不应该选择向 DBA 请求功能吗?为此,我们需要深入了解其含义......

标签: oracle


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 2016-04-15
    • 2010-11-05
    • 2011-09-03
    • 2012-05-31
    相关资源
    最近更新 更多