Plsql ORACLE 18c XE(18.0.0.0.0)-最大字符串大小=扩展(比较二进制CI)问题
我使用以下命令将最大字符串大小从标准设置为扩展:Plsql ORACLE 18c XE(18.0.0.0.0)-最大字符串大小=扩展(比较二进制CI)问题,plsql,oracle-xe,collate,Plsql,Oracle Xe,Collate,我使用以下命令将最大字符串大小从标准设置为扩展: ALTER SYSTEM SET MAX_STRING_SIZE=EXTENDED SCOPE=spfile; SELECT * FROM v$parameter WHERE name = 'max_string_size'; 此查询以“完成”结束。 我用这个命令检查了它: ALTER SYSTEM SET MAX_STRING_SIZE=EXTENDED SCOPE=spfile; SELECT * FROM v$parameter WH
ALTER SYSTEM SET MAX_STRING_SIZE=EXTENDED SCOPE=spfile;
SELECT * FROM v$parameter WHERE name = 'max_string_size';
此查询以“完成”结束。
我用这个命令检查了它:
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
我想在创建表中使用COLLATE BINARY_CI,出现以下错误消息:
CREATE TABLE sample_db
(
sample_column VARCHAR2(50) COLLATE BINARY_CI
)
ORA-43929:如果参数
设置了最大字符串大小=标准
Oracle版本是:Oracle 18c XE 18.0.0.0.0它不像ALTER那么简单。。。;见: 仅当数据库处于升级模式时使用ALTER SYSTEM,然后运行 如本节所述,后面将介绍utl32k.sql脚本。 ... 兼容的初始化参数必须设置为12.0.0.0或 更高设置最大字符串大小=扩展 解决了 问题是我试图在CDB而不是PDB中修改MAX_STRING_SIZE参数的值 使用“XEPDB1”修改命令:
PURGE DBA_RECYCLEBIN;
ALTER PLUGGABLE DATABASE XEPDB1 CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE XEPDB1 OPEN UPGRADE;
ALTER SESSION SET CONTAINER=XEPDB1;
ALTER SYSTEM SET MAX_STRING_SIZE=EXTENDED;
@?/rdbms/admin/utl32k.sql;
ALTER PLUGGABLE DATABASE XEPDB1 CLOSE;
ALTER PLUGGABLE DATABASE XEPDB1 OPEN;
您可以遵循oracle文档:在“增加PDB中VARCHAR2、NVARCHAR2和RAW列的最大大小”部分 命令与sysdba用户一起运行:
# list pdbs
show pdbs;
# alter session to a specific pdb
alter session set container = {pdb};
# restart pdb in upgrade mode
shutdown;
alter pluggable dabase {pdb} open upgrade;
# change max_string_size
alter system set max_string_size=extended;
# run oracle script
@${ORACLE_HOME}/admin/utl32k.sql;
# reopen as normal mode
shutdown;
alter pluggable database {pdb} open READ WRITE;
# recompile invalid objects
@${ORACLE_HOME}/rdbms/admin/utlrp.sql;
我使用容器图像。该页面提供了连接到sysdba模式的指南。我是在升级模式下完成的,并在没有任何错误的情况下运行了utl23k.sql。无更改。您可以按照oracle文档。您可以使用oracle home变量执行脚本,如@${oracle_home}/rdbms/admin/utl32k.sql。