ALTER DATABASE ステートメント
ALTER DATABASE ステートメントは、現行サーバーにあるデータベースの記述を変更します。
呼びかけ ALTER DATABASE
このステートメントは、アプリケーション・プログラムに組み込むか、あるいは対話式に発行することができます。 これは、DYNAMICRULES RUN動作が有効になっている場合にのみ、動的に準備できる実行可能なステートメントです。 詳細は、「Authorization IDs and dynamic SQL」 を参照してください。
承認 ALTER DATABASE
以下に定義する特権セットには、少なくとも次のいずれかが含まれていなければいけません。
- データベースに対する DROP 特権
- データベースの所有権
- データベースの DBADM または DBCTRL 権限
- SYSADM または SYSCTRL 権限
- システム DBADM
インストール SYSOPR 権限 (プロセスの現行 SQLID が SYSINSTL に設定されている場合)
データベースを暗黙的に作成する場合、その特権が暗黙的なデータベースまたは DSNDB04 上になければなりません。
特権セット:
アプリケーション・プログラムにこの ステートメントを組み込む場合、特権セットは、パッケージの所有者が持つ特権となります。 このステートメントが動的に準備される場合、特権セットは、 プロセスの各許可 ID およびロールが持つ特権セットの和集合になります。
構文 ALTER DATABASE
説明の対象: ALTER DATABASE
- DATABASE データベース名
- 変更するデータベースを指定します。 この名前は、現行サーバーに存在する データベースを指定する必要があり、暗黙的に作成されたシステム・データベースを指定しないでください。
- BUFFERPOOL bpname
- データベース内の表スペース用のデフォルト・
バッファー・プールを指定します。 データベース内に既に存在している表スペースには適用されません。
データベースが作業ファイル・データベース である場合は、8 KB および 16 KB のバッファー・プールは指定できません。
テーブル空間が暗黙的に作成された場合、 Db2 は 「暗黙的に定義されたテーブル空間 」で説明されているようにバッファプールを選択します。
bpname の詳細については、「SQLにおける命名規則」 を参照してください。
- INDEXBP bpname
- データベース内の索引用のデフォルト・バッファー・プールを指定します。 データベース内に既に存在している索引には適用されません。 この名前により、4 KB、8 KB、16 KB、または 32 KB バッファー・プールを指定できます。 bpname の詳細については、「SQLにおける命名規則」 を参照してください。
- STOGROUP stogroup-name
- データベース内の表スペースおよび索引に必要な DASD スペースをサポートする ためのデフォルトのストレージ・グループとして、必要に応じて使用されるストレージ・グループの 名前を指定します。 データベース内に既に存在している表スペースおよび索引には 適用されません。
- CCSID ccsid-value
- データベース内の表スペースのデフォルトの CCSID を指定します。 データベース内の既存の表スペースには適用されません。
ccsid-value は、データベースの CCSID の現行値との互換性がある CCSID 値を
指定する必要があります。 ALTER DATABASEの注釈には、指定されたCCSIDを変更できるCCSIDの一覧が記載されています。
CCSID ワークファイルデータベースでは指定できません。
注釈 ALTER DATABASE
- CCSID の変更
デフォルト CCSID を変更する機能により、ユーロ記号をサポートする CCSID に変更することができます。 変換が可能なのは、ユーロ記号を定義している特定の CCSID と 定義していない CCSID 間だけです。 多くの場合、ユーロ記号をサポートするコード・ポイントによって、 国際通貨記号 (ICS) のような既存のコード・ポイントを置き換えます。
CCSID の変更は、システムに支障を起こす可能性があり、いくつかのステップが必要です。 Db2 は、システムの各エンコード方式(ASCII、EBCDIC、Unicode)において、SBCS、DBCS、および混合CCSIDをサポートしています。 したがって、コード化スキーム内のすべての データベースとすべての表スペースの CCSID を同時に変更する必要があります。 そうしない場合には、予測できない結果が生じる可能性があります。
CCSID を変更するためにお勧めする方法では、データのアンロードと再ロードが必要です。 CCSID を変更するために必要な手順(インストール CLIST を実行して DSNHDECP の CCSID データを変更するなど)や、ビューを削除して再作成するタイミング、無効になったパッケージを再バインドするタイミングについては、「国際データでの作業」 を参照してください。
以下のリストは、変換可能な CCSID を示しています。 各ペアの 2 番目の CCSID は、ユーロ記号付きの CCSID です。 CCSID はユーロ記号をサポートしない CCSID から、サポートする CCSID に変更 することができます。その逆も可能です。 例えば、現行の CCSID が 500 の場合は、1148 に変更することができます。EBCDIC CCSIDs --------------- 37 1140 273 1141 277 1142 278 1143 280 1144 284 1145 285 1146 297 1147 500 1148 871 1149ASCII CCSIDs --------------- 850 858 874 4970 1250 5346 1251 5347 1252 5348 1253 5349 1254 5350 1255 5351 1256 5352 1257 5353
例 ALTER DATABASE
ALTER DATABASE ABCDE
BUFFERPOOL BP2
INDEXBP BP2;