max_string_size = EXTENDED にするには
-
ADW が max_string_size = EXTENDED で、一方 Express Edition のディフォルトは STANDARD
-
そのためADWから書き出したSQLを xe に読み込ませようとするたびに COLLATEがエラーを出す (ORA-43929: パラメータMAX_STRING_SIZE=STANDARDを設定した場合、照合は指定できません)
-
なので EXTENDED にアップグレードする必要がある あと制限つきは嫌だからね
-
ここを参照 https://docs.oracle.com/cd/E57425_01/121/REFRN/GUID-D424D23B-0933-425F-BC69-9C0E6724693C.htm
-
上記URL の「CDBのVARCHAR2、NVARCHAR2およびRAW列の最大サイズを増加する 」を実行
-
CLIから
su oracle
sqlplus / as sysdba
ALTER SESSION SET CONTAINER=CDB$ROOT;
ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;
shutdown immediate
startup upgrade
ALTER PLUGGABLE DATABASE ALL OPEN UPGRADE;
EXIT;
cd $ORACLE_HOME/rdbms/admin
$ORACLE_HOME/perl/bin/perl \
$ORACLE_HOME/rdbms/admin/catcon.pl \
-u SYS \
-d $ORACLE_HOME/rdbms/admin \
-l '/tmp' -b utl32k_cdb_pdbs_output \
utl32k.sql
Enter Password: には、SYSのパスワードを入力
再起動
sqlplus / as sysdba
shutdown immediate
startup
ALTER PLUGGABLE DATABASE ALL OPEN READ WRITE;