A Oracle DatabaseのJSONに関する制限事項
ここでは、Oracle Database内のJSONデータに対するOracleのサポートに関連する制限事項について説明します。
異なる指定がないかぎり、指定された制限事項が順守されない場合には、エラーが発生します。
-
全般
-
JSONオブジェクトまたは配列のネスト・レベルの数: 1000(最大)
-
JSONフィールド名の長さ: 32767バイト(最大)
-
-
SQL/JSONファンクション
-
戻り値の長さ: 32767バイト(最大)
-
パスの長さ: 4Kバイト(最大)
-
パス・ステップ数: 65535(最大)
-
-
簡略化されたJSON構文
-
パスの長さ: 4Kバイト(最大)
-
パス・コンポーネントの長さ: 128バイト(最大)
-
-
JSON検索索引
-
フィールド名の長さ: 255バイト(最大)文書に255バイトよりも長いフィールド名が含まれている場合、完全に索引付けされない可能性があります。その場合、エラーがデータベース・ビュー
CTX_USER_INDEX_ERRORS
に記録されます。注意:
名前が64バイトを超えるオブジェクト・フィールドが含まれるJSONデータを索引付けする場合、Oracle Database 18cより前に作成された任意のJSON検索索引およびOracle Text索引を再構築する必要があります。詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。
関連項目:
-
-
JSONデータ・ガイド
-
パスの長さ: 4000バイト(最大)4000バイトよりも長いパスは、データ・ガイドで無視されます。
-
親ノードにある子の数: 1024(最大)子が1024を超えるノードは、データ・ガイドで無視されます。
-
フィールド値の長さ: 32767バイト32767バイトよりも長い値がJSONフィールドに含まれる場合、データ・ガイドはその長さを32767として報告します。
-
長さが0(ゼロ)のフィールド名: 長さが0(空)のオブジェクトのフィールド名(
""
)は、JSONデータ・ガイドではサポートされません。このような名前が含まれるJSONデータに対しては、データ・ガイドの動作は定義されていません。
-
-
OSON
-
すべてのフィールド名の合計サイズ: 65535バイト(最大)。
-
(各)フィールド名の長さ: 255バイト(最大)。
-
重複フィールドの不使用: フィールド名が重複したJSONオブジェクトがOSONを使用して表されている場合、これらのフィールドの1つだけが残されます。
-
-
VARCHAR2
として格納されていないかぎり、複数のシャード間にわたってJSONデータを問い合せることはできません。 -
PL/SQL getterメソッド
JSON_OBJECT_T.get_keys()
は、指定されたJSONオブジェクトに対し、最大32767のフィールド名を返します。32767を超えるフィールドを持つオブジェクトが指定されると、エラーが発生します。