制限事項 Db2 for z/OS

Db2 for z/OS には、システム制限、オブジェクトと SQL の制限、ID とストリングの長さの制限、および特定のデータ・タイプ値の制限があります。

システム・ストレージ上の制約があると、このセクションで明示された制約が守れない可能性があり ます。 下表に明記されていない項目に対する制約は、システム・ストレージにより制約され ます。

ID の長さの制約

下表は、ID の長さの制約を示しています。

表 1. 識別子の長さ制限この表におけるバイト(複数形)という用語は、特に記載のない限り、 UTF-8 表現のバイト数を意味します。
アイテム 制限値
JAVA 外部ルーチン名 1305 バイト
エイリアスの名前、補助テーブル、コレクション、クローンテーブル、制約、相関、カーソル(DECLARE CURSOR WITH RETURNまたはEXEC SQLユーティリティを除く)、 Db2 RESTサービス、distinct型(2部構成の名前の両方の部分)、関数(2部構成の名前の両方の部分)、ホスト識別子、インデックス、JAR、パラメータ、プロシージャ、ロール、スキーマ、シーケンス、特定、文、ストレージグループ、セーブポイント、SQL条件、SQLラベル、SQLパラメータ、SQL変数、シノニム、テーブル、トリガ、ビュー、XML属性名、XML要素名 128 バイト
認証ID名またはセキュリティラベル名。 8 バイト
ルーチンまたは Db2 RESTサービスのバージョン識別子 64 EBCDIC バイト。名前の UTF-8 表現が 122 バイトを超えてはなりません。
列名 3 0バイト 1
DECLARE CURSOR WITH RETURN を指定して作成されたカーソル名 30 バイト
EXEC SQL ユーティリティーにより作成されたカーソル名 8 バイト
ロケーション名 16 バイト
データベース名、テーブルスペース、インデックススペース、バッファプール 8 バイト
計画またはプログラムの名前 8 バイト
パッケージの名前 8 バイト (BIND PACKAGE コマンドで作成されるパッケージには、8 文字の EBCDIC 文字のみが使用されます。 CREATE FUNCTION (SQL スカラー) 文、CREATE PROCEDURE (SQL - ネイティブ) 文、CREATE TRIGGER 文、または zFS ファイルを DBRM ライブラリとして指定する BIND コマンドの結果として作成されるパッケージには、128 バイトを使用できます
CREATE TRUSTED CONTEXT または ALTER TRUSTED CONTEXT を使用して作成されたプロファイルの名前。 127 バイト
ICF カタログの名前。 8 バイト
注:
  1. 列名の長さあるいは特殊タイプのスキーマまたは名前の長さが 30 バイト (Unicode) より長く、これらのオブジェクトがアプリケーションで記述されている場合は、SQLDA の sqlname フィールドで切り捨てられます。

数値の制約値

次の表は、 Db2 for z/OS における数値の最小値と最大値を示しています。

表 2. 数値の制限値
アイテム 制限値
SMALLINT (短精度整数) の最小値 -32768
SMALLINT (短精度整数) の最大値 32767
INTEGER (整数) の最小値 -2147483648
INTEGER (整数) の最大値 2147483647
BIGINT (64 ビット整数) の最小値 -9223372036854775808
BIGINT (64 ビット整数) の最大値 9223372036854775807
REAL (実数) の最小値 約 -7.2x1075
REAL (実数) の最大値 約 7.2x1075
REAL (実数) の正の最大値 約 5.4x10-79
REAL (実数) の負の最大値 約 -5.4x10-79
最少 FLOAT 値 約 -7.2x1075
最大 FLOAT 値 約 7.2x1075
最少の正 FLOAT 値 約 5.4x10-79
最大の負 FLOAT 値 約 -5.4x10-79
最少 DECIMAL 値 1-1031
最大 DECIMAL 値 1031 - 1
10 進数の精度の最大値 31
最小 DECFLOAT(16) 値1 -9.999999999999999x10384
最大 DECFLOAT(16) 値1 9.999999999999999x10384
最小正 DECFLOAT(16) 値1 1.000000000000000x10-383
最大負 DECFLOAT(16) 値1 -1.000000000000000x10-383
最小 DECFLOAT(34) 値1 -9.999999999999999999999999999999999x106144
最大 DECFLOAT(34) 値1 9.999999999999999999999999999999999x106144
最小正 DECFLOAT(34) 値1 1.000000000000000000000000000000000x10-6143
最大負 DECFLOAT(34) 値1 -1.000000000000000000000000000000000x10-6143
DECFLOAT 値の係数の長さ DECFLOAT(16) は 16 桁、DECFLOAT(34) は 34 桁
DECFLOAT 値の最大指数 (Emax) DECFLOAT(16) は 384、DECFLOAT(34) は 6144
DECFLOAT 値の最小指数 (Emin) DECFLOAT(16) は -383、DECFLOAT(34) は -6143
DECFLOAT 値のバイアス DECFLOAT(16) は 398、DECFLOAT(34) は 6176
注:
  1. DECFLOAT の正規数には制約があります。 DECFLOAT には NaN や無限大のような特殊値も含まれ、これらも有効です。 また、DECFLOAT は文書化された範囲外の非正規数もサポートします。

ストリングの長さの制約

次の表は、 Db2 for z/OS における文字列の長さの制限を示している。

表 3. ストリングの長さの制約
アイテム 制限値
CHAR の最大長 255 バイト
GRAPHIC の最大長 127 の 2 バイト文字数
BINARY の最大長 255 バイト
VARCHARの最大長1
  • 4 KB ページを持つ表スペース内にある表の列の場合は 4046 バイト
  • 8 KB ページを持つ表スペース内にある表の列の場合は 8128 バイト
  • 16 KB ページを持つ表スペース内にある表の列の場合は 16320 バイト
  • 32 KB ページを持つ表スペース内にある表の列の場合は 32704 バイト

それ以外の場合は 32704 バイト

XML で指標付けできる VARCHAR の最大長 UTF-8 に変換後 1000 バイト
VARGRAPHICの最大長 1
  • 4 KB ページを持つ表スペース内にある表の列の場合は 2023 文字の 2 バイト文字
  • 8 KB ページを持つ表スペース内にある表の列の場合は 4064 文字の 2 バイト文字
  • 16 KB ページを持つ表スペース内にある表の列の場合は 8160 文字の 2 バイト文字
  • 32 KB ページを持つ表スペース内にある表の列の場合は 16352 文字の 2 バイト文字

それ以外の場合は 16352 文字の 2 バイト文字

変更の開始VARBINARYの最大長 1変更の終わり 変更の開始
  • 4 KB ページを持つ表スペース内にある表の列の場合は 4046 バイト
  • 8 KB ページを持つ表スペース内にある表の列の場合は 8128 バイト
  • 16 KB ページを持つ表スペース内にある表の列の場合は 16320 バイト
  • 32 KB ページを持つ表スペース内にある表の列の場合は 32704 バイト

それ以外の場合は 32704 バイト

変更の終わり
CLOB の最大長 2147483647 バイト (2 GB - 1 バイト)
DBCLOB の最大長 1073741823 の 2 バイト文字数
BLOB の最大長 2147483647 バイト (2 GB - 1 バイト)
文字定数の最大長 32704 の UTF-8 バイト数
16 進文字定数の最大長 32704 個の 16 進数字
グラフィック・ストリング定数の最大長 16352 個の 2 バイト文字 (UTF-8 表記で 32704 バイト)
16 進グラフィック・ストリング定数の最大長 32704 個の 16 進数字
スカラー式に使用されるテキスト・ストリングの最大長 4000 の UTF-8 バイト数
連結文字ストリングの最大長 2147483647 バイト (2 GB - 1 バイト)
連結グラフィック・ストリングの最大長 1073741824 の 2 バイト文字数
連結バイナリー・ストリングの最大長 2147483647 バイト (2 GB - 1 バイト)
XML パターン・テキストの最大長 UTF-8 に変換後 4000 バイト
XML 文書の XML エレメント名または属性名の最大長 1000 バイト
ネーム・スペース uri の最大長 1000 バイト
ネーム・スペース接頭部の最大長 998 バイト
内部 XML ツリーの最大深さ 128 レベル
注:
  1. 最大長が可能なのは、その列が表内で唯一の列である場合だけです。 そうでない場合は、 その最大長はページ上に残っているスペース量によって異なります。

日時の制約値

次の表は、 Db2 for z/OS における datetime 値の最小値と最大値の制限を示しています。

表 4. 日付/時刻の制限値
アイテム 制限値
最少 DATE 値 (ISO 形式で記載) 0001-01-01
最大 DATE 値 (ISO 形式で記載) 9999-12-31
最少 TIME 値 (ISO 形式で記載) 00.00.00
最大 TIME 値 (ISO 形式で記載) 24.00.00
タイムゾーンなしのタイムスタンプの最小値 0001-01-01-00.00.00.000000000000
タイムゾーンなしのタイムスタンプの最大値 9999-12-31-24.00.00.000000000000 1
最少 TIMESTAMP WITH TIME ZONE 値 0001-01-01-00.00.00.000000000000 +00:00
最大 TIMESTAMP WITH TIME ZONE 値 9999-12-31-24.00.00.000000000000 +00:00 1
TIMESTAMP の精度の範囲 0 から 12
TIME ZONE の時間の範囲 -24 から 24
TIME ZONE の分の範囲 0 から 59
注:
  1. 最大値は UTC 値として示されています。 タイム・ゾーンなしのタイム・スタンプがタイム・ゾーン付きのタイム・スタンプと比較される際には、暗黙的なタイム・ゾーンを使用して、必要な調整が行われます。 調整中に、タイム・ゾーンなしのタイム・スタンプが、タイム・ゾーン付きのタイム・スタンプ値の最大値より大きい値に変換される場合があります (これは比較および割り当てなどの操作で行われる可能性があります)。 この状態は、タイム・ゾーンなしのタイム・スタンプ列には最大値として '9999-12-30-00.00.00.000000000000' を使用し、タイム・ゾーン付きのタイム・スタンプ列には最大値として '9999-12-30-00.00.00.000000000000 +00:00' を使用することで、回避できます。

SQL文の制限

次の表は、 Db2 for z/OS における SQL 文の Db2 制限を示しています。

表 5. Db2 SQL文の制限
アイテム 制限値
1 つの表またはビューにある列の最大数 (この値は CREATE VIEW ステートメントの 複雑度により異なる) または、表関数が戻す列数。
750以下(隠しカラムを含む)
テーブルが従属的な場合は749
変更の開始MERGE ステートメントのターゲット内で参照できる列の最大数。変更の終わり 変更の開始749変更の終わり
変更の開始MERGE ステートメントのソース内で参照できる式の最大数。変更の終わり 変更の開始750変更の終わり
SELECT、UPDATE、INSERT、MERGE、またはDELETE文またはビューにおけるベーステーブルのおおよその最大数 変更の開始1024変更の終わり
FROM 文節内の表の最大数 225 以下 (そのステートメントの複合度により異なります)
MERGE文またはINSERT文のFOR n ROWS形式で挿入できる最大行数 32767
表の行およびレコード・サイズの最大値 最大レコードサイズを参照してください。
ストレージ・グループ内のボリューム ID の最大数 133
パーティション化表スペースまたはパーティション化された索引内のパーティション の最大数

ほとんどのテーブルスペースの種類では、DSSIZEの値とバッファプールページサイズに応じて4096。

DSSIZEで 2GB より大きい値( またはLARGE句1) で定義されていないテーブルスペースには64。

パーティション境界の限界キー値の長さの最大合計 765 の UTF-8 バイト数
パーティションの最大サイズ (表スペースまたは索引)
変更の開始相対ページ番号を持つパーティション・バイ・レンジ・テーブル・スペースの場合:
  • 1 TB
変更の終わり
4 GB より大きい DSSIZE を指定して定義された表スペースの場合は以下のとおり。
  • 256 GB、ページサイズによる(4 KB ページの場合は 1~64 パーティション、8 KB ページの場合は 1~128 パーティション、16 KB ページの場合は 1~256 パーティション、32 KB ページの場合は 1~512 パーティション)
DSSIZE で 4 GB(または LARGE 句1) として定義されたテーブルスペースの場合:
  • 4GB、1~4096パーティション用
変更の開始DSSIZEが2GBを超えない(LARGE 句で定義されていない1)テーブル・スペース:
  • 4GB、1~16パーティション用
  • 2GB、17~32パーティション用
  • 1GB、33~64パーティション用
変更の終わり
パーティション表スペースの非パーティション化索引の最大サイズ
5 バイト EA 表スペースの場合:
  • 4 KB ページの場合は 16 TB
  • 8 KB ページの場合は 32 TB
  • 16 KB ページの場合は 64 TB
  • 32 KB ページの場合は 128 TB
LARGE で定義されたテーブルスペースの場合:
  • 16 TB
索引キーの最大長
  • パーティションを分けている索引: 255-n
  • パーティションを分けていない索引 (埋め込みあり): 2000-n
  • 変更の開始パディングされないパーティショニング・インデックス: 2000 - n - 2m - 3d変更の終わり
n
NULL を許可するキー内の列の数
m
キー内の可変長列の数
変更の開始d変更の終わり
変更の開始キー内の DECFLOAT 列の数変更の終わり
パーティション化索引のパーティショニングにおいて使用される最大バイト数 255 (この最大制約値は、追加の制約値の対象となり、表スペース内の パーティション数により異なります。 パーティション数 * (106 + 限界キー・サイズ) は 65394 よりも 小さい必要あります。)
索引キーの列の最大数 64
索引キー内の式の最大数 64
ステートメント内の副照会の最大数 224
SQLDA の中でポイントされるホスト変数および標識変数の最大全長 32767 バイト

LOB の場合、2147483647 バイト (2 GB - 1 バイト) であり、アプリケーション環境とホスト言語が課す制約の対象です。

ホスト変数またはパラメーター・マーカーを参照するステートメント用のアプリケーション SQLDA の最大サイズ 99016 バイト
挿入操作または更新操作に使用されるホスト変数の最大長 32704 バイト (LOB 以外の場合)

LOB の場合、2147483647 バイト (2 GB - 1 バイト) であり、アプリケーション環境とホスト言語が課す制約の対象です。

変更の開始ステートメント内のホスト変数またはパラメーター・マーカーの最大数変更の終わり 変更の開始変更の開始 z/OS 以外のクライアントから発信された分散アプリケーションの場合、16000。 そうでなければ変更の終わり変更の開始
  • LOB または特殊タイプのホスト変数またはパラメーター・マーカーを持たないアプリケーションの場合は 2205
  • 750 (1 つ以上の LOB または特殊タイプのホスト変数またはパラメーター・マーカーを持つアプリケーションの場合)
変更の終わり 変更の終わり
SQL ステートメントの最大長 2097152 バイト
選択リスト内のエレメントの最大数 750以下、選択リストが静的スクロールカーソルの結果テーブル用かどうかによる2
変更の開始IN リスト内のエレメントの最大数 変更の終わり 変更の開始32767変更の終わり
WHERE または HAVING 節の述部の最大数 ストレージにより制約されます。
変更の開始CUBE グループのエレメントの最大数変更の終わり 変更の開始16変更の終わり
ソートおよび評価集約関数 (MULTIPLE DISTINCT および GROUP BY) を必要とする照会操作の列の最大合計長 65529 バイト
ソート・キーの最大長 32707 バイト
チェック制約の最大長 3800 バイト
SQL CALL ステートメントの単一パラメーターで受け渡し可能な最大バイト数 32765 バイト (LOB 以外の場合)

LOB の場合、2147483647 バイト (2 GB - 1 バイト) であり、アプリケーション環境とホスト言語が課す制約の対象です。

SQL ステートメントを明示的または暗黙的に参照可能なストアード・プロシージャー、 トリガー、ユーザー定義関数の最大数 64階層のネスト
変更の開始プロシージャーまたは関数内のパラメーターの最大数変更の終わり 変更の開始変更の開始パラメータ・リストを含むSQL文は、SQL文の最大長を超えることはできません。変更の終わり変更の終わり
SQLパスの最大長 2048 バイト
CREATE PROCEDURE、 CREATE FUNCTION、 ALTER PROCEDURE、または ALTER FUNCTION ステートメント内の WLM 環境名の最大長。 32 バイト
CREATE INDEX ステートメントの XMLPATTERN 文節内の XPath レベルの最大数。 50 ネスト・レベル
注:
  1. DB2® version 5 との互換性を保つため、LARGEキーワードは許容されますが、DSSIZE句が指定されていない場合に限ります。 4GB以上の最大パーティションサイズを指定するには、DSSIZE句の使用が推奨されます。 詳細については、「非大規模テーブルスペース(非推奨)」 を参照してください。
  2. 両方向スクロール・カーソルが読み取り専用の場合、その最大数は、ORDER BY の中の列数 (SELECT リストにない) よりも 749 少ない数になります。 両方向スクロール・カーソルが読み取り専用 でない場合、その最大数は、747 です。

システムの制限

次の表は、 Db2 システムの制限を Db2 for z/OS に示したものである。

表 6. Db2 システム制限
アイテム 制限値
Db2 またはアプリケーションエージェントの同時最大数 EDMプールサイズ、バッファプールサイズ、および各 Db2 またはアプリケーションエージェントが使用するストレージの量によって制限される
現在アクティブな監査ポリシーの最大数 32
絶対ページ番号付けが使用されているパーティション・バイ・グロース(PBG)テーブルスペースまたはパーティション・バイ・レンジ(PBR)テーブルスペースにおけるテーブルの最大サイズ 128 テラバイト (TB)
相対ページ番号を持つパーティション・バイ・レンジ・テーブル空間(PBR RPN)におけるテーブルの最大サイズ 4096テラバイト(TB)
単純表スペースまたはセグメント表スペースの最大サイズ 64 GB
変更の開始物理ログ・レコードの最大サイズ変更の終わり 変更の開始36,000 バイト変更の終わり
ログ・スペースの最大サイズ
  • 6バイト形式: 248 バイト
  • 10バイト形式: 280 バイト
アクティブ・ログ・データ・セットの最大サイズ 変更の開始768GBマイナス1バイト変更の終わり
アーカイブ・ログ・データ・セットの最大サイズ 変更の開始768GBマイナス1バイト変更の終わり
アクティブ・ログ・コピーの最大数 2
アーカイブ・ログ・コピーの最大数 2
アクティブ・ログ・データ・セット (各コピー) の最大数 93
アーカイブ・ログ・ボリューム (各コピー) の最大数 10000
アプリケーションまたはユーザーに利用できるデータベースの最大数 システム・ストレージおよび EDM プール・サイズにより制約されます。
データベースの最大数 65217
暗黙的に作成されるデータベースの最大数 SYSIBM.DSNSEQ_IMPLICITDB のシーケンスの最大値、デフォルトは10000
各データベースの内部オブジェクトの最大数 1 32767
宣言されたグローバル一時表の索引の最大数 10000
EDM プールの最大サイズ インストール・パラメーターの最大は使用可能なスペースにより異なります。
ページ当たりの最大行数 すべての表スペースに対して 255。ただし例外は、カタログとディレクトリーの 表スペースは、最大 127。
単純またはセグメント化された最大データ・セット・サイズ 2 GB
パーティション化された最大データ・セット・サイズ 表5パーティションの最大サイズを参照
LOB データ・セットの最大サイズ 256 GB
変更の開始LOB 表スペースのデータ・セットの最大数変更の終わり 変更の開始254変更の終わり
変更の開始LOBデータのスレッドあたりの最大ストレージ変更の終わり 変更の開始2 GB変更の終わり
作業ファイル・データベースに定義できる表スペースの最大数 500
作業ファイル・データベースに定義できる表およびトリガーの最大数 11767
変更の開始DSN_PROFILE_TABLEプロファイル・テーブルのアクティブなプロファイルの最大数変更の終わり 変更の開始4096変更の終わり
変更の開始で使用される ENABLE='Y' の DSN_VIRTUAL_INDEXES 行の最大数。 Db2変更の終わり 変更の開始4096変更の終わり
変更の開始で使用される ENABLE='Y' の DSN_VIRTUAL_KEYTARGETS 行の最大数。 Db2変更の終わり 変更の開始4096変更の終わり
注:
  1. 外部オブジェクトに対する内部オブジェクト記述子 (OBD) の数は以下のとおりです。
    • 表スペース: 2
    • 表: 1
    • 索引: 2
    • チェック制約: 1
    • 参照整合性関係: 2
    • 各 LOB 列の補助関係: 1
    • 各 XML 列の XML 関係: 1
    • トリガー: 1
    • INSTEAD OF トリガーがあるビュー: 1