指定したユーザーに対するPERM領域割り当ての改定値(バイト単位)。
- n
- このバイト数は、整数値、10進数値、または浮動小数点値として入力するか、バイト数を決定する値が得られる定数式として入力します。また、指数表記法を使用して値を入力することもできます。例えば、1000でも1E3でもかまいません。
- constant_expression
- 定数式は、列を参照しない任意のSQL式です。データベースのPERM領域サイズに適切な定数式を指定すると、Teradata Databaseは、AMP単位でPERM領域を割り当てることにより、システムのサイズに合わせた最適なPERM領域の容量を割り当てることができます。
- BYTES
- 許容する領域の単位を重複して指定するためのオプションのキーワード。
- SKEW
- 固定領域のスキュー制限を指定するために使用するキーワード。AMP領域の最大使用率がAMPごとの割り当てを超えることができるようにスキュー制限を指定できます。AMPごとの割り当ては、システムの最大の領域制限をAMP数で割ったものです。
- constant_expression
- 定数式または0~10000までの定数。1~9999の値を指定して、AMPレベルの制限を示します。この制限はAMPごとの割り当てです*(1 + permskewlimit/100)。AMPごとのレベルに相当する領域を設定するには0を指定します。この場合スキューなしです。10000の値は無制限のスキューを示し、上限はシステムの最大領域制限になります。
- DEFAULT
- DBS Control DefaultPermSkewLimitPercentの値を使用します。
- PERCENT
- オプションのキーワード。このキーワードは読みやすくするために含めることができ、constant_expressionまたはDEFAULTキーワードが許容されるスキューのパーセンテージを指定することを示します。
例: ユーザーに対する固定領域の割り振りの変更
この文は、ユーザーpetersonの固定領域の割り当てを変更します。
MODIFY USER peterson AS PERMANENT = 6000000 BYTES;
例: 定数式を使用したPERM、SPOOLおよび一時領域の変更
この例では、ユーザーのPERM領域を定数式2,000,000 (HASHAMP()+1)に基づいたサイズで作成し、スプール領域を同じ定数式2,000,000 (HASHAMP()+1)に基づいたサイズで作成し、一時領域を定数式2,000,000 (HASHAMP()+1)に基づいたサイズで作成します。これらの式では現在のシステムにあるAMPの数を計算し、そのサイズに合わせてsls120639ユーザーの固定、スプール、および一時領域を拡大します。
これは、ユーザーsls120639の最初の定義です。
CREATE USER sls120639 AS DEFAULT DATABASE = it_dev, PASSWORD = (EXPIRE = 0), PERM = 2000000*(HASHAMP()+1), SPOOL = 2000000*(HASHAMP()+1), TEMPORARY = 2000000*(HASHAMP()+1);
次のMODIFY USER文では、このデータベースの固定、スプール、および一時領域の割り当てを次のように変更します。
MODIFY USER sls120639 AS DEFAULT DATABASE = it_dev, PASSWORD = (EXPIRE = 0), PERM = 3000000*(HASHAMP()+1), SPOOL = 3000000*(HASHAMP()+1) TEMPORARY = 3000000*(HASHAMP()+1);
例: 固定領域スキューの制限値を追加するユーザーの変更
4つのAMPを含むシステムと、1ギガバイトの固定領域を持つユーザーを仮定します。固定領域のAMPごとの割り当ては250メガバイトです。固定領域のスキュー制限値を10%に設定すると、どのAMPでも固定領域のAMPごとの割り当てより25メガバイト多いスキュー制限が可能になります。使用する固定領域の合計が固定領域の1ギガバイトのグローバル制限を超えない限り、AMPでは275メガバイトまでの固定領域を使用できます。
MODIFY USER user1 AS PASSWORD = (EXPIRE = 0), PERM = 1e9 SKEW = 10 PERCENT;