新しい拡張データ型機能の有効化

システムで新しい拡張データ型を利用できるようにするには、特定のアップグレード操作が必要です。

Oracle Database 12cでは、SQLのVARCHAR2NVARCHAR2および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リファレンスを参照してください。