新しい拡張データ型機能の有効化
システムで新しい拡張データ型を利用できるようにするには、特定のアップグレード操作が必要です。
Oracle Database 12cでは、SQLのVARCHAR2
、NVARCHAR2
およびRAW
データ型の最大サイズを制御するMAX_STRING_SIZE
が導入されました。MAX_STRING_SIZE = EXTENDED
を設定することで、Oracle Database 12cで導入された32767バイト制限が有効になります。
MAX_STRING_SIZE = EXTENDED
を設定するには、COMPATIBLE
初期化パラメータを12.0.0.0
以上に設定する必要があります
また、データベースがアップグレード・モードでオープンしていているときにutl32k.sql
スクリプトを実行することによって、データ型サイズの変更の影響を受けるオブジェクトを無効にして再コンパイルする必要があります。次に例を示します。
CONNNECT SYS / AS SYSDBA
SHUTDOWN IMMEDIATE;
STARTUP UPGRADE;
ALTER SYSTEM SET max_string_size=extended;
START $ORACLE_HOME/rdbms/admin/utl32k.sql
SHUTDOWN IMMEDIATE;
STARTUP;
注意:
MAX_STRING_SIZE
の値はSTANDARD
からEXTENDED
に変更できます。ただし、MAX_STRING_SIZE
の値をEXTENDED
からSTANDARD
には変更できません。MAX_STRING_SIZE = EXTENDED
を設定することは、データベースでアプリケーションの非互換性が発生する可能性がある設定を明示的に指定することになります。
関連項目:
MAX_STRING_SIZE
の推奨事項および手順などの詳細は、Oracle Databaseリファレンスを参照してください