ヘッダーをスキップ
Oracle® Databaseリファレンス
12c リリース1 (12.1)
B71292-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

MAX_STRING_SIZE

特性 説明
パラメータ・タイプ 文字列
構文 MAX_STRING_SIZE = { STANDARD | EXTENDED }
デフォルト値 STANDARD
変更可能 ALTER SYSTEM ... SID='*'脚注 1 
基本 いいえ
Oracle RAC 複数インスタンスには、同じ値を使用する必要がある。

脚注 1 ALTER SYSTEMはデータベースがUPGRADEモードの場合のみ使用し、この項で説明するようにその後にutl32k.sqlを実行してください。

MAX_STRING_SIZEは、SQL内のVARCHAR2NVARCHAR2およびRAWデータ型の最大サイズを制御します。

STANDARDは、Oracle Database 12cより前のOracle Databaseリリースの長さ制限が適用されることを意味します(たとえば、VARCHAR2およびNVARCHAR2には4000バイト、RAWには2000バイト)。

EXTENDEDは、Oracle Database 12cで導入された32767バイトの上限が適用されることを意味します。

MAX_STRING_SIZE = EXTENDEDを設定するには、COMPATIBLE初期化パラメータを12.0.0.0以上に設定する必要があります。

MAX_STRING_SIZEの値はSTANDARDからEXTENDEDに変更できます。ただし、MAX_STRING_SIZEの値をEXTENDEDからSTANDARDには変更できません。

MAX_STRING_SIZE = EXTENDEDに設定することにより、ユーザーはデータベース内でアプリケーションの非互換性を引き起こす可能性がある操作を明示的に行うことになります。拡張データ型の使用を禁止するアプリケーションは、リライトすることによりいずれかの設定との互換性を確保できます(例: これらのアプリケーションは明示的にCASTを使用することにより、CREATE TABLE AS SELECTの実行中のVARCHAR2式の長さを固定できます)。

MAX_STRING_SIZEを変更すると、データベース・オブジェクトが更新され、次のように無効化される場合があります。

非CDBのVARCHAR2、NVARCHAR2およびRAW列の最大サイズを増加する

非CDBでVARCHAR2NVARCHAR2およびRAW列の最大サイズを増加するには、次の手順に従います。

  1. データベースの停止

  2. UPGRADEモードでデータベースを再起動します。

  3. MAX_STRING_SIZEの設定をEXTENDEDに変更します。

  4. rdbms/admin/utl32k.sqlスクリプトを実行します。このスクリプトを実行するには、AS SYSDBAと接続している必要があります。

  5. データベースをNORMALモードで再起動します。


    注意:

    utl32k.sqlスクリプトによって、必要な場合に、VARCHAR2NVARCHAR2およびRAW列の最大サイズが増やされます。一部のビューのSQLのリライト方法が原因で、これらのビューのVARCHAR2NVARCHAR2およびRAW列の最大サイズが増加しない場合があります。

PDBのVARCHAR2、NVARCHAR2およびRAW列の最大サイズを増加する

PDBでVARCHAR2NVARCHAR2およびRAW列の最大サイズを増加するには、次の手順に従います。

  1. PDBを停止します。

  2. PDBを移行モードで再オープンします。


    注意:

    現在のコンテナがPDBである場合、次のSQL文を使用してPDBを移行モードで再オープンできます。

    ALTER PLUGGABLE DATABASE pdb-name OPEN UPGRADE;


  3. PDBのMAX_STRING_SIZEの設定をEXTENDEDに変更します。

  4. PDBでrdbms/admin/utl32k.sqlスクリプトを実行します。utl32k.sqlスクリプトを実行するには、AS SYSDBAと接続している必要があります。

  5. PDBをNORMALモードで再度オープンします。


    注意:

    utl32k.sqlスクリプトによって、必要な場合に、VARCHAR2NVARCHAR2およびRAW列の最大サイズが増やされます。一部のビューのSQLのリライト方法が原因で、これらのビューのVARCHAR2NVARCHAR2およびRAW列の最大サイズが増加しない場合があります。


関連項目:

PDBのオープン・モード変更の詳細は、『Oracle Database管理者ガイド』を参照してください。

Oracle RACデータベースのVARCHAR2、NVARCHAR2およびRAW列の最大サイズを増加する

Oracle RACデータベースでVARCHAR2NVARCHAR2およびRAW列の最大サイズを増加するには、次の手順に従います。

  1. 1つを残して、すべてのOracle RACデータベース・インスタンスを停止します。

  2. UPGRADEモードでOracle RACデータベース・インスタンスを再起動します。

  3. MAX_STRING_SIZEの設定をEXTENDEDに変更します。

  4. Oracle RACデータベース・インスタンスで、rdbms/admin/utl32k.sqlスクリプトを実行します。このスクリプトを実行するには、AS SYSDBAと接続している必要があります。

  5. NORMALモードでOracle RACデータベース・インスタンスを再起動します。

  6. NORMALモードでその他のOracle RACデータベース・インスタンスを再起動します。


    注意:

    utl32k.sqlスクリプトによって、必要な場合に、VARCHAR2NVARCHAR2およびRAW列の最大サイズが増やされます。一部のビューのSQLのリライト方法が原因で、これらのビューのVARCHAR2NVARCHAR2およびRAW列の最大サイズが増加しない場合があります。

Oracle Data Guardロジカル・スタンバイ・データベースのVARCHAR2、NVARCHAR2およびRAW列の最大サイズを増加する

Oracle Data Guardロジカル・スタンバイ・データベースのVARCHAR2NVARCHAR2、およびRAW列の最大サイズを増やすには、次の手順に従います。

  1. Oracle Data Guardプライマリ・データベースおよびロジカル・スタンバイ・データベースをシャットダウンします。

  2. プライマリ・データベースおよびロジカル・スタンバイ・データベースをUPGRADEモードで再起動します。

  3. プライマリ・データベースおよびロジカル・スタンバイ・データベースのMAX_STRING_SIZEの設定をEXTENDEDに変更します。

  4. プライマリ・データベースとロジカル・スタンバイ・データベースの両方でrdbms/admin/utl32k.sqlスクリプトを実行します。このスクリプトを実行するには、AS SYSDBAと接続している必要があります。

  5. プライマリ・データベースおよびロジカル・スタンバイ・データベースをNORMALモードで再起動し、SQL Applyを起動します。


    注意:

    utl32k.sqlスクリプトによって、必要な場合に、VARCHAR2NVARCHAR2およびRAW列の最大サイズが増やされます。一部のビューのSQLのリライト方法が原因で、これらのビューのVARCHAR2NVARCHAR2およびRAW列の最大サイズが増加しない場合があります。