コマンドの解説

| | |

REORGCHK コマンド

|

REORGCHK コマンド内で使用される索引統計公式が改訂されました。 |新しい公式とその説明は次のとおりです。 |

| |

| |
注:
|
すべての公式は、統計をベースとします。 |統計と、そのような公式の結果は、概算でしかありません。 |この情報を念頭に置いて、REORGCHK の結果を検討する必要があります。
| | |

REORG INDEXES/TABLE コマンド

|

索引または表を再編成します。

|

REORG INDEXES ALL FOR TABLE table-name オプションは、索引データをフラグメント化されていない物理的に連続したページに再作成することによって、表に定義されたすべての索引を再編成します。 |索引オプションの CLEANUP ONLY オプションを指定すると、 |索引を再作成しないでクリーンアップが実行されます。 |宣言済み一時表にある索引に対してこのコマンドを使用すると、SQLSTATE 42995 エラーが戻されます。

|

REORG TABLE table-name オプションは、フラグメント化されたデータを消去するために行を再作成、 |および情報を縮小化することによって、表を再編成します。 |表の再編成は、以下の 2 つの方法のいずれかで行います。 |

|
|
従来の方式
|
再編成の第 1 段階において、データへの限定付き読み取り専用アクセスのみが可能です。 |
|
インプレース方式
|
再編成中ずっとデータにアクセスできますが、データの完全な順序付けは確保されません。 |表のインプレース再編成が可能なのは、タイプ 2 の索引があって拡張索引がない表の場合だけです。 |
|

|いずれかのタイプの再編成を選ぶと、表の再編成後にその表の索引が再作成されます。 |ただし、インプレース方式の場合、索引の再編成は完全ではないので、索引のフラグメント化を削減したり、索引オブジェクト・スペースを再利用するために、後で索引を再編成する必要が生じることがあります。

|
| |

DB2 Universal Database (UDB) バージョン 7 におけるデフォルトのような従来方式 (オフライン) の REORG TABLE の場合、以下のコマンドを入力します。 |

|
   db2 reorg table employee index empid allow no access indexscan 
|      longlobdata

|

| |
注:
|
デフォルトは、DB2 UDB バージョン 8 では異なります。
|
|使用上の注意 |

DB2 UDB では、従来の方式とインプレース方式の 2 つの方法で表を再編成できます。 |通常は従来の表再編成の方が高速ですが、 |再編成中にアプリケーションに表への書き込みアクセス権限がない場合にのみ、 |この方式を使用すべきです。 |この制約事項を適用できない環境では、インプレース再編成の方が遅くても、 |通常のデータ・アクセスが続行される間にバックグラウンドで実行されるという利点があります。

|

従来方式による表再編成は最も高速です (とくに、LOB データや LONG データを再編成する必要のない場合)。 |しかも、表の再編成後に、索引は完全な順序で再作成されます。 |読み取り専用アプリケーションは、再編成の最終段階を除いて元の表にアクセスすることができます。再編成の最終段階では、永続表が表のシャドー・コピーに置き換わり、索引が再作成されます。

|

インプレース方式の表再編成のほうが遅く、データの完全な順序付けも確保されませんが、再編成中にアプリケーションから表にアクセスすることができます。 |さらに、適切な権限を持ってさえいれば誰でも、スキーマおよび表名を使用してインプレース表再編成を一時停止して後で再開することができます。

|
|更新された制約事項 |

REORG ユーティリティーでは、ニックネームの使用はサポートされません。

|
| | |

BACKUP DATABASE コマンド

|
|使用上の注意 |

以下の制限事項に注意してください。 |

|

データベースの移行

制約事項

バージョン 8 の資料では、データベースが DB2 UDB バージョン 8 フィックスパック・レベルに移行されている場合には、データベースを移行する必要はないということをあいまいに述べていますが、 具体的に言うと、データベースのレベルがバージョン 8 (バージョン 8.1 以降のフィックス・レベル) であれば、フィックスパックの間でデータベースを移行する必要はないということです。 バージョン 8.2 ではデータベース・ディレクトリーのファイル構造が変更されており、バージョン 7 またはバージョン 8.1 からバージョン 8.2 への移行時にマイグレーションが自動的に実行されます。 ただし、バージョン 8.2 からバージョン 8.1 へダウングレードする場合には、db2demigdbd を実行してデータベース・ディレクトリーのファイル構造をリストアしなければなりません。 これを行わないと、データベースへのアクセス試行時にエラー SQL10004 が発生します。

db2inidb - ミラーリングされたデータベース・コマンドの初期化

db2inidb database を mirror コマンドとして発行する前に、db2 connect to database コマンドを発行しないでください。

初期化する前に分割ミラー・データベースに接続すると、ロールフォワード・リカバリーで必要になるログ・ファイルが消去されてしまいます。

その接続によって、データベースは、中断された時点にあった状態に戻ります。 中断の時点でデータベースに整合のマークが付けられていると、DB2 Universal Database(TM) はクラッシュ・リカバリーの必要はないと判断して、将来の利用のためにログを空にします。 このような事態に陥った場合にロールフォワードを試みると、SQL4970 エラーの原因になります。

db2iupdt コマンドの使用上の注意

バージョン 8.2 以降では、DB2 Universal Database インスタンスを db2iupdt コマンドで更新する際に、まず最初に、そのインスタンスに対して実行している DB2(R) プロセスをすべて停止させなければなりません。

db2sqljcustomize コマンドの新規パラメーター

db2sqljcustomize コマンドには、新規パラメーターがあります。

db2sqljcustomize - DB2 SQLJ プロファイル・カスタマイザー・コマンド

-storebindoptions
-bindoptions および -staticpositioned を直列化プロファイルに保管します。 dbsqljbind ツールの呼び出し時にこれらの値が指定されない場合は、直列化プロファイルに保管された値が使用されます。 カスタマイザーが .grp ファイルで呼び出されると、値がそれぞれの .ser ファイルに保管されます。 保管された値は db2sqljprint ツールを使用して表示できます。

sqlj コマンドの新規パラメーター

sqlj コマンドには新規パラメーターがあります。

sqlj - DB2 SQLJ 変換プログラム・コマンド

-db2optimize
SQLJ 変換プログラムが、DB2 Universal Database 用に最適化された接続コンテキスト・クラス用コードを生成することを指定します。 このオプションは、デフォルト・コンテキスト用のコードではなくユーザー定義コンテキスト用のコードを最適化します。 このオプションを指定して SQLJ 変換プログラムを実行する場合は、生成する Java(TM) アプリケーションをコンパイルするために、DB2 Universal JDBC ドライバー・ファイル db2jcc.jar を CLASSPATH に入れておく必要があります。

モニターおよびトラブルシューティング・コマンド (db2pd) の更新

モニターおよびトラブルシューティング DB2 コマンド (db2pd) は、DB2 UDB メモリー・セットから情報を取得します。 db2pd システム・コマンドは次のように拡張されてきました。

新規パラメーター -hadr

バージョン 8.2 (バージョン 8.1 フィックスパック 7 と同等) から導入された -hadr パラメーターは、高可用性災害時リカバリー情報を報告します。 報告される各エレメントの説明が、「システム・モニター・ガイドおよびリファレンス」の高可用性災害時リカバリーのセクションにあります。

新規パラメーター -utilities

バージョン 8.2 (バージョン 8.1 フィックスパック 7 と同等) から導入された -utilities パラメーターはユーティリティーの情報を報告します。 報告される各エレメントの説明が、「システム・モニター・ガイドおよびリファレンス」のユーティリティーのセクションにあります。

-activestatements 新規パラメーター

バージョン 8.2.2 (バージョン 8.1 フィックスパック 9 と同等) から導入された -activestatements パラメーターは、アクティブ・ステートメントに関する情報を戻します。 以下の情報が戻されます。

AppHandl
アクティブ・ステートメントを使用するアプリケーション・ハンドル (ノードと索引を含む)。
UOW-ID
AppHandl に関連したアプリケーション用の、ステートメントがアクティブになった作業単位 ID。
StmtID
作業単位内のステートメント ID。
AnchID
パッケージ・キャッシュ動的 SQL ハッシュ・アンカーの ID。
StmtUID
ハッシュ・アンカー内で固有のパッケージ・キャッシュ動的 SQL ステートメントの ID。
EffISO
ステートメントの有効な分離レベル。
EffLockTOut
ステートメントの有効なロック・タイムアウト値。
EffDegree
ステートメントの有効な並列処理の度合い。
StartTime
ステートメントの開始時刻。
LastRefTime
アプリケーションによるステートメントの最終参照時刻。

-locks パラメーターの新しい待機オプション

バージョン 8.2.2 (バージョン 8.1 フィックスパック 9 と同等) 以降、-locks パラメーターとともに wait オプションを指定することにより、待ち状態にあるロックと待機されているロックのみを戻すことができます。

-applications パラメーターによって戻される新しいフィールド

バージョン 8.2.2 (バージョン 8.1 フィックスパック 9 と同等) 以降、-applications パラメーターは以下の 4 つの新しいフィールドを戻します。

C-AnchID
この新規フィールドは、現行のステートメントのパッケージ・キャッシュ動的 SQL ハッシュ・アンカーの ID です。 現行のステートメントが存在しない場合、このフィールドの値は 0 になります。 現行のハッシュ・アンカー ID は、アプリケーションがステートメントに関連した要求 (たとえば FETCH 要求) を実行している場合にのみ取り込まれます。 いったん要求の処理が完了すると、値は 0 に設定されます。 静的 SQL ステートメントの場合も値は 0 に設定されます。
C-StmtUID
この新規フィールドは、現行のステートメントのハッシュ・アンカー内のパッケージ・キャッシュ動的 SQL ステートメントの固有 ID です。 現行のステートメントが存在しない場合、このフィールドの値は 0 になります。 現行のステートメントの固有 ID は、アプリケーションがステートメントに関連した要求を実行している場合にのみ取り込まれます。 いったん要求の実行が完了すると、値は 0 に設定されます。 静的 SQL ステートメントの場合も値は 0 に設定されます。
L-AnchID
この新規フィールドは、アプリケーションの最終実行ステートメントのパッケージ・キャッシュ動的 SQL ハッシュ・アンカーの ID です。 動的 SQL ステートメントが実行される前など、最終実行ステートメントが存在しない場合、このフィールドの値は 0 になります。 静的 SQL ステートメントの場合も値は 0 に設定されます。 最終アンカー・ハッシュ ID はそれぞれの要求の実行が完了した後に取り込まれ、次の関連要求が完了するまで存続します。
L-StmtUID
この新規フィールドは、アプリケーションの最終実行ステートメントのハッシュ・アンカー内のパッケージ・キャッシュ動的 SQL ステートメントの固有 ID です。 最終実行ステートメントが存在しないか、またはそれが静的 SQL だった場合、このフィールドの値は 0 になります。 最終ステートメントの ID は現行の要求が完了した後取り込まれ、次の要求が完了するまで存続します。

SET CLIENT コマンドの更新

SET(TM) CLIENT コマンドでは、バック・エンド・プロセスの接続設定を指定します。

このコマンドのコマンド・パラメーター SYNCPOINT は、バージョン 8 では無視されます。SYNCPOINT は、後方互換性のために引き続き組み込まれています。

PRECOMPILE コマンドの更新

PRECOMPILE コマンドで、組み込み SQL ステートメントが含まれるアプリケーション・プログラム・ソース・ファイルを処理します。 SQL のホスト言語呼び出しを含む変更後のソース・ファイルが作成されます。また、デフォルトとして、データベース内にパッケージが作成されます。

このコマンドのコマンド・パラメーター SYNCPOINT は、バージョン 8 では無視されます。SYNCPOINT は、後方互換性のために引き続き組み込まれています。

UPDATE HISTORY FILE コマンドの更新

ヒストリー・ファイル項目にあるロケーション、装置タイプ、またはコメントを更新します。

コマンド・パラメーター STATUS は、項目の新しい状況を指定します。

以前の資料では、STATUS コマンド・パラメーターには、項目を非アクティブとしてマーク付けするために値『I』を指定できると、誤って説明されています。 有効な値は次のとおりです。

A
項目をアクティブとしてマークします。
E
項目を期限切れとしてマークします。

EXPORT および IMPORT コマンドの更新

EXPORT および IMPORT コマンドの正確な『必要な接続』サブセクションは、以下のとおりです。

必要な接続

データベース。暗黙的な接続が可能である場合は、 デフォルトのデータベースへの接続が確立されます。 Linux、(TM)UNIX、(R)または Windows(R) クライアントからの Linux、UNIX、または Windows データベース・サーバーへのユーティリティー・アクセスは、DB2 Connect(TM) ゲートウェイまたはループバックを経由してではなく、エンジンを使用したエンジン直接接続でなければなりません。

LOAD コマンドの更新

INDEXING MODE パラメーターの AUTOSELECT 値の正確な情報は、次のとおりです。

INDEXING MODE

AUTOSELECT
REBUILD モードと INCREMENTAL モードのいずれにするかを、 ロード・ユーティリティーが自動的に決定します。決定は、ロードされるデータ量と索引ツリーの深さに基づいて行われます。索引ツリーの深さに関連する情報は索引オブジェクトに保管されています。この情報を設定するために、RUNSTATS は不要です。 AUTOSELECT がデフォルトの索引付けモードです。

ロード・ユーティリティーのファイル・タイプ修飾子

『generatedoverride』修飾子の説明において SET INTEGRITY コマンドが更新されました。

『usedefaults』修飾子の説明も更新されました。

更新内容は、以下のとおりです。

表 30. ロードで有効なファイル・タイプ修飾子: すべてのファイル・フォーマット
修飾子 説明
generatedoverride この修飾子は、(こうした列のタイプの通常の規則に反して) 表内のすべての生成列で、 ユーザーのデータを受け入れるようにロード・ユーティリティーに指示します。 これが役立つのは、別のデータベース・システムからデータを移行する場合や、ROLLFORWARD DATABASE コマンドで RECOVER DROPPED TABLE オプションを使用してリカバリーしたデータから表をロードする場合です。 この修飾子を使用した場合、 NULL 不可の生成列でデータまたは NULL データの入っていない行はリジェクトされます (SQL3116W)。
注:
この修飾子が使用される場合、表は CHECK PENDING 状態になります。 ユーザー提供の値をチェックせずに表を CHECK PENDING 状態から解放するには、 ロード操作後に以下のコマンドを発行します。
SET INTEGRITY FOR < table-name > GENERATED COLUMN
  IMMEDIATE UNCHECKED
表の CHECK PENDING 状態を解除し、 ユーザー定義の値の検査を強制するには、 ロード操作の後以下のコマンドを発行してください。
SET INTEGRITY FOR < table-name > IMMEDIATE CHECKED.

この修飾子は、generatedmissing または generatedignore 修飾子とともに使用することはできません。

usedefaults ターゲット表の列のソース列が指定されているが、 1 つまたは複数の行インスタンスのデータが入っていない場合は、 デフォルト値がロードされます。 欠落データの例は、以下のとおりです。
  • DEL ファイルの場合: 2 つの連続する列区切り文字 (",,") または、任意の数のスペースで分離された 2 つの連続する列区切り文字 (", ,") が、列の値に指定されている。
  • DEL/ASC/WSF ファイルの場合: 列が不足している行、または元の指定には十分な長さでない行。
    注:
    ASC ファイルの場合: NULL 列値は明示的に欠落していると見なされず、NULL 列値にはデフォルトが置換されません。NULL 列値は、数値、日付、およびタイム・スタンプ列の場合は全桁スペース文字か、または任意のタイプの列の場合は NULL INDICATOR を使用して表現され、列が NULL であることを示します。
このオプションが指定されていない場合、行インスタンスのソース列にデータがないと、以下のいずれかの処理が行われます。
  • DEL/ASC/WSF ファイルの場合: 列が NULL 可能な場合、NULL がロードされます。列が NULL 可能でない場合、ユーティリティーはその行をリジェクトします。

インポート・ユーティリティーのファイル・タイプ修飾子

『usedefaults』および『codepage=x』修飾子の説明は、以下のように更新されました。

表 31. インポートで有効なファイル・タイプ修飾子: すべてのファイル・フォーマット
修飾子 説明
usedefaults ターゲット表の列のソース列が指定されているが、 1 つまたは複数の行インスタンスのデータが入っていない場合は、 デフォルト値がロードされます。 欠落データの例は、以下のとおりです。
  • DEL ファイルの場合: 2 つの連続する列区切り文字 (",,") または、任意の数のスペースで分離された 2 つの連続する列区切り文字 (", ,") が、列の値に指定されている。
  • DEL/ASC/WSF ファイルの場合: 列が不足している行、または元の指定には十分な長さでない行。
    注:
    ASC ファイルの場合: NULL 列値は明示的に欠落していると見なされず、NULL 列値にはデフォルトが置換されません。NULL 列値は、数値、日付、およびタイム・スタンプ列の場合は全桁スペース文字か、または任意のタイプの列の場合は NULL INDICATOR を使用して表現され、列が NULL であることを示します。
このオプションが指定されていない場合、行インスタンスのソース列にデータがないと、以下のいずれかの処理が行われます。
  • DEL/ASC/WSF ファイルの場合: 列が NULL 可能な場合、NULL がロードされます。列が NULL 可能でない場合、ユーティリティーはその行をリジェクトします。

表 32. インポートで有効なファイル・タイプ修飾子: ASCII ファイル・フォーマット (ASC/DEL)
修飾子 説明
codepage=x x は ASCII 文字ストリングです。 この値は、出力データ・セット内のデータのコード・ページと解釈されます。 インポート操作中に、文字データをこのコード・ページからアプリケーション・コード・ページに変換します。

以下の規則が適用されます。

  • 純 DBCS (GRAPHIC)、混合 DBCS、および EUC では、区切り文字は x00 から x3F の範囲に制限されます。
  • nullindchar には、 標準の ASCII セットに組み込む (コード・ポイント x20 から x7F の範囲の) 記号を指定する必要があります。 これは、ASCII 記号およびコード・ポイントを示します。
注:
  1. codepage 修飾子を lobsinfile 修飾子とともに使用することはできません。
  2. コード・ページがアプリケーションのコード・ページからデータベースのコード・ページに変換されているときにデータの拡張が発生する場合は、 データは切り捨てられ、データの消失が発生する可能性があります。

ATTACH コマンド

ATTACH コマンドの USER パラメーターは、認証 ID を指定します。 Windows オペレーティング・システム上の DB2 Universal Database インスタンスにアタッチする場合は、Microsoft(R) Windows NT(R) Security Account Manager (SAM) と互換性のあるフォーマットでユーザー名を指定できます。 修飾子は、最大長が 15 文字の NetBIOS スタイル名でなければなりません。例えば、domainname¥username などです。

RECOVER DATABASE コマンド

バージョン 8.2 ドキュメンテーションの RECOVER DATABASE コマンドの例のセクションで、タイム・スタンプの形式が間違って yyyy:mm:dd:hh:mm:ss となっています。

正しい形式は yyyy-mm-dd-hh.mm.ss です。

UPDATE HISTORY FILE コマンド

UPDATE HISTORY FILE コマンドは、ヒストリー・ファイル項目にあるロケーション、装置タイプ、コメント、または状況を更新します。

更新されたコマンド構文
構文図を読む構文図をスキップする>>-UPDATE HISTORY--+-FOR--object-part-+--WITH------------------->
                   '-EID--eid---------'
 
>--+-LOCATION--new-location--DEVICE TYPE--new-device-type-+----><
   +-COMMENT--new-comment---------------------------------+
   '-STATUS--new-status-----------------------------------'
 
更新されたコマンド・パラメーター
FOR object-part
更新される履歴項目の ID を指定します。 この ID は、タイム・スタンプと 001 から 999 までのオプションのシーケンス番号で構成されます。
注:
項目の状況を更新するためには使用できません。 項目の状況を更新するには、代わりに EID を指定してください。
STATUS new-status
項目の新しい状況を指定します。バックアップ項目のみがその状況を更新できます。 有効な値は次のとおりです。
A
アクティブ。 ほとんどの項目はアクティブです。
I
非アクティブ。 アクティブ・ログ・チェーン上にもはやないバックアップ・イメージは、非アクティブになります。
E
期限切れ。 バックアップ・イメージの数が NUM_DB_BACKUPS を超えたために不要になったバックアップ・イメージは、期限切れのフラグが立てられます。
D
リカバリーに使用可能でないバックアップ・イメージは、削除済みとしてマークされることになります。

db2updv8 - バージョン 8 の現行レベルへのデータベースの更新コマンド

このコマンドは、以下の方法で、現行レベルをサポートできるようにデータベース内のシステム・カタログを更新します。

許可

sysadm

必要な接続

データベース。このコマンドは、指定されたデータベースへの接続を自動的に確立します。

コマンド構文
構文図を読む構文図をスキップする>>-db2updv8-- -d--database-name--------------------------------->
 
>--+----------------------------+--+-----+---------------------><
   '- -u--userid-- -p--password-'  '- -h-'
 
コマンド・パラメーター
-d database-name
更新するデータベースの名前を指定します。
-u userid
ユーザー ID を指定します。
-p password
ユーザーのパスワードを指定します。
-h
ヘルプ情報を表示します。このオプションを指定すると、他のすべてのオプションは無視され、 ヘルプ情報のみが表示されます。

現行レベル (フィックスパックまたは新しいバージョン) をインストールした後、以下のコマンドを実行して、サンプル・データベース内のシステム・カタログを更新します。

db2updv8 -d sample
使用上の注意
  1. このコマンドは、DB2 Universal Database バージョン 8.1.2 以降を実行しているデータベースでのみ使用できます。このコマンドを複数回発行した場合、 エラーは報告されず、 カタログのそれぞれの更新内容が 1 回のみ適用されます。
  2. 新しい組み込み関数を使用可能にするには、すべてのアプリケーションをデータベースから切断し、データベースが活動状態になっていれば非活動状態にする必要があります。

トラップ・ファイルのフォーマット (Windows)

トラップ・ファイル (*.TRP) のフォーマットを行える新しいツール db2xprt.exe が使用可能です。 このツールは、DB2 Universal Database のバイナリー・トラップ・ファイルを、人が読むことのできる ASCII ファイルにフォーマットします。 トラップ・ファイルは、デフォルトならインスタンス・ディレクトリー (DB2INSTPROF) に、 DIAGPATH データベース・マネージャー構成パラメーターが設定されている場合なら診断データ・ディレクトリーのパスにあります。

許可

DIAGPATH ディレクトリーへのアクセス権が必要です。

コマンド構文

構文図を読む構文図をスキップする>>-db2xprt--+----------+--+----+--+----+--infile--+---------+--><
            +-/p--path-+  '-/m-'  '-/n-'          '-outfile-'
            '-/v-------'
 
コマンド・パラメーター

/p path
バイナリー・ファイルと PDB ファイルが置かれている 1 箇所または複数のロケーションを示す、セミコロン (;) で区切られたパス。
/v
バージョン情報を表示します。
/m
トラップ・ファイルの残りの部分とともにメモリー・ダンプをフォーマットします。
/n
行番号情報を無視してデータをフォーマットします。
infile
入力ファイルを指定します。
outfile
出力ファイルを指定します。
[ ページのトップ |前ページ | 次ページ | 目次 ]