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 DATABASEdatabase-name1BUFFERPOOLbpnameINDEXBPbpnameSTOGROUPstogroup-nameCCSIDCCSID-value
注:
  • 1 同一の条項は、複数回指定してはならない。

説明の対象: 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        1149
ASCII CCSIDs
---------------

850        858
874        4970
1250       5346
1251       5347
1252       5348
1253       5349
1254       5350
1255       5351
1256       5352
1257       5353       

ALTER DATABASE

データベース ABCDE 内の表スペースと索引の両方のための デフォルト・バッファー・プールを BP2 に変更します。
   ALTER DATABASE ABCDE
     BUFFERPOOL BP2
     INDEXBP BP2;