FIPS 127-2に対するOracleの準拠

Oracleは、最新のFIPS(Federal Information Processing Standard)であるFIPS PUB 127-2に完全に準拠しています。現在、この規格は、公開されていません。ただし、FIPS 127-2で定義されたデータベース要素のサイズに関する情報に依存するアプリケーションを使用するユーザーのために、準拠性についての詳細を表C-4に示します。

表C-4 データベース要素のサイズ設定

データベース要素 FIPS Oracle Database

識別子の長さ(バイト単位)

18

128

CHARACTERデータ型の長さ(バイト単位)

240

2,000

NUMERICデータ型の10進精度

15

38

DECIMALデータ型の10進精度

15

38

INTEGERデータ型の10進精度

9

38

SMALLINTデータ型の10進精度

4

38

FLOATデータ型の2進精度

20

126

REALデータ型の2進精度

20

63

DOUBLE PRECISIONデータ型の2進精度

30

126

表の中の列

100

1,000

INSERT文の中の値

100

1,000

UPDATE文内のSET句(ノート1)

20

1,000

行の長さ(ノート2、ノート3)

2,000

2,000,000

一意制約の中の列

6

32

一意制約の長さ(ノート2)

120

(ノート4)

外部キー列リストの長さ(ノート2)

120

(ノート4)

GROUP BY句の中の列

6

255 (ノート5)

GROUP BY列のリストの長さ

120

(ノート5)

ORDER BY句の中のソート指定

6

255 (ノート5)

ORDER BY列のリストの長さ

120

(ノート5)

参照整合性制約内の列

6

32

SQL文で参照される表

15

無制限

同時にオープンできるカーソル

10

(ノート6)

SELECT構文のリストの項目

100

1,000

ノート1: UPDATE文のSET句の数とは、SETキーワードの後に続くカンマで区切られる項目の数のことです。

ノート2: FIPS PUBでは、列セットの長さを次の値の合計として規定しています。つまり、列の数を2倍した値、各文字列の長さ(バイト単位)、各真数値列の10進精度に1を加えた値、各概数値列の2進精度を4で割って1を加えた値の合計です。

ノート3: 行の最大長に対するOracleの制限は、長さ2GBのLONG値とそれぞれの長さが4000バイトである999のVARCHAR2値を含む行の最大長に基づいています。2(254) + 231 + (999(4000))

ノート4: 一意キー制約に対するOracleの制限は、Oracleデータ・ブロックのサイズ(初期化パラメータDB_BLOCK_SIZEによって指定される)の半分からオーバーヘッドを引いたものになります。

ノート5: Oracleは、GROUP BY句の列数やORDER BY句のソート指定の数に対して制限を設定しません。ただし、GROUP BY句やORDER BY句のすべての式のサイズの合計は、Oracleデータ・ブロックのサイズ(初期化パラメータDB_BLOCK_SIZEによって指定される)からオーバーヘッドを引いたサイズに制限されています。

ノート6: 同時にオープンできるカーソルの数に対するOracleの制限は、初期化パラメータOPEN_CURSORSによって指定されます。このパラメータの最大値は、使用しているオペレーティング・システムで使用可能なメモリーによって異なりますが、どんな場合でも100を超えます。