gikoha’s blog

個人的メモがわり

max_string_size = EXTENDED

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;