plsql - ORACLE 18c XE (18.0.0.0.0) - MAX_STRING_SIZE = EXTENDED (COLLATE BINARY_CI) 问题
问题描述
我使用以下命令将MAX_STRING_SIZE从STANDARD设置为EXTENDED :
ALTER SYSTEM SET MAX_STRING_SIZE=EXTENDED SCOPE=spfile;
此查询以“完成”结束。我用这个命令检查了它:
SELECT * FROM v$parameter WHERE name = 'max_string_size';
..这是多行格式的结果:
NAME max_string_size
VALUE EXTENDED
DISPLAY_VALUE EXTENDED
DEFAULT_VALUE STANDARD
ISDEFAULT FALSE
ISSES_MODIFIABLE FALSE
ISSYS_MODIFIABLE IMMEDIATE
ISPDB_MODIFIABLE TRUE
ISINSTANCE_MODIFIABLE FALSE
ISMODIFIED FALSE
ISADJUSTED FALSE
ISDEPRECATED FALSE
ISBASIC FALSE
DESCRIPTION controls maximum size of VARCHAR2, NVARCHAR2, and RAW types in SQL
我想在CREATE TABLE中使用COLLATE BINARY_CI并且我收到以下错误消息:
CREATE TABLE sample_db
(
sample_column VARCHAR2(50) COLLATE BINARY_CI
)
ORA-43929: 如果设置了参数MAX_STRING_SIZE=STANDARD,则无法指定排序规则
Oracle 版本为:ORACLE 18c XE (18.0.0.0.0)
解决方案
它不像 ALTER ... 那样简单;请参阅文档:
仅当数据库处于 UPGRADE 模式时才使用 ALTER SYSTEM,然后运行 utl32k.sql 脚本,如本节所述。
...
COMPATIBLE 初始化参数必须设置为 12.0.0.0 或更高才能设置 MAX_STRING_SIZE = EXTENDED。
推荐阅读
- php - 在 php mysqli 中获得最受反应或最喜欢的热门帖子
- javascript - 使用 pushState api 和其他框架和库的路由系统创建路由系统的最佳方法
- php - 也许是一个简单的数组问题
- javascript - 使用数学根据 URL 参数将数字相加?
- c++ - Linux Mint 19 下的 wxWidgets 源代码(.cpp 文件)在哪里提取以进行步入调试?
- typescript - 从数据对象到简化接口的打字稿
- java - 在 Heroku 上使用 Java 的 NodeJs 应用程序
- python - wxPython 应用程序在启动时显示空白屏幕
- php - htaccess 和 php 目录错误
- javascript - 轮播问题 | 角 6