oracle - 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 字节NVARCHAR2
或RAW(2000)
类型的虚拟列的新数据类型元数据进行更新。
- 如果对其关联的虚拟列的更改导致索引键超过索引键长度限制,则功能索引将变得不可用。尝试重建此类索引将失败,并显示
ORA-01450: maximum key length exceeded
.
我如何检查现在在我的 PDB 中的索引以查看它们是否会受到影响?
解决方案
更改仅在 PDB 上执行。目前数据库正在工作,没有任何新错误。执行utl32k.sql只是不要更改某些物化视图的设置。
推荐阅读
- javascript - Express:提交表单时返回 ? 在网址中
- google-apps-script - Chrome 扩展和工作区插件的相同 OAuth 应用程序
- python - 编辑 Jupyter Notebooks 时在 VS Code 中缺少“在选择中查找”
- php - 长轮询中超过最大执行时间
- sql - 具有多个连接的查询索引
- python - 在 Jupyter Notebook 上的 macbook 上安装 rpy2
- c - 使用 execlp 在 linux 终端命令中使用管道
- regex - office 365中身份证号码的正则表达式
- xamarin.forms - Xamarin Forms 应用程序不会在 iOS 上更改方向
- php - PHP文件管理器上传/阻止PHP文件