連合システムは、DB2 DBMS (連合データベース) と 1 つまたは複数のデータ・ソースから構成されています。
データ・ソースは、CREATE SERVER ステートメントを発行したときに連合システムに識別されます。
このステートメントを発行すると、
DB2 および指定したデータ・ソースに関係する連合システム操作のさまざまな局面を洗練して制御するサーバー・オプションを提供することもできます。
サーバー・オプションは、ALTER SERVER ステートメントを使用して後で変更できます。
CREATE SERVER ステートメントおよび ALTER SERVER ステートメントの詳細については、
SQL 解説書 を参照してください。
サーバー・オプションとその値は、
照会の後入れ先出し分析、グローバル最適化、
および連合データベース操作のその他の局面に影響します。
たとえば、CREATE SERVER ステートメントでは、
特定のパフォーマンス統計をサーバー・オプション値として指定できます。
つまり、cpu_ratio オプションを、
データ・ソースおよび連合サーバーの CPU の相対速度を表す値に設定することができます。
また、io_ratio オプションを、
データ・ソースおよび連合サーバーの入出力装置の相対速度を表す値に設定できます。
CREATE SERVER を実行すると、
このデータはカタログ視点 SYSCAT.SERVEROPTIONS に追加され、
最適化プログラムはデータ・ソースのアクセス・プランを立てるときにそのデータを使用します。
(たとえばデータ・ソース CPU がアップグレードされたときなどに) 統計が変更されると、
ALTER SERVER ステートメントを使用して、
この変更を反映するよう SYSCAT.SERVEROPTIONS を更新できます。
その後、最適化プログラムは更新された情報を使用して、
データ・ソースの次のアクセス・プランを立てます。
オプション
| 有効な設定値
| 省略時設定
|
collating_sequence
|
データ・ソースが連合データベースと同じ省略時照合順序を使用しているかどうかを、
コード・セットと国別情報に基づいて指定する。
データ・ソースの照合順序が DB2 の照合順序と異なっている場合、
DB2 の照合順序に依存しているほとんどの操作は、
データ・ソースにおいてリモートに評価できません。
たとえば、照合順序が異なるデータ・ソースにおいて、
ニックネーム文字列に対して MAX 列関数を実行する場合がそうです。
MAX 関数がリモート・データ・ソースにおいて評価される場合は結果が異なるので、
DB2 は集約操作と MAX 関数をローカルに実行します。
照会に等号が含まれている場合は、
照合順序が異なっていても ('N' に設定されている)、
照会のその部分を後入れ先出しすることができます。
たとえば、述部 C1 = 'A' はデータ・ソースに後入れ先出しすることができます。
もちろん、データ・ソースでの照合順序で大文字小文字が区別されない場合、
そのような照会を後入れ先出しすることはできません。
データ・ソースが大文字小文字を区別しない場合、
C1= 'A' と C1 = 'a' の結果は同じです。
これは大文字小文字の区別を行う環境 (DB2) では受け入れられません。
管理者は、データ・ソースの照合順序と一致する特定の照合順序の連合データベースを作成できます。
この方法を用いると、
すべてのデータ・ソースが同じ照合順序を使用する場合、または、
ほとんどあるいはすべての列関数が同じ照合順序を使用するデータ・ソースに向けられている場合は、
パフォーマンスが高速になります。
- 'Y'
- データ・ソースの照合順序は、連合データベースの照合順序と同じ。
- 'N'
- データ・ソースの照合順序は、連合データベースの照合順序と異なる。
- 'I'
- データ・ソースの照合順序は、連合データベースの照合順序と異なっており、
大文字小文字を区別しない (たとえば、'TOLLESON' と 'TolLESon' は同じものとみなされる) 。
| 'N'
|
comm_rate
|
連合サーバーとその関連データ・ソース間の通信速度を指定する。
秒当たりの MB 単位で表されます。
有効な値は、
0 より大きく 2147483648 より小さい数です。
値は、12 などのように、
自然数でのみ表すことができます。
| 2
|
connectstring
|
OLE DB Provider への接続に必要な初期化特性を指定する。
接続ストリングの完全な構文と意味については、
Microsoft OLE DB 2.0 Programmer's Reference and Data Access SDK (Microsoft Press, 1998) の『Data Link API of the OLE DB Core Components』を参照してください。
| なし
|
cpu_ratio
|
データ・ソースの CPU が連合サーバーの CPU より、
どれほど速いまたは遅いかを表す。
有効な値は、
0 より大きく 1x1023 より小さい数です。
値は、たとえば 123E10、123、または 1.21E4 のように、
任意の有効な倍精度表記で表すことができます。
| '1.0'
|
dbname
|
連合サーバーがアクセスするデータ・ソース・データベースの名前。
DB2 ファミリー・データ・ソースでは必須ですが、
Oracle データ・ソースには適用されません。
これは、Oracle インスタンスに 1 つのデータベースしか含まれないためです。
DB2 の場合、
この値はインスタンス内の特定のデータベースに対応します。
DB2 (OS/390 版) の場合は、データベースの LOCATION 値に対応します。
| なし。
|
fold_id (この表の最後にある注 1 および 4 を参照。)
|
連合サーバーが認証のためにデータ・ソースに送信するユーザー ID に適用される。
有効な値は次のとおりです。
- 'U'
- 連合サーバーは、ユーザー ID をデータ・ソースに送信する前に、
ユーザー ID を大文字に変換します。
これは、DB2 ファミリーおよび Oracle データ・ソースについて論理的に選択できます。(この表の最後にある注 2 を参照。)
- 'N'
- 連合サーバーは、ユーザー ID をデータ・ソースに送信する前に、
ユーザー ID に対して何の処理も行いません。
(この表の最後の注 2 を参照。)
- 'L'
- 連合サーバーは、ユーザー ID をデータ・ソースに送信する前に、
ユーザー ID を小文字に変換します。
これらの設定値のいずれも使用しない場合は、
連合サーバーはユーザー ID を大文字にしてデータ・ソースに送信しようとします。
そのユーザー ID を正常に送信できない場合は、
サーバーはユーザー ID を小文字で送信しようとします。
| なし。
|
fold_pw (この表の最後にある注 1、3 および 4 を参照。)
|
連合サーバーが認証のためにデータ・ソースに送信するパスワードに適用される。
有効な値は次のとおりです。
- 'U'
- 連合サーバーは、パスワードをデータ・ソースに送信する前に、
パスワードを大文字に変換します。
これは、DB2 ファミリーおよび Oracle データ・ソースについて論理的に選択できます。
- 'N'
- 連合サーバーは、パスワードをデータ・ソースに送信する前に、
パスワードに対して何の処理も行いません。
- 'L'
- 連合サーバーは、パスワードをデータ・ソースに送信する前に、
パスワードを小文字に変換します。
これらの設定値のいずれも使用しない場合は、
連合サーバーはパスワードを大文字にしてデータ・ソースに送信しようとします。
そのパスワードを正常に送信できない場合は、
サーバーはパスワードを小文字で送信しようとします。
| なし。
|
io_ratio
|
データ・ソースの入出力システムが連合サーバーの入出力システムより、
どれほど速いまたは遅いかを表す。
有効な値は、
0 より大きく 1x1023 より小さい数です。
値は、たとえば 123E10、123、または 1.21E4 のように、
任意の有効な倍精度表記で表すことができます。
| '1.0'
|
node
|
データ・ソースが RDBMS でインスタンスとして定義される名前。
すべてのデータ・ソースについて必須です。
DB2 ファミリー・データ・ソースの場合、
これは連合データベースの DB2 ノード・ディレクトリーで指定されているノードです。
このディレクトリーを表示するには、
db2 list node directory コマンドを発行します。
Oracle データ・ソースの場合、
この名前は Oracle tnsnames.ora ファイルで指定されているサーバー名です。
Windows NT プラットフォームでこの名前にアクセスするには、
Oracle SQL Net Easy Configuration ツールの「構成情報の表示 (View Configuration Information)」オプションを指定します。
| なし。
|
password
|
パスワードがデータ・ソースに送信されるかどうかを指定する。
- 'Y'
- パスワードは常にデータ・ソースに送信されて妥当性検査されます。
これが省略時値です。
- 'N'
- パスワードはデータ・ソースに送信されず (ユーザー・マッピングに関係なく)、
妥当性検査されません。
- 'ENCRYPTION'
- パスワードは常に暗号化された形式でデータ・ソースに送信されて妥当性検査されます。
暗号化されたパスワードをサポートする DB2 ファミリー・データ・ソースについてのみ有効。
| 'Y'
|
plan_hints
|
プラン・ヒント を使用可能にするかどうかを指定する。
プラン・ヒントはステートメントの一部分であり、
データ・ソース最適化プログラムについての追加情報を提供します。
特定の照会タイプについてこの情報を利用すれば、
照会パフォーマンスを改善することができます。
プラン・ヒントは、データ・ソース最適化プログラムが索引を使用するかどうか、
どの索引を使用するか、
またはどの表結合順序を使うかを判別するのに役立ちます。
- 'Y'
- データ・ソースがプラン・ヒントをサポートしている場合は、
プラン・ヒントが使用可能になります。
- 'N'
- プラン・ヒントはデータ・ソースで使用可能になりません。
| 'N'
|
pushdown
|
- 'Y'
- DB2 はデータ・ソースに操作を評価させることを考慮します。
- 'N'
- DB2 はリモート・データ・ソースからの列しか検索せず、
データ・ソースに結合などのその他の操作を評価させません。
| 'Y'
|
varchar_no_trailing_blanks
|
このデータ・ソースが、
ブランクが埋め込まれていない varchar 比較意味体系を使用するかどうかを指定する。
後書きブランクを含んでいない可変長文字ストリングについて、
一部の DBMS のブランク埋め込みなしの比較意味体系では、
DB2 の比較意味体系と同じ結果が戻されます。
データ・ソースにあるすべての VARCHAR 表 / 視点の列に後書きブランクが含まれていないことが確かである場合は、
データ・ソースについてこのサーバー・オプションを 'Y' に設定することを考慮してください。
このオプションは、Oracle データ・ソースでしばしば使用されます。
ニックネームを持つ可能性のあるすべてのオブジェクトを考慮に入れてください。
- 'Y'
- このデータ・ソースのブランク埋め込みなしの比較意味構造は、DB2 と同じです。
- 'N'
- このデータ・ソースのブランク埋め込みなしの比較意味構造は、DB2 と同じではありません。
| 'N'
|