IBM DB2 UNIVERSAL DATABASE UDB RELEASE NOTES Fixpak 17 (C) COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 2001. ALL RIGHTS RESERVED. 目次 | DB2 ユニバーサル・データベース バージョン Fixpak 17 へようこそ | Fixpak 17 の主な変更点は以下のとおりです。 1.0 特記事項 | 1.1 FixPak 6 サービス情報 | 1.2 Fixpak 17 サービス情報 1.3 プロダクトおよび技術ライブラリー | 1.4 DB2 ライブラリーおよび FixPak 文書 | 1.5 ウェブ・コントロール・センターのインストール 1.6 DB2 ファミリー・ニュースレター 2.0 管理の手引き 2.1. 設計の実現 | 2.1.1 データベースの作成/要約表の作成 2.1.1.1 分離レベルおよび要約表または複製表を使用した照会の最適化 | 2.1.1.2 即時最新表示 2.1.2 RAID デバイスにデータが入っているときのパフォーマンスの最適化 | 2.2 データベース・アクセスの制御 | 2.2.1 DRDA 専用クライアント認証 | 2.2.2 EEE のパスワード変更の使用可能化 | 2.2.3 暗号化したパスワード | 2.2.4 Loginretries オプション (AIX のみ) 2.3 DB2 活動の監査 2.4 データの移動用のユーティリティー 2.4.1 LOAD、IMPORT、および EXPORT ファイル形式/PC/IXF ファイル形式/コード・ ページについての考慮事項 | 2.4.2 LOAD 処理の概要 (保留状態) 2.4.3 Windows NT および OS/2 SMP の使用可能なマシンでのロードに関する制約事項 | 2.4.4 DB2 UDB エンタープライズ 拡張エディション (Windows NT 版) での | 自動ローダー・プログラムに対するエラー・シナリオ | 2.4.5 自動ローダー認証の振る舞いの変更 | 2.4.6 BIGINT が含まれる WSF データのインポート/エクスポート 2.5 データベースの回復 2.5.1 異なるオペレーティング・システムでのデータベースのバックアップおよび復元 2.5.2 ADSTAR 分散記憶域管理プログラム (ADSM) の使用に関する考慮事項 | 2.5.3 データベースのログに対する構成パラメーター | 2.5.4 バックアップ頻度と必要時間 2.5.5 データベースの回復 (ROLLFORWARD コマンドの使用プラン) | 2.6 XA 承諾トランザクション・マネージャーを利用した DB2 の使用 | 2.7 アプリケーションの考慮事項 | 2.8 SQL コンパイラーの理解 2.9 操作パフォーマンス 2.9.1 データベース・バッファー・プールの管理 2.9.2 複数のデータベース・バッファー・プールの管理 | 2.10 Using the Governor 2.11 DB2 の構成 | 2.11.1 暗号化したパスワード 2.11.2 構成パラメーターの調整/ハッシュ結合パフォーマンスの最適化 | 2.11.3 データベース・ログ・ファイル | 2.11.4 承認クライアントおよび DRDA の使用 | 2.11.5 Loginretries オプション (AIX のみ) 2.11.6 ASLHEAPSZ および大きい表での照会の失敗 2.11.7 SMP マシンでの INTRA_PARALLEL の設定 (Windows NT) | 2.12 HACMP ES for AIX | 2.13 DB2 レジストリー値と環境変数 2.14 Rah (全ホストの実行) 追加情報 (Solaris および AIX のみ) | 2.15 DB2 UDB での Unicode/UCS-2 および UTF-8 サポート | 2.15.1 はじめに | 2.15.1.1 UTF-8 | 2.15.2 DB2 UDB での UCS-2/UTF-8 の実行 | 2.15.2.1 コード・ページ/CCSID 数 | 2.15.2.2 UCS-2 データベースの作成 | 2.15.2.3 データ・タイプ | 2.15.2.4 識別子 | 2.15.2.5 UCS-2 リテラル | 2.15.2.6 UCS-2 データベースでのパターン一致 | 2.15.2.7 IMPORT/EXPORT/LOAD 考慮事項 | 2.16 仮想インターフェース (VI) 構造の使用 | 2.16.1 仮想インターフェース構造の概要 | 2.16.2 DB2 ユニバーサル・データベース バージョン 5.2 (EEE) のインストール | 2.16.3 DB2 UDB V5.2 (Windows NT 版) を GigaNet Interconnect で実行する | 2.16.3.1 GigaNet Interconnect のセットアップ手順 | 2.16.3.2 VI を使用して実行する DB2 の実現 | 2.16.4 DB2 UDB V5.2 (Windows NT 版) を ServerNet Interconnect で実行する | 2.16.4.1 ServerNet Interconnect のセットアップ手順 | 2.16.4.2 VI を使用して実行する DB2 の実現 3.0 API 解説書 3.1 sqlecrea - データベースの作成 3.2. sqlubkp - データベースのバックアップ 3.3 sqlugtpi - 表の区分化情報の入手 3.4 sqluhget - 履歴ファイルから DDL 情報を検索する (新規 API) 3.5 sqluhgne - 次の回復履歴ファイルエントリーを取得する 3.6 sqluhops - 回復履歴ファイルのスキャンをオープンする 3.7 sqluload - ロード 3.8 SQLE-CLIENT-INFO (接続設定) 3.9 SQLFUPD 3.10 SQLUHINFO (SQLUHADM) 3.11 sqluvput - デバイスへのデータの書き込み 4.0 Windows および OS/2 環境用のアプリケーションの作成 | 4.1 正しいエラー・メッセージを返さない Windows NT での db2start 4.2 Windows NT および Windows 95 の組み込み SQL アプリケーションの作成 (IBM VisualAge for COBOL) 4.3 Java アプリケーションおよびアプレットの作成 4.3.1 Microsoft SDK for Java の Windows 環境の設定 | 4.3.2 新規クライアント、サーバー・プログラムおよび SQLJ 事前コンパイル・スクリプト 5.0 UNIX 環境用のアプリケーションの作成 5.1 SCO UnixWare 7 | 5.1.1 ストアード・プロシージャーの関数のエクスポート 5.1.2 Micro Focus COBOL リンク・オプション 5.2 Java アプリケーションおよびアプレットの作成 5.2.1 環境の設定 : HP-UX、SCO UnixWare 7 | 5.2.2 close() メソッドでの Silicon Graphics IRIX の制約事項 5.2.3 新規クライアント、サーバー・プログラムおよび SQLJ 事前コンパイル・スクリプト 6.0 CLI の手引きおよび解説書 6.1 SQLPREPARE() 6.2 SQLDISCONNECT() 6.3 ストアード・プロシージャーの使用 結果セットを戻すストアード・プロシージャーのプログラミング 6.4 ストアード・プロシージャーのカタログ表 | 6.5 SQLFetchScroll(SQL_FETCH_RELATIVE, -1) 7.0 コマンド解説書 7.1 db2cmd - DB2 コマンド・ウィンドウのオープン 7.2 db2eva - イベント・アナライザー 7.3 db2evmon - イベント・モニター生産性向上ツール 7.4 db2look - DB2 統計抽出ツール 7.5 db2set - DB2 プロファイル・レジストリー・コマンド 7.6 db2upd52 - バージョン 5.2 のサポートのためのカタログの更新 7.7 BACKUP DATABASE 7.8 EXPORT 7.9 データベース・マネージャー構成の取得 7.9.1 新規パラメーター catalog_noauth | 7.9.2 TRUST_ALLCLNTS の更新 7.10 IMPORT 7.11 LIST DATABASE DIRECTORY 7.12 LOAD 7.13 RECONCILE 7.14 RESTORE DATABASE | 7.15 データベース・マネージャーの開始 8.0 組み込み SQL プログラミング・ガイド 8.1 ユーザー定義関数 (DB2 と UDF の間のインターフェース/引き数は DB2 から UDF に渡される) 8.2 C および C++ でのプログラミング (プログラミングの考慮事項/ホスト変数) 8.2.1 ホスト変数の宣言 8.2.2 グラフィック・ホスト変数の取り扱い (Windows オペレーティング・システム) | 8.3 COBOL でのプログラミング (ホスト構造のサポート) 8.4 Java でのプログラミング (Java UDF およびストアード・プロシージャーの作成/Java ストアード・プロシージャーおよび UDF のクラス)  8.5 AIX 上で DBCS コード・ページのもとで実行される JDBC プログラムに影響を与える JDK 問題  8.6. SCO UnixWare 7 での JDBC サンプル・アプリケーションの制限事項 | 8.7 JDBC 2.0 | 8.8 DB2 UDB データベースへの Perl アクセス 8.9 DATALINK データ・タイプ 8.10 コード・ページおよび国別コードを処理するマルチスレッド UNIX アプリケーション 8.11 UDF 呼び出しタイプのエラー処理 8.11.1 EXTERNAL TABLE 関数のスクラッチパッドおよび最終呼び出しタイプ引き数 | 8.11.2 スカラー関数の外部 UDF エラー処理モデル | 8.12 非アトミック複合 SQL 8.13 ブックのその他の改訂 8.13.1 第 1 章の改訂 8.13.2 第 4 章の改訂 8.13.3 第 7 章の改訂 8.13.4 第 9 章の改訂 8.13.5 第 15 章の改訂 8.13.6 サンプル・プログラムの改訂 8.13.7 その他のファイルの変更 9.0 DB2 クライアント インストールおよび構成 9.1 CCA を使用する DB2 サーバー通信へのクライアントの構成 10.0 メッセージ解説書 10.1 DBI1768W の解説中のエラー 10.2 SQL0270N の追加の理由コード 10.3 SQL0351N の新規解説 10.4 SQL0352N の新規解説 10.5 SQL0357N の新規解説 10.6 SQL0432N の新規解説 10.7 SQL0680N の新規解説 10.8 SQL0903N の追加の理由コード 10.9 SQL0911N の追加の理由コード 10.10 SQL1339N の新規解説 10.11 パスワードの変更サポートの使用時の SQL5048N または SQL0901N | 10.12 新規メッセージ SQL5156N: DBM 構成パラメーターの値 | TRUST_ALLCLNTS 10.13 SQL20053N の追加の理由コード 10.14 SQL20056N の新規メッセージ・テキスト 10.15 SQL30083N の追加の理由コード 11.0 概説およびインストール 11.1 Windows 95 を実行する NEC PC98 マシンでの DB2 のインストール 11.2 Windows 95 を実行する NEC PC98 マシンでの DB2 のアンインストール 11.3 インストールのプラン 11.3.1 ソフトウェア要件/サーバー・プロダクト要件 11.3.2 クライアント・プロダクト要件/OS/2 クライアントのソフトウェア要件 | 11.3.3 DBCS 環境の OS/2 WARP サーバー V.4 でのコントール・センターの要件 11.3.4 DB2 ユニバーサル・データベース (AIX、OS/2、および Windows NT 版) に対する DB2 (AS/400 版) SNA Connections | 11.3.5 TP は同一マシンの DB2 インスタンス間で固有です 11.3.6 ソフトウェア前提条件/DB2 (OS/390 版) の推奨修正 11.4. DB2 ユニバーサル・データベースの始動 (パスワードの変更) 11.5 DB2 ユニバーサル・データベースの始動 (AIX 上の並行ユーザー数のカウント) 11.6 インスタンスの処理 (インスタンスへのデータベース区画サーバーの追加。       DB2 エンタープライズ拡張エディション (Windows NT 版) の使用/ロー・デバイスの使用のためのドメイン・ユーザー ID 要件) | 11.7 NT での DB2START が正しいメッセージを返さない 11.8 前のバージョンおよびリリースからの移行 | 11.9 DB2 リリース 5.0 からリリース 5.2 へのアップグレード | 11.10 LOTUS DOMINO GO WEBSERVER での DB2 ドライバー・エラー 11.11 独自のアプリケーションの実行 (Java プログラムの実行) 11.12 DB2 プロダクトの内容 (ロケール用の省略名) 12.0 ファイル・マネージャーの概説およびインストール | 12.1 クライアント構成およびエクスポート | 12.2 DB2 ファイル・マネージャーは、DB2 エンタープライズ拡張エディション・システムにインストールできない 12.3 DLFM 管理ユーザー ID 12.4 NFS を介した、リモート DLFS ファイル・システムのアクセス 12.5 DATALINK クライアントに関する制約事項 12.6 DLFM のセットアップ・オプションの変更 12.7 ファイル・マネージャー・サーバーでのディスク・クラッシュからの回復 | 12.8 バックアップの DATALINK 数 (DL_NUM_BACKUP) 12.9 DB2 ファイル・マネージャーの回復のシナリオ 12.10 DATALINK 構成ファイルはコマンド行プロセッサー (CLP) での 作成および変更はできない 13.0 バージョン 5.2 の前に説明された「概説およびインストール」の変更 13.1 DB2 プロダクト 13.2 インストールのプラン 13.2.1 OS/2 ソフトウェア要件 13.2.1.1 可能なクライアント・サーバー接続について 13.2.2 NetFinity サポート・プログラムの停止の必要性 - Windows NT 13.2.3 Communications Server for Windows NT - 必要な修正 13.2.4 区画データベース・ユーザーにお勧めするクライアント・アプリケーション・イネーブラーのアップグレード 13.2.5 Windows ODBC ユーザーにお勧めするクライアント・アプリケーション・イネーブラーのアップグレード 13.2.6 AIX での ADSM にお勧めする修正レベル 13.2.7 Windows NT での 2 フェーズ・コミットのサポートには CS/NT が必要 13.2.7.1 Registering CS/NT as a Windows NT Service 13.2.8 Windows NT および Windows 95 での DCE サポート | 13.2.9 推奨 Windows NT レベル 13.2.10 SYSADM 権限に関する想定 (UNIX) 13.3 インストールと構成に関するその他の作業 13.3.1 同期点マネージャー (SPM) 用の CS/NT の構成 13.3.1.1 SNA SPM を使用した場合の追加情報 13.3.2 AIX バージョン 4.1.4 および 4.1.5 の NIS ユーザーに影響を与える問題 13.3.3 db2cpic.dll - Windows NT および Windows 95 での Extended SNA Security Codes 13.3.4 Windows NT 用の DB2NTMEMSIZE プロファイル変数 13.4 コントロール・センターの「スナップショット・モニター (Snapshot Monitoring)」 13.5 Web からの DB2 データへのアクセス 13.6 RS/6000 SP でのネットワーク関連のパラメーターの設定 13.7 区画データベース環境での CCA およびコントロール・センターの セットアップ (DB2 ユニバーサル・データベース エンタープライズ拡張エディション (AIX 版)) 13.8 前のバージョンからの移行 (UNIX) 13.9 DB2 SNMP サブエージェント 13.10 CCA を使用した、DB2 サーバー通信に対するクライアントの構成 13.11 OS/2 User Profile Management の管理と使用 13.12 Solaris での EEE 用の ADSM クライアント・セットアップ - db2profile の使用 13.13 DB2 (OS/390 版) バージョン 5 から DB2 ユニバーサル・データベース・バージョン 5 への接続 13.14 Windows NT サーバーでの NetBIOS の構成 13.15 共用メモリー・アドレス - Windows NT または Windows 95 13.16 Windows NT サービスとしての DB2 JDBC アプレット・サーバーの実行 13.17 情報の入手 13.17.1 オンライン・ヘルプ 13.17.2 DB2 ブック 13.17.3 PostScript ブックの印刷 13.17.4 オンライン・ブックの表示 13.17.5 Document Server のセットアップ 13.17.6 オンライン・ブックの検索 13.18 Microsoft インターネット・エクスプローラ 4.0 HTTP 1.1 のセットアップ 13.19 コントロール・センターを使ってクラスターをリモート管理するときの考慮事項 14.0 レプリケーションの手引きおよび解説書 14.1 新しくサポートされるプラットフォーム 14.2 新規メッセージ 14.3 DB2 UDB バージョン 5.2 の収集プログラムがサポートする LONG VARCHAR | 14.4 DATAJOINER レプリケーション管理ツールの README 15.0 DB2 プログラミングのロード・マップ 15.1 アプリケーション開発者用キット 16.0 SQL 解説書 | 16.1 命名規則 (cursor-name) 16.2 ALTER TABLE | 16.3 複合 SQL 16.4 CREATE FUNCTION 16.4.1 DBINFO | 16.4.2 UDF 呼び出しタイプのエラー処理 16.5 CREATE TABLE | 16.5.1 CREATE TABLE の説明 | 16.5.2 CREATE TABLE の注 | 16.6 CREATE TABLESPACE 16.7 付録 A. SQL の限度/データベース・マネージャーの限度 17.0 システム・モニターの手引きおよび解説書 17.1 イベント・モニターはローカルの効力範囲で作成される 18.0 DB2 新機能 18.1 パフォーマンス (照会/要約表) 18.2 Java アプリケーションおよびアプレットの更新の作成 18.3 Web コントロール・センターと NetQuestion (Web コントロール・センターのリモート資料検索を可能化) 18.4 コントロール・センターの制限事項 | 18.5 ウェブ・コントロール・センターの JAVA 開発キット・レベル 19.0 OS/2 での HTML 検索サーバー: HTML 資料の検索 19.1 OS/2 での HTML 検索システムのインストール 19.1.1 OS/2 での検索システムの前提条件 19.1.2 OS/2 での TCP/IP の構成 19.1.3 TCP/IP 構成の検証 19.1.4 検索システム・ディレクトリーの探索 19.1.5 検索サーバーのポート番号の変更 19.1.6 検索サーバーのインストール・エラーの診断 19.2 HTML 検索システムの使用 19.2.1 検索サーバーの始動と停止 19.2.2 ネットワークからの切断時の検索 19.2.3 「ファイルが見つかりません (File Not Found)」エラー 19.2.4 検索が機能しない場合 (検索しようとしたときのエラー 500) 19.2.5 検索サービスの始動時に検出されるエラー 19.3 HTML 検索システムのアンインストール 19.3.1 OS/2 での検索システムのアンインストール時の問題 20.0 Windows NT、Windows 95、および Windows 98 の HTML 検索サーバー: HTML 資料の検索 20.1 使用に関する制限事項 20.2 Windows NT、Windows 95、および Windows 98 での HTML 検索システムのインストール 20.2.1 検索システムの前提条件 20.2.2 事前にインストールされているバージョンの検索システムの停止 20.2.3 検索システム・ディレクトリーの探索 20.2.4 検索サーバーのポート番号の変更 20.2.5 LAN 接続のドライブに DB2 ユニバーサル・データベースをインストールする 20.2.6 検索サーバー・インストール・エラーの診断 20.3 HTML 検索システムの使用 20.3.1 サーバーの開始および停止 20.3.2 Netscape または Internet Explorer で使用可能なプロキシーを使用して検索する 20.3.3 Windows 95 のラップトップで検索する 20.3.4 検索が動作しない (検索でエラー 500 が発生する) 場合 20.3.5 「ファイルが見つからない」エラー 20.3.6 検索サービスの開始でエラーが発生した場合 20.4 HTML 検索システムのインストール解除 20.4.1 検索システムが Windows NT、Windows 95、または Windows 98 でインストール解除されない場合 20.4.2 プロダクトのインストール解除後のリブート | 21.0 NETQUESTION のワークアラウンド | 21.1 UNIX プラットームでの IMNSEARCH (NETQUESTION) インストール上の問題 | 21.2 NETQUESTION を HPUX-10 にインストールする | 21.3 NETQUESTION および UNIX プラットフォームでの DB2 CAE | 21.4 AIX プラットフォームでの NETQUESTION DBCS 22.0 SCOHELP について 22.1 SCOhelp へのアクセス法 22.2 各国語および SCOhelp の処理 22.2.1 Special Considerations when Using the Spanish Language Extensions 22.2.2 サーバーでのデフォルト SCOhelp 言語の変更 22.2.3 クライアント別の SCOhelp 言語 戻りの設定 22.2.4 検索の使用 22.3 ウェブ・コントロール・センターのヘルプおよび SCOhelp 22.4 Support Level Supplement (SLS) PTF7004A, the UnixWare 7 Language Extension Supplement 22.4.1 中国語 (簡体字) およびブラジル・ポルトガル語の lang.conf の変更 22.5 SCOhelp 検索索引ファイル | DB2 ユニバーサル・データベース Fixpak 17 にようこそ 注 : このリリース・ノートはモノスペースのフォントでご覧ください。 | この README ファイルには、DB2 の解説書の発行時に使用できなかった Fixpak 17 | のリリース情報が含まれています。以下のプロダクトに関する FixPak 情報を記載しています。 | この新しい情報で改訂された DB2 バージョン 5.2 のリリースとともに発行 | された README ファイルから構成されています。 | 改訂バー "|" がページの左脇にあるものは、同じレベルの行が変更されたか、 | またはバージョン 5.2 README ファイルのリリースから追加されたものである | ことを示します。 このファイルには、次のプロダクトの情報が記載されています。 | IBM DB2 ユニバーサル・データベース エンタープライズ・エディション バージョン 5.2 | IBM DB2 ユニバーサル・データベース エンタープライズ拡張エディション バージョン 5.2 | IBM DB2 ユニバーサル・データベース パーソナル・エディション バージョン 5.2 | IBM DB2 ユニバーサル・データベース ワークグループ・エディション、バージョン 5.2 | IBM DB2 ユニバーサル 開発者版、バージョン 5.2 | IBM DB2 パーソナル 開発者版、バージョン 5.2 注: VisualAge for Basic および Lotus Approach は、    現在はプロダクト・ボックスには入れられていません。 別のリリース・ノート・ファイル (READDCS.TXT としてインストールされています) が、 以下のプロダクト用に用意されています。 IBM DB2 コネクト エンタープライズ・エディション、バージョン 5.2 IBM DB2 コネクト パーソナル・エディション、バージョン 5.2 | DB2 ユニバーサル・データベース・ライブラリーのブックの中には、 | バージョン 5.2 で更新されなかったものがあります。次のものが含まれます。 o 「管理の概説」 | o 「Windows および OS/2 環境のアプリケーションの構築」 o 「CLI ガイドおよび解説書」 o 「組み込み SQL プログラミング・ガイド」 o 「Master Index」 o 「SQL 概説」 o 「システム・モニターの手引きおよび解説書」 o 「問題判別の手引き」 | 「DB2 新機能」ブックには、DB2 バージョン 5 および 5.2 の主要な拡張機能の概要と、 | バージョン 5.2 の拡張機能の詳細な記述、特に、バージョン 5.2 で更新されなかったブックの | 記述が含まれます。DB2 ユニバーサル・データベース バージョン 5 と、 | DB2 コネクト バージョン 5 FixPak の一部として使用可能であった新機能 | は、バージョン 5.2 の拡張機能とみなされます。 | 参照したいトピックに関して完全な DB2 情報を入手するには、この | README ファイルの情報とともに、 | 「新機能」ブックに関連する DB2 ライブラリーの該当ブックも使用してください。 | Fixpak 17 での主な変更点 | このセクションは、Fixpak 17 での主な変更点をあげ、この変更点がどこに書かれて | いるかを示すものです。 | EEE のパスワード変更 | DB2 管理者は、プロファイル・レジストリー変数 "DB2CHGPWD_EEE=" を介して、 | AIX および NT EEE システムでのパスワードの変更を、現在他の人間にも許可する場合があります。 | 詳細については、2.2.2 「EEE のパスワード変更」を参照してください。 | DRDA 専用クライアント認証 | DB2 UDB サーバーは、DB2 (MVS 版および OS/390 版)、DB2 (VM および VSE 版)、 | DB2 (OS/400 版)、その他のクライアントと、DRDA クライアントを区別することが | できます。これにより、他のクライアントに対して、保護を行うことができます。上記の、指定 | されたクライアントは、クライアント・サイドの認証を実行するために承認され、 | これらのクライアントが認証されている場所を判別することもできます。詳細に | ついては、2.2.1 『DRDA 専用のクライアント認証』を参照してください。 | 暗号化したパスワード | 新規のデータベース・マネージャー構成値、"SERVER_ENCRYPT" が、パラメーター | "AUTHENTICATION" に追加されました。 "SERVER_ENCRYPT" には、"SERVER" 認証が | 現在もっているセマンティクスと同じセマンティクスがあります。さらに、 | ネットワークを経由して送信されたパスワードは暗号化されるという追加機能 | もあります。詳細は、2.2.3 『暗号化したパスワード』を参照してください。 | JDBC 2.0 | この FixPak で出荷された JDBC 2.0 ドライバーは、JDBC 2.0 コア API をサポートします。 | ただし、DB2 エンジンの特定の機能が使用できないため、仕様で定義されている | すべての機能がサポートされているわけではありません。詳細は、 | 8.7 『JDBC 2.0』を参照してください。. | NETQUESTION WORKAROUNDS | このセクションには次の内容が述べられています。 | o UNIX プラットフォームへの IMNSearch (NetQuestion) のインストール上の問題 | o HPUX-10 への NetQuestion のインストール | o UNIX プラットフォームでの NetQuestion および DB2 CAE | o AIX プラットフォームでの NetQuestion DBCS | 詳細については、21.0 『NetQuestion Workarounds』を参照してください。 | 要約表のサポート | 要約表のサポートについて、拡張が行われました。「即時最新表示」オプション | が現在使用可能です。詳細については、16.2 『表の更新』、および | 16.5 『表の作成』を参照してください。 | UNICODE/UCS-2 および UTF-8 サポート | Unicode 文字コード化の標準は固定長で、世界で現在使用されているすべての言語 | のほとんどの文字が含まれる文字コード化スキームです。 | ISO と IEC 10646 標準 (ISO/IEC 10646) は、2 バイトのバージョン (UCS-2) | と 4 バイトのバージョン (UCS-4) がある汎用 Multiple-Octet Coded 文字セット (UCS) | を指定します。DB2 UDB は UCS-2 をサポートします。これは、サロゲートなしの | Unicode です。 | UCS-2 または Unicode コード化では、ASCII および制御文字も 2 バイト | 長で、先頭バイトはゼロです。これは、UCS-2 ストリングでは、 | 余計な NULL がストリング内の任意の場所に出現する可能性があるため、 | ASCII ベースのアプリケーションおよび ASCII ファイル・システムの主要な | 問題です。UTF-8 として知られている変換アルゴリズムは、不変の ASCII コード | に依存するプログラムに対して、この問題を回避するために使用されます。 | DB2 は UTF-8 を実行します。 | 詳細は、2.15 『DB2 UDB における Unicode/UCS-2 と UTF-8 のサポート』を | 参照してください。 | 仮想インターフェース (VI) 構造の使用 | DB2 UDB は、Giganet と ServerNet の VI 構造をサポートしています。 | 詳細は、2.16.3 『DB2 UDB V5.2 (Windows NT 版) を Giganet Interconnect | で実行する』を参照してください。 1.0 特記事項 ______________ | 1.1 FIXPAK 6 サービス情報 | DB2 UDB バージョン 5.2 は、別途に購入してインストールするか、または DB2 UDB バージョン | 5.0 の先頭で、FixPak としてインストールすることができます。 | バージョン 5.0 は、FixPak 6 でバージョン 5.2 へアップグレードすることができます。 | FixPak 6 用の、オペレーティング・システム別の PTF 番号を下表に示してあります。 +---------------------------------------------------------------------------+ | 表 1. DB2 UDB の FixPak 6 の PTF 番号 | +-------------------------------------+-------------------------------------+ | | オペレーティング・システム | DB2 UDB FixPak 6 の PTF 番号   | +-------------------------------------+-------------------------------------+ | | AIX | U459852 | +-------------------------------------+-------------------------------------+ | | HP-UX 10 | U459854 | +-------------------------------------+-------------------------------------+ | | HP-UX 11 | U459872 | +-------------------------------------+-------------------------------------+ | OS/2 | WR09073 | +-------------------------------------+-------------------------------------+ | SCO UnixWare 7 | U459870 | +-------------------------------------+-------------------------------------+ | | Silicon Graphics IRIX | U459871 | +-------------------------------------+-------------------------------------+ | | Solaris | U459853 | +-------------------------------------+-------------------------------------+ | Windows 95、Windows 98、および    | WR09074 | | Windows NT | | +-------------------------------------+-------------------------------------+ | Windows 3.1 and Windows for | WR09076 | | Workgroups 3.11 | | +-------------------------------------+-------------------------------------+ 注 : AIX バージョン 4.2 で、DB2 ファイル・マネージャーを実行するには、最小限の PTF U456886 が必要です。 次に示す SCO の PTF 番号は、DB2 UDB バージョン 5.2 を SCO UnixWare 7 で実行 するのに必要です。 ptf7003c ptf7010 ptf7013 | DB2 UDB バージョン 5.2 で必要な SCO PTF に関する最新情報は、 | 『プロダクトおよびサービス技術ライブラリー』 (セクション 5.2 を参照) にあります。 Sun Cluster ソフトウェアの実行には、次のパッチ・レベルが必要です。 105786-05 - Solaris 2.6 での Sun Cluster 2.x に必要なパッチ。 2.1_105458-06 - DB2 に必要な Sun Cluster パッチ・レベル。 | 1.2 Fixpak 17 サービス情報 | この FixPak は、既存の DB2 UDB バージョン 5.0 コードの先頭にインストール | されません。DB2 UDB バージョン 5.2 のレベルで行ってください。バージョン 5.2 | レベルを入手するには、FixPak 6 をダウンロードして、インストールしてください。Fixpak 17 が | インストールされると、Fixpak 17 の適用が可能になります。 +---------------------------------------------------------------------------+ | | 表 2. DB2 UDB Fixpak 17 の PTF 番号 | +-------------------------------------+-------------------------------------+ | | オペレーティング・システム | DB2 UDB Fixpak 17 の PTF 番号 | +-------------------------------------+-------------------------------------+ | | AIX | U480150 | +-------------------------------------+-------------------------------------+ | | HP-UX 10 | U480152 | +-------------------------------------+-------------------------------------+ | | HP-UX 11 | U480153 | +-------------------------------------+-------------------------------------+ | | OS/2 | WR21287 | +-------------------------------------+-------------------------------------+ | | SCO UnixWare 7 | U480154 | +-------------------------------------+-------------------------------------+ | | Silicon Graphics IRIX | U480155 | +-------------------------------------+-------------------------------------+ | | Solaris | U480151 | +-------------------------------------+-------------------------------------+ | | Windows 95, Windows 98, and Windows | WR21288 | | | NT | | +-------------------------------------+-------------------------------------+ | | Windows 3.1 and Windows for | WR21289 | | | Workgroups 3.11 | | +-------------------------------------+-------------------------------------+ 1.3 プロダクトおよびサービス技術ライブラリー _____________________________________________ DB2 に関する完全情報や最新情報 (この README ファイル公開後に 明らかになった問題も含む) を入手したい場合には、 http://www.software.ibm.com/data/db2/library の World Wide Web の製品およびサービス技術ライブラリーを使用してください。 | 1.4 DB2 ライブラリーおよび FIXPAK 文書 | バージョン 5.2 では、プロダクト・ライブラリーを構成するブックの大半は、 | 更新されています。DB2 ライブラリー・ブックは、HTML 形式で、オンラインで | 使用できます。また PDF およびポストスクリプト形式でも使用できるものが大半です。 | オンラインでブックにアクセスする場所についてには、上記の『プロダクトおよび | サービス技術ライブラリー』を参照してください。更新済みのブック、 | その印刷法の説明と、およびその発注に使用する資料番号の完全なリストについては、 | 『DB2 新機能』を参照してください。資料番号 SBOF-8921-00 を使用しすると、 | バージョン 5.2 で更新された完全セットのブックをオーダーすることができます。  これまでファイル read1297.txt、read0398.txt、  および read0698.txt に入っていた FixPak 情報は次のものに入れられています。 o ブックが更新された場合は、更新済みのブック o ブックが更新されていない場合は、「DB2 新機能」ブック  さらに、ブックの印刷時にはまだ用意されていなかった情報は、 リリース・ノートに入れられます。 | 1.5 ウェブ・コントロール・センターのインストール ウェブ・コントロール・センターは、 DB2 ユニバーサル・データベースのコントロール・センター (データベース管理ツール) の Java バージョンです。 この設計は、オリジナルの DB2 コントロール・センター をモデルにしたもので、さらに柔軟なネットワーク中心の管理環境を提供します。 ウェブ・コントロール・センターは、DB2 の JDBC サポートを使用する Java アプレット として設定されています。 | FixPak はウェブ・コントロール・センターのインストールは行いませんが、 | 既存のバージョンのアップグレードは行います。ウェブ・コントロール・センターを | お持ちでない場合に入手するには、以下の URL からダウンロードしてください。 http://www.software.ibm.com/data/db2/udb/webcc 1.6 DB2 ファミリー・ニュースレター 『DB2 Family Newsletter』(英語版のみ)を購読すれば、DB2 ファミリー製品 の最新情報を入手できます。購読ご希望の方は、下記の情報を記入した FAX を 1-905-316-4733 までお送りください。 お名前 会社名 メール・アドレス 電話番号 現在使用中の DB2 製品 2.0 管理の手引き 2.1. 設計の実現 | 2.1.1 データベースの作成/要約表の作成 2.1.1.1 分離レベルおよび要約表または複製表を使用した照会の最適化  一般に、要約表または複製表が照会の最適化に使われるのは、  要約表または複製表の分離レベルが、照会の分離レベルに等しいかまたはそれより高い場合です。 たとえば、カーソル固定 (CS) 分離レベルで照会を実行する場合、  CS またはそれより高い分離レベルで定義されている要約表と複製表だけが最適化に使われます。 | 2.1.1.2 即時最新表示 | 「即時最新表示」オプションが、要約表でサポートされています。詳細に | ついては、16.2 『表の更新』および | 16.5 『表の作成』を参照してください。 2.1.2 RAID デバイスにデータが入っているときのパフォーマンスの最適化 この項では、  独立ディスクの重複配列 (RAID) デバイスにデータが入っているときのパフォーマンスの最適化法について説明します。  一般に、RAID デバイスを使用する表スペースごとに、次のことを行う必要があります。 o 表スペース用の 1 つのコンテナーを定義する (RAID デバイスを使って) o 表スペースの EXTENTSIZE を、RAID ストライプ・サイズに等しくするかまたはその倍数にする。 o 表スペースの PREFETCHSIZE が次のとおりであることを確認する。 - RAID ストライプ・サイズに、RAID 並列デバイスの数 (またはこのプロダクトの整数倍数) を掛けたもの - EXTENTSIZE の倍数 o DB2_PARALLEL_IO レジストリー変数 (後述) を使って、表スペースの並列入出力を使用可能にする。 o DB2_STRIPED_CONTAINERS レジストリー変数 (後述) を使って、    エクステント境界が表スペース内で確実に位置合わせされてるようにする。 DB2_PARALLEL_IO 表スペース・コンテナーでの読み取り/書き込みデータの出し入れの際、  データベース内のコンテナー数が 1 より大きいと、DB2 は並列入出力を使用することがあります。 しかし、コンテナー表スペースが 1 つしかなくても、並列入出力を使用可能にしたほうがよい場合があります。  たとえば、複数の物理ディスクから成る 1 つのRAID デバイス上にコンテナーを作成した場合、  並列の読み取りおよび書き込みの呼び出しを実行するのがよいかもしれません。  コンテナーが 1 つしかない表スペースで必ず並列入出力が行われるようにするには、  DB2_PARALLEL_IO レジストリー変数を使います。  この変数は、すべての表スペースを意味する "*" (アスタリスク) に設定することができますが、  表スペースの ID をコンマで区切ったリストに設定することもできます。  たとえば、次のようにします。 db2set DB2_PARALLEL_IO=* {すべての表スペースで並列入出力をオンにする} db2set DB2_PARALLEL_IO=1,2,4,8 {表スペース 1、2、4、および 8 で並列入出力をオンにする} レジストリー変数を設定した後、変更を有効化するには、DB2 をいったん停止 (db2stop) してから、 再始動 (db2start) しなければなりません。 DB2_STRIPED_CONTAINERS 現在、DMS 表スペース・コンテナー (デバイスまたはファイル) を作成すると、  コンテナーの先頭に 1 ページのタグが保管されます。  残りのページは、DB2 によってデータの記憶に使われ、  エクステント・サイズのブロックに分けてグループ化されます。  表スペース・コンテナーに RAID デバイスを使用する場合、  RAID ストライプ・サイズに等しいかまたはその倍数のエクステント・サイズになるよう表スペースを作成することをお勧めします。  しかし、1 ページのコンテナー・タグがあるため、  エクステントは RAID ストライプにそろうことはなく、  そのため、入出力要求中に最適数以上の数の物理ディスクにアクセスする必要があるかもしれません。 現在、DMS 表スペースを、  自身の (全) エクステント内にタグが収まるように作成することができます。  そうすれば、上述のような問題は起きませんが、  コンテナー内に余分なエクステントのオーバーヘッドが必要になります。  このようなコンテナーを作成するには、次のように DB2 レジストリー変数 DB2_STRIPED_CONTAINERS を "ON" に設定してから、  インスタンスをいったん停止して再始動しなければなりません。 db2set DB2_STRIPED_CONTAINERS=ON db2stop db2start 作成する (CREATE TABLESPACE または ALTER TABLESPACE を使って) DMS コンテナーはすべて、  1 つのエクステント全体を占有するタグの付いた新しいコンテナーをもつことになります。  既存のコンテナーが変更されることはありません。 この属性をもつコンテナーを作成するのを停止するには、次のように、変数をリセットしてから、  インスタンスを停止して再始動します。 db2set DB2_STRIPED_CONTAINERS= db2stop db2start コントロール・センターおよび LIST TABLESPACE CONTAINERS コマンドを使っても、  コンテナーがストライプとして作成されたかどうかは表示されません。  これらは、コンテナーがどのように作成されているかによって、  "ファイル" または "デバイス" を使い続けます。  コンテナーがストライプとして作成されていることを検証するには、  DB2DART の /DTSF オプションを使って表スペースとコンテナー情報をダンプし、  そして該当するコンテナーのタイプ・フィールドを調べます。  また、照会コンテナー API の sqlbftcq( ) および sqlbtcq( ) を使って、  タイプを表示する単純なアプリケーションを作成します。 次のような新しいタイプの定義が、sqlutil.h ヘッダー・ファイルに追加されています。 #define SQLB_CONT_STRIPED_DISK 5 /* DMS: Striped disk */ #define SQLB_CONT_STRIPED_FILE 6 /* DMS: Striped file */ | 2.2 データベース・アクセスの制御 | 2.2.1 DRDA 専用のクライアント認証 | セクション「サーバーに対する認証方式の選択」に、2 つの | 段落が追加されました。 | DB2 (MVS および OS/390 版)、DB2 (VM および VSE 版)、および DB2 (OS/400 版) | からの DRDA クライアント以外のすべてのクライアントを保護するには、"trust_allclnts" | パラメーターを DRDAONLY に設定してください。このクライアントのみに、クライアント・サイドの | 情報のを実行を任せることができます。他のすべてのクライアントには、サーバーによって認証された | ユーザー ID とパスワードの提供が必要です。 | "trust_clntauth" パラメーターは、上記のクライアントが認証されている場所を | 判別するために使用されます。"trust_clntauth" が "client" の場合、認証は | クライアントで発生します。"trust_clntauth" が "server" の場合、認証は | パスワードが提供されないときは、クライアントで、パスワードが提供された | ときはサーバーで発生します。 | 2.2.2 EEE のパスワード変更の使用可能化 | DB2 管理者は、現在、管理者以外の他のユーザーが AIX および | Windows NT EEE システムで、プロファイル・レジストリー変数 | "DB2CHGPWD_EEE=" を使用して、パスワードの変更ができるようにしています。 | 注: これは Sun EEE システムではサポートされません。 | この変数のデフォルトは "NOT SET" (使用不能) です。 | "DB2CHGPWD_EEE" の別の値は、他の DB2 プロファイル変数で使用される | 標準ブール値です。 | DB2 管理者は、すべてのノードに対するパスワードが、Windows NT 上の | Windows NT Domain Controller か、AIX 上の NIS のいずれかを使用して、 | 集中的に保全されているかどうか、確認する責任があります。. | 注: パスワードが集中的に保全されていない場合、"DB2CHGPWD_EEE" 変数を | 使用可能にすると、パスワードがすべてのノードにわたって整合性がなくなる | 可能性を許可することになります。つまり、ユーザーが「パスワードの変更」 | 機能を使用すると、ユーザーのパスワードは、接続するノードでのみ | 変更されます。 | 2.2.3 暗号化したパスワード | 新規の "DBM CFG" (データベース・マネージャー構成) 値 "SERVER_ENCRYPT" が | パラメーター "AUTHENTICATION" に追加されました。"SERVER_ENCRYPT" には、 | "SERVER" 認証と同一の規則があります。さらにネットワークを経由して送信される | 任意のパスワードが暗号化されるという機能が追加されます。また、新規の値 | "DCS_ENCRYPT" が DB2 コネクトのサポート用に追加されます。この値は | READDCS.TXT に記述されています。次のプロダクトで使用可能です。 | IBM DB2 コネクト エンタープライズ・エディション、バージョン 5.2 | IBM DB2 コネクト パーソナル・エディション、バージョン 5.2 | 同じパラメーターが "CATALOG DATABASE" 認証文節に、オプションと | して追加されます。 | 制限事項 | 1. データベース・サポートに関連して、DB2/390 と DB2 UDB のみが | この初期実行に対する暗号化したパスワードを受け入れます。DB2 UDB | サポートは、まず次のプラットフォームに限定されます。 | o Windows 95/98 | o Windows NT | o AIX | 2. 認証の新規 ENCRYPT バージョンに対する CCA/Discovery サポート | はありません。 | 3. コントロール・センターでのサポートはありません。 | 4. パスワードの変更に対する新規パスワードの暗号化はサポートされません。 | 5. 新規認証タイプ SERVER_ENCRYPT と DCS_ENCRYPT の DCE ディレクトリー | のサポートはありません。 | 6. 暗号化に対する DRDA AS のサポートはありません。 | 7. 発生する暗号化はパスワード専用です - ユーザー ID と | その他残りのものは暗号化されません。 | 2.2.4 LOGINRETRIES オプション (AIX のみ) | AIX での DB2 ユニバーサル・データベースは、オペレーティング・システムで | 失敗したパスワード指定をログにとる機能を追加し、クライアントが "loginretries" パラメーター | で指定された、使用可能な login の試行回数を超過したときに | 検出します。 2.3 DB2 活動の監査 要約表、タイプ表、または複製表の監査サポートはありません。 2.4 データの移動用のユーティリティー 2.4.1 LOAD、IMPORT、および EXPORT ファイル形式/PC/IXF ファイル形式/コード・ページに ついての考慮事項 DBCS データの入っている IXF 定様式ファイルをロードまたはインポートしたい場合、  ご自分のクライアント・マシン上にそれに対応する変換ファイル (sqllib¥conv) にあります) をインストールしていなければなりません。  その変換ファイルの名前には、ソースとターゲットの両方のコード・ページ番号が入っていて、  その拡張子は常にコード・ページ 932〜943 を変換します。 クライアント・マシンに適切な変換ファイルがない場合、  サーバー・マシンからクライアント・マシンの sqllib¥conv ディレクトリーにコピーできます。  ファイルは、必ず互換性のあるプラットフォームからコピーしてください。  たとえば、クライアントが UNIX ベースのオペレーティング・システムで実行される場合、  やはり UNIX ベースのオペレーティング・システムで実行されるサーバーからファイルをコピーしてください。 | 2.4.2 LOAD 処理の概要 (保留状態) | セクション「LOAD 処理の概要」で、保留状態について論じた段落が | 改訂されました。 | LOAD 処理が完了後、次のいずれかの場合、 | o "logretain" または "userexit" が "on" の場合、COPY NO (デフォルト) が | 選択され、NONRECOVERABLE は選択されない、または | o "logretain" または "userexit" が "off" の場合、COPY YES が選択され | NONRECOVERABLE が選択されない | 関連する表スペースは BACKUP PENDING 状態になります。 | 「例外表の LOAD」セクションに、新規の段落が追加されました。 | FOR EXCEPTION オプションを使用すると、LOAD は固有の索引違反がある | 行に対してチェックを行います。LOAD は、固有の制約違反以外の、制約 | または外部キーの違反に対するチェックは行いません。 | 「固有のキー」は、キーの値が等しくなるものが複数ないように制約されています。 | 制約を実行させるために使用されるメカニズムは固有の索引と呼ばれます。 | 1 次キーは固有のキーの特殊なケースです。表には 1 次キーは 1 個 | のみが許可されます。 2.4.3 Windows NT および OS/2 SMP の使用可能なマシンでのロードに関する制約事項 DB2 UDB バージョン 5.2 (Windows NT 版) および DB2 UDB バージョン 5.2 (OS/2 版) では、  SMP 環境で実行すると、場合によってロード操作時にシステム・ハングが起きることがあります。  これは、  大ボリュームのデータ (数ギガバイト単位のもの) を扱う索引作成 (ロード・ユーティリティーの BUILD フェーズ) においてのみ生じることが知られている問題です。  このような問題が生じないようにするため、  LOAD コマンドを出す前に、ロード表中の既存の索引をいったん除去し、  ロード操作が正常に完了した後で CREATE INDEX ステートメントを使って再作成することをお勧めします。  また、索引をいったん除去しないで済む別の方法として、  索引をまったく定義されていないステージング・テーブルに対してロード操作を実行することもできます。  その後で、ステージング・テーブル中のすべてのデータを対象とした INSERT ステートメントを発行すれば、  ターゲット表を再作成することができます。 | 2.4.4 DB2 UDB エンタープライズ 拡張エディション (Windows NT 版) での | 自動ローダー・プログラムに対するエラー・シナリオ | IBM DB2 UDB エンタープライズ 拡張エディション (Windows NT 版) での | 自動ローダー・プログラムに対するエラー・シナリオに、以下が適用されます。 | これは、問題の症状と性質、およびワークアラウンドの説明をするものです。 | 自動ローダー・プログラム "db2atld.exe" を複数ホームのマシンで実行する、 | つまり、複数ネットワーク・カードがインストールされたマシンで実行するときには、 | マシンが正しく構成されているか、次の操作で確認してください。 | o "hostname" コマンドを自動ローダーが始動しているマシンで入力し、 | 同じマシンから、このホストを ping すると、返される IP アドレスは | このホスト名が、DB2 MPP ノード・リストにある別のマシンから ping | されたときの結果と同じである必要があります。マシンが正しく構成 | されていないと、自動ローダー・プログラムから "SQL6555N" エラーが | 表示され、自動ローダー構成ファイルの "OUTPUTNODES" パラメーターで | 定義されているロード・ノードにある"db2diag.log" ファイルに、 | エラー・メッセージ "errno =10061" (接続が拒否された) があります。 | Windows NT マシンで、ローカル・ホスト名に対して返された IP アドレスは、 | "DNS" または "hosts" ファイルからは検索されず、「コントロール パネル」 | ネットワーク・アイコンでローカルに構成された情報から検索されます。 | 「コントロール パネル」ネットワーク・アイコンで構成されるバインディングの順序 | が、複数ホームのマシンに返される IP アドレスの順序には影響しません。 | この問題の解決には、"Microsoft Support Online article ID Q171320" を | 参照してください。(ホスト名を ping すると、返される IP アドレスの最初 | のアドレスがホストのアドレスです。) | 2.4.5 自動ローダー認証の振る舞いの変更 | ローカル・データベース接続の概念が、提供された MPP インスタンスの任意 | のノードからの接続が含まれる MPP 環境に拡張されています。 | これは、インスタンスが AUTHENTICATION サーバーを使用して構成されても、 | "db2nodes.cfg" ファイルで定義されたノードから、接続を行おうとする場合、 | パスワードが必要なくなるということになります。自動ローダーは、"autloader.cfg" | ファイルの AUTHENTICATION フラグが設定されていないか、または NO に | 設定されていて、自動ローダーのパスワードが定義されていないときに、この | 新規接続の振る舞いを使用します。 | この新規のデータベース接続の振る舞いを使用すると、パスワードがシステムの | プログラムのリモート実行で必要な場合に、自動ローダーの実行のためにのみ | パスワードが必須となります。たとえば、UNIX システムの ".rhosts" ファイル | が "rsh" 実行を使用可能にするために正しくセットアップされていなかった場合、 | パスワードが必要になります。 | 2.4.6 BIGINT を含む WSF データのインポート/エクスポート | "BIGINT" または "DECIMAL" 列を WSF (ワーク・シート形式) にエクスポートするときに、 | タイプ DOUBLE の範囲にある値のみが正確にエクスポートされます。 | この範囲外の値は、ターゲット媒体にエクスポートされますが、 | この値のロード・バック値 ("LOAD" または "IMPORT" による) は、不正な | 値となる場合があります。最終結果は、プラットフォームごとに違います。 2.5 データベースの復元 2.5.1 異なるオペレーティング・システムでのデータベースのバックアップおよび復元 BACKUP DATABASE および RESTORE DATABASE コマンドを使用して、1 つのオペレーティング・ システムでのデータベースあるいは表スペースのバックアップ および別のオペレーティング・システムへの復元をすることはできません。 ただし、db2move コマンドを使用して (あるいはデータを エクスポートしてから、インポートまたはロードして)、1 つのオペレーティング・ システムから別のシステムへ、表を移動することはできます。 詳細については、『管理の手引き』の、「db2move ツールを使用した データの移動」を参照してください。 2.5.2 ADSTAR 分散記憶管理プログラム (ADSM) の使用に関する考慮事項 Windows オペレーティング・システムおよび OS/2 での現行の ADSM クライアント は再入不能で、単一マシンから、バックアップ、復元、あるいはロード・ユーティリティー を指定して複数のセッションを作成することはできません。 単一ノード構成では、ユーザーが次のようにコマンドを実行した 場合 : db2 backup db sample use adsm open 3 sessions DB2 は 複数のセッションは ADSM でサポートされていないことを検出し、 SQL2032N を返します。同様のシナリオが ADSM を使用したコピーのロードにも 当てはまります。 ただし、Windows NT での MLN 構成では、 DB2 は、論理ノードがそれぞれ 1 個のセッションのみを作成しようとする場合は、単一マシンでの複数セッション の使用を検出することができない可能性があります。複数の論理ノードが、ADSM を 使用して、バックアップ、復元、あるいはロードを並行して行っている場合、DB2 では 論理ノードが実際に同一の物理ハードウェアに常駐していても、ノードがそれぞれ 単一セッションを使用している場合は、操作を続行することができます。この結果、 バックアップの失敗、ロード処理の停止などが起きる場合があります。 | 2.5.3 データベースのログの構成パラメーター | 次の情報を追加してください。 | ログ・ファイルの大きさの合計は 4 GB に制限されています。つまりログ・ファイルの数 | (LOGPRIMARY + LOGSECOND) に、各ファイルの大きさ (バイト単位) | (LOGFILSIZ * 4096) を掛け合わせあものが 4 GB より小さくなっている必要があります。 | 2.5.4 バックアップの回数および必要時間 | 『バックアップの回数および必要時間』に、次の情報を | 追加してください。 | データベースの回復とロールフォワードで、保存されたログを適用するのに必要が | 時間の量が主な関心である場合、バックアップの回数にかかるコストについて考慮 | する必要があります。データベースが非常に活動が活発であると、ログが頻繁に | 発生するため、データベースのバックアップの回数を増やすことをお勧めします。 | データベースのバックアップの回数を増やすと、保存されるログを介して、ロール | フォワードするときに適用する必要がある保存されるログが少なくて済みます。 2.5.5 データベースの回復 (ROLLFORWARD コマンドの使用プラン) バージョン 2 クライアントから区分データベースをロールフォワードすることはできません。 | 2.6 XA 承諾トランザクション・マネージャーを利用した DB2 の使用 | この章の『XA 機能のサポート』セクションのサブセクション『DB2 ユニバーサル・ | データベース XA スイッチの使用』の、『OS/2 プラットフォーム』の項の最後の行を | 次のように変更する必要があります。 | どちらの方式でも、アプリケーションを db2api.lib にリンクしなければなりません。 | 『Windows NT プラットフォーム』の項の最後の行を次のように変更する必要があります。 いずれの方式でも、必ず db2api.lib にリンクする必要があります。 | "db2app.lib" は "db2api.lib" に変更してください。 | 2.7 アプリケーションの考慮事項 | 『ロック』のセクションの、『ロックの属性』の直前に | 次の段落を追加してください。 | デッドロックが起きた場合に記録するモニターの定義を考慮したい場合 | があります。モニターを作成するには、「SQL 解説書」の CREATE EVENT MONITOR | ステートメントを使用してください。 | 『SELECT ステートメントの使用』セクションの OPTIMIZE FOR と FETCH | FIRST の例は、次のように変更してください。 | SELECT EMPNAME, SALARY FROM EMPLOYEE | ORDER BY SALARY DESC | FETCH FIRST 100 ROWS ONLY | OPTIMIZE FOR 20 ROWS | この変更は、例の最後の 2 行の順序を反対にしただけの単純なものです。 | 2.8 SQL コンパイラーの理解 | 『ハッシュ結合』セクションに、次の情報を追加してください。 | ハッシュ結合のパフォーマンス上の利点を認識するには、"sortheap" データベース | 構成パラメーターの値と "sheapthres" データベース構成パラメーターの値を | 変更する必要がある可能性があります。 | サポートする照会の判別には、ハッシュ結合のアクセス計画は、非ハッシュ結合の計画 | より多くのソート・ヒープを使用します。"sheapthres" は、"sortheap" に非常に | 近い値に設定された場合 (つまり、同時照会につき、2 または 3 より少ない要素)、 | query), ハッシュ結合は、最適化プログラムが予測するよりずっと少ないメモリーで | 動作します、制限付きメモリーで実行すると、ハッシュ結合は、非常に遅くなります。 | 複数のソートおよびハッシュ結合での照会で問題が発生し、そのときの最初の | ソートまたはハッシュ結合は使用可能なメモリーの大半を取得します。 | 解決方法は "sheapthres" を十分な大きさ ("sortheap" に関連します) | で構成することです。 2.9 操作パフォーマンス | 2.9.1 データベース・バッファー・プールの管理 | 次の情報を追加してください。 | バッファー・プールに関連した記憶域は、データベースが活動状態または | 最初のアプリケーションがデータベースに接続しているときに割り振られます。 | アプリケーションは、バッファー・プールの 1 次な受領者です。アプリケーション | がすべて切断した場合、バッファー・プールに関連した記憶域も割り振り | 解除されます。 2.9.2 複数のデータベース・バッファー・プールの管理 データベースの設計に携わっていて、8KB のページ・サイズの表が最もよいと判断したとします。  その場合、8KB のページ・サイズのバッファー・プール (その他に、  同じページ・サイズの 1つ以上の表スペースも) を作成しなければなりません。 表を 8KB の表スペースに入れるつもりの場合、  一時表スペースも同じように 8KB のページ・サイズにすることをお勧めすします。  一時表スペースは、同じ 8KB のページ・サイズのバッファー・プールに割り当てられなければならないからです。  デフォルトのバッファー・プール (IBMDEFAULTBP) または、  4KB の一時表スペースを割り当てられる他の任意の 4KB バッファー・プールは小容量にとどめておく必要があります。  データベース・マネージャーは 8KB 一時表スペースを優先するため、  8KB のバッファー・プールになるからです。 | 2.10 管理プログラムの使用 | 『管理プログラム・デーモン』セクションに、次の情報を追加してください。 | 管理プログラムの代替としての使用に関する注は、エージェントの優先度 | を調整するには、次の情報を追加する必要があることを意味します。 | "(この注は OS/2 または Windows NT プラットフォームには該当しません。)" | 『管理プログラム構成ファイル』のセクションで、「処理の優先度」の情報 | の、最初と次の段落を次と置き換えてください。 | アプリケーションで動作するエージェントの優先度に対する変更を指定してください。 | 有効な値は -20 から +20 です。 2.11 DB2 の構成 | 2.11.1 暗号化したパスワード | 認証タイプ (認証) パラメーターが次のように更新されます。 | 新規の値、SERVER_ENCRYPT がこのパラメーターに追加されました。 | この値には、ネットワークを経由して送信されるパスワードが暗号化 | されるという追加機能と、SERVER 認証と同じ規則があります。 | この値の使用に関する制限については、 | 2.2.3 『暗号化したパスワード』を参照してください。 | 新規の値、DCS_ENCRYPT がこのパラメーターに追加されました。 | この値は、DB2 コネクトのサポートのために追加されました。詳細に | ついては、次の 2 つのプロダクトに対する READDCS.TXT ファイルを | ご覧ください。 | o IBM DB2 コネクト エンタープライズ・エディション、バージョン 5.2 | o IBM DB2 コネクト パーソナル・エディション、バージョン 5.2 2.11.2 構成パラメータの調整/ハッシュ結合パフォーマンスの最適化 ハッシュ結合のパフォーマンス上の利点を確かめるには、  SORTHEAP データベース構成パラメーターの値と、  SHEAPTHRES データベース・マネージャー構成パラメーターを変更する必要があるかもしれません。 ハッシュ結合プランは、他の結合プランよりも多くのソート・ヒープ・スペースを使います。  SHEAPTHRES を SORTHEAP に非常に近い値に設定する (現在の照会あたり 2 または 3 より小さい係数) と、  ハッシュ結合は、最適化プログラムで想定されるよりはるかに小さいメモリーで実行されます。  ハッシュ結合は、メモリーを制限されて実行されると、非常に遅くなります。  複数のソートとハッシュ結合をもつ照会では問題が発生します。  最初のソートまたはハッシュ結合によって、使用可能なメモリーの大部分が使われるからです。 それを解決するには、SHEAPTHRES が十分な大きさ (SORTHEAP と比べて) になるよう構成します。 ハッシュ結合戦略を選択すべきかどうかの判断法も含め、  ハッシュ結合についての詳細は、『SQL 解説書』の中の db2expln の説明と、  『DB2 新機能』ブック (『付録 A - システム・モニター 手引きおよび解説書の変更』) を参照してください。  また、後述の新しいハッシュ結合レジストリー変数 (DB2_HASH_JOIN) についての説明を参照してください。 | 2.11.3 データベース・ログ・ファイル | 『ログ・ファイルのサイズ』 (logfilsz) パラメーターは次のように更新されます。 | ログ・ファイルの大きさの合計は 4 GB に制限されています。つまりログ・ファイルの数 | (LOGPRIMARY + LOGSECOND) に、各ファイルの大きさ (バイト単位) | (LOGFILSIZ * 4096) を掛け合わせたものが 4 GB より小さくなっている必要があります。 | 2.11.4 承認クライアントおよび DRDA の使用 | 『インスタンス管理』について説明している章のセクション「すべてのクライアントの承認』 | (trust_allclnts)」パラメーターが次のように更新されました。 | パラメーターの値の範囲は、NO と YES の他に、DRDAONLY が | 含まれます。 | パラメーターの説明に、次の 2 つの段落が含まれます。 | "trust_allclnts" パラメーターを DRDAONLY に設定すると、DB2 (MVS 版および | OS/390 版)、DB2 (VM 版および VSE 版)、DB2 (OS/400 版) の DRDA クライアント | 以外のすべてのクライアントに対して保護します。これらのクライアントのみ、 | クライアント側の情報を実行するために承認されます。サーバーに対する | 認証を受けるには、ユーザー ID とパスワードが必要です。 | "trust_clntauth" パラメーターは、上記のクライアントが認証されている | 場所を判定するために使用されます。"trust_clntauth" が "client" の場合、 | 認証はクライアントで発生します。"trust_clntauth" が "server" の場合、 | 認証はパスワードがいらない場合はクライアントで、パスワードが必要な | 場合はサーバーで発生します。 | 2.11.5 LOGINRETRIES オプション (AIX のみ) | AIX での DB2 ユニバーサル・データベースは、オペレーティング・システムで | 失敗したパスワード指定をログにとる機能を追加し、クライアントが "loginretries" パラメーター | で指定された、使用可能な login の試行回数を超過したときに | 検出します。 2.11.6 ASLHEAPSZ および大きい表での照会の失敗 DB2 は、大きい表 (つまり、  4005 字より大きいレコード長および 500 を越える列をもつ表) から照会結果を取り出すのに失敗することがあります。  失敗しないようにするには、ASLHEAPSZ データベース・マネージャー構成パラメーターの値を、  デフォルト値 15 より大きくします。 2.11.7 SMP マシンでの INTRA_PARALLEL の設定 (Windows NT) Windows NT で、SMP マシンの場合には、DB2 バージョン 5.2 を使ってインスタンスを作成すると、  INTRA_PARALLEL データベース・マネージャー構成パラメーターは YES に設定されます。  バージョン 5.2 では、NO に設定されていました。 | 2.12 AIX の HACMP ES | 『クラスター構成』セクションでは、2 ノード・システム用の | コンテナーを作成する方法を示す例が次のように更新されます。 | CREATE TABLESPACE TS3 MANAGED BY SYSTEM USING | ('/TS/cont $N%2, '/TS3/cont $N%2+2') | 次のコンテナーが使用されます : | /TS3/cont0 - ノード 0 で | /TS3/cont2 - ノード 0 で | /TS3/cont1 - ノード 1 で | /TS3/cont3 - ノード 1 で | この変更は 'TS3' サブディレクトリーと整合性を持つために行われます。 | 2.13 DB2 レジストリー値と環境変数 | パラメーター オペレーティング   値          説明 | ・システム | ------------------------------------------------------------------------------------- | DB2CHGPWD_EEE AIX および DEFAULT=NULL DB2 管理者は、管理者以外の人間が | Windows NT Values: YES または NO パスワードを変更することを許可し | (Sun EEE では ます。管理者は、すべてのデータベース | サポートなし) 区分 (ノード) のパスワードが、Windows NT | の Windows NT Domain Controller か、AIX | の NIS を使用して集中てきに保全されて | いるかを確認する責任があります。集中 | 保全がなされていない場合、パスワードは | すべてのデータベース区分にわたって整合性が | あるわけではなくなります。これは、ユーザーが | 変更を行うために接続するデータベース区分でのみ、 | パスワードが変更されるという結果になる場合が | あります。 パラメーター オペレーティング   値          説明 ・システム ------------------------------------------------------------------------------------ DB2_GRP_LOOKUP Windows NT DEFAULT=null Windows NT のセキュリティー・ 値 : YES または NO メカニズムが、ユーザーが属する グループを列挙するために               使用されます。 | 注 : FixPak 7 では、"db2_grp_lookup" レジストリー変数は、現在サポート | されているキーワード "local" の他に、さらにキーワード "domain" | をサポートするように拡張されています。 | db2set db2_grp_lookup=domain | は、次の条件で設定される必要があります。 | 1. マシンは domain-controller ではない。 | 2. マシンが、ドメイン・アカウントが常駐するドメイン以外に | ある。これは、リソース・ドメインで承認されたドメインで、 | アカウントが定義されている Master Account Domain モデルを | 使用したときに発生します。 | 3. ドメイン・アカウント用に domain controller をバックアップする。 | このパラメーターは、クライアントとサーバーの両方の構成に該当します。 | このパラメーターを設定すると、DB2 にドメイン・アカウント用の | controller を探索するために、現行ドメインで domain controller を | 使用するよう通知します。 | 解決される問題 : | グループの列挙を行うには (管理者であるかを判定するには) | DB2 は NT API を使用し、アカウントが定義されているドメインに | 対するドメイン・コントローラーを検索します。DB2 は、基本ドメイン・ | コントローラー (PDC) を検索し、検索に失敗した場合には、バックアップ・ | ドメイン・コントローラーを検索しようとする API を使用します。この API を | 使用しているマシンも、ドメイン・コントローラーである場合、 | これは常に動作します。マシンがドメイン・コントローラーでない場合。 | この方法論は、PDC がダウンすると失敗します。 | "db2_grp_lookup=domain" の場合、DB2 は、API を実行するために | アカウント・ドメインに対するドメイン・コントローラーを判別する | ドメイン・コントローラーを検索します。これは PDC がダウンしても | 失敗しません。 パラメーター オペレーティング   値          説明 ・システム ------------------------------------------------------------------------------------ DB2_HASH_JOIN All DEFAULT=NO アクセス・プランのコン Values: YES or NO パイル時に使える結合方 式としてハッシュ結合を               指定します。 | パラメーター オペレーティング・ 値 説明 | システム | ------------------------------------------------------------------------------------ | DB2_NEW_CORR_SQ_FF すべて DEFAULT=OFF ON の場合、特定の副照会述部の | Values: ON または OFF SQL 最適化プログラムで計算される | 選択値に影響します。副照会の選択 | リストにおいて、MIN または MAX | 集合機能を使用する等価副照会述部 | の選択値の正確性を改善するために | 使用されます。 | たとえば、 | SELECT * FROM T WHERE T.COL = | (SELECT MIN(T.COL) FROM T WHERE ...) | パラメーター オペレーティング・ 値 説明 | システム | ------------------------------------------------------------------------------------ | DB2MEMDISCLAIM AIX DEFAULT=(設定なし) 実行されるワークロードと、プール・ | Values: YES または NO エージェントの構成により、エージェントが | アイドルの場合でも、DB2 エージェントに | コミット済みのメモリーが 32MB 以上 | 必要である状態になる可能性があります。 | この振る舞いは予想されるもので、通常は | メモリーが迅速な再使用のために保存されるように | すぐれたパフォーマンスをもたらします。 | ただし、メモリー制限のあるシステムでは、 | 望ましくないサイド効果となる可能性があります。 | この状態を回避するには、次のように | します。 | db2set DB2MEMDISCLAIM=yes | メモリーの放棄は、AIX オペレーティング・ | システムにこれ以上実記憶域の使用を行わないよう、 | ページング・エリアの停止を通知します。 | DB2MEMDISCLAIM を YES に設定すると、 | DB2MEMMAXFREE にしたがって、いったん | 解放したメモリーの一部またはすべてを DB2 UDB | に通知します。これは、メモリーが解放されたあと即時に、 | 別の処理で容易に使用可能となることを | 保証します。DB2MEMMAXFREE も | 参照してください。 | パラメーター オペレーティング・ 値 説明 | システム | ------------------------------------------------------------------------------------ | DB2MEMMAXFREE AIX DEFAULT=(設定なし) DB2 エージェントで保存されている空きメモリー | 値: 4000000 から の量を指定します。この変数は、4 から 256 MB | 256000000 までの範囲で指定してください。 | この機能を使用する場合には、8MB の値を | 指定することをお勧めします。 | db2set DB2MEMMAXFREE=8000000 | DB2MEMDISCLAIM も参照してください。 | 調整バッファー・プールに対する新規のレジストリーがあります。使用方法は次のとおりです。 | 1. ファイルを作成します。 | 2. ファイルを次のように設定します。 | db2set DB2BPVARS= | たとえば、ファイル "f:\BPVARSFILE" には次の内容があります。 ----------------------------------------------------------------------------- | # turn on scatter read for raw DMS devices | NT_SCATTER_DMSDEVICE=1 ----------------------------------------------------------------------------- | このファイルを使用して以下のようにした場合 : | db2set DB2BPVARS=f:\BPVARSFILE | 現在サポートされるパラメーターは次のとおりです。 | パラメーター オペレーティング・ 値 説明 | システム | ------------------------------------------------------------------------------------ | NT_SCATTER_DMSDEVICE NT DEFAULT=0(OFF) DMS デバイス・コンテナーで | Values=0(OFF) スキャッター読み取りをオンにする | or 1(ON) ために使用されます。これは DB2NTNOCACHE | がレジストリーで ON に設定されている | 場合のみ、使用可能 (ON にセット) です。 | DB2NTNOCACHE が OFF (または設定なし) | の場合、警告メッセージが db2diag.log | に書き込まれ、スキャッター読み取りは | 使用不能のままとなります。RAW コンテナー | に対する大量の順次プリフェッチのある | システムにお勧めします。 2.14 RAH (全ホストの実行) 追加情報 (Solaris および AIX のみ) 付録 Q の中の rah の解説に次の説明を追加しなければなりません。 パフォーマンスを増強するため、大型システムで tree_logic を使用するよう rah は拡張されました。  つまり、rah は、いくつのノードがリストに入っているかを調べ、  その数がしきい値を越えた場合、リストのサブセットを作成し、  それらのノードに対して再帰自己呼び出しを送ります。  それらのノードでは、rah は再帰的に呼び出されて同じ論理に従い、  ついにリストは、リストのすべてのノードにコマンドを送る標準論理 (現在は "leaf-of-tree" 論理) に従うのに十分な小ささになります。  しきい値は、環境変数 RAHTREETHRESH で指定できますが、  デフォルト 15 を使うこともできます。 物理ノードごとに複数の論理ノードのあるシステムの場合、  db2_all は、優先的に個々の物理ノードに再帰呼び出しを送ってから、  次に同じ物理ノード上の他の論理ノードに送ります。それによって、  物理ノード間の通信量も減ります。  (この点は、 db2_all にだけ適用され、rah には 適用されません。  rah は常に個々の物理ノードにのみ送信するからです。) 本バージョンの rah は旧バージョンのもの (本プロダクトに rah.sh_old として含められています) とほぼ同じ構文と意味をもちますが、  どのオプションを使ってよいかに関して若干の制限が設けられています。 o ユーザーはシェルとして ksh (Korn シェル) を使わなければなりません。    別のシェルを使用すると、rah_tree から警告が発せられ、non-tree 論理が使われます。 o コマンドのエコーを要求するための単一引用符 (') の接頭部文字は有効とみなされず、    無視されます。 o もし、< (all-but-me) および > (substitute <> by host index) の両方のオプションを指定すると、 ホスト索引は、non-tree rah/db2_all で置き換えられるはずであったものとは別のものになります。   注: () と ## の置換は、従来の rah/db2_all と同じ働きをします。 o リスト内のすべてのノードで、同じようにユーザー ID をセットアップするよう強くお勧めすします。 たとえば、rah_tree コマンドや db2_tree コマンドの発行元の現行作業ディレクトリーは、    すべてのノード上に存在しなければなりません。rah_tree 実行可能プログラムは、    すべてのノード上の現在の $PATH になければなりません (rah_tree コマンドの発行時に有効化されているもの)。    rahwaitfor 実行可能プログラムは、そのパスになければなりません。    ノード相互間における環境上の相違は一部許容されますが、    ほとんどは許容されません。 o 実行しようとするコマンドは、"-o、-b、-d、または -x" で始まっていてはなりません。    これらは、rah_tree でフラグと解釈されるからです。 o 並列実行を指定した場合に、ホストから戻される出力の順序は、    non-tree rah で生成される順序とは異なることがあります。    non-tree rah はたいてい、リストの順序の出力を戻します。 o rah_tree または db2_tree を呼び出すと、上記のとおり、    そのつど宛先ノードの数としきい値が比較されます。  しきい値は、次のような環境変数で指定できます。 export RAHTREETHRESH=nn nn は任意の正整数です。  ただし、デフォルト 15 を使うこともできます。 | 2.15 DB2 UDB での UNICODE/UCS-2 および UTF-8 サポート | 以下の 2 つの標準について説明されています。 | 2.15.1 はじめに | Unicode 文字コード化標準は、世界で使用されているほとんどすべての言語の文字が | 含まれる固定長の文字コード化スキームです。 | Unicode 文字は、通常 "U+xxxx" で示されます。xxxx は、文字の | 16 進表記です。 | 文字は、言語に関係なく 16 ビット (2 バイト単位) ワイドです。 | 65 536 コード要素が、世界の主要言語の文字の大半のコード化に十分である一方、 | Unicode 標準も 1000000 以上の文字と同じ数のコード化が可能である | 拡張メカニズムを提供します。 | この拡張はコード値の範囲 (U+D800 から U+D8FF、"surrogates" として知られている) | を、2 つの連続するコード要素として 32 ビット文字にコード化するために | 予約します。 | 国際標準化機構 (ISO) と国際電気標準会議 (IEC) 10646 標準 (ISO/IEC 10646) | 2 バイト・バージョン (UCS-2) と 4 バイト・バージョン (UCS-4) を持つ | Universal Multiple-Octet Coded 文字セット (UCS) を指定します。 | この ISO 標準 UCS-2 の 2 バイト・バージョンは、サロゲートなしの Unicode | と同等です。また、ISO 10646 は、UCS-2 コード化ストリングで UCS-4 コード | をコード化するために、拡張手法を定義します。この拡張は UTF-16 と呼ばれ、 | サロゲートー付きの Unicode と同等です。 | DB2 UDB は UCS-2 (サロゲートなしの Unicode) をサポートします。 | 2.15.1.1 UTF-8 | UCS-2 または Unicode コード化では、ASCII および制御文字も 2 バイト長 | で、最初の 1 バイトはゼロです。たとえば、NULL は U+0000 で、 | 大文字 A は U+0041 となります。UCS-2 ストリングでは、 | 余計な NULL がストリングの任意の場所に現れる可能性があるため、 | ASCII ベースのアプリケーションと | ASCII ファイル・システムの主要な問題点となる場合があります。 | 変換アルゴリズムは UTF-8 として知られていますが、これが ASCII コードが不変で | あることに依存するプログラムの問題を回避するために使用されます。 | UTF-8 (UCS 変換形式 8) は、固定長の UCS-2 と UCS-4 文字を可変長のバイト・ストリング | に変換するアルゴリズムです。 | UTF-8 では、ASCII 文字は、通常の 1 バイト・コードで表記されますが、 | UCS-2 では ASCII 文字以外は 2 または 3 バイトとなります。 | 言い換えると、UTF-8 は UCS-2 文字を複数バイトのコードセットに変換します。 | (ASCII は不変です。)UTF-8 形式の UCS-2 文字のバイト数は、それぞれ | 次の表から決定されます。 | UCS-2 (16 進) UTF-8 (2 進) 説明 | ------------ -------------------------- ---------------- | 0000 to 007F 0xxxxxxx ASCII | 0080 to 07FF 110xxxxx 10xxxxxx U+07FF まで | 0800 to FFFF 1110xxxx 10xxxxxx 10xxxxxx 他の UCS-2 | 注: D800 から DFFF の範囲は、UCS-4 の範囲 0000 0800 to 0000 FFFF | に対応する上記の表の3 行めによって扱いから除外されています。 | 上記すべてにおいて、一連の "x" は、文字の UCS ビット表記を示します。 | たとえば、U0080 は 11000010 10000000 に変換されます。 | 2.15.2 DB2 UDB での UCS-2/UTF-8 実現 | 2.15.2.1 コード・ページ/CCSID 数 | IBM では、UCS-2 コード・ページは 1200 として登録されています。 | コード・ページは、増加する文字コードで定義されます。つまり、 | 新規の文字がコード・ページに追加された場合、コード・ページ番号は変化しません。 | コード・ページ 1200 は、常に Unicode/UCS-2 の現在のバージョンを参照し、 | DB2 UDB での UCS-2 サポートに使用されます。 | UCS 標準の特定のレパートリーも、Unicode 2.0 と ISO/IEC 10646-1 で定義されて | いるように、CCSID 13488 として IBM 内で登録されています。この CCSID (13488) | は、euc-Japan と euc-Taiwan データベースのグラフィック・ストリングを保管する目的で、 | DB2 UDB によって内部で使用されています。CCSID 13488 とコード・ページ 1200 | は、両方とも UCS-2 を参照し、「ダブルバイト」(DBCS) スペースの値以外は、 | 同じように扱われます。 | CP/CCSID 1 バイト (SBCS) スペース 2 バイト (DBCS) スペース | --------- ------------------------ ------------------------ | 1200 N/A U+0020 | 13488 N/A U+3000 | 注: UCS-2 データベースでは、U+3000 には特別な意味はありません。 | 変換表については、コード・ページ 1200 が CCSID | 13488 のスーパーセットであるため、全く同じ (スーパーセット) 表が両方に使用されます。 | IBM では、UTF-8 は増加する文字セットで CCSID 1208 として | (コード・ページ 1208 として参照される) 登録されています。 | 新規文字が標準に追加されるても、この番号 (1208) は変化しません。 | 1208 は、DB2 の UCS-2/UTF-8 サポートの複数バイト・コード・ページ | 番号として使用されます。 | DB2 UDB は、UCS-2 を新規の複数バイト・コード・ページとしてサポートします。 | MBCS コード・ページ番号は 1208 で、これは、データベースのコード・ページ番号で、 | データベース内の文字ストリングのコード・ページです。 | ダブルバイト・コード・ページ番号 (UCS-2 用) は 1200 で、これは、 | データベース内の漢字ストリング・データのコード・ページです。 | データベースが UCS-2/UTF-8 で作成されると、CHAR、VARCHAR、LONG | VARCHAR、および CLOB データは UTF-8 に保管され、GRAPHIC、VARGRAPHIC、 | LONG VARGRAPHIC、および DBCLOB データは UCS-2 で保管されます。 | これは、単純に UCS-2 データベースとして参照されます。 | 2.15.2.2 UCS-2 データベースの作成 | デフォルトでは、データベースは、作成したアプリケーションのコード・ページで | 作成されます。したがって、UTF-8 クライアントからデータベースを作成する | (たとえば、AIX の UNIVERSAL ロケール) か、またはこのクライアントの DB2CODEPAGE 環境 | 変数が 1208 に設定されていると、データベースは UCS-2 データベースとして | 作成されます。一方、"UTF-8" を CODESET 名として、明示てきに指定することが | 可能で、DB2 UDB でサポートされる、有効な 2 文字の TERRITORY コードを使用 | することができます。「管理の手引き」、および「NLS サポート」の付録を参照 | して、DB2 UDB でサポートされるテリトリー・コードの完全なリストを調べてください。 | たとえば、米国のテリトリーで、CLP から UCS-2 データベースを作成するには、 | 次のコマンドを発行します。 | DB2 CREATE DATABASE dbname USING CODESET UTF-8 TERRITORY US | UCS-2 データベースのデフォルトの照合シーケンスは IDENTITY で、 | UCS-2 コードのポイント・オーダーを提供します。したがって、デフォルトでは、 | すべての UCS-2/UTF-8 文字はオーダーされ、UCS-2 コードのポイント・ | シーケンスにしたがい比較されます。 | 日時形式や小数点のように、文化が関係してくるパラメーター | は、クライアントの現在のテリトリーに基づきます。 | UCS-2 データベースは、DB2 UDB でサポートされる、1 バイトおよび複数バイトのコード・ページ | からのすべての接続を許可します。クライアントのコード・ページと | UTF-8 との間のコード・ページ文字変換は、データベース・マネージャーに | よって自動的に実行されます。グラフィック・ストリング・タイプのデータは、 | 常に UCS-2 にあり、コード・ページ変換を介して進みません。 | コマンド行プロセッサー (CLP) 環境は例外です。CLP から漢字ストリング (UCS-2) | を選択すると、戻されるグラフィック・ストリングは UCS-2 から (CLP によって) | クライアントの環境のコード・ページへ変換されます。 | クライアントは、それぞれ文字のレパートリー、入力方法、および | その環境でサポートされるフォントによって制限されますが、UCS-2 データベース | 自体は、すべての UCS-2 文字を保管します。したがって、各クライアントは通常 | UCS-2 文字のサブセットで処理しますが、データベース・マネージャーは | UCS-2 文字のレパートリー全体を使用できます。 | 文字がローカル・コードから UTF-8 に変換されると、バイト数を | 拡張することができます。ASCII 文字には拡張はありませんが、他の UCS-2 | 文字は 2 または 3 の要因で拡張します。UTF-8 の UCS-2 文字の各バイト数 | は、上記の表 (UTF-8 のセクションを参照) から決定されます。 | 2.15.2.3 データ・タイプ | DB2 UDB でサポートされるすべてのデータ・タイプは、UCS-2 データベースでも | サポートされます。特に、グラフィック・ストリング・データは UCS-2 データベースでサポート | され、UCS-2/Unicode で保管されます。SBCS クライアントも含んだすべてのクライアントは、 | UCS-2 データベースに接続すると、UCS-2/Unicode でグラフィック・ストリング・データ・タイプ | の処理を行うことができます。 | UCS-2 データベースは、文字ストリング・データがバイト数で計測される場所での | MBCS データベースのようなものです。UTF-8 で文字ストリング・データで | 処理するとき、各文字が 1 バイトであると推定しません。複数バイト | UTF-8 コード化では、ASCII 文字はそれぞれ 1 バイトですが、ASCII 文字以外 | は 2 または 3 バイトです。CHAR フィールドの定義時にはこのことを考慮して | おく必要があります。ASCII から ASCII 以外の文字の比率にしたがって、 | サイズ n バイトの CHAR フィールドには、n/3 から n 文字までの任意の場所に | 含まれます。 | 文字ストリング UTF-8 コード化対グラフィック・ストリング UCS-2 データ・タイプ | にも、トータルの記憶域要件での影響があります。文字の大半が ASCII で、 | ASCII 以外の文字がいくつかある状態では、UTF-8 データの保管は、 | 記憶域要件が文字ごとに 1 バイトに近づくため、代替としてよりすぐれています。 | 一方、文字の大半が 3 バイト UTF-8 シーケンスまで拡張する ASCII 文字以外 | (たとえば、表意文字) である場合、 | UCS-2 グラフィック・ストリング形式は、すべての UCS-2 文字は、UTF-8 形式の対応する | 文字ごとに 3 バイトより、2 バイトちょうどを必要とするため、代替として | よりすぐれています。 | 文字ストリング上で動作する LENGTH、SUBSTR、POSSTR、MAX、MIN、およびその他の | SQL スカラー関数は、MBCS 環境では "文字" 数より、"バイト" 数で動作します。 | 振る舞いは UCS-2 データベースでのものと同じです。たとえば、 | 文字ストリング・フィールドの LENGTH は、文字数ではなく、バイト数の長さ | です。これらの関数の説明については、 | 「DB2 UDB SQL 解説」を参照してください。 | SQL CHAR データ・タイプは、ユーザー・プログラムの C 言語の "char" データ・タイプ | でサポートされます。SQL GRAPHIC データ・タイプは、ユーザーの C プログラムの "sqldbchar" | でサポートされます。UCS-2 データベースでは、"sqldbchar" データは常に | ビッグ・エンディアン (高位バイト先行) 形式です。アプリケーション・ | プログラムが UCS-2 データベースに接続すると、文字ストリング・データは | アプリケーション・コード・ページと、DB2 UDB による UTF-8 の間で変換 | されますが、グラフィック・データは常に UCS-2 にあります。 | 2.15.2.4 識別子 | UCS-2 データベースで、すべての識別子は複数バイトの UTF-8 にあります。 したがって、 | 拡張文字セット (たとえば、アクセントのついた文字、または | 複数バイト文字) の使用が DB2 UDB で許可されているところで、 | 識別子に UCS-2 文字を使用することが可能です。 | 拡張文字の使用が可能な識別子の詳細については「管理の手引き」の付録 「命名規則」 | を参照してください。 | クライアントは、SBCS/MBCS 環境でサポートされている文字の入力が可能 l で、識別子のすべての文字はデータベース・マネージャーで UTF-8 に | 変換されます。UCS-2 データベースで、識別子に母国語文字を指定 | するときに、考慮する点が 2 つあります。 | 1. ASCII 文字以外は 2 バイトまたは 3 バイトが必要です。したがって、 | n バイトの識別子は、ASCII から ASCII 以外の文字の比率によって、 | n/3 と n 文字の間の任意の場所で保持されます。 | 1 または 2 の ASCII 文字以外 (たとえば、アクセントのついた) 文字のみ | がある場合、制限は、n 文字に近くなり、完全に ASCII 以外の文字 | (たとえば、日本語) である識別子には、n/3 文字が使用されます。 | 2. 識別子が別のクライアント環境から入力された場合、これらのクライアントで | 使用可能な文字の共通サブセットを使用して、定義される必要があります。 | たとえば、UCS-2 データベースが Latin-1、Arabic、および日本語から | アクセスされる場合、すべての識別子は ASCII に制限されます。 | 2.15.2.5 UCS-2 リテラル | UCS-2 リテラルは次の 2 つの方法で指定されます。 | 1. 「SQL 解説」の第 3 章、「言語要素」の「定数」セクション、「グラフィック・ | ストリング定数」で記述されている | G'...'、または N'....' 形式を使用した GRAPHIC ストリングとして。 | この方法で指定されたリテラルはアプリケーションのコード・ページから | UCS-2 へ、データベース・マネージャーによって変換されます。 | 2. UX'....' または GX'....' 形式を使用した UCS-2 16 進ストリングとして。 | UX または GX の後の引用符の間に指定される定数は 4 桁の 16 進数字である必要が | あります。4 桁の数字が 1 つの UCS-2 コード・ポイントを表します。 | コマンド行プロセッサー (CLP) を使用すると、UCS-2 文字が、ローカル・ | アプリケーション・コード・ページに存在する場合 (たとえば、コード・ページ | 850 を使用している端末から、コード・ページ 850 文字を入力する)、 | 最初の方法が容易です。2 番目の方法は、アプリケーション・コード・ページ・レパートリーの | 外側の文字 (たとえば、コード・ページ 850 を使用している端末から | 日本語文字を指定する) に対して使用される必要があります。 | 2.15.2.6 UCS-2 データベースでのパターン一致 | パターン一致は、既存の MBCS データベースが、UCS-2 データベースの | 振る舞いと少し異なるエリアです。 | DB2 UDB の MBCS 文字は、現在の振る舞いは次のようになっています。 | 一致式に MBCS データがあると、パターンには SBCS と | MBCS 文字が含まれます。パターン内の特殊文字は | 次のように解釈されます。 | o SBCS アンダースコアは 1 個の SBCS 文字となります。 | o DBCS アンダースコアは 1 個 の MBCS 文字となります。 | o パーセント (SBCS または DBCS) はゼロ・ストリングあるいは複数の SBCS | または MBCS 文字となります。 | 一致式にグラフィック・ストリングの DBCS データがあると、式には | DBCS 文字のみが含まれます。パターン内の特殊文字は、 | 次のように解釈されます。 | o DBCS アンダースコアは 1 つの DBCS 文字となります。 | o DBCS パーセントはゼロ・ストリングあるいは複数の DBCS 文字となります。 | UCS-2 データベースでは、"1 バイト" と "2 バイト" 文字の間に | 実際には区別がありません。すべての UCS-2 文字は 2 バイトを使用します。 | UTF-8 形式が UCS-2 文字の "混合バイト" コード化であっても、UTF-8 では | SBCS と MBCS 文字の間には実際の区別はありません。すべての文字が | UTF-8 形式のバイト数に関係なく UCS-2 文字です。 | 文字ストリング、またはグラフィック・ストリングの式を指定すると、 | アンダースコアは 1 個の UCS-2 文字となり、パーセントは | セロ・ストリングまたは複数の UCS-2 文字となります。 | クライアントの側では、文字ストリング式は、クライアントのコード・ページ | にあり、データベース・マネージャーで UTF-8 に変換されます。SBCS | クライアント・コード・ページには DBCS のパーセントや DBCS のアンダースコア | はありませんが、サポートされるすべてのコード・ページには 1 バイトのパーセント | (U+0025 に対応する) が含まれます。 | UCS-2 データベースに対する特殊文字の解釈は次のとおりです。 | o SBCS アンダースコア (U+0025 に対応) は、グラフィック・ストリング式の1 個の UCS-2 | 文字か、文字ストリング式の 1 個の UTF-8 文字となります。 | o SBCS パーセント (U+005F に対応) は、グラフィック・ストリング式のゼロ・ | ストリングまたは複数の UCS-2 文字か、文字ストリング式のゼロ・ストリング | または複数の UTF-8 文字となります。 | DBCS コード・ページは、DBCS パーセント記号 (U+FF05 に対応) と DBCS アンダースコア | (U+FF3F に対応) もサポートします。これらの文字には UCS2-2 データベース | に対する特殊な意味はありません。 | アンダースコアおよびパーセント文字の特殊な意味を変更するために | 使用される文字を指定する任意選択の "エスケープ式" では、 | ASCII 文字または 2 バイトの UTF-8 シーケンスに拡張する文字が | サポートされます。3 バイト UTF-8 値に拡張する ESCAPE 文字を指定すると、 | エラー・メッセージ (SQL0130N エラー、SQLSTATE 22019) を受け取ります。 | 2.15.2.7 IMPORT/EXPORT/LOAD に関する考慮事項 | DEL、ASC、および PC/IXF ファイル形式は、このセクションで説明されて | いるように、 UCS-2 データベースでサポートされています。 | WSF 形式はサポートされていません。また、自動ローダーは現在 | UCS-2 データベースではサポートされていません。 | UCS-2 データベースから ASCII 区切り (DEL) ファイルにエクスポート | する場合、文字データはアプリケーションのコード・ページに変換されます。 | 文字ストリングと GRAPHIC ストリングの両方とも、クライアントの、同じ SBCS または MBCS コード・ | ページに変換されます。これは、データベースのエクスポートでの既存の振る舞いで、 | ASCII 区切りファイル全体が 1 つのコード・ページにしかなれないため、 | 変更されません。したがって、ASCII 区切りファイルにエクスポートする場合、 | アプリケーションのコード・ページに存在する UCS-2 文字のみが保管されます。 | 他の文字はアプリケーションのコード・ページのデフォルトの置換文字に置き換え | られます。UTF-8 クライアント (コード・ページ 1208) では、 | すべての UCS-2 文字が UTF-8 クライアントでサポートされるため、データの喪失は | ありません。 | ASCII ファイル (DEL または ASC) から UCS-2 データベースにインポートするとき、 | 文字ストリング・データはアプリケーションのコード・ページから UTF-8 に | 変換され、GRAPHIC ストリング・データはアプリケーションのコード・ページ | から UCS-2 に変換されます。データの喪失はありません。 | 別のコード・ページで保管された ASCII データをインポートしたい場合、 | データ・ファイルのコード・ページをインポート・コマンドの発行前に | 切り換える必要があります。これを実行する方法は、DB2CODEPAGE を | ASCII データ・ファイルのコード・ページにセットすることです。 | ASCII 区切り文字の有効範囲 (SBCS と MBCS クライアント用) は、 | これらのクライアントの DB2 UDB によって現在サポートされているものと同じです。 | UTF-8 クライアントの有効な区切り文字は 通常の制約で 0x01 から 0x7F です。 | これらの制約の完全なリストについては、「コマンド解説」の | 『IMPORT/EXPORT/LOAD ユーティリティー形式』を参照してください。 | UCS-2 データベースから PC/IXF ファイルへエクスポートすると、文字ストリング・データ | がクライアントの SBCS/MBCS コード・ページに変換されます。GRAPHIC ストリング・データ | は変換されず、UCS-2 (コード・ページ 1200) で保管されます。データの喪失はありません。 | PC/IXF ファイルから UCS-2 データベースにインポートすると、文字ストリング・データ | PC/IXF ヘッダーに保管されている SBCS/MBCS コード・ページにあると推定され、 | GRAPHIC ストリング・データは PC/IXF ヘッダーに保管されている DBCS コード・ページ | にあると推定されます。文字ストリングは PC/IXF ヘッダーで指定されたコード・ | ページからクライアントのコード・ページへ IMPORT ユーティリティーで変換され、 | それからクライアントのコード・ページから UTF-8 (INSERT ステートメントによって) に | 変換されます。GRAPHIC ストリング・データは IMPORT ユーティリティーによって、 | PC/IXF ヘッダーで指定された DBCS コード・ページから | UCS-2 (コード・ページ 1200) へ直接変換されます。 | LOAD は、デフォルとでは、データをデータベースに直接置き、 | ASC または DEL ファイルのデータが、データベースのコード・ページにあると推定します。 | そのため、デフォルトでは、ASCII ファイルではコード・ページの変換はありません。 | データ・ファイルのコード・ページが明らかに指定されている (MODIFIED BY codepage=x | コマンド・パラメーターを使用して) 場合、LOAD はこの情報を使用して、データをロードする | 前に指定されたコード・ページ x からデータベースのコード・ページへの変換をします。 | PC/IXF ファイルでは、LOAD は IXF ヘッダーで指定されたコード・ページから | データベースのコード・ページ (CHAR は 1208、GRAPHIC は 1200) へ変換します。 | DBCLOB ファイルのコード・ページ (MODIFIED BY lobsinfile コマンド・パラメーター | を使用して指定) は、常に UCS-2 では 1200 です。CLOB ファイルの | コード・ページはインポート、ロード、またはエクスポートされたデータ・ファイル | のコード・ページを同じです。たとえば、PC/IXF 形式を使用したロードまたはインポート | では、CLOB ファイルは PC/IXF ヘッダーで指定されたコード・ページにあると推定されます。 | DBCLOB が ASC または DEL 形式であると、LOAD では CLOB データは (明白に指定されるか、 | MODIFIED BY codepage=x コマンド・パラメーターを使用して指定されていない限り)、 | データベースのコード・ページにあると推定され、インポートでは | クライアントのアプリケーション・コード・ページにあると推定されます。 | NOCHECKLENGTHS オプションは、UCS-2 データベースでは、SBCS は、DBCS コード・ | ページがないデータベースに接続されるため、 | また、UTF-8 形式の文字ストリングは、通常クライアントのコード・ページで対応する | 長さと異なる長さとなるため、 | UCS-2 では TRUE に常に設定されます。 | 2.15.2.8 非互換性 | UCS-2 データベースに接続されたアプリケーションでは、グラフィック・ストリング・データは | 常に UCS-2 (コード・ページ 1200) にあります。非 UCS-2 データベースに | 接続されたアプリケーションでは、グラフィック・ストリング・データは | アプリケーションの DBCS コード・ページにあります。または | アプリケーションのコード・ページが SBCS の場合は、使用できません。 | たとえば、932 クライアントが日本語の非 UCS-2 データベースに接続されて | いる場合、グラフィック・ストリング・データはコード・ページ 301 にありますが、 | UCS-2 データベースに接続している 932 クライアント・アプリケーションでは | グラフィック・ストリング・データは UCS-2 にあります。 | 2.16 VIRTUAL INTERFACE (VI) アーキテクチャーの使用 | DB2 UDB は現在 GigaNet と ServerNet という 2 つの VI アーキテクチャーの | 実現をサポートします。両方ともこのセクションで説明されています。 | 2.16.1 VIRTUAL INTERFACE アーキテクチャーの概要 | VIRTUAL INTERFACE (VI) アーキテクチャーは、内部ノード通信プロトコル | で、Windows NT の大量並行処理 (MPP) 環境での TCP/IP の代わりとなる | ものです。VI は、Intel、Microsoft、および Compaq が共同で開発した | 新規の通信アーキテクチャーで、システム・エリア・ネットワーク | (SAN) を経由するパフォーマンスを改善します。詳細については、以下の URL を | 参照してください。 | http://www.viarch.org | 例として、イーサネットと TCP/IP を使用する Public Interconnect と | Network Interface Card とプロトコルを使用するPrivate Interconnect との | 間には、いくつかの類似点があります。このインスタンスで使用される | Network Interface Card とプロトコルは、GigaNet Network Interface Card と | VI プロトコルです。 | VI アーキテクチャーには低度の待ち時間と高度の帯域幅があります。 | 通信集中環境では、VI アーキテクチャーを使用すると、システム全体の | スループットを改善します。クラスターのノード数が増え、 | 転送されるデータの量が増加すると、VI アーキテクチャーを使用する利点 | も増えます。 | DB2 UDB は、Intel Interface Architecture Specification, Version 1.0、 | Intel Virtual Interface (VI) Architecture Developers' Guide, Version 1.0、 | に従い、"Virtual Interface Architecture Conformance Suite" に渡す | VI アーキテクチャーの実現をサポートします。仕様は次の | ようになっています。 | http://www.intel.com/design/servers/vi/the_spec/specification.htm | Developer's Guide と conformance suite の情報は以下の場所です。 | http://www.intel.com/design/servers/vi/developer/ia_imp_guide.htm | 2.16.2 DB2 ユニバーサル・データベース バージョン 5.2 (EEE) のインストール | インストールの詳細な情報については、「DB2 エンタープライズ 拡張エディション | (Windows NT) 概説およびインストール」 をご覧ください。 | すでにインストールされている DB2 UDB プロダクトのサービス・レベルが | わからない場合は、レジストリーに入って、 UDB サービス・レベルを判別する | ことができます。 | 1. レジストリーを編集するためにコマンド・プロンプトから regedtt32 と入力 | 2. HKEY_LOCAL_MACHINE を選択 | 3. SOFTWARE を選択 | 4. IBM を選択 | 5. DB2 を選択 | 6. DB2 UDB エンタープライズ 拡張エディションを選択 | 7. CurrentVersion を選択 | 8. サービス・レベルを記録 | サービス・レベルは、お客さまが DB2 サービスおよびサポートに VI に | ついてお問い合せになった際に、インストール済みの DB2 の FixPak を含む | コード・レベルを判別するために便利です。 | このプロダクトは、仮想インターフェーズ・プロトコルを使用して、各区画 | またはノードにインストールする必要があります。 | インストール・プロシージャー中に、プロンプト指示があった場合は、 | 各区画またはノードに対して「このマシンを、インスタンス | 所有ノードにする」を選択してください。 | 各区画またはノード の IP アドレスおよびホスト名で | ホスト・ファイルを更新してください。ホスト・ファイルは | オペレーティング・システムがインストールされているドライブの | "\winnt\system32\drivers\etc\" ディレクトリーの下にあります。 | ホスト・ファイルは各ノードに対して更新する必要があります。 | インスタンス作成ユーティリティーを使用して、区画データベース (MPP) | インスタンスを作成します。調整プログラム・ノードとなるマシンを | 1 台選択してください。このマシン上で、 DB2 コマンド・ウィンドウを | オープンし、次のように入力してください。 | db2icrt /mpp /u:, | これで、このマシンは調整プログラム・ノードまたはインスタンス | 所有マシンとして認識されました。ノード 0 はこのマシン上に自動的に | 作成されます。 | データベース内の他の区画またはノード上で、 DB2 コマンド・ウィンドウを | オープンし、次のように入力してください。 | db2ncrt /n: /u:, | /i: /o: | node_number は、データベース環境の中でデータベース区画サーバーを | 固有識別するために使用されます。この番号は 1 から 999 の間で数字です。 | instance_owner_name は、インスタンス所有マシン (調整プログラム・ノード) | のコンピューター名です。 | インストールのテストおよび索引の作成: | 1. DB2 コマンド・ウィンドウをオープン。 | 2. "set DB2INSTANCE=" と入力。 | 3. データベース・マネージャーが、すべてのノードで開始することを | 確認するため、次のように入力: "db2start" | 4. サンプル・データベースを作成するため、次のように入力: "db2sampl" | 5. サンプル・データベースの接続するため、次のように入力: "db2 connect to sample" | 6. サンプル・データベースでいくつかの SELECT 文を試行。 | この環境で問題が発生した場合、以下に表示される問題のタイプに | 基づいた処置を取ることができます。 | o インスタンスの作成が失敗する。 | "c:\profiles" が存在し、各共有名 "profiles" が共に存在する | ことを確認します。すべての区画が調整プログラム・ノードから | ping 可能であることを確認してください。 | o DB2START が失敗する。 | "db2 ? sqlxxxx" コマンドを使用して、戻されたエラー・コード | に対する説明を検討します。ここに記載された、このエラーに関連する | 推奨される処置に従ってください。 | システム・エラーが戻される場合があります。このような場合、"db2stop" を | 使用して "db2start" を再試行してください。この問題が続く場合は、 | すべての区画をリブートし、その後に再試行してください。 | すべての区画で日付、時間、タイムゾーンが同じであることを確認してください。 | 時間は、同一である必要はありません。誤差は 1 時間以内ならば十分です。 | すべての区画が 1 つのドメイン内にあること、および使用されたユーザー名 | およびパスワードが以下のグループのものであることを確認してください。 | - ドメイン・コントローラー上: | - 管理者 | - ドメイン管理者 | - ドメイン・ユーザー | - ユーザー | - その他のマシン上: | - 管理者 | - ユーザー | 「コントロール・パネル-->サービス」の内容を検討し、 | すべての 「DB2: -X」 サービスが、正しい | DB2ADMIN アカウント情報を持っていることを確認してください。 | o コマンド行変数が初期化されない。 | 「DB2 コマンド・ウィンドウ」上でコマンドを実行しているどうかを | 確認してください。ウィンドウのタイトルは「DB2 CLP」です。 | o "rah" コマンドが、指定されたコマンドを実行せずに、即座に | 戻る。 | インスタンス内のすべてのマシン上で "db2set -g DB2TEMPDIR=C:\TMP" を | 実行してください。正しい DB2ADMIN アカウント情報を持つ、 DB2 リモート・ | コマンド・サービスが開始していることを確認します。 | 最後に、"c:\temp" および "c:\tmp" が存在することを確認してください。 | 2.16.3 GigaNet Interconnect を使用して DB2 UDB V5.2 (Windows NT 版) を実行 | IBM により、DB2 UDB EEE V5.2 での仮想インターフェース (VI) アーキテクチャーの | サポートが発表されました。資料では、DB2 を用いてテストされた VI 製品に | 関しては特記していません。この資料では GigaNet Interconnect に関する | 特別な情報を提供します。 | VI アーキテクチャーに付随し、DB2 UDB EEE V5.2 でサポートされている | 他製品について調べるには、http://www.software.ibm.com/data の | DB2 UDB サポートを参照してください。 | GigaNet 製品について調べたり、GigaNet サービスおよびサポートを参照 | したりするには、URL: http://www.giganet.com/ を使用してください。 | 2.16.3.1 GigaNet Interconnect のセットアップ手順 | この環境をセットアップするのに必要なハードウェアとソフトウェアの | リストには、以下の製品が含まれます: | o GigaNet GNN1000 ネットワーク・インターフェース・カード | o GigaNet GNX5000 スイッチ | o GigaNet GNCxx11 相互接続ケーブル (導線) | o GigaNet cLAN ソフトウェア、バージョン 2.0 | GigaNet Interconnect が DB2 UDB と一緒に機能することを確認するのに | 必要なステップを以下に示します。各ステップは、各ステップで必要なことの | 要約です。各ステップに関連する詳細事項はここでは記述されていません。 | 必要な詳細説明および指示を提供している各ステップの参照資料を使用して | ください。 | 各 GigaNet GNN1000 は GigaNet cLAN ソフトウェア CD-ROM と一緒に | パッケージされています。CD-ROM には GigaNet Interconnect をセットアップ | するのに必要なすべてのソフトウェアが含まれています。さらに、CD-ROM には | VI アーキテクチャー SDK と Adobe Acrobat Reader が含まれています。 | これらの 2 つの項目は、VI イネーブリング・アプリケーションの開発者にのみ | 必須です。 | ステップの要約: | 1. アダプター・カードのインストール | 2. スイッチとケーブルのインストール | 3. アダプター・ドライバーのインストール | 4. cLAN 管理コンソールのインストール | 5. Interconnect のテスト | 以下のステップを行います: | 1. GigaNet GNN1000 ネットワーク・インターフェース・カードをインストール | します。インストール指示については「GigaNet GNN1000 User Guide」を | 参照してください。 | 2. GigaNet GNX5000 スイッチおよびケーブルをインストールします。 | インストール指示については「GigaNet GNX5000 User Guide」を | 参照してください。 | 3. GigaNet GNN1000 アダプター・ドライバー・ソフトウェアを、 | GNX5000 スイッチに接続している各ノードにインストールします。 | インストール指示については「GigaNet GNN1000 User Guide」を | 参照してください。GigaNet で提供されているドライバーを | インストールする場合の追加の詳細事項です: | a. インストール済みの GNN1000 ドライバーの旧バージョンをすべて | 除去します。除去において、リブートするためのノードが必要です。 | b. 「開始 > 設定 > コントロール・パネル > ネットワーク > | アダプター > 追加」を使用してドライバーをインストールします。 | c. 「ディスク...」をクリックし、CD-ROM 上のドライバー・ディレクトリーを | 指定します。たとえば F: が CD-ROM ドライブの場合、"F:\Driver" です。 | d. 「GNN1000 NDIS アダプター」を選択し、「了解」をクリックします。 | e. ネットワーク・プロトコルを構成してインストールを完了します。 | GigaNet アダプター・ドライバー・ソフトウェアは GigaNet の web サイト | http://www.giganet.com でも入手できます。GigaNet の web サイトの | サポート・ページにあるダウンロードとインストールの指示を参照して | ください。 | GNN1000 アダプター・ドライバーのインストールにより、ノードのリブートが | 発生します。 | 4. GigaNet cLAN 管理コンソール (GMC) を使用して、GigaNet Interconnect の | 保全性をテストできます。GigaNet cLAN 管理コンソールは、コンソールと | エージェントの 2 つのパーツから構成されます。エージェントは、 | クラスター内のすべてのノードにインストールされる必要があります。 | コンソールは、クラスター内のノードにアクセスしているネットワークに | インストールできます。クラスター内の各ノードにコンソールとエージェントの | 両方がインストールされている際のインストールが、もっとも融通が利き、 | お奨めするインストールです。 | GigaNet cLAN 管理コンソールをインストールします。インストール指示と | cLAN 管理コンソールの追加情報については「GigaNet GNN1000 User Guide」を | 参照してください。以下はインストール手順に関する追加の詳細です: | a. cLAN ソフトウェア CD を CD-ROM ドライブに挿入します。 | b. CD 自動インストール・メニューが表示されるのを待ってください。 | c. 「cLAN 管理コンソールのインストール」をクリックします。 | d. クラスター内の残りの各ノードについて、このインストール手順を | 繰り返してください。 | GigaNet cLAN 管理コンソール・ソフトウェアは GigaNet の web サイト | http://www.giganet.com でも入手できます。GigaNet の web サイトの | サポート・ページにあるダウンロードとインストールの指示を参照して | ください。 | cLAN 管理コンソールのインストールにより、ノードのリブートが | 発生します。 | 5. GigaNet ハードウェアが機能していることをテストします。以下のように | 行います: | a. GMC をオープンします。 (「プログラム > GigaNet > cLAN 管理コンソール」) | b. ダイアログ・ボックスに LAN 上でアクセスできるすべてのマシンが | 表示されます。ESC を押します。 | c. メニュー・バーから「コンソール > ローカル」を選択します。 | d. クラスター内のすべてのメンバーが表示され、すべて「アクティブ」 | であることを確認します。 | e. メニュー・バーから「ユーティリティー > VI スループット」を | 選択します。これにより、データが実際にハードウェアを移動するのを | チェックするスループット・テストを実行します。 | f. テストで使用する 2 つのノードのコンピュータ名を大文字で | 入力します。ローカル・ノードとソース・ノードを識別します。 | g. 「測定の開始」をクリックします。データの転送速度は | 少なくとも 65 MB/秒である必要があります。 | h. 「測定の停止」をクリックして、接続テストを停止します。 | i. ローカル・ノード (ソース) と他のノード (シンク) 間の | スループットを測定し、クラスター内の他のノードのテストを | 繰り返します。 | 接続テストが機能しない場合、「GigaNet GNN1000 User Guide」と | 「GigaNet GNX5000 User Guide」のトラブルシューティング・セクションを | 参照してください。 | 2.16.3.2 VI を使用して実行する DB2 の実現 | インスタンスのデータベース区画サーバーでは、それぞれが次の DB2 | レジストリー変数を設定し、次の表を実現する必要があります。 | o DB2_VI_ENABLE=ON | o DB2_VI_DEVICE=nic0 | o DB2_VI_VIPL=vipl.dll | o MPP インスタンスで "db2start" を入力する | o db2diag.log ファイルを調べる。"VI が使用可能" で始まる | 区画ごとに 1 つのメッセージがあるはずです。 | 2.16.4 DB2 UDB V5.2 (WINDOWS NT 版) を SERVERNET INTERCONNECT で実行する | IBM は Virtual Interface (VI) アーキテクチャーを DB2 EEE | UDB V5.2 でサポートすると発表しました。提供される資料は VI プロダクトに | DB2 でテストされた VI プロダクトに関連しては指定がありません。 | この資料は、ServerNet Interconnect の情報を提供します。 | VI アーキテクチャーに付属して、DB2 UDB EEE V5.2 でサポートされる | 別のプロダクトについては、以下の DB2 UDB のサポート組織に連絡してください。 | http://www.software.ibm.com/data or call 1-800-237-5511 (米国のみ) | ServerNet プロダクトまたは ServerNet サービスおよび | サポートについては、http://www.servernet.com/ を使用してください。 | 2.16.4.1 ServerNet Interconnect のセットアップ手順 | この環境のセットアップに必要なハードウェアおよびソフトウェアのリスト | には、次のプロダクトが含まれます。 | o ServerNet PCI Adapter Driver (SPAD), (プロダクト ID T0089)、バージョン 1.3.5 または | それ以降 | o ServerNet Switch 1 | o ServerNet Area Network Manager (SANMan), (プロダクト ID T0087), バージョン | 1.1.3 またはそれ以降 | ServerNet Interconnect が DB2 UDB で動作するには、次のステップが | 必要です。それぞれのステップはステップごとに必要なことの要約になって | います。詳細についてはここでは述べられていません。 | 詳細な指示については参照資料にありますので、 | そちらもご覧ください。 | 下記のステップは、クラスターで 6 ノードを使用していると | 想定しています。6 ノード以上使用する必要がある場合には、 | ServerNet と連絡をとってください。 | ステップは以下のとおりです。 | 1. ServerNet Network Interface カードをインストールします。インストールの | 方法については、ServerNet-I Virtual Interface Software Release Document, (プロダクト ID | N0031) をご覧ください。 | 2. ServerNet Switch 1 をインストールします。インストール方法については、ServerNet-I Virtual | Interface Software Release Document, (プロダクト ID N0031) | をご覧ください。 | 3. 前の ServerNet ドライバーをアンインストールします。 | (初めて ServerNet をインストールする場合は、このステップをスキップします。) | a. 「ネットワーク」コントロール パネルを開きます。("スタート > 設定 > コントロール | パネル > ネットワーク") | b. 「アダプタ」タブをクリックします。 | c. Tandem ServerNet PCI Adapter Driver を除去します。 | d. 「サービス」タブをクリックします。 | e. SANMan を除去します。 | f. 「プロトコル」タブをクリックします。 | g. Tandem ServerNet-I VI Protocol を除去します。 | 4. Tandem ServerNet PCI Adapter Driver をインストールします。 | ServerNet で提供されるソフトウェア CD を使用してインストールする | 場合の詳細は以下のとおりです。 | a. 「ネットワーク」コントロール パネルを開きます。("スタート > 設定 > コントロール | パネル > ネットワーク") | b. 「アダプタ」タブをクリックします。(アダプタの画面が表示されます。) | c. 新規の ServerNet ドライバーが別のドライブまたはディレクトリー、 | あるいはその両方にあることを確認してください。それから、コマンド プロンプトから | 正しいドライブまたはディレクトリー、あるいはその両方を参照する "ernnn.exe -d" と | 入力して自己解凍プログラムを始動させます。("ernnn.exe" は | インストールされる ServerNet ドライバー | の特定のバージョンを示す番号 -- ERnnn.EXE のあとに続く Engineering | Release です) | d. 解凍されたファイルのあるドライブおよびディレクトリーまたはその両方に | 移動します。"Spad n.n.n \ Free" サブディレクトリー ( | "n.n.n" はプロダクトの特定バージョン) に移動します。(トラブル | シューティングまたは開発環境で作業している場合は、"Spad n.n.n \Free" | サブディレクトリーではなく、"Spad n.n.n \ Checked" サブディレクトリー に | 移動してください。) | e. "oemsetup.multi_node" ファイルを "oemsetup.inf" に変更します。 | f. 「アダプタ」タブで「追加」を選択します。(「アダプタの選択」画面が表示されます。) | g. HAVE DISK....をクリックします。 (「ディスクの挿入」 画面が表示されます。) | h. oemsetup.inf ファイルがあるドライブまたはディレクトリーまたは | その両方を入力します。 | i. ダイアログ・ボックス "Tandem ServerNet PCI Adapter Driver" が表示され | 「OK」をクリックします。アダプタのリストに ServerNet | アダプタが表示されます。「閉じる」をクリックします。 | j. コンピュータを再起動するには「はい」を選択します。「いいえ」を選択して | SANMan と VI ソフトウェア開発者用キット (SDK) を続けてインストール | することもできます。 | 5. SANMan をインストールします。ServerNet で提供される | ソフトウェア CD を使用してインストールする場合の詳細は以下のとおりです。 | a. 「ネットワーク」コントロール パネルを開きます。("スタート > 設定 > コントロール | パネル > ネットワーク") | b. 「サービス」タブをクリックします。 (「サービス」画面が表示されます。) | c. 新規の ServerNet ドライバーが別のドライブまたはディレクトリー、 | あるいはその両方にあることを確認してください。それから、コマンド プロンプトから | 正しいドライブまたはディレクトリー、あるいはその両方を参照する "ernnn.exe -d" と | 入力して自己解凍プログラムを始動させます。("ernnn.exe" は | インストールされる ServerNet ドライバー | の特定のバージョンを示す番号 -- ERnnn.EXE のあとに続く Engineering | Release です) | d. 「サービス」タブで「追加」を選択します。(「サービスの選択」画面が表示されます。) | e. 解凍されたファイルのあるドライブおよびディレクトリーまたはその両方に | 移動します。"SANMan n.n.n \ Free" サブディレクトリー ( | "n.n.n" はプロダクトの特定バージョン) に移動します。(トラブル | シューティングまたは開発環境で作業している場合は、"SANMan n.n.n \Free" | サブディレクトリーではなく、"SANMan n.n.n \ Checked" サブディレクトリー に | 移動してください。) | f. Switch のライトを調べて、Switch が X または Y であるか | 確認してください。1 つのライトが "X" であると、もう一方は "Y" です。 | g. X Switch で X=1 と Y=0 を選択します。すべてのケーブルがネットワーク・ | カードの X ポートに接続していることを確認してください。 | h. Y Switch で X=0 と Y=1 を選択します。すべてのケーブルがネットワーク・ | カードの Y ポートに接続していることを確認してください。 | i. 現在のマシンが接続しているネットワーク・カードへのスイッチ・ポート番号 | を提供します。 | j. すべてのポート (6 ポート) に "PC" を選択します。 | 6. Virtual Interface プロトコルをインストールします。ServerNet で提供される | ソフトウェア CD を使用してインストールする場合の詳細は以下のとおりです。 | a. 「ネットワーク」コントロール パネルを開きます。("スタート > 設定 > コントロール | パネル > ネットワーク") | b. 「プロトコル」タブをクリックします。 (「ネットワーク プロトコル」画面が表示されます。) | c. 新規の ServerNet ドライバーが別のドライブまたはディレクトリー、 | あるいはその両方にあることを確認してください。それから、コマンド プロンプトから | 正しいドライブまたはディレクトリー、あるいはその両方を参照する "ernnn.exe -d" と | 入力して自己解凍プログラムを始動させます。("ernnn.exe" は | インストールされる ServerNet ドライバー | の特定のバージョンを示す番号 -- ERnnn.EXE のあとに続く Engineering | Release です) | d. 「プロトコル」タブで「追加」を選択します。(「ネットワーク プロトコルの選択」画面が表示されます。) | g. HAVE DISK....をクリックします。 (「ディスクの挿入」 画面が表示されます。) | h. 解凍ファイルがあるドライブまたはディレクトリーまたは | その両方を入力します。 | 7. ServerNet ハードウェアが動作するかテストします。使用可能な | テスト・プログラムはありませんが、DB2 を市要素手 ServerNet ハードウェアのテストができます。 | ハードウェアが動作していないように見える場合、追加のトラブルシューティング・ヘルプ | については、ServerNet-I | Virtual Interface Software Release Document, (プロダクト ID N0031) をご覧ください。 | 2.16.4.2 VI を使用して実行する DB2 の実現 | インスタンスのデータベース区画サーバーでは、それぞれが次の DB2 | レジストリー変数を設定し、次のタスクを実現する必要があります。 | o DB2_VI_ENABLE=ON | o DB2_VI_DEVICE=nic0 | o DB2_VI_VIPL=vipl.dll | o MPP インスタンスで "db2start" を入力する | o db2diag.log ファイルを調べる。"VI が使用可能" で始まる | 区画ごとに 1 つのメッセージがあるはずです。 3.0 API 解説書 3.1 sqlecrea - Create Database (データベースの作成) データベースを作成するときに IDENTITY 照合順序を指定するには、 データベース記述ブロック (SQLEDBDESC) 構造内に SQL_CS_NONE (2 進照合順序を実現します) を指定します。 3.2 sqlubkp - データベースのバックアップ pMediaTargetList パラメーター (値 SQLU_ADSM_MEDIA) の説明の中の、 "No additional input is required. (追加入力は必要ありません。)" という文章を、次のものに置き換える必要があります。 バックアップ・イメージのパスを指定するのに SQLU_MEDIA_ENTRY 構造を使わない場合、    SQLU_MEDIA_LIST_TARGETS 構造内の MEDIA ポインターをヌルに初期設定しなければなりません。 3.3 SQLUGTPI - 表の区分化情報の入手 以下のセクションが、API の説明でぬけていました。 必須接続 データベース 3.4 SQLUHGET - 履歴ファイルからの DDL 情報の検索 (新規 API) 履歴ファイルに記録された DDL 情報を検索する sqluhgne API では、 使用可能な callerac パラメーターがありません。 この情報を検索するには、新規 API が作成されます。 SQL_API_RC SQL_API_FN sqluhget( unsigned short Handle, // IN: Handle returned from sqluhops unsigned short CallerAction, // IN: For special handling of command field unsigned long Reserved_1, // Reserved for future use struct sqluhinfo * pHistoryInfo, // IN/OUT: Pointer to entry data struct sqluhadm * pAdminInfo, // IN/OUT: Pointer to enhanced adminstrative data void * pReserved, // Reserved for future use struct sqlca * pSqlca); // SQLCA この API のパラメーターには、新規の CallerAction を除き、sqluhgne API に 対応するパラメーターと同じ意味があります。 この API の予約フィールド、Reserved_1 と pReserved は、 それぞれ 0 およびヌルに初期設定 される必要があります。CallerAction の可能な値は以下のとおりです。 SQLUH_GET_NEXT_ENTRY 一致する次のエントリーを検索します。 DDL 情報は、呼出し元からもどりませんが、sqluhadm.command 構造の長さフィールド は、そのエントリーに対して存在する DDL フィールドの長さに設定 されます。 SQLUH_GET_DDL このアクションがエントリーの取り出し後即時に API に渡された場合、 そのエントリーに関連した DDL データが返されます。 sqluhadm.command.data フィールドを介して返される DDL データに 割り振られたメモリーのバイト数を sqluhadm.command.length を介して示すのは、呼出し側の責任です。 SQLUH_GET_NEXT_ENTRY_DDL 一致する次のエントリーを検索します。 エントリーに記録されていた DDL 情報も返します。 呼出し側は、sqluhadm.command.length フィールドを介して、 sqluhadm.command.data フィールドに割り振られていたメモリーの バイト数を示す必要があります。 3.5 SQLUHGNE - 次の回復履歴ファイル・エントリーを入手する この API の 2 番目のパラメーターは、 "int callerac" でしたが、 現在は、"struct sqluhadm *pAdminInfo" です。API の定義は次のとおりです。 SQL_API_RC SQL_API_FN sqluhgne( unsigned short Handle, struct sqluhadm * pAdminInfo, struct sqluhinfo * pHistoryInfo, struct sqlca * pSqlca); 3.6 SQLUHOPS - 回復履歴ファイル・スキャンのオープン SQLUH_LIST_ADM_ALTER_TABLESPACE 呼出し側アクションの記述は、 次のように変更される必要があります。 別のフィルターを通過する ALTER TABLESPACE レコードのみを 選択します。 エントリーと関連した DDL フィールドは返され ません。エントリーに対する DDL 情報を検索するには、 エントリーが取り出された後即時に、sqluhgne を SQLUH_GET_DDL の呼出し側アクションで呼び出す必要があります。 3.7 SQLULOAD - ロード この API は、アプリケーションの直接接続先の区分にしか影響を与えません。 ロード・ユーティリティーは、1 つのデータベース区分に対してしか作用しません。 『使用上の注意』の項に、 ロードされる表に従属する "要約表" は、  検査保留状態に置かれるという誤った記述があります。 この項は、 ロードされる表に従属し、しかも "REFRESH IMMEDIATE を使って定義されている要約表" は、  検査保留状態に置かれると記述しなければなりません。 3.8 SQLE-CLIENT-INFO (接続設定) SQLE-CLIENT-INFO TYPE 要素は、次のものに変更しなければなりません。 SQLE_CLIENT_INFO_USERID SQLE_CLIENT_INFO_WRKSTNNAME SQLE_CLIENT_INFO_APPLNAME SQLE_CLIENT_INFO_ACCTSTR 3.9 SQLFUPD 『表 46. Updateable Database Manager Configuration Parameters』では、   次のような、新しいパラメーター catalog_noauth 用の項目が追加されます。 パラメーター名  トークン トークン値 データ・タイプ -------------- ----- ----------- --------- catalog_noauth SQLF_KTN_CATALOG_NOAUTH 314 Uint16 3.10 SQLUHINFO (SQLUHADM) SQLUHADM の定義は、次のように変更される必要があります。 SQL_STRUCTURE sqluhadm { char end_time[SQLUH_TIMESTAMP_SZ+1]; // OUT: Completion time stamp of the event char id[SQLUH_ID_SZ+1]; // OUT: Unique identifier of a dropped table struct sqlca event_sqlca; // OUT: SQLCA associated with the entry struct sqlchar command; // IN/OUT: DDL command information }; 注: 1. 現在、コマンド・データは ALTER TABLESPACE イベントに対してのみ、記録されています。 2. sqluhadm.command.length フィールドを、このフィールドに 割り振られたメモリーのバイト数に初期設定するのは、 呼び出し側の責任です。 3. マクロ SQLUHADMSIZE(n) は、sqlutil で定義され、 コマンド・データの n 文字で、sqluhadm 構造に必要なメモリー領域を 決定する手助けをするために提供されます。 3.11 SQLUVPUT - デバイスへのデータの書き込み 『C API Syntax』の項の "struct Init_output *," を、"struct Data *," に変更してください。 4.0 Windows および OS/2 環境用のアプリケーションの作成 | 4.1 正しいエラー・メッセージを返さない Windows での DB2START | Windows NT 環境で、データベース・マネージャーを開始するために、 | "db2start" コマンドの実行 (または "NET START" コマンドの使用) を行うと、 | 通信サブシステムが開始できなくても、警告を返しません。ユーザーは "db2start" | の実行中に起こる可能性があるエラーを調べるために、NT のイベント・ログが、"DB2DIAG.LOG" | を常に見ていく必要があります。これは、Windows NT 環境のデータベース・ | マネージャーが NT サービスとして実行されるためで、そのためサービスが正常に | 開始した場合にはエラーを返しません。 4.2 Windows NT および Windows 95 の組み込み SQL アプリケーションの作成 (IBM VisualAge for COBOL) VisualAge COBOL for Windows NT バージョン 2.2 の "cob2 -dll" コマンドには問題があります。  DLL を作成するための、"x:¥sqllib¥samples¥cobol¥bldvacbs.bat" 内の元のコマンドは次のとおりです。 cob2 -dll %1.obj db2api.lib このバージョンの VisualAge COBOL は、次のようなエラーを戻します。 fatal error : Unable to open "E:\sqllib\samples\cobol\db2api.lib". これは、VisualAge COBOL for Windows NT の最初の FixPak において訂正されています。  ただし、FixPak が用意される前でも、上記のコマンドを次のものと置き換えればこの問題を訂正することができます。 ilib /nol /gi:%1 %1.obj ilink /free /nol /dll db2api.lib %1.exp %1.obj iwzrwin3.obj 4.3 Java アプリケーションおよびアプレットの作成 4.3.1 Winodws 環境で Microsoft SDK for Java を使う環境の設定 DB2 SQLJ 用に、Windows オペレーティング・システム上でどの Java 開発キットを使うかを指定するための新しい環境変数があります。  この環境変数は DB2JVIEW という名前であり、  すべての DB2 SQLJ コマンド (db2profc、db2profp、profdb、および profp) に適用されます。  ただし、sqlj を除きます。  DB2JVIEW=1 の場合、Microsoft SDK for Java が使われます。  つまり、"profp" を呼び出すと、これは "jview sqlj.runtime.profile.util.ProfilePrinter" として実行されます。  DB2JVIEW=0 の場合か、または設定しない場合、Sun JDK が使われます。  つまり、"profp" を呼び出すと、これは "java sqlj.rutnime.profile.util.ProfilePrinter" として実行されます。  コマンド "sqlj" は、この変数を無視し、常に Sun JDK を使って実行します。 "sqlj" で生成された Java ソース・コードをコンパイルするには、Sun JDK にある Java コンパイラー (javac) を使用します。 | 4.3.2 新規クライアント、サーバー・プログラムおよび SQLJ 事前コンパイルスクリプト | この章で述べられている Java のサンプル・プログラムに変更が | あります。ストアード・プロシージャーおよび UDF プログラムはクライアントおよび | サーバー・プログラムに分割されます。クライアント・マシンののユーザーが | サーバー・マシンのストアード・プロシージャーおよび UDF にリモートでアクセス | することができるようになります。影響のあるファイルは、現在次のとおりです。 | DB2STP サーバー・プログラム。これを呼び出すクライアント・プログラムは | DB2SPCLI です。 | DB2UDF サーバー・プログラム。これを呼び出すクライアント・プログラムは | DB2UDCLI です。 | STP サーバー・プログラム。これを呼び出すクライアント・プログラムは | STPCLI です。 | UDF クライアント・プログラム。これを呼び出すサーバー・プログラムは | UDFSRV です。 | スクリプト・ファイル "embprep" が事前コンパイルおよび SQLJ プログラムのバインド | のために作成されています。これは "makefile" によって呼び出され、 | Java 組み込み SQL サンプル・プログラムで "db2profc" コマンドを実行します。 | これは、データベース、ユーザー ID およびパスワードの任意選択引き数を | 許可し、クライアント・マシンから DB2 サーバー上のデータベースへのリモート・バインド | を容易にします。 5.0 UNIX 環境用のアプリケーションの作成 5.1 SCO UnixWare 7 | 5.1.1 ストアード・プロシージャーの関数のエクスポート | SCO UnixWare 7 では、クライアント・プログラムで定義された関数は、 | 明示的にはエクスポートされず、クライアント・プログラムで呼び出される | ストアード・プロシージャー・ライブラリーでは使用できません。 | 関数を外部にするためにクライアント・プログラムを再コード化するという | 代替は、コンパイル・オプション "-Wl,-Bexport" を使用し、クライアント・ | プログラムで定義されたすべての関数をエクスポートします。このオプションは | SCO UnixWare 7 C と C++ の makefile に追加され、サンプルのクライアント・ | プログラム "fillcli" (ストアード・プロシージャー・ライブラリー "fillsrv" | を呼び出す) のコンパイルを行います。makefile とサンプル・プログラムは | "sqllib/samples/c" と "sqllib/samples/cpp" にあります。 5.1.2 Micro Focus COBOL リンク・オプション 『Micro Focus COBOL』の項で、  "bldmfcc" スクリプト・ファイル内のリンク・オプション "-lthread" はもう必要なくなりました。  スレッド・ライブラリーは、"-ldb2" オプションで表される DB2 ライブラリーに組み込まれたからです。 5.2 Java アプリケーションおよびアプレットの作成 5.2.1 HP-UX、SCO UnixWare 7 の環境の設定 現在、HP-UX 上で Java アプリケーションを作成して実行するには、  HP-UX Developer's Kit for Java リリース 1.1.3 (またはそれ以上) が必要です。 DB2 は、HP-UX および SCO Unixware サーバー上の DB2 データベースにアクセスするための Java ストアード・プロシージャーも Java ユーザー定義関数 (UDF) もサポートしません。  この制約事項のため、次に示す Java サンプル・プログラムを、  HP-UX および SCO Unixware 上の DB2 データベースに対して実行することはできません。 DB2Stp.java DB2Udf.java CatUdf.sqlj DropUdf.sqlj Stp.sqlj Udfsrv.java | 5.2.2 CLOSE() メソッドでん SILICON GRAPHICS IRIX の制約事項 | Silicon Graphics IRIX では、接続コンテキスト | "close()" メソッドがトラップを起こす可能性があることは、すでに問題として | 認識されています。問題をうまく回避するには、接続コンテキストを | そのままにしておきガーベッジ・コレクション中に自動的に閉じるようにします。 5.2.3 新規クライアントおよびサーバー・プログラムおよび SQLJ のプリコンパイル・スクリプト この章に説明のある Java サンプル・プログラムに対して、  いくつかの変更が行われました。  ストアード・プロシージャーと UDF プログラムは、  別々のクライアント・プログラムとサーバー・プログラムに分割されました。 これにより、クライアント・マシン上のユーザーがサーバー・マシン上のストアード・プロシージャーや UDF にリモート・アクセス することが可能になりました。 その影響を受けるファイルは次のとおりです。 DB2STP 現在、これはサーバー・プログラムです。これを呼び出す クライアント・プログラムは DB2SPCLI です。 DB2UDF 現在、これはサーバー・プログラムです。これを呼び出す クライアント・プログラムは DB2UDCLI です。 STP 現在、これはサーバー・プログラムです。これを呼び出す クライアント・プログラムは STPCLI です。 UDF 現在、これはクライアント・プログラムです。これを呼び出す サーバー・プログラムは UDFSRV です。 SQLJ プログラムをプリコンパイルおよびバインドするため、  スクリプト・ファイル "embprep" が作成されました。  これは、"makefile" によって呼び出され、  Java 組み込み SQL サンプル・プログラムで "db2profc" コマンドを実行します。 これを使用すればデータベース、ユーザー ID、パスワードなどにオプションの引き数を指定することが できるため、DB2 サーバー上のデータベースに対するクライアント・マシンからの リモート・バインドの作業が容易になります。 6.0 CLI ガイドおよび解説書 6.1 SQLPREPARE() SQLPrepare() の解説では、  現在は据え置き準備はデフォルト時にはオンであることが述べられていません。 その意味は、SQLPrepare() 関数を呼び出すと、  SQLPrepare() を使ってデータベースに渡された SQL ステートメントの処理は行われないということです。  ただし、SQLExecute() を呼び出すと処理が行われます。 SQLPrepare() を呼び出すと、  最小限のエラー検査が DB2 CLI によって行われます (つまり、関数引き数が有効かどうか、など)。  SQLExecute() を呼び出すまで、真の SQLSTATE は戻されません。  したがって、アプリケーションは、SQLExecute() を呼び出した後で、  SQLPrepare() から SQLSTATE が戻されるとみなさなければなりません。  また、その後には、SQLExecute() そのものからの SQLSTATE が続きます。 詳細は、『付録 B. アプリケーションの移行』の 中の「バージョン 2.1.1 から 5.0.0 への変更」の項にある "Deferred Prepare now on by Default" を参照してください。  そこには、バージョン 2 プログラムで据え置き準備をオフにする方法に加え、  据え置き準備処理のさらに詳しい説明が述べられています。 6.2 SQLDISCONNECT() 解説では、SQLDisconnect() の呼び出しによってカーソルはクローズされると述べています。  しかし、ストアード・プロシージャーの場合にはこれは当てはまりません。 アプリケーションは、ストアード・プロシージャーでない場合でも、  カーソルをクローズするのに、SQLDisconnect() に依存してはいけません。  どちらの場合でも、カーソルは、SQLCloseCursor() と、  その後に SQL_HANDLE_STMT の HandleType を指定した SQLFreeHandle() の呼び出しで解放されるステートメント・ハンドルを使ってクローズしなければなりません。 6.3 ストアード・プロシージャーの使用 結果セットを戻すストアード・プロシージャーのプログラミング ブックでは、ストアード・プロシージャーをリモート・サーバーで実行しなければならないとなっています。  もうその必要はありません。  ストアード・プロシージャーをローカル・サーバーで実行しても、  結果セットが戻されます。 このブックは、  SQL_DROP または SQL_CLOSE を指定して SQLFreeStmt() をストアード・プロシージャーが呼び出すよう指示しています。  しかし、SQL_CLOSE しか使ってはなりません。 6.4 ストアード・プロシージャーのカタログ表 すべてのストアード・プロシージャーは、  CREATE PROCEDURE ステートメントを使って新しい SYSCAT.PROCEDURES および SYSCAT.PROCPARMS カタログ表に登録しなければなりません。  SQL ステートメントの詳細は、「SQL 参照の手引き」を参照してください。 CREATE PROCEDURE ステートメントを使ってストアード・プロシージャーを登録しないと、  CLI または ODBC アプリケーションはそのストアード・プロシージャーの存在を認識しません。  詳細は、『移行』付録の中の 「ストアード・プロシージャーのための疑似カタログ表の置換え」を参照してください。 | 6.5 SQLFETCHSCROLL(SQL_FETCH_RELATIVE, -1) | バージョン 5.0 の「コール・レベル・インターフェースおよび解説書」の SQLFetchScroll() | の説明に誤りがありました。SQL_FETCH_RELATIVE 規則の表は次の表と置き換えて | ください。 | SQL_FETCH_RELATIVE 規則 : +---------------------------------------------------------------------------+ | | 表 3. SQL_FETCH_RELATIVE 規則 : | +-------------------------------------------+-------------------------------+ | | 条件 | 最初の行または新規の ROWSET | +-------------------------------------------+-------------------------------+ | | (Before start AND FetchOffset > 0) OR | -- (a) | | | (After end AND FetchOffset < 0) | | +-------------------------------------------+-------------------------------+ | | Before start AND FetchOffset <= 0 | Before start | +-------------------------------------------+-------------------------------+ | | CurrRowsetStart = 1 AND FetchOffset < 0 | Before start | +-------------------------------------------+-------------------------------+ | | CurrRowsetStart > 1 AND CurrRowsetStart + | Before start | | | FetchOffset < 1 AND |FetchOffset| > | | | | RowsetSize | | +-------------------------------------------+-------------------------------+ | | CurrRowsetStart > 1 AND CurrRowsetStart + | 1 (b) | | | FetchOffset < 1 AND |FetchOffset| <= | | | | RowsetSize | | +-------------------------------------------+-------------------------------+ | | 1 <= CurrRowsetStart + FetchOffset <= | CurrRowsetStart + FetchOffset | | | LastResultRow | | +-------------------------------------------+-------------------------------+ | | CurrRowsetStart + FetchOffset > | After end | | | LastResultRow | | +-------------------------------------------+-------------------------------+ | | After end AND FetchOffset >= 0 | After end | +-------------------------------------------+-------------------------------+ 7.0 コマンド解説書 7.1 DB2CMD - DB2 コマンド・ウィンドウのオープン このコマンドは、Windows NT、Windows 95、および Windows 98 で使えます。 現在、次のようなスイッチがサポートされます。 /c /c オプションを付けて command.exe を呼び出します (つまり、 コマンドを実行してから終了します)。       たとえば、"db2cmd /c dir" の場合、コマンド・ウィンドウで "dir" コマンドが呼び出され、 その後そのコマンド・ウィンドウはクローズします。 /w cmd.exe 処理が終わるまで待機します。       たとえば、"db2cmd /c /w dir" は "dir" コマンドを呼び出し、 db2cmd.exe はコマンド・ウィンドウがクローズするまで終了しません。 /i コマンド・ウィンドウを実行します。そのとき、同じコンソールを共用し、ファイル・ハンドルを継承します。 たとえば、"db2cmd /c /w /i db2 get dbm cfg > myoutput" は、 db2 コマンドを実行するために cmd.exe を呼び出し、それが完了するのを待ちます。 新しいコンソールは割り当てられないので、stdout はファイル "myoutput" にパイプ接続されます。 /t コマンド・ウィンドウの表題として "DB2 CLP" を使う代わりに、 呼び出したウィンドウから表題を継承します。       これが便利なのは、"db2cmd /t" を呼び出すのに、       別の表題をもつアイコンをセットアップする場合です。 注: スイッチはすべて、任意のコマンドの実行の前に付けなければなりません。  次に例を示します。 example: db2cmd /t db2 もし DB21061E (コマンド行環境は初期設定されていません。) が、  CLP を使える DB2 ウィンドウの起動時にか、  または Windows 95 または Windows 98 での CLP コマンドの実行中に戻された場合、  オペレーティング・システムは環境スペースを外れて稼動していることがあります。  config.sys ファイルを調べて SHELL 環境セットアップ・パラメーターを確かめ、  必要に応じてその値を大きくしてください。  次に例を示します。 SHELL=C:¥COMMAND.COM C:¥ /P /E:32768 7.2 DB2EVA - イベント・アナライザー 『コマンド・パラメーター』の項で、次のような説明が脱落しています。 -evm evmon-name これは、トレースを分析されることになっているイベント・モニターの名前を指定します。 7.3 DB2EVMON - イベント・モニター生産性向上ツール "-db" および "-evm" キーワードでは、大文字小文字の区別があります。 7.4 DB2LOOK - DB2 統計抽出ツール オプション "-a" は、データベースのすべてのユーザーに関する統計を生成します。  これをオプション "-e" と一緒に使用すると、  データベース内のすべてのユーザー表の DDL が生成されますが、  統計は生成されません。 注 : 1. DDL 特性によっては、db2look では抽出されないものもあります。 2. -u と -a のいずれも指定されいない場合、環境変数 USER が使用されます。 UNIX ベースのシステムでは、この変数には明白な設定をする必要がありません。 一方、Windows NT では、USER 環境変数のデフォルト値はありません。 このプラットフォームでは、SYSTEM 変数内のユーザー変数が設定されるか、 または "set USER=" がセッションで発行される必要があります。 7.5 DB2SET - DB2 プロファイル・レジストリー・コマンド 『コマンド・パラメーター』の項は、次のように変更されました。 variable=value これは、指定された変数を、指定された値に設定します。 変数を削除するには、指定変数の値を指定しないでください。 設定に加えた変更は、インスタンスの再始動後に有効になります。 -g グローバル・プロファイル変数にアクセスします。 -i instance 現行プロファイルの代わりに使用するインスタンス・プロファイルを指定するか、      またはデフォルト値を指定します。 node-number db2nodes.cfg ファイルにリストされている番号を指定します。 -all 次のところで定義されているローカル環境変数のすべてのオカレンスを表示します。 o 環境 ([e] で示されます) o ノード・レベル・レジストリー ([n] で示されます) o インスタンス・レベル・レジストリー ([i] で示されます) o グローバル・レベル・レジストリー ([g] で示されます) -null 指定されたレジストリー・レベルの変数の値をヌルに設定します。 このように設定すれば、      検索順序で定義されている次のレジストリー・レベルの値を検索しなくて済みます。 -r instance 指定されたインスタンスのプロファイル・レジストリーをリセットします。 -n DAS node リモート DB2 管理サーバーのノード名を指定します。 -u user 管理サーバーの接続に使用するユーザー ID を指定します。 -p password 管理サーバーの接続に使用するパスワードを指定します。 -l すべてのインスタンス・プロファイルをリストします。 -lr サポートされているすべてのレジストリー変数をリストします。 -v 冗長モードを指定します。 -h/-? ヘルプ情報を表示します。      このオプションを指定すると、他のすべてのオプションは無視され、      ヘルプ情報のみが表示されます。 7.6 DB2UPD52 - バージョン 5.2 のサポートのためのカタログの更新 このユーティリティーはサーバーにインストールされますが、  クライアントで実行することができます。  そのためには、実行可能プログラムをサーバーからクライアントにコピーします。 MPP 環境では、このユーティリティーは、  指定データベースのカタログ・ノードから実行する必要があります。 7.7 BACKUP DATABASE 磁気テープ装置を使用するには、  SCO Unixware 7 の DB2 ユーザーは、BUFFER を 16 に指定する必要があります。  BUFFER のデフォルト値は 1024 ページです。  BUFFER をゼロに設定する場合、  データベース・マネージャー構成パラメーター BACKBUFSZ を 16 に設定しなければなりません。 7.8 EXPORT 表 6 ("有効な区切り文字")、およびこれを参照するものはすべて、除去される必要があります。 ただし、表の下部にある注に含まれる情報と、この注の後にある制約事項は 正しいものです。 注 : DBCS 環境では、パイプ (|) 文字区切り文字はサポートされません。 『使用上の注意』の「DB2 ファイル・マネージャーの考慮事項」のセクションを 次のように置き換えてください。 DATALINK 列で参照される表とそれに対応するファイルの一貫したコピーが、  必ずエクスポート用にコピーされるようにするには、次のようにします。 1. エクスポート・ユーティリティーを実行するときに進行中の更新トランザクションがないことを確認するには、    コマンド QUIESCE TABLESPACES FOR TABLE tablename SHARE を出します。 2. EXPORT コマンドを出します。 3. 各ファイル・サーバーで、ルート権限を使って dlfm_export ユーティリティーを実行します。 dlfm_export ユーティリティーへの入力は制御ファイル server_name ですが、    これは、エクスポート・ユーティリティーによって生成されます。    DLFM 管理者からアクセスできるとは限らないファイルを正常に保存するには、    ルート権限を使って dlfm_export ユーティリティーを実行しなければなりません。 4. 表を更新できるようにするには、コマンド QUIESCE TABLESPACES FOR TABLE tablename RESET を出します。 EXPORT は、SQL アプリケーションとして実行されます。  SELECT ステートメントの条件を満足する行と列が、データベースから抽出されます。  DATALINK 列の場合、 SELECT ステートメントはどのスカラー関数も指定してはなりません。  エクスポート・ユーティリティーは、リンク・タイプ、ファイル・サーバー名、  ファイル・パス名、および注釈などの DATALINK 値の一部を抽出するのに API を使います。 EXPORT が正常に完了すると、次のようなファイルが生成されます。 o EXPORT コマンドに指定したエクスポート・データ・ファイル。    このファイル内の DATALINK 列の値は、290 ページに説明のある形式になっています。    DATALINK 列の値が SQL NULL 値の場合、その扱い方は、他のデータ・タイプと同じです。 o 制御ファイル server_name。これは、ファイル・サーバーごとに生成されます (Windows オペレーティング・システムおよび OS/2 では、    すべてのファイル・サーバーが 1 つの制御ファイル ctrlfile.lst を使います)。 制御ファイルには、該当するファイル・サーバーからエクスポートされるすべてのファイルの URL が入っています。 ファイル・サーバーからファイルをエクスポートするには、次のように、dlfm_export ユーティリティーを使います。 Usage: dlfm_export [] Description: これは、DB2 クライアントでエクスポート・ユーティリティーの実行によって 生成されたファイルの名前です。 これは、生成されることになっているアーカイブ・ファイルの名前です (デフォルトは、現行作業ディレクトリー内の export.tar です)。 dlfm_export が生成したアーカイブからファイルを取り出したり復元したりできるよう、  dlfm_import という名前の対応するユーティリティーが用意されています。  アーカイブ・ファイルが、同じファイル・サーバーまたは別のファイル・サーバーのどちらで復元される場合でも、  このユーティリティーを使わなければなりません。  アーカイブからファイルを取り出すには、次のように、dlfm_import ユーティリティーを使います。 Usage: dlfm_import [] Description: これは、ファイルを回復するのに使用されることになっているアーカイブ・ ファイルの名前です (デフォルトは、現行作業ディレクトリー内の export.tar です)。 注: 1.  dlfm_export および dlfm_import ユーティリティーは、    どちらもルート権限を使って実行する必要があります。    dlfm_export の場合、DLFM 管理者がアクセスできるとは限らないファイルをアーカイブする必要があるかもしれません。    dlfm_import の場合はルート権限が必要です。ユーザーが、    別のファイル・サーバーでアーカイブ・ファイルを復元したい場合に、    そのサーバーが、dlfm_export ユーティリティーが実行されたサーバーと同じディレクトリー構造とユーザー ID をもっているとは限らないからです。 2. dlfm_export および dlfm_import ユーティリティーを実行するのに、    ファイル・マネージャーを実行する必要はありません。 3. dlfm_export を実行したファイル・サーバーとは異なるファイル・サーバーで dlfm_import ユーティリティーを実行すると、    ファイルは正しいパス上に復元されます。    復元先のマシン上にユーザー ID が存在しない場合、そのファイルはルートで所有されます。    対応する DATALINK 値をデータベースに挿入する前に、 管理者の責任のもとに、すべてのファイルが正しい許可をもち、    正しいユーザー ID に属することを確認しなければなりません。 インスタンス相互間のエクスポート 下の表は、SystemA という名前のインスタンスで参照されている DB2 データとファイルを、  SystemB という名前のインスタンスにエクスポートする方法を示しています。  SystemA は、ファイル・サーバー DLFM1 および DLFM2 を使います。  SystemB は、ファイル・サーバー DLFMX および DLFMY を使います。  DLFM1 上のファイルは DLFMX にエクスポートされ、DLFM2 上のファイルは DLFMY にエクスポートされます。 +------------------------------------------------------------------------------+ | ファイル・サーバー DLFM1 と DLFM2 を | |   | もつ InstanceA  | ステップ | +------------------------------------------------------------------------------+ | ファイル |   DLFM1    |   DLFM2   | | | 上の DB2 | の | の | | | データ | File1    | File2 | | +----------+-----------------+-----------------+-------------------------------+ | | dlfm_export |  dlfm_export | 1. 両方のファイル・サーバーで | | |  コマンド  |   コマンド | dlfm_export を実行 (ルートと | | |  の実行 |   の実行 | して)。すると、両方のファイル | | | | | ・サーバーでアーカイブが作成 |   | | | | されます。 | +----------+-----------------+-----------------+-------------------------------+ +------------------------------------------------------------------------------+ | ファイル・サーバー DLFMX と DLFMY を | |   | もつ InstanceB  | ステップ | +------------------------------------------------------------------------------+ | | DLFMX で、 | DLFMY で  | 2. 両方のファイル・サーバーで | | | アーカイブから | アーカイブから | dlfm_import を実行 (ルートと | | | 復元 |   復元 | して)。 | +----------+-----------------+-----------------+-------------------------------+ | | | | 3. エクスポート・ファイルごと | | | | | に該当するファイル・サーバー | | | | | を指定するパラメーター  | | | | | DL_URL_REPLACE_PREFIX を使って| | | | | IMPOER コマンドを InstanceB で|   | | | | 実行します。 | +----------+-----------------+-----------------+-------------------------------+ +------------------------------------------------------------------------------+ | インポート・ユーティリティーを InstanceB で実行した後に、InstanceA データと | | DATALINK 列で参照されているすべてのファイルがインポートされます。 | +------------------------------------------------------------------------------+ 7.9 データベース・マネージャー構成の取得 7.9.1 新規パラメーター CATALOG_NOAUTH 新しいパラメーターの catalog_noauth は、SYSADM 権限のないユーザーが、  データベースおよびノード、または DCS および ODBC ディレクトリーをカタログおよびアンカタログできるかどうかを指定します。  このパラメーターのデフォルト値 (0) は、SYSADM 権限が必要であることを示します。  このパラメーターを 1 (はい) に設定すると、SYSADM 権限は必要ありません。 | 7.9.2 TRUST_ALLCLNTS の更新 | "TRUST_ALLCLNTS" も "TRUST_CLNTAUTH" と同様に、ユーザーがデータベース環境で | 有効な場所を判定するために使用されます。"TRUST_ALLCLNTS" のデフォルトを | 受け入れることにより、すべてのクライアントは承認クライアントとして扱われます。 | これは、セキュリティーのレベルがクライアントで使用可能であることを意味し、 | ユーザーがクライアントで有効であることも意味します。別のオプションが | プラットフォームまたはデータベース・プロトコルに基づく特定のクライアントに | 対するサーバーの保護もために使用される可能性があります。 7.10 IMPORT MPP 環境では、INSERT BUF オプションを使ってデータベースがバインドされている場合に、  INSERT_UPDATE を指定すると、そのデータベースへのインポート操作中は、バッファー挿入は使えなくなります。 ASC および IXF ファイル形式のどちらでも、NOCHECKLENGTHS はサポートされます。  このオプションは、FORCEIN 修飾子と一緒に使する必要はありません。  OCHECKLENGTHS を指定すると、ターゲット表の列のサイズを越える列定義をソース・データがもっている場合でも、  各行のインポートが試みられます。  そのような行のインポートが正常に完了するのは、  コード・ページ変換が原因でソース・データが縮小される場合です。  たとえば、ソース内の 4 バイトの EUC データは、ターゲットでは 2 バイトの DBCS データに縮小することがあり、  そのため半分のスペースしか必要なくなります。  このオプションが特に便利なのは、列定義に不一致があっても、  すべての場合にソース・データは収まりきることが分かっている場合です。 区切り文字に対する現行の優先順位のデフォルトは、レコード区切り文字、 文字区切り文字、列区切り文字の順です。  これまでの優先順位に依存する既存のユーザー・アプリケーションを保護するため、  インポート・ユーティリティー用に新しいファイル・タイプ修飾子 DELPRIORITYCHAR が作成されています。 この修飾子は、区切り文字の優先順位を 文字区切り文字、レコード区切り文字、列区切り文字に変えます。  構文は次のようになります。 db2 import ... modified by delprioritychar ... 7.11 LIST DATABASE DIRECTORY 処理ごとに最大 8 つのデータベース・ディレクトリー・スキャンをオープンすることができます。  1 つの DB2 セッションで 8 つを越える LIST DATABASE DIRECTORY コマンドを出すバッチ・ファイルの場合にこの制約事項を取り除くには、  バッチ・ファイルをシェル・スクリプトに変換します。  "db2" の接頭部は、各コマンドごとに別々の DB2 セッションを生成します。 7.12 LOAD このコマンドは、直接接続の存在する区分にしか影響を与えません。  ロード・ユーティリティーは、1 つのデータベース区分のみを処理します。 DATALINK 列をもつ表では、COPY オプションはサポートされません。 DATALINK 列をもつ表では、REPLACE オプションはサポートされません。 FILE LINK CONTROL 属性をもつ DATALINK 列が表内にある (または追加する予定の) 場合、  NONRECOVERABLE 文節を使ってはいけません。 DATALINK 列と、DLFM の使用数の組み合わせには、制約があります。 1 つの表では、DLFM と DATALINK 列の固有な組合は、最高で 256 になります。 たとえば、構成済みの DLFM の数が 2 の場合には、表の DATALINK 列の最高値は 128 になります。 コピーをテープへロードすることは、SCO UnixWare 7 で動作する  DB2 サーバーではサポートされていません。 『使用上の注意』の項に、 ロードされる表に従属する "要約表" は、  検査保留状態に置かれるという誤った記述があります。 この項は、 ロードされる表に従属し、しかも "REFRESH IMMEDIATE を使って定義されている要約表" は、  検査保留状態に置かれると記述しなければなりません。 ASC および IXF ファイル形式のどちらでも、NOCHECKLENGTHS はサポートされます。この オプションは、FORCEIN 修飾子と共に使用する必要はありません。NOCHECKLENGTHS を指定すると、ターゲット表の列のサイズを越える列定義をソース・データがもっている場合でも、  各行の ロードが試みられます。  そのような行のロードが正常に完了するのは、  コード・ページ変換が原因でソース・データが縮小される場合です。  たとえば、ソース内の 4 バイトの EUC データは、ターゲットでは 2 バイトの DBCS データに縮小することがあり、  そのため半分のスペースしか必要なくなります。  このオプションが特に便利なのは、列定義に不一致があっても、  すべての場合にソース・データは収まりきることが分かっている場合です。 区切り文字に対する現行の優先順位のデフォルトは、レコード区切り文字、 文字区切り文字、列区切り文字の順です。 古い優先順位に依存する既存の顧客 アプリケーションを保護するには、新規ファイル・タイプ修飾子である DELPRIORITYCHAR がロード・ユーティリティー用に作成されています。この修飾子は、区切り文字の優先順位を 文字区切り文字、レコード区切り文字、列区切り文字に変えます。 構文は、db2 load ... modified by delprioritychar ... です。 新規オプションは MPP 環境ではサポートされず、オートローダーでもサポート されていません。このオプションが指定されると、SMP 開発のロードは使用不可能になります (CPU_PARALLELISM は強制的に 1 に設定されます)。新規オプションは、"DUMPFILE" 機能指定 で排他となり、 DEL ファイル形式でのみ、サポートされます。 7.13 RECONCILE "DLREPORT filename" の説明に誤りがあります。  このパラメーターにはデフォルト値はありません。  ファイル名は完全修飾ファイル名でなければなりません。  以下に例を示します。 /home/user/report.out 7.14 RESTORE DATABASE WITHOUT DATALINK オプションを指定しない場合に、DATALINK データの入っている DB2 ファイル・マネージャーを使えないと、  復元操作は失敗します。 このオプションを指定した場合に、DATALINK データの入っている DB2 ファイル・マネージャーを使えないと、  使用不能のサーバー上の DATALINK 値をもつ表の入っているすべての表スペースは復元保留中状態に置かれます。 磁気テープ装置を使用するには、  SCO Unixware 7 の DB2 ユーザーは、BUFFER を 16 に指定する必要があります。  BUFFER のデフォルト値は 1024 ページです。  BUFFER をゼロに設定する場合、  データベース・マネージャー構成パラメーター BACKBUFSZ を 16 に設定しなければなりません。 | 7.15 データベース・マネージャーの開始 | Windows NT 環境でデータベース・マネージャーを開始するために、 | "db2start" コマンドを使用するとき (または "NET START" コマンドを使用する)、 | コマンドは、通信サブシステムが開始できなくても、警告を返しません。 | ユーザーは NT のイベント・ログか "DB2DIAG.LOG" を調べて、 | "db2start" でエラーが起きていないか確認してください。 | これは、Windows NT 環境では、データベース・マネージャーは、サービスとして | 実行されるため、サービスは正常に始動した場合にはエラーを返さないために | 発生します。 8.0 組み込み SQL プログラミング・ガイド 8.1 ユーザー定義関数 (DB2 と UDF の間のインターフェース/引き数は DB2 から UDF に渡される) "dbinfo" 引き数の下の番号付きリストには、次のような 2 つの変更点があります。 o 新しい項目 17 をリストに挿入します。    新項目 17 の内容は次のとおりです。 17. アプリケーションの固有識別子 (appl_id) このフィールドは、DB2 に対するアプリケーション接続を固有に識別する C のヌル文字で終了するストリングへのポインターです。 これは、データベースの接続のたびに再生成されます。       このストリングの最大長は 32 文字であり、        その正確な形式は、クライアントと DB2 との間に設定されている接続タイプによって異なります。 一般に、次のようなフォームをとります。 .. ただし、 および は、接続タイプによって変わりますが、 は、YYMMDDHHMMSS の書式の 12 文字のタイム・スタンプであり、        これは潜在的に DB2 によって調整され、固有性が保たれます。 例: *LOCAL.db2inst.980707130144 o 既存の項目 17 を項目 18 に変更し、その項目内の "24 文字" を "20 文字" に変更してください。 17. 予約フィールド (resd2) このフィールドは将来利用されます。        これは、20 文字の長さと定義されています。 8.2 C および C++ でのプログラミング (プログラミングの考慮事項/ホスト変数) 8.2.1 ホスト変数の宣言  現在、BIGINT は次の 3 つの方法のいずれかで宣言できます。 o long long o __int64 // ("int64" の前に二重下線を付けます)   この宣言は、Microsoft コンパイラーに固有のものです。 o sqlint64 これは、プラットフォームを限定しないアプリケーションを作成するときに便利です。    Microsoft コンパイラーを使ったときには、DB2 UDB の sqlsystm.h ヘッダー・ファイルは、    Windows NT プラットフォーム上で sqlint64 を "__int64" とタイプ定義します。    それ以外のものを使ったときには、sqlint64 は "long long" とタイプ定義されます。 8.2.2 グラフィック・ホスト変数の取り扱い (Windows オペレーティング・システム)  Windows プラットフォームで WCHARTYPE CONVERT オプションを指定するときは、  Windows プラットフォームでは wchar_t は Unicode であることに注意してください。 したがって、ご使用の C/C++ コンパイラーの wchar_t が Unicode でない場合、  wcstombs() 関数呼び出しは SQLCODE -1421 (SQLSTATE=22504) で失敗することがあります。  失敗した場合、WCHARTYPE NOCONVERT オプションを指定し、 プログラムから明示的に wcstombs() と mbstowcs() 関数を呼び出します。 | 8.3 COBOL でのプログラミング (ホスト構造のサポート) | COBOL プリコンパイラーは、ホスト変数宣言セクションのグループ・データ項目 | の宣言をサポートします。他のことがらでは、これは、SQL ステートメント | での初期データ項目のセットを参照するショートハンドを提供します。 | たとえば、次のグループ・データ項目が SAMPLE データベースの | STAFF 表の列にアクセスするために使用されます。 | 01 staff-record. | 05 staff-id pic s9(4) comp-5. | 05 staff-name. | 49 l pic s9(4) comp-5. | 49 d pic x(9). | 05 staff-info. | 10 staff-dept pic s9(4) comp-5. | 10 staff-job pic x(5). | 宣言セクションのグループ・データ項目は、上記の有効な | ホスト変数タイプのいずれかを、下位のデータ項目として持つことができます。 | これには、ラージ・オブジェクト・タイプと同様に、数値および文字タイプが | 含まれます。グループ・データ項目の 1 つのレベルだけの許可する制約は、 | 除去され、10 レベルまでネスト可能になりました。上記の例のように、レベル 49 で下位項目で | VARCHAR 文字タイプを宣言する必要があります。レベル 49 にない場合、 | VARCHAR は 2 つの下位項目のあるグループ・データ項目として扱われます。 | そして、グループ・データ項目の宣言および使用の規則に従います。 | 上記の例では、"staff-info" がグループ・データ項目で、 | "staff-name" が VARCHAR です。同じ原則が LONG | VARCHAR、VARGRAPHIC と LONG VARGRAPHIC も該当します。グループ・データ項目を | レベル 02 と 49 の間で宣言してください。 | グループ・データ項目および下位項目の宣言はつぎの 4 つの方法で行います。 | 方法 1. | グループ全体は SQL ステートメントの 1 つのホスト変数として | 参照されます。 | EXEC SQL SELECT id, name, dept, job | INTO :staff-record | FROM staff WHERE id = 10 END-EXEC. | プリコンパイラーは staff-record への参照を、コンマで区切られた | staff-record 内で宣言された下位項目のすべてのリストに変換します。 | 初期項目が別の項目との名前対立を回避するために、すべてのレベルのグループ名で修飾されます。 | これは次の方法と同等です。 | 方法 2. | グループ・データ項目の 2 番目の方法です。 | EXEC SQL SELECT id, name, dept, job | INTO | :staff-record.staff-id, | :staff-record.staff-name, | :staff-record.staff-info.staff-dept, | :staff-record.staff-info.staff-job | FROM staff WHERE id = 10 END-EXEC. | 注: "staff-id" への参照は接頭部 "staff-record" を使用して | グループ名で修飾されます。(ピュア COBOL での "staff-record" の "staff-id" | ではありません) | staff-record の下位と同じ名前を持つ別のホスト変数ないと想定し、 | 上記のステートメントも方法 3 のようにコード化され、 | 明白なグループ修飾を消去します。 | 方法 3. | この方法では、下位項目は典型的な COBOL 様式で | 特別のグループ項目への修飾なして参照されます。 | EXEC SQL SELECT id, name, dept, job | INTO | :staff-id, | :staff-name, | :staff-dept, | :staff-job | FROM staff WHERE id = 10 END-EXEC. | ピュア COBOL でのように、この方法は提供された下位項目が固有に認識できる | 限り、プリコンパリラーに受け入れられます。たとえば、 | "staff-job" が複数のグループで発生する場合、プリコンパイラーは | 確定しない参照を示すエラーを出します。 | SQL0088N ホスト変数 "staff-job" が不確定です。 | 方法 4. | 不確定の参照を解決するには、下位項目の部分修飾も | 使用されます。 | EXEC SQL SELECT id, name, dept, job | INTO | :staff-id, | :staff-name, | :staff-info.staff-dept, | :staff-info.staff-job | FROM staff WHERE id = 10 END-EXEC. | 方法 1 のような、グループ項目のみへの参照は、下位項目のコンマで区切られた | リストと同等であるため、この参照のタイプがエラーで始まるところには | インスタンスがあります。たとえば : | EXEC SQL CONNECT TO :staff-record END-EXEC. | CONNECT ステートメントは 1 文字ベースのホスト変数を予想しています。 | "staff-record" 不ループ・データ項目を提供した場合、このホスト変数 | は次のプリコンパイル時のエラーを発生させることになります。 | SQL0087N ホスト変数 "staff-record" は、構造参照が | 許可されないところで使用された構造体です。 | SQL0087N を起こすグループ項目の別の使用には、 PREPARE、 | EXECUTE IMMEDIATE、 CALL、標識変数、および SQLDA 参照が含まれます。 | 下位を 1 つだけ持つグループは、方法 2、3、4 の個々の下位への参照 | のような状態で許可されます。 | 標識表 | COBOL プリコンパイラーは、グループ・データ項目と使用するのに便利な | 標識変数の宣言表をサポートします。これらは | 次のように宣言されます。 | 01 . | 05 pic s9(4) comp-5 | occurs times. | たとえば : | 01 staff-indicator-table. | 05 staff-indicator pic s9(4) comp-5 | occurs 7 times. | この標識表は、上記のグループ項目の最初の形式で | 効果的に使用されます。 | EXEC SQL SELECT id, name, dept, job | INTO :staff-record :staff-indicator | FROM staff WHERE id = 10 END-EXEC. | ここでは、プリコンパイラーが "staff-indicator" が標識表として宣言されたこと | を検出し、SQL ステートメントを処理する時に、個々の標識参照にこれを | 拡大します。"staff-indicator"(1) は "staff-record" の | "staff-id" に関連し、 "staff-indicator"(2) は "staff-record" の | "staff-name" に関連する、などです。 | 注 : データ項目の下位にあるより多い標識エントリーが、標識表に "k" 以上ある | 場合 (たとえば、"staff-indicator" に 10 エントリーがあり、"k"=6 としている)、 | 標識表の終わりにある "k" の余分なエントリーは無視されます。 | 同様に、下位より少ない "k" 標識エントリーの場合、グループ項目の最後の "k" | 下位項目には関連する標識がなくなります。 | SQL ステートメントの標識表にある個々の要素を参照 | できることに注意してください。 8.4 Java でのプログラミング (Java UDF およびストアード・プロシージャーの作成/Java ストアード・プロシージャーおよび UDF のクラス) 『COM.ibm.db2.app.UDF』の項に、個々の DBINFO フィールドを戻す関数のリストがあります。  このリストに次のものが追加されています。 public String getDBapplid() throws Exception 8.5 AIX 上で DBCS コード・ページのもとで実行される JDBC プログラムに影響を与える JDK 問題 DBCS コード・ページのもとで AIX 4.3.1 と組み合わせられた JDK 1.1.4 を使って JDBC プログラムを実行すると、  DBCS データを正しく表示することができません。  これは、このバージョンの JDK における既知の問題であり、   そのための修正 (IX78932) が用意されています。 8.6 SCO UnixWare 7 での JDBC サンプル・アプリケーションの制約事項 固有方式はスレッド・ライブラリー (UnixWare 7 の libthread.so。  UnixWare リリース・ノートを参照) を使えないので、 バージョン 5 の UDB サーバーに接続している UnixWare 7 上のバージョン 5.2 クライアントからや、  FixPak 3 UDB サーバーに接続しているバージョン 5 クライアントから、  DB2 JDBC サンプル・アプリケーション (DB2Appl、DB2Udf、および DB2Stp) を作動させることはできません。 | 8.7 JDBC 2.0 | JDBC 2.0 は Sun からの JDBC の最新バージョンです。このバージョンの JDBC には | 2 つの定義済みパーツがあります。CORE API と STANDARD EXTENSION API です。 | CORE API はリリース済みです。この仕様の情報については、次を参照してください。 | http://www.software.ibm.com/data/db2/java | 標準拡張 API は現在レビュー中です。この仕様のレビュー版の情報に | ついても、上記のページをご覧ください。 | 機能 | この FixPak で出荷する JDBC 2.0 ドライバーは JDBC 2.0 コア API をサポートします。 | ただし、DB2 エンジンの特定の機能が使用できないため、 | 仕様で定義されているすべての機能がサポートされているわけではありません。 | サポートされる主な機能のリストは以下のとおりです。 | o 読み取り専用スクロール可能結果セット | o バッチの更新 (バッチ・ステートメントおよびバッチ準備済みステートメント) | o LOB サポート | サポートない機能のリストは以下のとおりです。 | o 更新可能スクロール可能結果セット | o 新規 SQL タイプ (配列、参照、特殊、Java オブジェクト) | o カスタマイズ SQL タイプのマッピング | 事前要件 | JDK 1.2 | プラットフォーム | JDBC 2.0 ドライバーは Windows 95、Windows 98、 | および Windows NT オペレーティング・システムで使用可能です。 | 互換性 | このバージョンの仕様は前のバージョン (1.22) とバックワード互換があり | ます。ただし、DB2 JDBC 1.22 ドライバーは LOB タイプを | JDBC 1.22 仕様の拡張としてサポートし、この拡張は新規仕様のバックワード | 互換の一部ではありません。これは、JDBC 1.22 ドライバーの LOB サポートに依存する | 既存の JDBC アプリケーションが新規のドライバーでは動作しない可能性を | 意味します。この問題を修正するには、アプリケーションを新規の仕様に | 合うように修正することをお勧めします。 | ただし、この解決方法はすべての場合に当てはまるわけではありません。 | キーワード "JDBCVERSION" に JDBC ドライバーに通知するために "122" を設定する | | DB2 LOB のサポートに 1.22 バージョンが必要です。デフォルトは 2.0 では "200" です。 | このキーワードを "db2cli.ini" に設定するか、あるいは "getConnection" | 特性引き数の接続属性として渡すことができます。 | インストール | この FixPak では、JDBC 1.22 ドライバーがデフォルトです。JDBC | 2.0 ドライバーは "sqllib\java12" にあります。JDBC 2.0 | ドライバーを使用するには、"usejdbc2" バッチ・ファイルが必要です。"sqllib\java11" | を 1.22 ドライバー・ファイルのために作成します。JDBC 1.22 のドライバー・ファイル | をこのディレクトリーにバックアップし、JDBC 2.0 ドライバー・ファイルを | "sqllib\java12" から適当なディレクトリーにコピーします。 | JDBC 1.22 ドライバーに戻るには "usejdbc1" バッチ・ファイルを実行します。 | 8.8 DB2 UDB データベースへの PERL アクセス | Perl Database Interface (Perl DBI) に対する DB2 UDB ドライバー (DBD::DB2) のリリース 0.70 | が使用可能です。 | Perl DBI は Perl 言語のデータベース・アクセスを提供するアプリケーション・ | プログラミング・インターフェース (API) です。 | これは実際に使用されるデータベースから独立したデータベース・インターフェース | を提供する一連の関数、変数および規則の定義を行います。 | DBD::DB2 ドライバーは DBI と接続して DB2 UDB にアクセスするように動作します。 | 追加情報については、次のウェブ・ページをご覧ください。 | http://www.software.ibm.com/data/db2/perl/ 8.9 DATALINK データ・タイプ DATALINK データ・タイプを使用する組み込み SQL はサポートされません。  8.10 コード・ページおよび国別コードを処理するマルチスレッド UNIX アプリケーション AIX、Solaris、HP-UX、SCO UnixWare 7、および Silicon Graphics IRIX では、  データベース接続に使うコード・ページと国別コードのランタイム照会に使用される関数に対して変更が加えられました。  現在、それはスレッド・セーフですが、  多数の並行データベース接続を使用するマルチスレッド・アプリケーションにおいては、  何らかのロック競合 (その結果、パフォーマンスの低下) を生じることがあります。 マルチスレッド・アプリケーションにおいてロック競合が起きるのを減らすため、  新しい環境変数 (DB2_FORCE_NLS_CACHE) が作成されました。  DB2_FORCE_NLS_CACHE を真に設定すると、  コード・ページと国別コードの情報は、スレッドから初めてアクセスされたときに保管されます。  その時点以後、その情報を要求する他のすべてのスレッドに対して、  キャッシュされた情報が使われます。  この情報を保管しておくと、ロック競合が削減され、  場合によっては、パフォーマンスの向上を実現できます。 アプリケーションが接続ごとにロケール設定を変更する場合は、  DB2_FORCE_NLS_CACHE を真に設定してはなりません。  もし真に設定すると、ロケール設定を変更した後でも元の情報が戻されます。  一般に、マルチスレッド・アプリケーションはロケール設定を変更しません。  そうすることで、アプリケーションはスレッド・セーフを確保できます。 8.11 UDF 呼び出しタイプのエラー処理 8.11.1 EXTERNAL TABLE 関数のスクラッチパッドおよび最終呼び出しタイプ引き数 以下の言語で記述された表関数に関して、 (a) ユーザーがスクラッチパッド期間を明示的に制御できるようにするため、および、 (b) スクラッチパッド期間内での不整合を阻止するために、 変更が行なわれました。 o C/C++ - 今までは、UDF に CLOSE/OPEN 呼び出しを行なってもスクラッチパッドは常に存続しました。 o OLE/Java - 今までは、OPEN の際に新しいスクラッチパッドが常に割り当てられました。 この相異によって、結合を実行する場合などに、結果に不整合が生じることがありました。 表関数のユーザー定義関数 (UDF) に、以下の変更が行なわれました。 1. FINAL CALL がスカラー関数の場合と同様に表関数でも CREATE FUNCTION ステートメントのオプションとなりました。 したがって、NO FINAL CALL (デフォルト) を表関数に指定することが可能です。 2. スクラッチパッドのある表関数を記述するとき、 NO FINAL CALL を指定することによって、 関数に対する OPEN 呼び出しごとにスクラッチパッドが初期化されるようにすることができます。 その場合、表関数が CLOSE 呼び出しごとに資源を解放するようにしなければなりません。 または、FINAL CALL を指定することによって、 OPEN 呼び出しの際にスクラッチパッドの内容が失われないようにすることもできます。 この方法を選択する場合、FINAL 呼び出しはステートメントの最後で表に対して行なわれるので、 CLOSE 呼び出しの処理中に資源を解放する必要はありません。 FINAL CALL、および最初の OPEN 呼び出しの前に置かれる対応する FIRST 呼び出しは、 今回の変更で新しく導入されたものです。 こられの新しい呼び出しタイプが生じるのは、FINAL CALL を指定した表関数だけです。 3. Java 表関数では、実行モデルに関する変更を理解する必要があります。 以下の表は、指定されたステートメントを処理する際に、 重要な各時点で生じる事柄を説明してます (各ボックスの下部には、Web から情報を引き出す典型的な表関数で、 記述されるコードの役割の例がヒントとして示されています)。 NO FINAL CALL および FINAL CALL の両方の場合が網羅されていて、 どちらの場合でも上で説明した新しい意味での SCRATCHPAD が想定されています。 | | スキャン | | NO FINAL CALL | FINAL CALL 時間内 | | LANGUAGE JAVA | LANGUAGE JAVA での | | SCRATCHPAD | SCRATCHPAD 時点 V | | ------------+------------------------------+------------------------------ 表関数 | 呼び出しなし。 | クラス・コンストラクターが呼び出される に対する | | (新しいスクラッチパッドが作成される)。 最初の OPEN | | UDF メソッドが "FIRST" 呼び出しに の前。 | | よって呼び出される。 | |- - - - - - - - - - - - - - - | | コンストラクターはクラス | | およびスクラッチパッド変数を | | 初期化します。 | | メソッドは、ウェブ・サーバーに | | 接続します。 | | ------------+------------------------------+------------------------------ 表関数 | クラス・コンストラクターが呼 | UDF メソッドは "OPEN" 呼び出 を OPEN する| び出される (新しいスクラッチ | しによって呼び出される。 ごとに。| パッドが作成される)。 | | UDF メソッドは "OPEN" 呼び出 | | しによって呼び出される。 | |- - - - - - - - - - - - - - - |- - - - - - - - - - - - - - - | コンストラクターは | メソッドは必要な Weg データを見つけ | クラスおよびスクラッチパッド | るためにスキャンをオープンします。 | 変数を初期化する。 | (スクラッチパッドに保存されている | メソッドはウェブ・サーバーに | 内容によっては、CLOSE 再配置の後の | 接続して、Web データ用の | 再オープンを避けることが可能な場合 | スキャンをオープンする。 | もある) | | ------------+------------------------------+------------------------------ 表関数 | UDF メソッドは "FETCH" 呼び出| UDF メソッドは "FETCH" 呼び出 データの新し| しによって呼び出される。 | しによって呼び出される。 い行の |- - - - - - - - - - - - - - - |- - - - - - - - - - - - - - - FETCH ごと。| メソッドはデータの次の行また | メソッドはデータの次の行また | は EOT をフェッチして戻す。 | は EOT をフェッチして戻す。 | | ------------+------------------------------+------------------------------ 表関数 | UDF メソッドは "CLOSE" 呼び出| UDF メソッドは "CLOSE" 呼び出 を CLOSE す | しによって呼び出される。 | しによって呼び出される。 るごとに。| クラスの"close" メソッドがあ | | る場合、それが呼び出される。 | |- - - - - - - - - - - - - - - |- - - - - - - - - - - - - - - | メソッドは Web スキャンを | メソッドはスキャンの先頭に | クローズして Web サーバから | 位置変更されるか、スキャンを | 切断される。 | クローズする。それはスクラッチ | "close" は何も行なう必要 | パッド内の状態を保管する。 | がない。 | スクラッチパッドは存続する。 | | | | ------------+------------------------------+------------------------------ 表関数 | 呼び出しなし。 | UDF メソッドは "FINAL" 呼び出 を最後に | | しによって呼び出される。 CLOSE した | | クラスの "close" メソッドがあ 後。 | | る場合、それが呼び出される。 | |- - - - - - - - - - - - - - - | | メソッドは Web サーバーから | | 切断される。 | | "close" は何も行なう必要が | | ない。 | | ------------+------------------------------+------------------------------ この表に関する注記: a. 「UDF Method」とは、UDF をインプリメントする Java クラス・メソッドを指します。 つまり、CREATE FUNCTION ステートメントの EXTERNAL NAME 文節で識別されるメソッドです。 b. NO SCRATCHPAD を指定した表関数では、 UDF メソッドへの呼び出しは上記の表に示すとおりですが、 ユーザーがスクラッチパッドを介しての継続性を要求していないので、 DB2 はクラス・コンストラクターを呼び出すことによって、 各呼び出しの前に新しいオブジェクトがインスタンス化されるようにします。 NO SCRATCHPAD を指定した (したがって継続性のない) 表関数がどれほど役立つかは不明ですが、 それらはサポートされています。 c. これらの実行モデルは、呼び出しタイプを供給する新しいクラス・メソッドの存在を暗示しています。 このメソッドには、他の多数のメソッドと同様に、 COM.ibm.db2.app.UDF クラス内に DB2 が備わっていて、 次のように定義されます。 public int getCallType () throws Exception d. これらのモデルは他の UDF 言語 (C、C++、および OLE) で生じる事柄と完全に互換性があります。 新しい呼び出しタイプの定義が UDF 組み込みファイルである sqludf.h に追加されています。 既存の表関数を持つ UDB のお客様は、 上記のオプションを試行して以下の適切な変更を行なうようにお勧めします。 1. FINAL CALL によって暗示される新しいスクラッチパッドの意味に依存する場合、 FINAL CALL を指定すると新しい呼び出しは UDF に対して行なわれるので、 UDF を変更して新しい呼び出しのタイプを追加しなければならないことがあります。 さらに、FINAL 呼び出しを表関数によって処理するとき、 獲得していた資源を解放する必要があります。 2. NO FINAL CALL によって暗示される意味を使用したい場合、 CREATE FUNCTION ステートメントへの指定を FINAL CALL から NO FINAL CALL に変更して、 再実行することをお勧めします。 (呼び出しタイプ引き数を調べるために UDF を記述する方法によっては、 予期しない呼び出しを受け取るときに不正な結果を引き起こす場合があります。 3. Java 表関数を使用する場合、 上の表で関数を変更して新しい実行モデルに準拠するようにしなければなりません。 どちらの実行モデル (FINAL CALL または NO FINAL CALL のどちらを選択するかに応じて) の場合でも、 UDF メソッドに対して追加の呼び出しが行なわれます。 これにより、UDF の記述者は追加の機能を手に入れることになりますが、 記述者がそれらの呼び出しを区別することが必要になります。 DB2 によってインクルードされた親クラス内で新しい getCallType メソッドを使用すると、 この機能を使用できるようになります。 『SQL 解説書』および『組み込み SQL プログラミング・ガイド (ESPG)』 が次回更新されるときに、 詳細な情報が示されます。 それまでは、これらの変更をより詳細に説明している "Technote" を、 ワールド・ワイド・ウェブ上の DB2 技術ライブラリーで見ることができます。 検索引数に "FINAL CALL" を使用してください。 以下のセクションは、 『SQL 解説書』および『組み込み SQL プログラミング解説書』の変更を詳細に説明しています。 『組み込み SQL プログラミング・ガイド』の変更 : 『組み込み SQL プログラミング・ガイド』の第 6 章の、 見出し『ユーザー定義関数 (UDF)』の下にある例「文書 ID を返す表関数」で、 "FINAL CALL" を "NO FINAL CALL" と読み直す必要があります。 さらに、その次の段落で表関数ごとに FINAL CALL を指定する必要がないことに注意してください。 『組み込み SQL プログラミング・ガイド』の第 7 章の、 見出し「DB2 と UDF とのインターフェース」のセクション「DB2 から UDF に渡される引き数」にある "scratchpad" 引き数に関する説明で、 「実際の...」で始まる文章は、次の文章に置き換えられます。 表関数では、FINAL CALL を CREATE FUNCTION に指定した場合、 スクラッチパッドが上記のように初期化されるのは UDF への最初の呼び出しのときだけです。 この「最初の」呼び出しのタイプは FIRST です。 この呼び出しの後、表関数はスクラッチパッドの内容を完全に制御できます。 NO FINAL CALL が指定されているか、またはデフォルトとなっている場合、 スクラッチパッドは OPEN 呼び出しのたびに上記のように初期化され、 複数の OPEN 呼び出しの間ではスクラッチパッドの内容が完全に表関数の制御下にあります。 (このことは、結合または副照会に使用される表関数でたいへん重要なものとなることがあります。 複数の OPEN 呼び出しの間でスクラッチパッドの内容を保持することが必要な場合、 FINAL CALL を CREATE FUNCTION ステートメントに指定しなければなりません。 FINAL CALL を指定すると、表関数は通常の OPEN、FETCH、 および CLOSE 呼び出しに加えて スクラッチパッドの保守および資源の解放のために、 FIRST および FINAL 呼び出しも受け取ります。) さらに、「呼び出しタイプ」に関する説明の中で、2 番目の文は次の文に置き換えられます。 外部スカラー関数では、 この引き数が存在するのは FINAL CALL が CREATE FUNCTION ステートメントに指定されている場合だけですが、 外部表関数では、それは常に存在します。 その最初の段落の後に、以下の新しい段落を追加してください。 現行のすべての値が以下にリストされていても、UDF には "if A do AA, else if B do BB, else (C であるはずなので) do CC" というタイプのロジックではなく、 予期されるすべての値について明示的にテストする switch または case ステートメントを含めてください。 なぜなら、追加の呼び出しタイプが将来追加される可能性があり、 条件 C を明示的にテストしないと新しい可能性が追加されたときに問題が生じるためです。 同じセクションの、表関数についての「呼び出しタイプ」の値が説明されている箇所で、 文章を以下のように修正してください。 o -2 これは、FINAL CALL キーワードが UDF に指定された場合にだけ生じる FIRST 呼び出しです。 スクラッチパッドはこの呼び出しの前に 2 進ゼロに設定されます。 引き数値は表関数に渡されて、それはメモリーを獲得するか、 または他の一度だけの資源初期化を実行するかを選択します。 これが OPEN 呼び出しではないことに注意してください。 その呼び出しはこの後に続きます。 FIRST 呼び出しの際に表関数はデータを DB2 に戻しませんが、 それは SQL 状態および診断メッセージ引き数の戻り値を設定することができます。 o -1 これは OPEN 呼び出しです。 NO FINAL CALL を指定するとスクラッチパッドは初期化されますが、 指定しない初期化されないこともあります。 (文章の残りは変更されません)。 o 0 (変更はありません) o 1 (最初の段落には変更はありませんが、以下の文章を追加してください) NO FINAL CALL が UDF に定義されている場合、 CLOSE の実行中に UDF は獲得した資源を解放します。 FIRST CALL が定義された場合、 資源を解放するための特別な呼び出し (FINAL) を使用できます。 CLOSE 呼び出しの際に表関数は DB2 に行を戻しません。 戻されるすべての SQL-result および SQL-result-ind 値は、 戻されたときに DB2 によって無視されます。 しかし、表関数は DB2 によって通常どおり処理される SQL-state および diagnostic-message 引き数の値を設定することがあります。 o 2 これは FIRST 呼び出しと対応する FINAL 呼び出しであり、 FIRST CALL が外部表関数に対して定義されている場合にだけ生じます。 すべてのシステム資源は解放されなければなりません。 この呼び出しが生じるのは、ステートメントごとに 1 回だけです。 通常どおりに SQL-state および diagnostic-message 引き数値が戻されることがあり、 それらは DB2 によって通常おりに処理されます。 『引き数使用の要約』の項の引き数「scrathcpad および呼び出しタイプ」で、 両方の場合について、「そしてオプションとして FIRST および FINAL」という文を追加してください。 『組み込み SQL プログラミング・ガイド』の第 7 章で、 「表関数についての考慮事項」の項の最初の黒丸の下にある呼び出しタイプが 3 つから 5 つになります。 FIRST および FINAL をリストに追加してください。 さらに、この項に新しい黒丸を追加して、以下の文章を含めてください。 表関数呼び出しのエラー処理モデルは以下のとおりです。 1. FIRST 呼び出しが失敗した場合、その他の呼び出しは行なわれません。 2. FIRST 呼び出しが成功した場合、FINAL 呼び出しが行なわれます。 3. OPEN 呼び出しが失敗した場合、FETCH または CLOSE 呼び出しは行なわれません。 4. OPEN 呼び出しが成功した場合、FETCH および CLOSE 呼び出しが行なわれます。 第 7 章の「Weather Table Function」の例で、UDF 定義は NO FINAL CALL を指定する必要があり、 そして FINAL CALL は表関数に必須ではなくなったことに注意してください。 (つまり、それが必須であるとの記述は無視してください)。 『組み込み SQL プログラミング・ガイド』の第 15 章 『Java でのプログラミング』の、 「Java UDF およびストアード・プロシージャーの作成」の項にある、 2 番目の段落の 2 番目の文を以下のように変更してください。 これらの UDF を作成および登録して、プロシージャーを格納し、 Java クラスを 514 ページの「Java クラスの配置位置」で説明されている適切なファイル場所に配置した後、 それらを (UDFS の場合) SQL で参照するか、 または (ストアード・プロシージャーの場合) サポートされる任意の言語で記述されたアプリケーションからそれらを呼び出すことができます。 そして、その次の文は削除してください。 『組み込み SQL プログラミング・ガイド』の第 15 章にある、 「Java ユーザー定義関数の作成およいび使用」の項の、 最初の段落の 4 番目の文を以下のように変更してください。 その後、アプリケーションの SQL 内でそれを参照できます。 その同じ見出しの下の副見出し「Java UDF の実行方法の変更」で、 最初の 3 つの段落を以下の 5 つの段落と置き換えてください。 通常、DB2 は UDF を照会の入力または結果セットの行ごとに 1 回、 合計何回も呼び出します。 SCRATCHPAD が UDF の CREATE FUNCTION ステートメントに指定されている場合、 DB2 はいくらかの「継続性」が UDF の複数の正常な呼び出しの間で必要であることを認識するために、 インプリメントされている Java クラスは呼び出しごとにインスタンス化されないで、 一般的には UDF 参照ごとのステートメントごとに 1 回インスタンス化されます。 通常、それは最初の呼び出しの前にインスタンス化されて、その後に使用されますが、 表関数に対してはさらに頻繁にインスタンス化されることがあります --これに続く項の NO FINAL CALL 実行モデルを参照してください。 しかし、スカラーまたは表関数の UDF に NO SCRATCHPAD が指定されている場合、 クラス・コンストラクターを呼び出すことによって、初期化されたインスタンスが UDF により各呼び出しについてインスタンス化されます。 スクラッチパッドは UDF への複数の呼び出しで情報を保管するために役立つことがあります。 C、C++、および OLE UDF ではスクラッチパッドは DB2 によって保守されますが、 Java では UDF は単にインスタンス変数を使用します。 これに続く項にある実行モデルによって示されるように、 スクラッチパッドを使用する表関数では、 CREATE FUNCTION ステートメントの FINAL CALL / NO FINAL CALL オプションを使用することによって、 新しいインスタンスを取得するときに制御を行なうことができます。 スカラー関数の場合、ステートメント全体に対して同じインスタンスを使用します。 選択できる別の方法は、 DB2 が提供する Java メソッドの getScratchpad() および setScratchpad() を使用することであり、 その場合 DB2 によって管理されるスクラッチパッドを使用することになります。 スクラッチパッドによって UDF への複数の呼び出しの間で継続性を保つ機能は、 DB2 スクラッチパッドまたはインスタンス変数のどちらを使用する場合でも、 CREATE FUNCTION の SCRATCHPAD / NO SCRATCHPAD オプションによって制御されます。 同じ UDF が複数回参照される場合でも、 照会の中にある Java への参照はすべて別個に処理されることに注意してください。 これは、OLE、C、および C++ の UDF に関しても同様です。 照会の終わりに、スカラー関数に FINAL CALL オプションを指定した場合は、 オブジェクトの close() メソッドが呼び出されます。 表関数の場合は、これに続く項で説明されているように、 close() メソッドが常に呼び出されます。 UDF クラスに対して close() メソッドを定義していない場合、 スタブ関数が適用されてイベントは無視されます。 そして、「ALLOW PARALLEL を指定した...」で始まる次の段落では、 最後の文を削除してください。 「Java UDF の実行方法の変更」の項に続いて、 「Java の表関数実行モデル」と題する同じレベルの新しい項を作成し、 以下の文章を入れてください。 Java で記述された表関数では、DB2 が指定されたステートメントを処理する各時点で、 表関数にとって重要などんな事柄が生じるかを理解することは大切です。 以下の表には、この情報が詳細に示されています。 (各ボックスの下部には、Web から情報を引き出す典型的な表関数で、 記述されるコードの役割の例がヒントとして示されています)。 NO FINAL CALL および FINAL CALL の両方の場合が網羅されていて、 どちらの場合でもSCRATCHPAD が想定されています。 | | スキャン | | NO FINAL CALL | FINAL CALL 時間内 | | LANGUAGE JAVA | LANGUAGE JAVA での | | SCRATCHPAD | SCRATCHPAD 時点 V | | ------------+------------------------------+------------------------------ 表関数 | 呼び出しなし。 | クラス・コンストラクターが呼び出される に対する | | (新しいスクラッチパッドが作成される)。 最初の OPEN | | UDF メソッドが "FIRST" 呼び出しに の前。 | | よって呼び出される。 | |- - - - - - - - - - - - - - - | | コンストラクターはクラス | | およびスクラッチパッド変数を | | 初期化します。 | | メソッドは、ウェブ・サーバーに | | 接続します。 | | ------------+------------------------------+------------------------------ 表関数 | クラス・コンストラクターが呼 | UDF メソッドは "OPEN" 呼び出 を OPEN する| び出される (新しいスクラッチ | しによって呼び出される。 ごとに。| パッドが作成される)。 | | UDF メソッドは "OPEN" 呼び出 | | しによって呼び出される。 | |- - - - - - - - - - - - - - - |- - - - - - - - - - - - - - - | コンストラクターは | メソッドは必要な Weg データを見つけ | クラスおよびスクラッチパッド | るためにスキャンをオープンします。 | 変数を初期化する。 | (スクラッチパッドに保存されている | メソッドは Web サーバーに接続| 内容によっては、CLOSE 再配置の後の | して、Web データ用のスキャン | 再オープンを避けることが可能な場合 | をオープンする。 | もある) | | ------------+------------------------------+------------------------------ 表関数 | UDF メソッドは "FETCH" 呼び出| UDF メソッドは "FETCH" 呼び出 データの新し| しによって呼び出される。 | しによって呼び出される。 い行の |- - - - - - - - - - - - - - - |- - - - - - - - - - - - - - - FETCH ごと。| メソッドはデータの次の行また | メソッドはデータの次の行また | は EOT をフェッチして戻す。 | は EOT をフェッチして戻す。 | | ------------+------------------------------+------------------------------ 表関数 | UDF メソッドは "CLOSE" 呼び出| UDF メソッドは "CLOSE" 呼び出 を CLOSE す | しによって呼び出される。 | しによって呼び出される。 るごとに。| クラスの"close" メソッドがあ | | る場合、それが呼び出される。 | |- - - - - - - - - - - - - - - |- - - - - - - - - - - - - - - | メソッドは Web スキャンを | メソッドはスキャンの先頭に | クローズして Web サーバから | 位置変更されるか、スキャンを | 切断される。 | クローズする。それはスクラッチ | "close" は何も行なう必要 | パッド内の状態を保管する。 | がない。 | スクラッチパッドは存続する。 | | | | ------------+------------------------------+------------------------------ 表関数 | 呼び出しなし。 | UDF メソッドは "FINAL" 呼び出 を最後に | | しによって呼び出される。 CLOSE した | | クラスの "close" メソッドがあ 後。 | | る場合、それが呼び出される。 | |- - - - - - - - - - - - - - - | | メソッドは Web サーバーから | | 切断される。 | | "close" は何も行なう必要が | | ない。 | | ------------+------------------------------+------------------------------ この表に関する注記 : 1. 「UDF Method」とは、UDF をインプリメントする Java クラス・メソッドを指します。 つまり、CREATE FUNCTION ステートメントの EXTERNAL NAME 文節で識別されるメソッドです。 2. NO SCRATCHPAD を指定した表関数では、 UDF メソッドへの呼び出しは上記の表に示すとおりですが、 ユーザーがスクラッチパッドを介しての継続性を要求していないので、 DB2 はクラス・コンストラクターを呼び出すことによって、 各呼び出しの前に新しいオブジェクトがインスタンス化されるようにします。 NO SCRATCHPAD を指定した (したがって継続性のない) 表関数がどれほど役立つかは不明ですが、 それらはサポートされています。 3. これらの実行モデルは、 UDF が呼び出しタイプを識別できるようにする新しいクラス・メソッドの存在を暗示しています。 このメソッドには、 COM.ibm.db2.app.UDF クラス内に DB2 が備わっていて、 次のように定義されます。 public int getCallType () throws Exception 4. これらのモデルは他の UDF 言語 (C、C++、および OLE) で生じる事柄と完全に互換性があります。 『組込み SQL アプリケーション・プログラミング』の第 15 章の、 「Java ストアード・プロシージャーおよび UDF のクラス」の項の、 副見出し『COM.ibm.db2.app.UDF』の下にある、 「public void close()」メソッドについて説明している段落を以下のように変更してください。 このメソッドは、UDF が FINAL CALL オプションを指定されて作成された場合、 ステートメント評価の最後にスカラー関数のデータベースによって呼び出され、 C 関数への最後の呼び出しと似ています。 表関数の場合、 それは UDF メソッドに対する CLOSE 呼び出しの後 (NO FINAL CALL が指定されているかデフォルトの場合) か、 または FINAL 呼び出しの後 (FINAL CALL が指定されている場合) で呼び出されます。 Java UDF クラスはこの関数をインプリメントしないので、 ノーオペレーション・スタブ関数がこのイベントを処理して効率的に無視します。 「public void close()」に関する説明の直後に、 新しいメソッド「public int getCallType() throws Exception」に関する以下の説明を加えてください。 この関数は表関数の UDF メソッドによって使用されて、 特定の呼び出しの呼び出しタイプを見つけます。 以下の値を戻します (これらの値のシンボル定義は、Com.ibm.db2.app.UDF クラス定義に備わっています): o -2 FIRST 呼び出し o -1 OPEN 呼び出し o 0 FETCH 呼び出し o 1 CLOSE 呼び出し o 2 FINAL 呼び出し | 8.11.2 スカラー関数の外部 UDF エラー処理モデル | 第 7 章の「その他のコード上の考慮事項」と、 | 「ヒント」サブセクションには、次の | 新規項目 15 がリストに追加されます。 | FINAL CALL 仕様で定義されたスカラー UDF のエラー処理モデル | は、以下のとおりです。 | 1. FIRST 呼び出しが失敗すると、呼び出しはこれ以上行われません。 | 2. NORMAL 呼び出しが失敗すると、NORMAL 呼び出しはこれ以上行われませんが、FINAL | 呼び出しが行われます。 | これは、FIRST 呼び出しでエラーが起きた場合、UDF は戻りの前に | クリーンアップする必要があることを意味します。これは FINAL 呼び出しが行われないためです。 | FINAL CALL がスカラー UDF で指定されていない場合、NORMAL 呼び出しのみが | 行われ、エラーが返って来た場合には終了します。 | 次の新規項目 16 がリストに追加されます。 | 表関数のエラー処理モデルは、この章の「表関数の考慮事項」セクションで定義されます。 | 8.12 ATOMIC 複合 SQL | DB2 コネクトは、複合 SQL ブックの LOB 列を選択する | SELECT ステートメントをサポートしません。 8.13.0 ブックのその他の改訂 組込み SQL アプリケーション・プログラミングに関連した以下の変更は、 このリリースより前の FixPaks のリリース情報に記述されています。 8.13.1 第 1 章の改訂 ESPG の第 1 章で、 「DB2 バインド・ファイルのダンプ・ツール -db2bfd』の項の最初の段落にある「バージョン 3」を、 「バージョン 5」に変更してください。 8.13.2 第 4 章の改訂 第 4 章で、 「区分データベースでの結合ストラテジー」の項には複数の下位の項があり、 異なる結合方法の例を示しています。 図中の「LINEITEMS」はすべて「LINEITEM」に変更してください。 さらに、「Broadcast Inner-Table Joins」で示されている例には不正確な文があります。 その例の文を、以下のように修正してください。 LINEITEM 表は、ORDERS 表を持つすべてのデータベース区画に送られます。 表待ち行列 q3 は、外部表のすべてのデータベース区画に同報通信されます。 8.13.3 第 7 章の改訂 以下の変更は第 7 章に関するものです。 o 「C++ での OLE 自動化 UDF」の項の最後にあるコードで、 short indicator1, // input indicator short indicator2, // output indicator を次のように変更してください。 short *indicator1, // input indicator short *indicator2, // output indicator o 「ヒント」の項の項目番号 4 で、「理由コード 21」を「理由コード 34」に変更してください。 o 以下の変更は、『DB2 から UDF へ渡される引き数」の項に関するものです。 - SQL状態の引き数で、sqlstate 02001 の部分を以下のように変更してください。 02001 表関数への FETCH 呼び出しにだけ有効で、 表にはそれ以上の行がないことを意味します。 - dbinfo 引き数のリスト項目 「16. 表関数列リスト (tfcolumn)」 で、 最初の段落を以下の文章に置き換えてください。 これが表関数であれば、 このフィールドは DB2 によって動的に割り当てられる短整数の配列へのポインターです。 これがスカラー関数であれば、このポインターはヌルです。 o 以下の変更は、「 LOBロケーターをパラメーターまたは結果として使用する」という項に関するものです。 - 「sqludf.h で定義された DB2 ロブ・ロケーター」という題のAPI の宣言を示す図 (関数見出し) で、 API パラメーターの説明が改善されました。 詳細については、実際の sqludf.h ファイルを参照してください。 - この項では 5 つの API が説明されています。 これらの API からの戻りコードが説明されている箇所で、 各 API の可能性として「other」が示されています。 各 API について、「other」の説明を以下のように変更してください。 other 無効なロケーターまたは他のエラー (メモリー・エラーなど)。 これらの場合に戻される値は、エラー状態に対応する SQLCODE です。 たとえば、-423 は無効なロケーターを示します。 これらの「other」コードの 1 つを伴って UDF に戻る前に、 DB2 はエラーの重大度に関して判定することに注意してください。 重大エラーの場合、DB2 はエラーが生じたことを記憶して、 UDF が DB2 に戻るときに、UDF がエラーの SQLSTATE を戻すかどうかに関係なく、 DB2 はそのエラー状態に適した処置を実行します。 重大でないエラーの場合、 DB2 はエラーが生じたことを記憶しないで、 UDF が自ら修正処置を実行するかエラー SQLSTATE を DB2 に戻すかを決めるようにします。 - 5 つの API のうち 3 つは可能な戻りコードとして -1 を示しています。 それは、呼び出しに渡されたロケーターがすでに解放されていることを意味します。 これらの API は、戻りコードの -1 を UDF に戻しません。 この状態は、SQLCODE -423 (無効なロケーター) を使用する「other」の戻りコードの下で処理されます。 - 項目 1: sqludf_length() で、追加の戻りコード値が定義されています。 -3 不正な入力値が API に指定されました。 これには、以下のものが含まれます。 - udfloc_p (ロケーターのアドレス) がゼロ - return_len_p (長さを入れる場所のアドレス) がゼロ - 項目 2: sqludf_substr() で、追加の戻りコードが定義されています。 -3 不正な入力値が API に指定されました。 これには、以下のものが含まれています。 - udfloc_p (ロケーターのアドレス) がゼロ - start が 1 より小さい - length が負の数 - buffer_p (バッファー・アドレス) がゼロ - return_len_p (長さを入れる場所のアドレス) がゼロ - 項目 3: sqludf_append() で、追加の戻りコード値が定義されています。 -3 不正な入力値が API に指定されました。 これには、以下のものが含まれます。 - udfloc_p (ロケーターのアドレス) がゼロ - length が負の数 - buffer_p (バッファーのアドレス) がゼロ - 項目 4: sqludf_create_locator() で、追加の戻りコード値が定義されています。 -3 不正な入力値が API に指定されました。 これには、以下のものが含まれます。 - udfloc_p (ロケーターのアドレス) がゼロ - loc_type が 3 つの有効値の 1 つではない - loc_p (ロケーターを入れる場所のアドレス) がゼロ - 項目 5: sqludf_free_locator() で、追加の戻りコード値が定義されています。 -3 不正な入力値が API に指定されました。 これには、以下のものが含まれます。 - udfloc_p (ロケーターのアドレス) がゼロ - 項目 3: sqludf_append() で、戻りコードに関する説明の前に以下の段落を追加してください。 この API を使用すると、大変に大きな LOB 値を少しずつ作成できます。 多数の追加を行なって 1 つの結果を構築する場合、 そのタスクのパフォーマンスは以下の方法で改善できます。 - 大きなアプリケーション制御ヒープを割り当てる (APP_CTL_HEAP_SZ はデータベース・マネージャー構成パラメーター) - バッファーを大きくして追加回数を少なくする。各 50 バイトの追加を 20 回行なう代わりに、 1000 バイトの追加を 1 回行なう、など。 sqludf_append() API を介して多数の大きな LOB 値を作成する SQL アプリケーションでは、 使用可能なディスク・スペースの制限によってエラーが生じることがあります。 これらのエラーが発生する可能性は、以下の方法で小さくできます。 - 個々の追加に使用するバッファーを大きくする - 複数のステートメント間での COMMIT を頻繁に行なう - この API を介して SELECT ステートメントの各行が LOB 値を作成している場合、 CURSOR WITH HOLD を使用して複数の行の間で COMMIT を行なう - 項目 5: sqludf_free_locator() で、「通常...」で始まる段落は誤りです。 以下の文章に置き換えてください。 この API を使用して、sqludf_create_locator() API によって作成し、 内部操作だけに使用されていたロケーターを解放します。 UDF に渡されたロケーターを解放する必要はありません。 sqludf_create_locator() を介して UDF によって作成されたロケーターが出力として UDF の外部に渡された場合、 それを解放する必要はありません。 - 個別の API が列挙されている後に、以下の文章を追加してください。 これらの API を使用する際には、以下の注記が適用されます。 1. LOB ロケーターを戻すように定義された UDF には、 使用可能な複数の可能性があります。 以下のものを戻すことができます。 a. それに渡された入力ロケーター b. それに渡された入力ロケーターで、via sqludf_append() に追加されたもの c. via sqludf_create_locator() に作成されたロケーターで、 via sqludf_append() に追加されたもの 2. 表関数は 1 つ以上の LOB ロケーターを戻すものとして定義できます。 それらはそれぞれ、前の項目で説明された可能性のどれかとすることができます。 さらに、そのような表関数が、 複数の表関数列の出力として同じロケーターを戻すことも有効です。 3. 入力引き数として表関数に渡された LOB ロケーターは、 行を生成するプロセスの期間全体に渡って存続します。 実際、表関数は 1 つの行の生成中に、 そのような LOB ロケーターを使用して LOB に追加できます。 4. UDF (表またはスカラー関数) からの LOB ロケーター出力として、 DB2 内で生成された LOB を表すために使用される内部制御機構には、 1950 バイトが必要です。 この理由で、およびソートへの入力となる行のサイズに制限があるために、 UDF LOB ロケーターとして生成された複数のそのような LOB をソートする照会は、 関係する他の列のサイズに応じて、行ごとに (最大で) 2 つ のそのような値に制限されます。 同じ制限は、表に挿入される行にも適用されます。 8.13.4 第 9 章の改訂 第 9 章の「DRDA サーバーのアクセス」の項にある、 ポイント 1 での 2 番目の段落を以下のように変更してください。 IBM 製品の場合、コーディングを開始する前に、IBM SQL 解説書 バージョン 5.2 (S10J-8165) を参照してください。 8.13.5 第 15 章の改訂 以下の変更は、第 15 章に関するものです。 o この本では、ユーザーの Java クラスが提供されるインターフェースをインプリメントしなければならないと述べています。 しかし、「sqllib/java/db2java.zip」で提供される Java ライブラリーにはクラスが含まれるため、 ユーザーのクラスは同じ名前の Java クラスを拡張する必要があります。 以下のもの、 class ... implements COM.ibm.db2.app.UDF { ... } への参照は、次のように変更してください。 class ... extends COM.ibm.db2.app.UDF { ... } 「COM.ibm.db2.app.StoredProc」についても同様です。 o この本は、以下のクラス/ルーチンを使用することによって、 UDF およびストアード・プロシージャーが新しい LOB 値を作成できると述べています。 COM.ibm.db2.app.Blob public static Blob new() throws Exception; COM.ibm.db2.app.Clob public static Clob new() throws Exception; これらは名前変更されて、以下の関数として新しいクラス COM.ibm.db2.app.Lob に移動されました。 COM.ibm.db2.app.Lob public static Blob newBlob() throws Exception; COM.ibm.db2.app.Lob public static Clob newClob() throws Exception; o Java タイプのマッピング表には、以下のマッピングが含まれます。 SQL タイプ Java タイプ (UDF) Java タイプ (ストアード・プロシージャー) LONG VARCHAR Clob Clob LONG VARGRAPHIC Clob Clob これらを以下のように変更してください。 LONG VARCHAR String String LONG VARGRAPHIC String String 以下の情報を、「Java UDF およびストアード・プロシージャー」の項の後に追加してください。 Java 言語でストアード・プロシージャーを作成するとき、 CREATE PROCEDURE ステートメントを使用して、 プロシージャーをシステム・カタログ表 SYSCAT.PROCEDURES に登録しなければなりません。 詳細については、SQL Reference の CREATE PROCEDURE に関する項を参照してください。 以下は Java UDF/ストアード・プロシージャー・サポートに関する制限です。 大きな混合コード・ページ文字列の文字境界でのランダム・アクセスがまだインプリメントされていないため、 混合コード・ページ・データベース・サーバー上では、 Java ユーザー定義関数およびストアード・プロシージャーが CLOB タイプの引き数を使うことはできません。 すべての LOB タイプは、SBCS データベースでの使用を意図したものです。 混合データベースでは、サポートは BLOB および DBCLOB タイプを意図しています。 周辺の処理として、混合データベース・システム上で実行しているアプリケーションが CLOB 引き数を DBCLOB、LONG VARGRAPH、または LONG VARCHAR タイプに変換する ようにしてください。 UDF では、これは CAST 演算子によって行なえます。 サンプルのブログラムを説明する付録 B で、 (表 24 にある) loblocud、db2uext2、および autoloader サンプルへの参照を削除してください。 詳細については、8.13.6 の「サンプル・プログラムの改訂」および 8.13.7 の「その他のファイルの変更」 も参照してください。 索引で、java_heap_sz が誤って java_heap_size と記載されています。 8.13.6 サンプル・プログラムの改訂 サンプル・プログラムの改訂は、 以下のプラットフォーム上の種々の言語について行なわれます。 AIX、HP-UX、OS/2、Solaris、Windows NT、および Windows 95。 この改訂は、いくらかのコーディングのエラーを訂正するためと、 プログラム内で API をさらに活用するために行なわれます。 'makeapi.sqc' などの一部のプログラムは、 すべてのプラットフェームで使用できる汎用のものとなりましたが、 以前は特定のプラットフォームでだけ使用可能なものでした。 さらに、いくつかのプログラムでインターフェースが改善されて、 ユーザーがプログラムに入力しやすくなり、そしてより情報に富む出力を提供できるようになりました。 多数の重複するファイルで、ファイルの内容が削除されて、 「This file is not needed」というコメントに置き換えられました。 新しいファイルが重複ファイルの機能を置き換えた部分では、 そこへの参照も示されています。 更新されたファイルのリストを以下に示します。 各項目には、ファイル名、言語、および変更の対称となるプラットフォームが含まれます。 同じファイルが複数の言語で改訂された場合、"dbconf.c/.cbl/.f/.for" のように、 1 つのファイル名に複数の拡張子が付きます。 「COBOL」は、別の記載がなければ IBM および Micro Focus COBOL の両方を指します。 「全プラットフォーム」は、AIX、HP-UX、OS/2、Solaris、Windows NT、 および Windows 95 のプラットフォームだけを指します。 状況によっては、特定のプラットフォームのファイルが使用できないことがあります。 不明な場合は、適切なサンプル・ディレクトリーの README ファイルを参照してください。 ファイル項目にはさらに、変更の性質を説明するコメントも含まれています。 変更は以下のとおりです。 adhoc.sqc 全プラットフォーム用の C 修正されたメモリー・リーク、および改善されたユーザー・インターフェース。 blobfile.cmd AIX、OS/2、および Windows NT 用の REXX OS/2 用の適切なファイル・バージョンが入手可能となりました。 dbconf.c/.cbl/.f/.for 全プラットフォーム用の C、COBOL、FORTRAN。 修正された API 呼び出しでの 'version' パラメーターのエラー。 改善されたユーザー・インターフェース。 全プラットフォーム用に汎用化するため再コーディングされた Micro Focus COBOL バージョン。 d_dbconf.cbl 全プラットフォーム用の Micro Focus COBOL。 全プラットフォーム用に汎用化するため再コーディングされました。 d_dbmcon.cbl 全プラットフォーム用の Micro Focus COBOL。 全プラットフォーム用に汎用化するため再コーディングされました。 da_manip.h/.sqc 全プラットフォーム用の C。 重複ファイル: 内容は削除されました。 dbcat.f/.for 全プラットフォーム用の FORTRAN。 修正された API 呼び出しでの 'version' パラメーターのエラー。 dbmconf.cbl/.cmd 全プラットフォーム用の Micro Focus COBOL、および AIX、Windows NT、 および OS/2 用の REXX 全プラットフォーム用に汎用化するため再コーディングされた Micro Focus COBOL バージョン。 適切な REXX バージョンが OS/2 用に入手可能となります。 dbinst.for OS/2 用の FORTRAN 改善されたユーザー・インターフェース。 dbsnap.cbl 全プラットフォーム用の IBM COBOL。 修正された API 呼び出しでの 'version' パラメーターのエラー。 dbstat.sqb 全プラットフォーム用の Micro Focus COBOL。 修正された API 呼び出しでの 'version' パラメーターのエラー。 db_udcs.for OS/2 用の FORTRAN このプログラムは OS/2 FORTRAN 用に入手可能になりました。 ebcdicdb.for OS/2 用の FORTRAN このプログラムは OS/2 FORTRAN 用に入手可能になりました。 fillcli.sqc 全プラットフォーム用の C これはクライアント・プログラムです。サーバー・プログラムは fillsrv.sqc です。 これらのプログラムは広範囲に書き直され、 サポートしているプログラムの da_manip、system、 および tabinfo (現在は重複する) の機能が結合されています。 API の使用、 SQLDA 構造のデモンストレーション、 およびユーザー・インターフェースは、すべて改善されました。 fillsrv.sqc 全プラットフォーム用の C これはサーバー・プログラムです。クライアント・プログラムは fillcli.sqc です (詳細については、その項目を参照してください)。 inpsrv.def OS/2 用の Micro Focus 重複ファイル: コンパイラーはストアード・プロシージャー用の定義ファイルを必要としないため、 内容は削除されました。 inpcli.old 全プラットフォーム用の C 重複ファイル: 内容は削除されました。 inpsrv.old 全プラットフォーム用の C 重複ファイル: 内容は削除されました。 largevol.sqc 全プラットフォーム用の C このプログラムは AIX に特定のものです。 HP-UX、OS/2、Solaris、Windows NT、および Windows 95 プラットフォームでは、 ファイルの内容が削除されました。 lobeval.cmd AIX、Windows NT、および OS/2 用の REXX 適切なバージョンが OS/2 用に入手可能になりました。 makeapi.sqc 全プラットフォーム用の C これは、AIX および OS/2 用の特定のプログラムを、 全プラットフォーム用に現在入手可能な汎用プログラム・ファイルに置き換えます。 monreset.f/.for 全プラットフォーム用の FORTRAN プログラム 修正された API 呼び出しでの 'version' パラメーターのエラー。 monsz.cbl 全プラットフォーム用の IBM COBOL 修正された API 呼び出しでの 'version' パラメーターのエラー。 outsrv.def OS/2 用の Micro Focus COBOL。 重複ファイル: コンパイラーはストアード・プロシージャー用の定義ファイルを必要としないため、 内容は削除されました。 inpcli.old 全プラットフォーム用の C 重複ファイル: 内容は削除されました。 inpsrv.old 全プラットフォーム用の C 重複ファイル: 内容は削除されました。 qload.sqb/.sqf/.sqc 全プラットフォーム用の COBOL、FORTRAN、および C 改善されたインターフェースにより、より多くの情報が提供され、 外部の「ロード・ファイル」エラーが除去されます。 rechist.c/.sqc 全プラットフォーム用の C 組み込まれていない SQL プログラム rechist.c は、 組み込み SQL プログラム rechist.sqc に置き換えられました。 新しいファイルは、rechist.sqc によって生じるデータベース接続エラーを修正します。 sws.cbl 全プラットフォーム用の IBM COBOL 修正された API 呼び出しでの 'version' パラメーターのエラー。 system.c/.h 全プラットフォーム用の C 重複ファイル: 内容は削除されました。 tabinfo.c/.h 全プラットフォーム用の C 重複ファイル: 内容は削除されました。 tabspace.sqb/.sqf 全プラットフォーム用の COBOL および FORTRAN API の使用方法が改善されて、複数の表スペースを表現できるようになりました。 tblsrv.c 全プラットフォーム用の C ライブラリーを共有する API のエラーが修正されました。 その他のファイルの変更: 必要な箇所では makefile が、 前の項で説明された変更を反映するように更新されました。 たとえば、C makefile がオブジェクト・ファイル da_manip.obj、 system.obj、および tabinfo.obj をストアード・プロシージャー fillsry 用に、 作成およびリンクすることはなくなりました。 IBM COBOL および FORTRAN 用の OS/2 コマンド・ファイル、およびそれぞれの makefile は、 スタック・サイズとして 64000 を使用するようになりました。 COBOL 用のスタック・サイズ・リンク・オプションは "/ST:64000" となり、 FORTRAN 用のものは "stack=64000" となりました。 一部のストアード・プロシージャー・プログラムを正常に実行するには、 より大きなスタック・サイズが必要であることが判明しました。 以下のコマンドおよびバッチ・ファイルが変更されました。 BLDF32.CMD OS/2 用の FORTRAN 重複ファイル: 内容は削除されました。 EMBPREP.BAT Windows NT および Windows 95 用の COBOL このファイルの適切なバージョンが入手可能になりました。 9.0 DB2 クライアント インストールおよび構成 9.1 CCA を使用する DB2 サーバー通信へのクライアントの構成 クライアントがサーバーとは別のトークンリング上にある場合、リモート・システムが検出されないことがあります。 検索ディスカバリーが機能するためには、リモート・システム、 およびディスカバリー要求を開始するシステムの両方が同じトークンリング上になければなりません。 SEARCH ディスカバリーによってクライアントに戻される TCP/IP ホスト名は、 TCP/IP ホスト名コマンドが出されるときに DB2 サーバー・システムによって戻されるホスト名と同じです。 クライアント上で、このホスト名がマップする IP アドレスは、 クライアント・マシン上で構成される TCP/IP 定義域名サーバー (DNS) か、 または DNS が構成されていない場合、クライアント・ホスト・ファイル内のマッピング項目です。 複数のアダプター・カードが DB2 サーバー・システム上で構成されている場合、 ホスト名コマンドが出されるときに正しいホスト名を戻すように TCP/IP がサーバー上で構成されていること、 およびクライアント上の DNS またはローカル・クライアント・ホスト・ファイルが、 ホストを必要な IP アドレスにマップすることを確認してください。 10.0 メッセージ解説 10.1 DBI1768W の解説中のエラー 「処置」の項の下にある「sqllib/profile」を「sqllib/db2profile」に変更してください。 10.2 SQL0270N の変更/追加理由コード メッセージ SQL0270N の次の理由コードが変更されました。 「原因」の下 : 23 REPLICATED は概略表でのみ指定されます。 「処置」の下 : 23 REPLICATED 指定を除去するか、あるいは CREATE TABLE が概略表定義で指定されているか確認してください。 以下の 2 つの理由コードがメッセージ SQL0270N に追加されました。 「原因」の下に: 30 入力された表および入力された視点を CREATE SCHEMA ステートメントで定義できません。 31 区分化キーに 500 を超える列を定義できません。 「処置」の下に: 30 CREATE SCHEMA ステートメントの外部で入力された視点または入力された表に対して、 CREATE ステートメントを出します。 31 区分化キーの中の列の数を減らします。 10.3 SQL0351N の新規解説 メッセージ : 「選択リストの "" にある LOB または DATALINK データが DRDA プロトコルを使用して送信されません。」 原因 : LOB または DATALINK データ、または LOB または DATALINK データに基づいた 特殊タイプは、DRDA プロトコルを使用してフローできません。"" は、 選択リストにある LOB または DATALINK データ・タイプを持つ要素の位置です。 ステートメントを処理できません。 処置: LOB または DATALINK データを選択リストから除外して、 それらが DRDA の使用中に検索されないようにします。 LOB データの場合、CHAR(SUBSTR(CLOB)) を使用してより小さな値を選択してみてください。 DATALINK データの場合、DURLCOMPLETE などの関数を使用してみてください。 sqlcode: -351 sqlstate: 56084 10.4 SQL0352N の新規解説 メッセージ : 「入力リストの "" にある LOB または DATALINK データが DRDA プロトコルを使用して送信されません。」 原因: LOB または DATALINK データを、DRDA プロトコルを使用してフローさせることができません。 "" は、 入力リストにある DATALINK データ・タイプを持つ要素の位置です。 ステートメントを処理できません。 処置: LOB または DATALINK データを入力リストから除外して、 それが DRDA の使用中に送信されないようにします。 または、DLVALUE を使用して値を間接的に作成してみます。 sqlcode: -352 sqlstate: 56084 10.5 SQL0357N の新規解説 メッセージ : 「DB2 ファイル・マネージャー "" は現在使用できません。」 理由コード = ""。 原因 : DATALINK 値への参照には、DB2 ファイル・マネージャー "" が必要です。 DB2 ファイル・マネージャーは理由コードが示す理由により、現在使用できません。 01 DATALINK 値内のDB2 ファイル・マネージャーは使用できません。 02 操作を試行したデータベース・サーバー、インスタンス、またはデータベースが、 DATALINK 値内の DB2 ファイル・マネージャーに登録されていません。 03 DB2 ファイル・マネージャーで、再始動回復が保留中または進行中です。 04 DATALINK 内の DB2 ファイル・マネージャーが未知のサーバー上のデータベースに登録されています。 05 DATALINKB 値内の DB2 ファイル・マネージャーと通信中に、エラーが生じました。 ステートメントを処理できません。 処置: 処置は以下のように、理由コードに依存します。 01 DB2 ファイル・マネージャー または通信リンクに障害が生じている可能性があります。 少し待ってから再試行するか、またはシステム管理者と共に DB2 ファイル・マネージャー を検査してください。 問題が続く場合、アプリケーションをデータベースから切断して、 再び接続してから再試行してください。 02 データベース・サーバー、インスタンス、またはデータベースを DB2 ファイル・マネージャーに登録します。 03 再始動回復が DB2 ファイル・マネージャー上で完了するまで待ちます。 問題が続く場合、上記の理由コード 02 の文にある登録が行なわれているかを調べてください。 それが行なわれていないことが、再始動回復が正常に完了しない理由の 1 つである可能性があります。 04 データベースに構成された DB2 ファイル・マネージャーがネットワーク上で使用可能であるかを調べます。 05 DB2 ファイル・マネージャーおよび通信リンクが起動しているかを調べます。 問題が続く場合、アプリケーションをデータベースから切断して、 再び接続してから再試行してください。 sqlcode: -357 sqlstate: 57050 10.6 SQL0432N の新規解説 SQL0432N の説明が変更されて、複数の参照タイプに関して同じエラーが含まれるようになりました。 メッセージ : パラメーター・マーカーに、ユーザー定義のタイプ名または 参照ターゲット・タイプ名 "" がありません。 原因: ステートメント中のパラメーター・マーカーが、ユーザー定義タイプ ""、 またはターゲット・タイプが "" である参照タイプのどちらか (文脈による) を使用するように設定されています。 パラメーター・マーカーは、それが指定の一部である (INSERT の VALUE 文節、または UPDATE の SET 文節) か、 または CAST 指定を使用してユーザー定義の別個のデータ・タイプか参照データ・タイプに明示的にキャストした場合を除いて、 データ・タイプのようにユーザー定義タイプまのたは参照タイプに設定することはできません。 ステートメントを処理できません。 処置: パラメーター・マーカーをユーザー定義のデータ・タイプまたは参照データ・タイプに明示的にキャストします。 または、ユーザー定義の別個のデータ・タイプである列を対応するソース・データ・タイプにキャストするか、 参照データ・タイプの列を対応する表示タイプにキャストします。 sqlcode: -432 sqlstate: 42841 SQLSTATE 42841 のテキストが次のように変更されました。 42841 パラメーター・マーカーをユーザー定義タイプまたは参照タイプとすることはできません。 10.7 SQL0680N の新規解説 変更された原因: 各表に許可される列の最大数は、表スペースのページ・サイズに基づきます。 表の制限は、以下のとおりです。 o 4KB のページ・サイズでは 500 列が許可される o 8KB のページ・サイズでは 1012 列が許可される。 列の数が、ステートメントの処理に使用できる一時表スペースのある一時表で、 許可される最大値を超えた可能性があります。 新しい処置: 照会の処理中にエラーが発生した場合、サポートされる最大サイズの一時表スペースが存在しなければ、 それを作成します。 そのような表スペースがすでに存在する場合、一時表から 1 つ以上の列を除去してください。 10.8 SQL0903N の追加の理由コード メッセージ SQL0903N の理由コード 3 は以下のように変更されました。 3. 作業単位の一部である DB2 ファイル・マネージャーの 1 つがコミットの準備を行なえません。 10.9 ADDITIONAL REASON CODE FOR SQL0911N メッセージ SQL0911N に新規の理由コードがあります。 72. トランザクションに組み込まれた DB2 F・マネージャーに関する エラーのため、トランザクションはロールバックされました。 10.10 SQL1339N の新規解説 以下の情報が「原因」の項に追加されました。 CLI/ODBC アプリケーションではエラー・トークンは戻されません。 CLI/ODBC アプリケーションは、各エラーについての詳細を得るために、 SQLGetDiagRec、SQLGetDiagField、または SQLError API を使用できます。 10.11 パスワードの変更サポートの使用時の SQL5048N または SQL0901N メッセージ SQL5048N または SQL0901N が DB2 バージョン 5.2 パスワード変更サポートの使用時に生じた場合、 原因として最も考えられるのは、 データベース・クライアントのリリース・レベルがデータベース・ サーバーのリリース・レベルによってサポートされていないことです。 これらのメッセージは、新規パスワードが指定されて AUTHENTICATION=CLIENT が使用されている、 CONNECT または ATTACH 要求から戻されることがあります。 その場合、名前付きデータベース別名のローカル・データベース・カタログ項目に、 AUTHENTICATION=SERVER が指定されていないことを確認してください。 上記のエラーが DB2 Common Server バージョン 2 または DDCS バージョン 2 複数ユーザー・ゲートウェイの、 新規パスワードのある CONNECT OR ATTACH 要求から戻された場合、 名前付きデータベース別名のローカル・データベース・カタログ項目に、 AUTHENTICATION=SERVER を指定しなければなりません。 | 10.12 新規メッセージ SQL5156N: DBM 構成パラメーター | TRUST_ALLCLNTS の値 | SQL5156N データベース・マネージャー構成パラメーター | "TRUST_ALLCLNTS" は NO、YES、または DRDAONLY のいずれかである必要があります。 | 原因: 構成パラメーター "TRUST_ALLCLNTS" に | 許可される値は以下のとおりです。 | 1. NO = 0 | 2. YES = 1 | 3. DRDAONLY = 2 | 要求された変更は行われません。 | 処置: "TRUST_ALLCLNTS" の値を有効な値にして、コマンドを再実行してください。 10.13 SQL20053N の追加の理由コード 次の理由コードがメッセージ SQL20053N に追加されました。 「原因」の下 : 6. 入力された視点階層内のすべての副視点の FROM 文節にある表または視点は、 どれかの副視点が OUTER を使用する場合、OUTER を使用しなければなりません。 「処置」の下に: 6. これが OUTER を使用する最初の副視点である場合 FROM 文節を使用して OUTER が使用されないようにしてください。 上位視点が OUTER を使用する場合、 OUTER を副視点の FROM 文節に含めます。 10.14 SQL20056N の新規メッセージ・テキスト SQL20056N は次のように更新されました。 DB2 ファイル・マネージャー "" での処理中に、エラーが 発生しました。理由コード = ""。 追加の診断情報 ""。 注 : "" は、"UNKNOWN" に設定されています。 10.15 SQL30083N の追加の理由コード パスワード変更サポートが無効なユーザー名またはパスワードのために失敗した場合の以下の理由コードが、 メッセージ SQL30083N に追加されました。 「原因」の下に: 24. ユーザー名またはパスワード、もしくは両方が無効です。 これはパスワード変更がユーザー名または元のパスワードのエラーで失敗したときに戻されます。 11.0 概説およびインストール 11.1 Windows 95 を実行する NEC PC98 マシンでの DB2 のインストール Windows 95 を実行する NEC PC98 マシンに関する資料を使用して DB2 をインストールする場合、 96% の時点でインストールが停止します。 インストールを完了するには、以下のように行ないます。 1. IMQCRINS.EXE プロセスを終了します。 このプロセスを終了するには、 を押してタスク マネージャーをオープンします。IMQCRINS プロセスを選択して、「終了」押しボタンを押します。 2. インストールが完了したら、システムをリブートします。 11.2 Windows 95 を実行する NEC PC98 マシンでの DB2 のアンインストール Windows 95 を実行する NEC PC98 マシンに関する資料を使用して DB2 をインストールした場合、 アンインストール操作は完了前に停止します。 アンインストール操作を完了するには、以下のように行ないます。 1. UNINSTNQ.EXE プロセスを終了します。 このプロセスを終了するには、 を押してタスク マネージャーをオープンします。UNINSTNQ プロセスを選択して、「終了」押しボタンを押します。 2. DB2 がインストールされたドライブから imnnq_95 ディレクトリーを削除します。 11.3 インストールのプラン 11.3.1 ソフトウェア要件/サーバー・プロダクト要件 HP が NETWARE 製品のサポートを中止しているため、IPX/SPX は HP-UX バージョン 11.0 ではサポートされていません。 11.3.2 クライアント・プロダクト要件/OS/2 クライアントのソフトウェア要件 OS/2 クライアントが DB2 で実行するためには、 ADSTAR Distributed Storage Manager (ADSM) バージョン 3 用の PTF (プログラム一時修正) 3 が必要です。 | 11.3.3 DBCS 環境の OS/2 WARP サーバー V.4 でのコントール・センターの要件 | DB2 UDB (OS/2 版) を、DBCS 環境の OS/2 Warp サーバー、バージョン 4 で実行している場合、 | コントロール・センターのアイコンをダブルクリックすると、 | エラー SYS3175 がおきます。ただし、エラーが一度起きてから | 再度アイコンをクリックすると、コントロール・センターがオープンします。 | 最初の SYS3175 メッセージが起きないようにするには、OS/2 | FixPak WX03005 またはそれ以降をインストールしてください。 11.3.4 DB2 ユニバーサル・データベース (AIX、OS2、および WINDOWS NT 版) への DB2 (AS/400 版) の接続 SNA を使用する 2 フェーズのコミットは、DB2 (AS/400 版) から DB2 ユニバーサル・データベース バージョン 5.2 (AIX 版) への接続ではサポートされ ていません。DB2 (AS/400 版) から DB2 ユニバーサル・データベース バージョン 5.2 (OS/2 版 および Windows NT 版) への接続ではサポートされています。 | 11.3.5 TP は同一マシンの DB2 インスタンス間で固有です | TP 名は同一マシンに常駐する DB2 インスタンス間で固有である必要があり | ます。この状態でないと、同じ TP 名を聴取している複数の DB2 インスタンス | で、APPC と TCPIP の両方とも、正しい DB2 インスタンスに最初の接続 | を割り当て、2 番目の接続を間違った | DB2 インスタンスに割り当てます。 11.3.6 ソフトウェア前提条件/DB2 (OS/390 版) の推奨修正 DB2 (os/390 版) ホストから DB2 ユニバーサル・データベース・サーバーに接続するとき、 以下の DB2 (OS/390 版) PTF が必要です。 o PTF UQ06843 for APAR PQ05771 o PTF UQ09146 for APAR PQ07537 11.4 DB2 ユニバーサル・データベースの始動 (パスワードの変更) DB2 サーバーのパスワードを DB2 クライアントから変更する機能は、 以下の DB2 サーバーに限定されます。 o DB2 (OS/390 版) V5 以降 o DB2 ユニバーサル・データベース (AIX 版) V5.2 o DB2 ユニバーサル・データベース (OS/2 版) V5.2 o DB2 ユニバーサル・データベース (Windows NT 版) V5.2 11.5 DB2 ユニバーサル・データベースの始動 (AIX 上の並行ユーザー数のカウント) Quick Beginnings for UNIX** の第 15 章では、License Use Management Administration Runtime Kit (LUM ARK) の 一部である Nodelock Administration Tool (NAT) に言及しています。 AIX 上の並行ユーザー数をカウントするためには、 LUM ARK を NAT と共にシステムにインストールしなければなりません。 LUM ARK の一部のバージョンでは、NAT はオプションのファイル・セットとなっています。 詳細については、LUM のマニュアルを参照してください。 以下のアドレスにある IBM License Use Management の Web サイト http://www.software.ibm.com/is/lum から、最新の LUM ARK およびマニュアルをダウンロードできます。 ユーザーの便宜のために、LUM ARK のコピーが DB2 CD の /cdrom/LUM ディレクトリーに含まれています。 11.6 インスタンスの処理 (インスタンスへのデータベース区画サーバーの追加。      DB2 エンタープライズ拡張エディション (Windows NT 版) の使用/ロー・デバイスの使用のためのドメイン・ユーザー ID 要件) Quick Beginnings for DB2 Extended Enterprise Edition for Windows NT には、 データベース区画サーバーを作成するためにドメイン・ユーザー名が必要であること、 および DB2 が Windows NT サービスとして開始するときのログオンに使用されることが記述されています。 しかし、ロー・デバイスが使用される場合、ドメイン・ユーザー名にもローカル管理権限がないと、 ユーザーはロー・デバイスにアクセスできないことに注意してください。 | 11.7 NT での DB2START が正しいメッセージを返さない | 4.1 正しいエラー・メッセージを返さない Windows での DB2START | Windows NT 環境で、データベース・マネージャーを開始するために、 | "db2start" コマンドの実行 (または "NET START" コマンドの使用) を行うと、 | 通信サブシステムが開始できなくても、警告を返しません。ユーザーは "db2start" | の実行中に起こる可能性があるエラーを調べるために、NT のイベント・ログが、"DB2DIAG.LOG" | を常に見ていく必要があります。これは、Windows NT 環境のデータベース・ | マネージャーが NT サービスとして実行されるためで、そのためサービスが正常に | 開始した場合にはエラーを返しません。 11.8 前のバージョンおよびリリースからの移行 最適化プログラムが機能強化された結果、再バインドした場合に照会のプランは変更されることがあります。 変更後のプランが前のバージョンで選択したプランと少なくとも同程度の効果があるように、 事前の注意を十分に払いましたが、そのことが保証されてはいません。 ある変更の結果として別のプランが選択されることがあり、 ユーザーが作成できる事実上無数のシナリオをテストすることは不可能だからです。 バージョンを移行する前に重要な照会すべてに対し、それらを新しいプランに再バインドする場合に備えて、 EXPLAIN を実行することをお勧めします。 これを実行すれば、プランおよび (前のリリースで) その基礎となる構成パラメーターが分かります。 このことは、ユーザーが新しいバージョンの下での変化の原因を識別して、 必要であれば前のプランでの状態を復元するために役立ちます。 | 11.9 DB2 リリース 5.0 からリリース 5.2 へのアップグレード | "db2upd52" コマンドに関する次の情報を、 | DB2 バージョン 5.2 で更新されなかった「概説およびインストール」に | 追加する必要があります。 | DB2 エンタープライズ拡張エディション (UNIX 版) 概説およびインストール | DB2 パーソナル・エディション 概説およびインストール | 概説およびインストール (OS/2 版) | 概説およびインストール (Windows NT 版) | カタログ表データのアップグレード +------------+--------------------------------------------------------------+ | | | バージョン 5 から 5.2 へ DB2 をアップグレードするには | | | | DB2UPD52 コマンドを実行する必要があります。バージョン 2 | | | | から 5.2 へアップグレードするには、データベースの移行が | | | | データ・タイプと SYSFUN スキーマのアップグレードを行います。 | +------------+--------------------------------------------------------------+ | DB2 バージョン 5.2 では、SYSIBM.SYSDATATYPES カタログ表には新規のデータ・タイプ | "BIGINT" と、SYSFUN スキーマに関連する他の機能が含まれます。新規の | 機能をサポートするには、DB2UPD52 コマンドをバージョン 5.2 へアップグレードされた | DB2 インスタンスによって所有されたそれぞれのデータベースに、実行する | ことをお勧めします。コマンドは "BIGINT" データ・タイプをサポートする新規の SYSFUN 機能シグネチャー | を次のように追加します。 | o "SYSIBM.BIGINT" を SYSIBM.SYSDATATYPES カタログ表に追加。 | o 次の機能のシグネチャーを SYSIBM.SYSFUNCTIONS 表に追加。 | create function sysfun.abs(bigint) returns bigint ... | create function sysfun.absval(bigint) returns bigint ... | create function sysfun.ceil(bigint) returns bigint ... | create function sysfun.ceiling(bigint) returns bigint ... | create function sysfun.floor(bigint) returns bigint ... | create function sysfun.mod(bigint,bigint) returns bigint ... | create function sysfun.power(bigint,bigint) returns bigint ... | create function sysfun.round(bigint,integer) returns bigint ... | create function sysfun.sign(bigint) returns bigint ... | create function sysfun.trunc(bigint,integer) returns bigint ... | create function sysfun.truncate(bigint,integer) returns bigint ... | また、DB2UPD52 コマンドは、"REAL" データ・タイプを | SYSIBM.SYSDATATYPES カタログ表に、UCASE の機能シグネチャー (SYSFUN.UCASE) を | SYSIBM.SYSFUNCTIONS 表に、追加します。DB2UPD52 コマンドの構文 | に関する情報については、「コマンド解説」を参照してください。 | "db2upd52" コマンドの詳細については、DB2 ユニバーサル・データベース | (UNIX 版) バージョン 5.2 概説およびインストールの第 6 章、「DB2 リリース 5.0 | からリリース 5.2 へのアップグレード」を参照してください。 | 11.10 LOTUS DOMINO GO WEBSERVER での DB2 ドライバー・エラー | Lotus Domino Go webserver を使用していて、次のエラーが出た場合: | java.sql.SQLException: DB2 Driver error allocating environment handle, rc=-1 | ウェブ・サーバーを再始動して db2instance を次のように指定します。 | startsrc -e "DB2INSTANCE=yourInstanceName" -s httpd | CLASSPATH と LD_LIBRARY_PATH が "httpd.conf" ファイル | ( "JavaClassPath" と "JavaLibPath" をそれぞれ使用する) に正しく設定 | されていることを確認します。必要な UDB バージョン 5.2 ファイルを | 示していることを確認してください。 11.11 独自のアプリケーションの実行 (Java プログラムの実行) DB2 は、 HP-UX および SCO UnixWare サーバーにアクセスしている Java のストアード・プロシージャー および Java のユーザー定義関数 (UDF) をサポートしません。 11.12 DB2 プロダクトの内容 (ロケール用の省略名) DB2 (Solaris 版) および DB2 (SCO UnixWare 7 版) のブラジル・ポルトガル語ロケールを示す省略名は、 "pt" から "pt_BR" に変更されました。 12.0 ファイル・マネージャーの概説およびインストール | 12.1 クライアント構成およびエクスポート | FixPak 7 をインストールしてクライアントで作成されたクライアント構成エクスポート・プロファイル | は、FixPak 7 のインストールをしているクライアントでのみ | インポート可能です。 | 12.2 DB2 DATA LINKS MANAGER は DB2 エンタープライズ拡張 | エディション・システムにインストールできない | DB2 Data Links Manager (前の "DB2 ファイル・マネージャー") は、 | DB2 (AIX 版) エンタープライズ・エディションでのみ使用されます。Data Links Manager は | AIX 以外の OS でのデータベースでは使用されず、DB2 エンタープライズ拡張エディション (EEE) | (AIX 版) でも使用されません。DATALINK 値は DB2 EEE システムを示しません。 | また、DATALINK データ・タイプは DB2 Data Links Manager での | ファイルの参照に EEE システムでは使用されません。 12.3 DLFM 管理ユーザー ID DLFM 管理ユーザー ID は、このリリースでは "dlfm" としなければなりません。 12.4 USING NFS TO ACCESS A REMOTE DLFS FILE SYSTEM "READ PERMISSION DATABASE" オプションを指定して定義された DATALINK 列の SQL SELECT は、名前に組み込まれたアクセス・トークンで、 URL またはファイル名を返します。 このアクセス・トークンには DL_EXPINT 構成パラメーターで定義されたように、 有効期限があります。このようなファイルにアクセスするために NFS クライアントを 使用すると、有効期限が切れないアクセス・トークンが見つかる可能性が あります。これは、NFS クライアントによって行われるキャッシュによるものです。 ロング・ファイル名 (12 文字より長い) の使用がこの問題を軽減する可能性が あります。 NFS を経由して DLFS ファイル・システムを取り付けると、オプション "noac" を組み込むことになる場合があります。たとえば、次のように指定します。 mount -o noac birdcage:/dlink /dlink 12.5 DATALINK クライアントに関する制約事項 Datalink クライアントは、以下の条件では動作しません。 o Windows 3.1 オペレーティング・システム。 o DB2 バージョン 5.2 より前のレベル。 ただし、AIX のクライアントの場合は、FixPak U453782 以降を適用すればバージョン 5.0 でも可能です。 12.6 DLFM のセットアップ・オプションの変更 DLFM セットアップのコマンドが変更されて、dlfm_db 構成ファイルを受け入れるようになりました。 構成ファイルにセットアップ・オプションが含まれる場合、 ファイル内の構成オプションがデフォルトの代わりに使用されます。 このファイルはオプションです。 指定されない場合、デフォルトが使用されます。 コマンド構文は以下のとおりです。 dlfm setup [] 以下に dlfm_db.cfg という名前のサンプルの構成ファイルを示します。 # Sample dlfm_db.cfg file for DLFM setup # Please note: the equal sign is needed between the option name and the value. # Any of the updateable DB2 database configuration parameters can be included in this file. # There are also three special DLFM-specific options which the user can specify: # DLFM_DB_DIR : directory where the dlfm_db database is to be created # DLFM_DB_CATTBL_DIR : directory where the catalog table space is to be located # DLFM_DB_TMPTBL_DIR : directory where the temporary table space is to be located # If there are no values for these options, or the options are not present, # default values are used. #################### DLFM_DB_DIR= DLFM_DB_CATTBL_DIR= DLFM_DB_TEMPTBL_DIR= LOCKTIMEOUT=60 # Default and recommended value for dlfm_db is 60 LOGFILSIZ=2001 # Default and recommended value for dlfm_db is 2001 LOGPRIMARY=6 # Default and recommended value for dlfm_db is 6 MAXAPPLS=128 # Default and recommended value for dlfm_db is 128 MAXLOCKS=100 # Default and recommended value for dlfm_db is 100 12.7 ファイル・マネージャー・サーバーでのディスク・クラッシュからの回復 この項では、ファイル・マネージャー・サーバーでのディスク・クラッシュから回復する方法、 および管理者がそのような災害時回復シナリオをサポートするために行なう必要のあるバックアップ戦略について説明します。 注 : DB2 ファイル・マネージャーでのマシン破損の場合、DB2 ファイル・マネージャー と対話する DB2 アプリケーションも停止します。「アプリケーションの強制終了」コマンドを 使用して、このアプリケーションをシステムから強制的に終了させます。DB2 サーバーでの マシン破損の場合、影響を受ける DB2 ファイル・マネージャーも、"dlfm shutdown" コマンドで シャットダウンする必要があります。そのあとやり直してください。 ユーザー・データを含むディスクがクラッシュした場合、 すべてのユーザー・ファイルはファイル・システムのディレクトリー階層と共に破壊されます。 そのようなシナリオから回復するには、 管理者はユーザー・データおよびディレクトリー階層を含むファイル・システムを回復できるように、 定期的にそのバックアップを取らなければなりません。 復元されるファイル・システムには、ディレクトリーおよびファイルの所有者、 およびタイムスタンプが保存されている必要があります。 ファイル・システムを復元した後、 ファイル・システムのバックアップが取られた後に生じたディレクトリーの変更を適用して、 ディレクトリー構造をクラッシュ時の状態に戻します。 このステップの後に、 損傷したディスク上のファイルを含むすべての表に対して RECONCILE コマンドを実行しなければなりません。 ユーティリティー "db2_reconcile_aid" (sqllib\misc に存在) が、 このタスクを簡単にするために備えられていて、以下で説明されています。 注: 1. リンクされた状態にあり、RECOVERY NO オプションが設定されたファイルは、 以下のように処理されます。 o ファイル・システム上にファイルが見つからない場合、DATALINK 値は空白 (null) に設定されます。 o ファイルが見つかった場合、それに READ およびd WRITE PERMISSION FS があれば、 ファイルの正確さを検証するための検査はそれ以上行なわれません。 o ファイルが見つかった場合、それに WRITE PERMISSION BLOCKED があれば、 変更時刻およびファイル・サイズが検査されます。 値が適合しない場合、DATALINK 値は空白 (null) に設定されます。 2. リンクされた状態にあり、RECOVERY YES オプションが設定されたファイルは、 以下のように処理されます。 o ファイルが見つからないか、ファイル変更時刻がリンク時のファイル変更時刻よりも前である場合、 正しいバージョンのファイルがアーカイブ・サーバーから復元されます。 o ファイル変更時刻がリンク時のファイル変更時刻よりも後である場合、 DATALINK 値は空白 (null) に設定されます。 3. ファイル・サーバーでリンク解除状態にあるファイルは、復元されないか、 または正しいかどうかのチェックがされないかのいずれかです。 ファイル・システムのバックアップおよび復元 以下の指示は AIX バージョン 4.1.5 に特定のものであり、他のオペレーティング・システムには適用できません。 バックアップまたは復元操作を実行するには、ユーザーはルートとしてログインする必要があります。 バックアップ バックアップはバージョン 3 の inode 形式で行なってください。 1. バックアップするファイル・システムを取り外します。 「System Storage Management」 --> 「File Systems」 --> 「Unmount a File System」 2. ファイル・システムをバックアップします。 「System Storage Management」 --> 「File Systems」 --> 「Backup a File System」 増分バックアップ・ストラテジーにより、回復時間を短縮できます。 レベル 0 は全バックアップを示し、レベル 1 から 9 は増分バックアップを示します。 レベル n のバックアップは、レベル (n-1) のバックアップ以後の変更だけをバックアップします。 レベル n のバックアップの次に行なわれるバックアップは、レベル (n+1) のバックアップです。 バックアップは、以下のようにコマンド行からも呼び出せます。 % backup - -uf 例: 全バックアップのとき: % backup -0 -u -f/dev/rmt0 /dlfs1 次の増分バックアップのとき: % backup -1 -u -f/dev/rmt1 /dlfs1 その次の増分バックアップのとき: % backup -2 -u -f/dev/rmt2 /dlfs1 3. バックアップしたばかりのファイル・システムを取り付けます。 「System Storage Management」 --> 「File Systems」 --> 「Mount a File System」 復元 復元は、直前に行なわれたバックアップの 1 つを使用して実行されます。 1. ファイル・システムを復元する装置を取り付けます。 「System Storage Management」 --> 「File Systems」 --> 「Mount a File System」 2. ファイル・システムを復元します。 復元コマンドは、バックアップの形式を認識します。 「System Storage Management」 --> 「File Systems」 --> 「Restore a File System」 復元は、コマンド行から呼び出すこともできます。 復元を実行するディレクトリー (つまり、ファイル・システム装置の取り付け位置) から、 以下のコマンドを実行してください。 % restore -r -f 増分バックアップ・ストラテジーが使用されている場合、最新のレベル 0 バックアップを復元してから、 そのレベル 0 バックアップの後に行なわれたレベル 1 バックアップを復元します。 レベル (n-1) バックアップの後に行なわれたレベル n バックアップを復元します。 ファイル・システムのルートにあるファイル "restoresymtable" が、 増分バックアップの復元の間で変更されていないことを確認してください。 重要: 復元の際に "-M" オプションを使用しないでください。 "-M" オプションはファイルのタイムスタンプを、ファイル・システムが復元された時刻に変更します。 バックアップまたは復元操作が ADSM を介して実行されているとき、 復元操作の後に inode による全バックアップを実行して、以前のバックアップを更新しなければなりません。 バックアップは、専用のメディアを使用して行なってください。 ディレクトリーだけの復元 ユーザーは復元コマンドの "-i" オプションを使用することにより、対話的にファイルを復元できます。 % restore -i -f これにより、バックアツプ内のディレクトリーまたはファイルのリストがユーザーに表示されて、 対話式シェルを使用できるようになります。 "-h" オプションを使用して、特定のディレクトリーを復元できます。 ファイル・システムのディレクトリー階層を現在の状態に戻す ディレクトリーの変更は、ファイル (err_log)/fsysadm.log にログ記録されています。 (err_log) は /etc/sylog.conf ファイルで指定されたエラー・ログのディレクトリーです。 このファイルは内容が切り捨てられずに追加されていきます。 イベントごとに 1 つの項目があります。 ファイル属性の設定もログ記録されます。 エントリーの形式は以下のとおりです。 Time = EUID = UID = GID = Mode = Action = Object type = Path = ここで、 Time はローカル・タイムでの活動時間です。 EUID は処置を行うユーザーの有効ユーザー ID です。 UID と GID は、ファイル/ディレクトリーが作成されたか、あるいはこれを変更した ユーザー ID とグループ ID の属性です。 Mode は、ファイル/ディレクトリーのモードの8 進表示です。 Action は、CREATE (ファイル/ディレクトリーの作成)、 REMOVE (ファイル/ディレクトリーの除去)、あるいは SETATTR (ファイル/ディレクトリーの モードがユーザーにより変更される) のいずれかです。 Object type は、DIR (ディレクトリー)、または FILE (ファイル) です。 Path は、ファイル/ディレクトリーの完全修飾パスです。 ファイル・システムの復元後に調整を実行する db2_reconcile_aid ユーティリティーは、ファイル・サーバーでのディスク障害の後に、 ファイル・サーバー上の DATALINK ファイルのデータと矛盾する可能性のある表を検査して、 調整を実行するメカニズムを提供します。 構文は以下のとおりです。 db2_reconcile_aid -check -db [-server_name ] [-reportdir ] -check: 調整を必要とする可能性のある表をリストします。 調整操作は実行されません。 db_name: 調整操作を実行する必要のあるデータベースの名前。 fileserver_name: 調整操作を実行する DLFM サーバーの名前。 名前を指定しない場合、すべてのファイル・サーバーが調整されます。 report_directory: それぞれの調整操作に関するレポートを含むディレクトリー。 調整が行われた表ごとに、 .. の形式のファイルが作成されます。 は、表のスキーマ名で、 は、表名、 は、.ulk または .exp です。 .ulk ファイルには、ファイル・サーバーでリンク解除 されたファイルのリストが含まれ、.exp ファイルには ファイル・サーバーでの例外であるファイルのリストが 含まれます。詳細については、『コマンド解説書』の RECONCILE コマンドの記述を参照してください。 | 12.8 バックアップの DATALINK 数 (DL_NUM_BACKUP) | 構成タイプ データベース | パラメーター・タイプ 構成可能 | デフォルト [範囲] 3 [ 1 - 31 ] | このパラメーターは、ファイル・マネージャーがバックアップ情報を保存するように、 | 最新の DB2 バックアップ (データベースと | 表スペース両方) の数を指定します。 | データベースからのリンクを解除したファイルはこのファイル値に基づき、 | ごみ箱に入ります。値 1 (1) は、リンクが解除されたファイルは、 | 次の DB2 バックアップの完了でごみ箱に入ります。 | このパラメーターのデフォルト値は 1 (1) バックアップです。 | このパラメーターは "Recovery=Yes" を指定する DATALINK 列に該当します。 12.9 DB2 ファイル・マネージャーの回復のシナリオ どのシステムでも、障害が発生してある程度の回復が必要になる可能性は あります。 DB2 のファイル・マネージャーを使用すると、すでにあるいくつ かの回復シナリオの組み合わせの可能性の幅がさらに広がります。この節 では、考えられるいくつかの障害シナリオと、それらから回復するのに必要 な手順のリストが示されています。 定義 DLFS ファイル・システム - 登録済み接頭部 (/dlink) DLFM バックアップ・ディレクトリー - ファイルのバックアップ先となるディレクトリー (/home/dlfm/dlfm_backup) DLFM ホーム・ディレクトリー - DLFM ユーザー ID のホーム・ディレクトリー (/home/dlfm) DLFM DB2 データベース - すべてのメタデータが入っている DB2 データベース (DLFM_DB) DB2 データベース - DATALINK データ・タイプが入っている登録済みデータベース (CROWN) クラッシュが発生する前にしておいた方がよい作業 DLFM データベース (DLFM_DB)、DLFS ファイル・システム、DLFM バックアップ・ディレクトリー、 および DLFM ホーム・ディレクトリーを別のファイル・システム上に置く。これらがディスク を共有していないことを確認する。 DLFS ファイル・システムと DLFM バックアップ・ディレクトリーを記憶管理機能 (IBM の ADSM など) 上でバックアップする。これにより、ディスク障害が発生 した場合に、その障害からの保護手段が1つ増えることになります。 1 つのデータベースを 1 つまたは複数の DB2 ファイル・マネージャー に関連付ける。2 つのデータベースを 1 つの DB2 ファイル・マネージャー に関連付けることは避けてください。回復シナリオが不必要に複雑になってしまう 場合があります。 DB2 データベース (および DB2 ファイル・マネージャー上の DLFM_DB データベース) の全データベース・バックアップを一定の間隔で実行する。 何に障害が発生するか 以下に示す 4 つの構成要素は、回復を必要とする障害が発生する可能性があります。 o DATALINK 列がある表を含んでいる DB2 データベース o DB2 ファイル・マネージャーのデータベース (DLFM_DB) o DB2 ファイル・マネージャーの DLFS ファイル・システム o DB2 ファイル・マネージャーのバックアップ・ディレクトリー DB2 ファイル・マネージャーの回復シナリオについて、上記のそれぞれの 構成要素ごとに説明します。 次の回復シナリオでは、DB2 ノードと DB2 ファイル・マネージャー・ノード の両方で操作を行わなければならない場合があります。各手順の先頭には 「DB2:」または「DLFM:」のいずれかが示されていますが、これは操作を行うべき ノードを意味しています。 すべての例において、DB2 データベースは「crown」、DATALINK 列を 含んでいる DB2 表は「datalinktable」として示されています。 シナリオ #1A: 障害: DB2 データベースが破損したかドロップされました。DB2 のバックアップとログ・ファイル は使用可能です。 回復の手順: ノード 操作 DB2: db2 "restore database crown" DB2: db2 "rollforward database crown to end of logs" (end of logs は常に時刻指定にすることをお勧めします) DB2: db2 "reconcile table datalinktable" シナリオ #1B: 障害: DB2 データベースが明示的にドロップされました。DB2 のバックアップとログ・ファイル は使用可能です。 回復の手順: データベースのドロップ操作が完了しており、そのデータベースに 関連付けられているすべてのファイルがリンク解除されていることを確認します。 ノード 操作 DLFM: db2 "connect to dlfm_db" DLFM: db2 "select dbid, dbname, dbinst, hostname from dfm_dbid" DLFM: db2 "update dfm_dbid set action=5 where dbid=x'35B3D7BE0006BF7B'" (dbid を、以前の手順で見付けた値と等しくします) DB2: db2 "restore database crown" DB2: db2 "rollforward database crown to end of logs" (end of logs は常に時刻指定にすることをお勧めします) DB2: db2 "reconcile table datalinktable" (入力必須) シナリオ #2: 障害: DLFM_DB が破損しました。DLFM_DB データベースのバックアップとすべてのログ・ファイル は使用可能です。 回復の手順: ノード 操作 DLFM: db2 "restore database dlfm_db" DLFM: db2 "rollforward database dlfm_db to end of logs" シナリオ #3: 障害: DLFM_DB が破損しました。DLFM_DB データベースのバックアップは使用可能ですが、 ログ・ファイルはそのすべてが使用可能であるわけではありません。 回復の手順: ノード 操作 DLFM: db2 "restore database dlfm_db" DB2: db2 "reconcile table datalinktable" シナリオ #4: 障害: DLFS ファイル・システムが破損しました。 回復の手順: ノード 操作 DLFM: DLFS ファイル・システムを記憶管理機能から復元します。 DB2: db2_recon_aid crown シナリオ #5: 障害: DLFM バックアップ・ディレクトリーが破損しました。 回復の手順: ノード 操作 DLFM: DLFM バックアップ・ディレクトリーを記憶管理機能から復元します。 シナリオ #6: 障害: DLFS ファイル・システムが破損しました。DLFM バックアップ・ディレクトリーが破損しました。 回復の手順: ノード 操作 DLFM: DLFM バックアップ・ディレクトリーを記憶管理機能から復元します。 DLFM: DLFS ファイル・システムを記憶管理機能から復元します。 DB2: db2_recon_aid crown シナリオ #7: 障害: DLFM_DB が破損しました。DLFM_DB データベースのバックアップとすべてのログ・ファイル は使用可能です。 DLFS ファイル・システムが破損しました。DLFM バックアップ・ディレクトリー が破損しました。 回復の手順: ノード 操作 DLFM: db2 "restore database dlfm_db" DLFM: db2 "rollforward database dlfm_db to end of logs" DLFM: DLFM バックアップ・ディレクトリーを記憶管理機能から復元します。 DLFM: DLFS ファイル・システムを記憶管理機能から復元します。 (ディレクトリー構造が必要になります) DB2: db2_recon_aid crown シナリオ #8: 障害: DLFM_DB が破損しました。DLFM_DB データベースのバックアップは使用可能ですが、 ログ・ファイルはそのすべてが使用可能であるわけではありません。 DLFS ファイル・システムが破損しました。DLFM バックアップ・ディレクトリー が破損しました。 回復の手順: ノード 操作 DLFM: db2 "restore database dlfm_db" DLFM: DLFM バックアップ・ディレクトリーを記憶管理機能から復元します。 DLFM: DLFS ファイル・システムを記憶管理機能から復元します。 (ディレクトリー構造が必要になります) DB2: db2_recon_aid crown シナリオ #9: 障害: DB2 データベースが破損しました。DLFM_DB が破損しました。DLFM_DB データベース のバックアップとすべてのログ・ファイルは使用可能です。 DLFS ファイル・システムが破損しました。DLFM バックアップ・ディレクトリー が破損しました。 回復の手順: ノード 操作 DLFM: db2 "restore database dlfm_db" DLFM: db2 "rollforward database dlfm_db to end of logs" DLFM: DLFM バックアップ・ディレクトリーを記憶管理機能から復元します。 DLFM: DLFS ファイル・システムを記憶管理機能から復元します。 DB2: db2 "restore database crown" DB2: db2 "rollforward database crown to end of logs" (end of logs は常に時刻指定にすることをお勧めします) DB2: db2 "reconcile table datalinktable" 注 : 指定時刻までロールフォワード (PIT) は、"recovery = no" として定義されたすべての DATALINK 列 を DataLink_Reconcile_Pending (DRP) 状態にする表を設定しない可能性があります。 この表すべてに対して、 指定時刻までロールフォワード後に、DATALINK 値を指定して行を挿入し、 SET CONSTRAINTS ステートメントを発行して、表を DRP に設定し、次に調整ユーティリティーを ユーティリティーを実行します。 12.10 DATALINK 構成ファイルはコマンド行プロセッサー (CLP) での 作成および変更はできない 次のコマンド db2 add file manager は、新規ユーティリティー db2dlcfg と置き換える必要があります。 このユーティリティーの構文は次のとおりです。 db2dlcfg -d -a [-s ] [-p ] -h database name データベースの名前 (必須入力) action 実行される処置 (必須入力) LIST - このデータベースで定義されたすべての DB2 ファイル・マネージャーをリストする ADD - このデータベースによるアクセス用に、 DB2 ファイル・マネージャーを 1 つ追加する server host name DLFM ファイル・マネージャーの完全修飾ホスト名 port number DLFM ファイル・マネージャーのポート番号 -h ヘルプ情報を表示する。このオプションを指定すると、他のすべてのオプションは無視され、      ヘルプ情報のみが表示されます。 例 : db2dlcfg -d SAMPLE -a LIST db2dlcfg -d SAMPLE -a ADD -s myhost.mydomain.mycompany.com -p 10001 DB2 ファイル・ファイルの以前のバージョンからの移動の場合、次の手順が必要です。 1. db2stop を行う。 2. datalink.cfg file の全コピーを除去する (バックアップの保存をお勧めします)。 3. db2dlcfg ユーティリティーを使用して、ファイル・サーバーを追加して datalink.cfg を再作成する。 まったく同じ手順で、ファイル・サーバーを追加する。 例 : cat datalink.cfg 1 myfs1.mydomain.mycompany.com 10001 2 myfs2.mydomain.mycompany.com 10001 4 myfs2.mydomain.mycompany.com 10001 (3 が抜けていることに注意。) mv datalink.cfg datalink.old db2dlcfg -d SAMPLE -a ADD -s myfs1.mydomain.mycompany.com -p 10001 db2dlcfg -d SAMPLE -a ADD -s myfs2.mydomain.mycompany.com -p 10001 db2dlcfg -d SAMPLE -a ADD -s nullfs.mydomain.mycompany.com -p 10001 db2dlcfg -d SAMPLE -a ADD -s myfs4.mydomain.mycompany.com -p 10001 (3 がヌルであることに注意。) 13.0 バージョン 5.2 の前に説明された「概説およびインストール」の変更 このセクションの追加情報は、次の DB2 バージョン 5.0 概説およびインストールに関連します。 o DB2 UDB パーソナル・エディション 概説およびインストール バージョン 5.0 o DB2 UDB エンタープライズ・エディション (OS/2 版) 概説およびインストール バージョン 5.0 o DB2 UDB エンタープライズ・エディション (Windows NT 版) 概説およびインストール バージョン 5.0 13.10 バージョン 5.2 以前に説明された「概説とインストール」の変更 この節にある追加情報は、以下に示す DB2 バージョン 5.0 の『概説およびインストール』 マニュアルに関連したものです。 o 『DB2 UDB パーソナル・エディション 概説およびインストール』バージョン 5.0 o 『DB2 UDB エンタープライズ・エディション (OS/2 版) 概説およびインストール』バージョン 5.0 o 『DB2 UDB エンタープライズ・エディション (Windows NT 版) 概説およびインストール』バージョン 5.0 o 『DB2 UDB エンタープライズ拡張エディション (UNIX 版) 概説およびインストール』バージョン 5.0 13.1 DB2 プロダクト DB2 の各種マニュアルには、DB2 アプリケーション開発者用キットに言及している箇所があります。 このプロダクトには現在のところ 2 つのエディションがあり、 それぞれ IBM DB2 パーソナル開発者版 バージョン 5 と IBM DB2 ユニバーサル開発者版 バージョン 5 というプロダクトになっています。 どちらのエディションも OS/2、Windows NT、Windows 95、Windows 98 の 各プラットフォームに対応しています。 13.2 インストールのプラン この節の更新箇所は、ソフトウェア前提条件と修正に関連したものです。 13.2.1 OS/2 ソフトウェア要件 「サーバー製品の要件」という節の DB2UDB エンタープライズ・エディション およびワークグループ・エディションに関する部分で、オペレーティング・システム についての情報を次のように変更してください。 変更前: 変更後: -------------------- --------------------------------------------- OS/2 Warp Server SMP OS/2 Warp Server Advanced V4 with SMP Feature 「クライアント製品の要件」という節の DB2 クライアント・アプリケーション・イネーブラー (OS/2 版)、SDK、および Net.Data に関する部分でも、同様の変更が必要です。 変更前: 変更後: -------------------- --------------------------------------------- OS/2 Warp Server SMP OS/2 Warp Server Advanced V4 with SMP Feature 13.2.1.1 可能なクライアント・サーバー接続について IPX/SPX を使って Windows 95、Windows 98、 OS/2 の各クライアントとサーバーとの通信を行うことは勧められていません。 このような接続は信頼性が高くありません。Novell 社との調査の結果、IPX/SPX プロトコル のスタック・レベルに問題があることが判明しています。問題があるのは Windows 95 および Windows 98 がサポートする SPX I のレベルと、OS/2 がサポートする SPX I の レベルです。Windows 95 または Windows 98 が接続を交渉すると SPX I レベルの接続 を指定しますが、Windows 95 または Windows 98 上ではこれに SPX II レベルの フルメディア・サイズのサポートが含まれています。しかし、OS/2 が SPX I 接続を 交渉する場合には、フルメディア・サイズはサポートされません。 現在、Novell 社で OS/2 SPX I でのフルメディア・サイズのサポートを開発中であり、 これによって SPX I 接続での一貫した表現が可能になります。これが実現すると、 予期しない大きさのパケットが送信された場合に接続が終了してしまうのを避けられます。 この開発状況を知りたい場合は、SPD147611 の状況について Novell 社にお問い合わせ ください。 13.2.2 NetFinity サポート・プログラムの停止の必要性 - Windows NT 「Netfinity サポート・プログラム」サービスは DB2 UDB のアップグレード時に、 DB2 UDB EEE (Windows NT 版) のインストールに影響します。 DB2 UDB EE を DB2 UDB EEE にアップグレードするには、DB2 UDB EEE の インストールを開始する前に「Netfinity サポート・プログラム」サービス を停止しておく必要があります。 13.2.3 Communications Server for Windows NT - 必要な修正 DB2 コネクト エンタープライズ・エディション (Windows NT 版) と IBM Communications Server for Windows NT (CS/NT) を使用する場合、 ホスト照会の取り消し (SQL CANCEL) を有効にするには DB2 UDB バージョン 5.2 (または DB2 UDB Extended Enterprise Edition for Windows NT) と、 CS/NT 用の APAR 修正 JR11529 および JR11170 が必要になります。 13.2.4 区画データベース・ユーザーにお勧めするクライアント・アプリケーション・イネーブラー のアップグレード DB2 UDB V5.0 のクライアント・アプリケーション・イネーブラーを使用する場合、 コントロール・センターを使ってエンタープライズ拡張エディション (EEE) で 区画化したデータベース・インスタンスに接続すると問題が生じることがあります。 DB2 コネクトおよび UDB バージョン 5 に最初から付属しているコントロール・センター には、区画データベース・システムを管理するのに必要な管理機能が組み込まれていません。 その結果、UDB EEE 管理機能を実行するには DB2 クライアントをアップグレード する必要があります。次のような場合には、この作業が必要であることを示します。 o コントロール・センターを使ってこれらの機能を実行しようとするたびに コントロール・センターがクローズする。 o リモート・データベースのバックアップと復元がコマンド行からできる ように見えるが、ユーザーがそのデータベースをロールフォワードできない。 ロールフォワード中にシステム・エラーが発生するため、クライアント・ワークステーション で db2 プロセスを終了させてリブートしなければならなくなる。 1 つの物理ノードにつき複数の論理ノードがある場合、backup コマンド と restore コマンドは DB2 バージョン 2 クライアントからサポートされていません。 通常は、コントロール・センターを使って DB2 UDB EEE サーバーを管理したい場合には、 クライアント・アプリケーション・イネーブラーをアップグレードしなければなりません。 この問題に対する修正の最初のものは、以下に示す DB2 UDB V5.0 の最初の FixPak で 提供しています。 AIX U452196 Solaris U452197 HP-UX U452198 OS/2 WR09003 Windows NT WR09004 Windows 3.1 WR09006 上記のファイルは "http://www.software.ibm.com/data/db2/db2tech" から 入手可能です。さらに、適正なレベルのクライアントは DB2 UDB および DB2 コネクト エンタープライズ・エディション バージョン 5.2 に同梱してある クライアント・パックに収められています。 DB2 UDB の FixPak は累積方式になっているため、これらの修正は FixPak 2、3、 4、5、および 6 にも組み込まれています。さらに、クライアント・アプリケーション・イネーブラーも DB2 UDB EEE バージョン 5 の Windows NT 対応版と Solaris 対応版に組み込まれています。 13.2.5 Windows ODBC ユーザーにお勧めするクライアント・アプリケーション・イネーブラー のアップグレード Windows NT および Windows 95 クライアントから ODBC アプリケーションを使用する 場合は、DB2 クライアント・アプリケーション・イネーブラーの FixPak のレベルを WR09014 以上にアップグレードすることをお勧めします。 この修正は "http://www.software.ibm.com/data/db2/db2tech" から入手可能です。 さらに、適正なレベルのクライアントは DB2 UDB および DB2 コネクト エンタープライズ・エディション バージョン 5.2 に同梱してある クライアント・パックに収められています。 13.2.6 AIX での ADSM にお勧めする修正レベル AIX で区画化したデータベース環境では、ADSM を使って表スペースのオンライン・バックアップ を実行した後にそのデータベースを復元すると、DB2 に障害が発生することがあります。 症状としては、オンライン復元が失敗してその DB2 インスタンスが停止し (トラップ)、 診断メッセージ "SIG11sqloEDUCodeTrap" が表示されます。この問題を解決する方法は、 ADSM クライアントの FixPack 2.1.0.6 またはそれ以上をインストールすることです。 13.2.7 Windows NT での 2 フェーズ・コミットのサポートには CS/NT が必要 IBM Communications Server V5.01 for Windows NT (CS/NT) で DB2 Syncpoint Manager (SPM) を使用した場合に、SNA による 2 フェーズ・コミットが Windows NT 上で サポートされるようになりました。 SNA をベースにしたバージョンの SPM は、次の製品の一部になっています。 o DB2 コネクト エンタープライズ・エディション (AIX 版) o DB2 コネクト エンタープライズ・エディション (OS/2 版) o DB2 コネクト エンタープライズ・エディション (Windows NT 版) o DB2 UDB エンタープライズ・エディション (AIX 版) o DB2 UDB エンタープライズ・エディション (OS/2 版) o DB2 UDB エンタープライズ・エディション (Windows NT 版) o DB2 UDB エンタープライズ拡張エディション (AIX 版) o DB2 UDB エンタープライズ拡張エディション (Windows NT 版) SPM を使用すると、SPM が提供する SNA 2 フェーズ・コミットのデータ保護 を使った DB2 コネクト EE を介し、DB2 UDB クライアント・アプリケーション がホスト・データにアクセスできるようになります。同様に、 ホスト・データベース・アプリケーションも DB2 UDB サーバー上のデータ にアクセスできます。 13.2.7.1 CS/NT を Windows NT サービスの 1 つとして登録する IBM Communications Server for Windows NT (CS/NT) のインストール後には、それを Windows NT サービスの 1 つ として登録しなければなりません。こうすることにより、マシンのブート時に CS/NT が 自動的に起動します。 CS/NT を Windows NT サービスとして登録するには次のコマンドを実行します。 CS/NT をデフォルトの構成ファイルで自動開始する場合: csstart -a あるいは、次のようにすることもできます: csstart -a c:\ibmcs\private\your.acg C:\IBMCS\PRIVATE\YOUR.ACG は、使用したいデフォルト以外の CS/NT 構成ファイル です。 CS/NT はそのマシンの次回のブート時に要求された構成ファイルで自動的に開始 します。 13.2.8 Windows NT および Windows 95 での DCE サポート DB2 ユニバーサル・データベースおよび DB2 コネクト バージョン 5.2 は次のものに 対するサポートを提供します。 o Windows NT および Windows 95 上での勾配 DCE CDS o Windows NT 上での IBM DCE CDS 次の 2 つの DLL が新たに提供されています。 o db2dce.grd (勾配 DCE CDS で使用) o dcedce.ibm (IBM DCE CDS で使用) デフォルトの場合、"db2dce.grd" は "db2dce.dll" にコピーされています。 注: DB2 がロードするのは "db2dce.dll" だけです。IBM DCE CDS を使用 したい場合は "dcedce.ibm" を "db2dce.dll" にコピーしなければ なりません。 APPC、IPX/SPX、NETBIOS、および TCP/IP を利用した既存のサポートに加え、 名前付きパイプ (NPIPE) ネットワーク・プロトコルを利用した DCE のサポート が提供されるようになりました。さらに、DB_Communication_Protocol 属性 を有する DCE オブジェクトに対して、以下の例のような制御ステートメント を次のような値で指定することもできます。 NPIPE;Computer_name;Instance_name 詳細については、『管理の手引き』の付録 G を参照してください。 | 13.2.9 推奨 Windows NT レベル Windows NT 上で DB2 のロー・デバイスに対してログ記録を行うには、 Microsoft Service Pack 3 for Windows NT 4.0 が必要になります。 | A problem where Windows NT committed memory would rise to equal real memory | has been fixed in Microsoft Service Pack 4. 13.2.10 SYSADM 権限に関する想定 (UNIX) UNIX の「概説とインストール」マニュアルの機密保護について説明している部分では、 データベース・マネージャーの構成ファイル中の SYSADM_GROUP パラメーター をユーザーがまだ構成していないことを想定しています。SYSADM_GROUP パラメーター を構成していないと、デフォルトとしてインスタンス所有者の 1 次グループ が SYSADM グループになります。 「概説とインストール」では常に、インスタンス所有者の 1 次グループを SYSADM 権限 を有しているグループとして言及しています。しかし、SYSADM_GROUP パラメーター がすでに構成済みである場合は、マニュアル中のこのような言及箇所を、 データベース・マネージャーの構成ファイル中で自分が定義した SYSADM グループ で読み替える必要があります。 13.3 インストールと構成に関するその他の作業 この節の更新部分は、インストールと構成の作業に関連しています。 13.3.1 同期点マネージャー (SPM) 用の CS/NT の構成 SNA を介して SPM を使用する場合、IBM Communications Server for Windows NT バージョン 5.01 が必要になります。DB2 バージョン 5.2 では TCP/IP を介した SPM もサポートしています。DB2 コネクト エンタープライズ・エディションの 「概説とインストール」の 22 章では SPM のセットアップに関する説明があります。 以下に示す追加の手順では、DB2 コネクトで CS/NT がすでに構成してあることを 想定しています。DB2 コネクト エンタープライズ・エディションの「概説とインストール」 の 14 章を参照してください。 1. SPM が使用する LU は、CS SNA Node Configuration/Configure Local LU 6.2 を 使って CS/NT で定義できます。 2. LU では同期点が有効になっていなければなりません。これは次の方法で実現します。 a. CS/NT Configuration Verification プログラムを開始します。 b. 必要とする構成ファイルを見付けます。 c. このファイルを編集します。 d. SPM が使用する LU 定義を探し出します。次のような定義が見つかるはずです。 LOCAL_LU=(LU_NAME=SPMNAME LU_ALIAS=SPMNAME LU_SESSION_LIMIT=0 NAU_ADDRESS=0 ROUTE_TO_CLIENT=0 SYNCPOINT_SUPPORT=0) e. SYNCPOINT_SUPPORT=0 を SYNCPOINT_SUPPORT=1 に変更します。 f. このファイルを保管します。 3. 新しい構成を検査してみます。 4. DB2 を停止します。 5. DB2COMM レジストリー値に "APPC" が含まれていることを確認します。 DB2 コネクト EE の「概説とインストール」の 24 章および 39 章を参照して ください。 6. CS/NT ノードを停止してから再び開始します。 この LU で同期点サポートが有効になっていることを確認するには、 CS/NT SNA Node Operations にある "Local LU6.2" のところの情報 を調べてください。LU の "Syncpoint Support" 列が "Yes" に なっていなければなりません。 7. データベース・マネージャーの構成を更新して、DIAGLEVEL を 4 に設定します。 update dbm cfg using diaglevel 4 この設定は、出される可能性のある SPM 関連の診断メッセージを表示できる ようにするのに必要です。 8. DB2 を開始します。 9. "db2diag.log" を調べます。(環境変数 DB2PATH と DB2INSTANCE をそれぞれの デフォルト値に設定した場合、このファイルはディレクトリー SQLLIB\DB2 に あります)。SPM が正常に開始されているなら、その影響に対するメッセージ はここに表示されます。 さらに、SPM を開始するのが初めてである場合には、ディレクトリー "\sqllib\spmlog" が作成される点にも注意してください。このディレクトリーが存在しない場合、 あるいは SPM の開始が失敗したことを診断結果が示している場合は、DB2 と CS/NT の 構成をもう一度調べる必要があります。 DB2 コネクト エンタープライズ・エディションの「概説とインストール」マニュアル には、更新時に次のような情報が追加されます。 13.3.1.1 SNA SPM を使用した場合の追加情報 1. DB2 より前に CS/NT を開始することは重要です。DB2 はそれ自身の 始動プロシージャーを完了する前に、CS/NT が開始するのを待機します。 そのため、CS/NT が DB2 より前に開始しない場合、DB2 は開始中に ハングしたように見えますが、実際には CS/NT が開始するのを 待っています。CS/NT はできる限り Windows NT サービスの 1 つ として登録するようにしてください。3.12.2.8、『Windows NT での 2 フェーズ・コミットのサポートには CS/NT が必要』を参照してください。 CS/NT はその後、自動的に開始します。 2. DB2 コネクト エンタープライズ・エディションの「概説とインストール」 の 22 章にしたがって環境をセットアップしている間は、Microsoft Transaction Server が Transaction Processing (TP) Monitor になります。それで、 Microsoft Transaction Server を使用している場合は、 トランザクション・マネージャー・データベースは必要ありません。 DB2 コネクト エンタープライズ・エディションの「概説とインストール」マニュアル には、更新時に次のような新しい情報が含められます。 | 13.3.2 AIX バージョン 4.1.4 および 4.1.5 の NIS ユーザーに影響を与える問題 | 注: このセクションは AIX バージョン 4.1.4 の制約事項が含まれた、バージョン 5.2 | リリース・ノートから更新されます。 | AIX バージョン 4.1.5 の制約事項は以前に説明されています。 | AIX バージョン 4.1.4 と 4.1.5 で、ユーザーがパスワード認証のために Network Information | System (NIS) を実行している場合、コマンド行プロセッサーがタイムアウトに | なると、メッセージ DB21015E を受け取る可能性があります。 AIX バージョン 4.1.5 以降では、ユーザーがパスワード認証用に Network Information System (NIS) を稼働させていると、コマンド行プロセッサーが時間切れになった場合にメッセージ DB21015E を 受け取ることがあります。 このような場合、コマンド行プロセッサーのバックエンド・プログラムは NIS マスター・サーバーからの DB2 インスタンスのユーザー ID を認識 できません。この問題を正すには次のようにします。 1. NIS マスター・サーバーからユーザー ID を除去します。 2. 各マシン上にローカルに置かれている "/etc/passwd" ファイル中にユーザー ID を 作成します。その際に、ユーザー ID は必ずファイル中の NIS magic cookie より 前に置いてください。magic cookie は次のようになっています。 :!:::::: 13.3.3 db2cpic.dll - Windows NT および Windows 95 での Extended SNA Security Codes 一部の SNA サブシステム・プロバイダーでは Extended SNA Security Codes が インプリメントされていません。これは、以下のうち 1 つまたは複数のものを 使用している顧客に影響することがあります。 o DB2 ユニバーサル・データベース (UDB) (Windows NT 版) バージョン 5 (すべてのエディション) o DB2 コネクト エンタープライズ・エディション (Windows NT 版) バージョン 5 o DB2 コネクト パーソナル・エディション バージョン 5 (Windows 95 または Windows NT 上で実行している場合) 上記のような環境で Extended SNA Security Codes をサポートするために、db2cpic2.dll という新規の DLL が用意されています。新しい DLL は元は、DB2 ユニバーサル・データベース・バージョン 5 の FixPak と一緒にパッケージされていました。 これは、オリジナルの DLL db2cpic.dll と同じですが、 こちらには 2 次的情報を抽出するための呼び出し (cmesi()) が入っていることが異なります。 +---------------------------------------------------------------------------+ | 表 4.使用すべき db2cpic.dll のバージョン | +------------------------+-------------------------+------------------------+ | すでにこの SNA サブ | | | | システムがある場合 | Windows NT 上で使用 | Windows 95 上で使用 | +------------------------+-------------------------+------------------------+ | IBM Communications | db2cpic2.dll (新しい方) | db2cpic.dll (古い方) | | Server for Windows NT | | | +------------------------+-------------------------+------------------------+ | IBM Personal | db2cpic2.dll | db2cpic.dll | | Communications for | | | | Windows (下記の注を | | | | 参照) | | | +------------------------+-------------------------+------------------------+ | Microsoft SNA Server | db2cpic.dll | db2cpic.dll | +------------------------+-------------------------+------------------------+ | Wall Data RUMBA (および| db2cpic2.dll | db2cpic2.dll | | DB2 コネクト パーソナル| | | | ・エディションで提供さ | | | | れる Integrated SNA | | | | Support) | | | +------------------------+-------------------------+------------------------+ DB2 が db2cpic2.dll のロードに失敗した場合は、DB2 がインストールされた ディレクトリーで次のコマンドを実行します。 copy db2cpic2.dll db2cpic2.bak copy db2cpic.dll db2cpic2.dll これにより、db2cpic2.dll が db2cpic.dll と同じになります。 注: Extended Security Support を Windows 95 上の DB2 UDB バージョン 5.0 で使用したい場合は、IBM Personal Communications (PComm) for Windows 95 バージョン 4.2 (バージョン 4.1 ではない) を使用することをお勧めします。    db2cpic.dll を db2cpic.bak にコピーし、db2cpic2.dll を db2cpic.dll にコピーします。 これにより、db2cpic.dll が db2cpic2.dll と同じに なります。 13.3.4 Windows NT 用の DB2NTMEMSIZE プロファイル変数 DB2 エンタープライズ拡張エディション (Windows NT 版) の「概説とインストール」 マニュアルの「DB2 環境の制御」には、「DB2NTMEMSIZE は DB2 の共用メモリー・セグメントの上限を変更するのに使用します」という 間違った記述があります。 Windows NT ではプロセス間でアドレスが確実に一致するように、DLL の初期化時に すべての共用メモリー・セグメントが予約されます。また、新しいプロファイル変数 DB2NTMEMSIZE が導入され、ユーザーは必要に応じて Windows NT 上での DB2 の デフォルトを変更できるようになっています。ほとんどの場面では、デフォルト値 のままで十分です。 次に、メモリー・セグメントとそのデフォルトのサイズのリストを示します。 メモリー・セグメント デフォルトのサイズ 上書きオプション ---------------------------------------------------------------------------- データベース・カーネル 16777216 (16MB) DBMS:[バイト数] MPP FCM バッファー 33554432 (32MB) FCM:[バイト数] データベース管理 GUI 33554432 (32MB) DBAT:[バイト数] 隔離された DARI 16777216 (16MB) APLD:[バイト数] 上書きオプションを ':' で区切ることにより、複数のセグメントを上書きできます。 たとえば、DBMS を (およそ) 256K に、また FCM を (およそ) 64B に制限するには、 次のコマンドを使用します。 db2set DB2NTMEMSIZE=DBMS:256000:FCM:64000000 13.4 コントロール・センターの「スナップショット・モニター (Snapshot Monitoring)」 OS/2 では、「スナップショット・モニター (Snapshot Monitoring)」の 「パフォーマンス・グラフ・ビュー (Performance Graph View)」のサイズを変更すると、 コントロール・センターがエラー・メッセージを表示せずにシャットダウンすることが あります。 データベース・オブジェクト (インスタンスやデータベースなど) またはそのいずれか の子オブジェクトに対するスナップショット・モニターを実行している間は、その オブジェクトの更新、変更、削除のいずれの処置も実行できません。 (さらに、区画データベース・システムをモニターしている場合は、 区画データベース・オブジェクトの視点を最新表示できません。) たとえば、データベース A のインスタンスを除去したい場合にはそのデータベース はモニターできません。ただし、インスタンスのみをモニターしているなら、 データベース A を更新することは可能です。 インスタンスに対するすべてのモニター (その子オブジェクトもすべて含む) を 停止するには、そのインスタンスのポップアップ・メニューから 「モニターをすべて停止 (Stop all monitoring)」を選択します。 モニターの停止は常にインスタンスから行うことが必要です。これにより、 パフォーマンス・モニターが保持しているすべてのロックが確実に解放されます。 13.5 Web からの DB2 データへのアクセス DB2 での Java (インスタンスの JDBC) の使用に関する情報は、インターネット の次の場所にあります。 http://www.software.ibm.com/data/db2/java/ 13.6 RS/6000 SP でのネットワーク関連のパラメーターの設定 以下に示す情報を、『IBM DB2 ユニバーサル・データベース エンタープライズ拡張 エディション (AIX 版) 概説およびインストール』の 6 章、「DB2 ユニバーサル・データベース エンタープライズ拡張エディションのインストール」の手順 1、「インストールの準備」 の最後の部分にあるヒントに追加してください。このヒントでは、 ネットワーク関連のパラメーターをすべての SP ノードに確実に設定する 方法について説明しています。 「no -a コマンドを使用すると、ネットワーク・パラメーターの現在の設定値 を表示できます」という注記の後に、次の段落を追加してください。 上記の値はパラメーターの最小値になっています。すでにいずれかの ネットワーク関連パラメーターをより大きい値に設定している場合、 そのパラメーターを上記の小さい値には設定しないでください。 「css0 の構成を表示するには」という文の後に、次の段落を追加してください。 システムの調整に /tftpboot/tuning/cst ファイルを使っていない場合、 ネットワーク関連パラメーターを設定するのに使えるのは次の方法だけです。 13.7 区画データベース環境での CCA およびコントロール・センターのセットアップ (DB2 ユニバーサル・データベース エンタープライズ拡張エディション (AIX 版)) 以下に示す情報を、『IBM DB2 ユニバーサル・データベース エンタープライズ 拡張エディション (AIX 版) 概説およびインストール』の 6 章、「DB2 ユニバーサル・データベース エンタープライズ拡張エディションのインストール」のステップ 8、『クライアント構成アシスタントおよび コントロール・センターのセットアップ」に追加してください。 パフォーマンス上の理由から、キー・カタログ・ノードまたはコントロール・センター・ノード 上の管理サーバーではなるべく discover=SEARCH を設定しないでください。 クライアント要求を異なる調整プログラム・ノード間で分散する追加の方法が あります。クライアント構成アシスタントの IMPORT/EXPORT または 手動のカタログ機能を使って作業負荷を分散できます。別の方法としては、 ロードレベラー・プロダクトを使ってクライアント要求を透過的に分散できます。 ノード上で管理サーバーが 1 つも実行中でない場合は、コントロール・センター の「サーバーの通信セットアップ (Server Communications Setup)」を使って 区画データベース環境内のノード (データベース区画サーバー) のリモート・セットアップ を実行することはできません。 ディスカバリーは TCP/IP プロトコルを使用する場合にサポートされます。 IPX/SPX ファイル・サーバーのアドレス指定は、区画データベース環境内では サポートされません。 13.8 前のバージョンからの移行 (UNIX) 「データベース移行が可能かの確認」の節の最初の部分に、インスタンス の移行の準備として DB2 を停止する必要がある、という記述がありますが、この記述は正しくありません。 "db2ckmig" ツールを正常に動作させるには データベース・マネージャーが実行中でなければなりません。この同じ節で、 次の部分を変更してください。 DB2DIR/instance/db2ckmig -e -a 0 -1 INSTHOME/migration.log 上記の部分を次のように変更します。 DB2DIR/bin/db2ckmig -e -a 0 -l INSTHOME/migration.log 「DB2 インスタンスの移行」の節では、"db2imigr" コマンド構文に オプション・パラメーターとして "-u fencedID" が指定されています。 この -u オプションが必要ないのは DB2 クライアント・アプリケーション・イネーブラー がインストールされている場合だけであり、その他のすべての DB2 プロダクトについては -u オプションは必須です。 13.9 DB2 SNMP サブエージェント シンプル・ネットワーク管理プロトコル (SNMP) プロダクトには、IBM NetView for AIX と IBM NetView for OS/2 が組み込まれています。DB2 は DB2 SNMP サブエージェントを介して SNMP 管理プロダクトに対するサポートを提供します。このサブエージェントは DB2 サーバー の構成要素として組み込まれているものです。SNMP 管理プロダクト (NetView など) は、 システムのハードウェアとソフトウェアの両方の構成要素に対する集中的な管理を実現します。 DB2 SNMP サブエージェントを使用すれば、DB2 サーバーをあたかも SNMP が管理する他の リソースと同じように管理することが可能になります。 SNMP サブエージェントを使用するためのソフトウェア要件は次のとおりです。 o OS/2 の場合: - TCP/IP バージョン 2.0 以降が提供する DPI 1.1 サポート、または - OS/2 Warp でインストールした Warp Connect が提供する DPI 2.0 サポート、または - IBM SystemView Agent が提供する DPI 2.0 サポート o Windows NT または AIX の場合: - IBM SystemView Agent が提供する DPI 2.0 サポート 13.10 CCA を使用した、DB2 サーバー通信に対するクライアントの構成 IBM Communications Server SNA API Client for Windows NT または Windows 95 を使って正しく接続するには、APPC を介して接続を行う GUI アプリケーションを 何か開始する前に、APING アプリケーションを開始しなければなりません。 そのような GUI アプリケーションには、クライアント構成アシスタント (CCA)、 コントロール・センター、ODBC の GUI アプリケーションなどがあります。 13.11 OS/2 ユーザー・プロファイル管理の管理と使用 「ユーザー・プロファイル管理パスワード」の節にある、ユーザー ID とパスワード の変換後の値に言及している表 7 の記述に変更すべき箇所があります。表 7、 「デフォルトのユーザー ID およびパスワード」には次のような記述があります。 自分の国がリストに示されていない場合は、USERID および PASSWORD が 使われるとみなします。これが失敗するようであれば、README ファイル を参照してください。 この記述はすでに有効ではないので無視してください。 13.12 Solaris での EEE 用の ADSM クライアント・セットアップ - db2profile の使用 DB2 UDB エンタープライズ拡張エディション (Solaris 版) の ADSM クライアントを セットアップする場合、db2profile 中に ADSM 環境変数 DSMI_DIR、DSMI_CONFIG、および DSMI_LOG をセットアップしなければなりません。これらの変数が単に .profile または .kshrc を使ってエクスポートしただけのものであれば、区画データベース環境内の 各ノードはこれらの変数を使用できません。Solaris 上の ADSM クライアントは、 バージョン 2.1.0.8 またはそれ以降でなければなりません。 13.13 DB2 (OS/390 版) バージョン 5 から DB2 ユニバーサル・データベース バージョン 5 への接続 以下に示す情報を、DB2 ワークステーションをホスト・アプリケーション用のサーバー として使用する方法を説明した章の、DRDA アプリケーション・サーバーで必要な PTF を列挙してある節に追加してください。 DB2 (OS/390 版) バージョン 5 から DB2 ユニバーサル・データベース バージョン 5 に接続する予定の場合は、DB2 (OS/390 版) の修正である APAR PQ07537 を適用して ください。 13.14 Windows NT サーバーでの NetBIOS の構成 Windows NT 上の NetBIOS は、受信バッファーより大きいデータを正しく受信できません。 しかし、DB2 レジストリー値 db2nbrecvbuffsize を使用すればこの問題を回避できます。 サーバー上の受信バッファーは、クライアントが送信する最大のデータの大きさ よりも大きく設定する必要があります。RQRIOBLK のデフォルトのサイズは 32767 バイトですが、サーバーのデフォルトの「受信バッファー・サイズ」は 4096 バイト です。DB2 を開始する前に、次のコマンドを発行してください。 db2set db2nbrecvbuffsize=32768 -g このコマンドは、サーバーの受信バッファー・サイズをグローバルに設定します。 13.15 共用メモリー・アドレス - Windows NT または Windows 95 Windows NT または Windows 95 の場合、以下に示す改訂情報が「概説とインストール」 の「インスタンスの管理」の節に適用されます。 データベース・マネージャーのデフォルトの共用メモリー・アドレスは、 Windows NT の場合は x'20010000'、Windows 95 の場合は x'90000000' です。 共用メモリー・アドレスの衝突が起きた場合、この値を修正すると、 データベース・マネージャー・インスタンスが別のアドレスにその共用メモリーを割り当てるようにできます。 DB2DBMSADDR レジストリー・プロファイル値により、Windows NT の場合は x'20010000' 〜 x'B0000000' の範囲で、Windows 95 の場合は x'80000000' 〜 x'B00000000' の範囲でアドレス値を (x'4000000' 単位で) 割り当ててください。たとえば Windows 95 の場合、 x'840000000'、x'88000000'、x'8C000000'、... のように値を試します。 DB2DBMSADDR の値は先頭に 0x を指定しない 16 進形式で、プロファイル・レジストリー・コマンド db2set を使って設定できます。 たとえば、DB2DBMSADDR を x'84000000' に設定するには次のコマンドを使います。 db2set DB2DBMSADDR=84000000 13.16 Windows NT サービスとしての DB2 JDBC アプレット・サーバーの実行 『概説およびインストール』および『管理の概説』の 「Java アプリケーションの実行」 - 「Java アプレット」の見出しには次のような情報があります。 アプレットを実行するには次のようにします。 1. 次のように入力し、ウェブ・サーバー上で DB2 JDBC アプレット・サーバーを開始します。 db2jstrt portno portno は、DB2Applt.java ファイルで指定した未使用の TCP/IP ポートの番号です。 以下に示してあるように、この情報はすでに有効ではありません。 DB2 の JDBC アプレット・サーバーは Windows NT サービスの 1 つとして開始できる ようになりました。これをコントロール パネルの「サービス」のところに表示させるには、 まず最初にそれをサービスとして登録する必要があります。 サービスを登録するには、管理者としてログオンしているときに次のコマンドを 実行します。 db2regjdbc i 指定の userid で実行するようサービスを登録するには、次のコマンドを実行します。 db2regjdbc i [userid] [password] サービスを除去するには、次のコマンドを実行します。 db2regjdbc u サービスを登録すると、コントロール パネルの「サービス」からその開始と停止 を行うことができます。 1. 「コントロール パネル」を開きます。 2. 「サービス」をクリックします。 3. 「DB2 JDBC アプレット・サーバー (DB2 JDBC Applet Server)」を強調表示します。 4. コマンド・フィールドにポート番号を入力します (DB2Applt.java ファイル で指定した未使用 TCP/IP ポートの番号)。「開始 (Start)」をクリックします。 サービスは、自動的に開始および停止するよう設定することもできます。 13.17 情報の入手 13.17.1 オンライン・ヘルプ SQL ステートメントの構文を説明しているトピック、『SQL ヘルプ』は UNIX ベース のオペレーティング・システムにはありません。 13.17.2 DB2 ブック DB2 ブックについての情報が含まれている表の、下の部分にある最初の注記 の言語識別子のリストに、次の項目を含めてください。 言語 識別子 ____ ______ ギリシャ語 A 日本語 J 韓国語 K 中国語 (簡体字) C 中国語 (繁体字) T 13.17.3 PostScript ブックの印刷 印刷したマニュアルが欲しい場合には、PostScript バージョンのマニュアルを 圧縮解除して印刷することができます。 注: 印刷したいファイルはフルパス名を指定してください。 プラットフォームが OS/2 および Windows の場合: 1. 圧縮した PostScript ファイルを、自分のシステムのハード・ディスク にコピーします。これらのファイルの拡張子は .exe で、 x:\doc\language\books\ps ディレクトリーにあります。なお、x: は CD-ROM ドライブを表す文字、language は言語を表す 2 文字の国別コード (たとえば、英語の場合は EN) です。 2. 必要とするブックに相当するファイルを圧縮解除します。この手順により、 ファイル拡張子が .psz で印刷可能な PostScript ファイルができます。 3. 省略時プリンターが PostScript のプリンターであり、印刷レベル 1 (または同等レベル) の ファイルを扱うことができるかどうか確認してください。 4. コマンド行から次のコマンドを入力します。 print filename.psz プラットフォームが UNIX ベースである場合: 1. CD-ROM をマウントします。CD-ROM をマウントする手順については、 「概説とインストール」を参照してください。 2. CD-ROM 上の /cdrom/doc/%L/ps ディレクトリーに変更します。/cdrom は CD-ROM のマウント・ポイント、%L は必要とするロケールの名前です。 マニュアルは前述のディレクトリーに、名前の最後が .ps.Z のファイル としてインストールされます。 3. 次のコマンドを使って、必要なマニュアルを圧縮解除して印刷します。 o AIX の場合: zcat filename | qprt -P PSPrinter_queue o HP-UX、Solaris、または SCO UnixWare 7 の場合: zcat filename | lp -d PSPrinter_queue o Silicon Graphics IRIX および SINIX の場合: zcat < filename | lp -d PSPrinter_queue なお、filename はフルパス名および圧縮した PostScript ファイルの拡張子、 PSprinter_queue は PostScript プリンター待ち行列です。 たとえば、UNIX 版の「概説とインストール」の英語バージョンを AIX 上で 印刷するには、次のようなコマンドを使うことができます。 zcat /cdrom/doc/en/ps/db2ixe50.ps.Z | qprt -P ps1 13.17.4 オンライン・ブックの表示 このプロダクトに含まれているマニュアルは、ハイパーテキスト・マークアップ言語 (HTML) によるソフトコピー形式になっています。ソフトコピー形式になっている ことによって情報の検索やブラウズを行うことができ、関連情報への ハイパーテキスト・リンクが提供されます。さらに、ライブラリーを使用現場 で共有することが容易になります。 オンライン・ブックを表示するブラウザーは、HTML バージョン 3.2 準拠であれば どれでも使用できます。 オンライン・ブックは次のように表示します。 o DB2 管理ツールを実行中であれば、インフォメーション・センターを使用します。 o ご使用の Web ブラウザーのファイルのオープン機能を使用します。オープンする ページには DB2 ブックについての説明と、DB2 ブックへのリンクが表示されます。 - プラットフォームが UNIX ベースの場合、次のページをオープンします。 file:/INSTHOME/sqllib/doc/%L/html/index.htm %L はロケール名です。 - それ以外のプラットフォームの場合、次のページをオープンします。 sqllib\doc\html\index.htm このパスは、DB2 をインストールしたドライブにあります。 さらに、このページは「DB2 ONLINE BOOKS」アイコンをダブルクリック してオープンすることもできます。ご使用のシステムによって、この アイコンはプロダクトのメイン・フォルダーや Windows の「スタート」 メニューにあります。 注: 「DB2 ONLINE BOOKS」アイコンが使用可能なのは、 インフォメーション・センターをインストールしていない場合 だけです。 13.17.5 Document Server のセットアップ デフォルトでは、DB2 関連の情報はご使用のローカル・システムにインストール されます。このことは、DB2 関連の情報にアクセスする必要のある各人が、 同じファイル群をインストールしなければならないことを意味します。 DB2 情報をただ 1 つの場所に格納しておくには、次の手順に従ってください。 1. 自分のローカル・システム上の \sqllib\doc\html からすべてのファイル とサブディレクトリーを Web サーバーにコピーします。それぞれのブック には、それを構成するのに必要なすべての HTML および GIF ファイル が入っている専用のサブディレクトリーが存在します。それで、ディレクトリー構造 が同じままであることを確認してください。 2. Web サーバーが新しい場所でファイルを探すよう構成します。詳しくは、 次の場所にある『Setting up DB2 Online Documentation on a Web Server』 を参照してください。 http://www.software.ibm.com/data/pubs/papers/db2html.html 3. ご使用のインフォメーション・センターが Java 版のものであれば、 すべての HTML ファイルに基本 URL を指定できます。この場合、 ブックのリストではそれらの URL を使用しなければなりません。 4. ブックのファイルを表示できるようになったなら、よく表示する以下のような トピックにブックマークを付けてください。 o ブックのリスト o 頻繁に使用するブックの目次 o よく参照するアーティクル (ALTER TABLE に関するトピックなど) o 検索画面 検索についての情報は、What's New マニュアルを参照してください。 13.17.6 オンライン・ブックの検索 HTML ブック中の情報を検索するには次のようにします。 o HTML ブックのどのページの下の部分にもある「DB2 ブックの検索 (SEARCH THE DB2 BOOKS)」 をクリックします。特定のトピックを見付けるには検索画面を利用します。 o HTML ブックのどのページの下の部分にもある「索引 (INDEX)」をクリックします。 この索引を使って、ブック中の特定のトピックを見付けます。 o HTML ブックの目次または索引を表示してから、Web ブラウザーの検索機能を 使ってブック中の特定のトピックを見付けます。 o Web ブラウザーのブックマーク機能を使用すると、特定のトピックにすばやく 戻ることができます。 o インフォメーション・センターの検索機能を使って特定のトピックを見付けます。 13.18 Microsoft インターネット・エクスプローラ 4.0 HTTP 1.1 のセットアップ 現時点では、インターネット・エクスプローラのデフォルト設定が DB2 検索サーバー と競合してしまっています。それで問題の回避方法として、(文書にアクセスする 各クライアント上で) インターネット・エクスプローラの拡張オプションにある HTTP 1.1 設定のチェック・ボックスを選択解除してください。これを有効にするには、 インターネット・エクスプローラの制約事項としてシステムのリブートが必要となって いますので注意してください。 1. 「表示 (View)」メニューから「インターネット オプション (Internet Options)」 を選択します。 2. 「詳細設定 (Advanced)」タブを選択します。すると、チェックボックスが並んだ 一連のセクションが表示されます。 3. 「HTTP 1.1 設定 (HTTP 1.1 settings)」のセクションにある、 「プロキシ接続経由で HTTP 1.1 を使用 (Use HTTP 1.1 through proxy connections)」 および「HTTP 1.1 を使用 (Use HTTP 1.1)」チェックボタンの選択を解除します。 4. 「OK」を選択します。 5. 新しい設定を有効にするため、Windows をいったんシャットダウンしてから リブートします。 13.19 コントロール・センターを使ってクラスターをリモート管理するときの 考慮事項 DB2 UDB EEE (Windows NT 版) を複数のノードにインストールした場合、 インストール・プロセスがインストール後に行うのは、調整プログラム・ノード となる「インスタンス所有ノード」をクライアント・マシンからの通信用に構成する ことだけです。コントロール・センターを使ってクラスターをリモート管理するには、 それぞれのノード上で通信を有効にする必要があります。これを行う方法の 1 つは 次のとおりです。 1. それぞれのマシン上で TCP/IP ポートを予約します。たとえば、各マシン上で ポート 4000 が使用可能であると仮定します。 2. このポート番号をすべてのノードで使用するようインスタンス構成ファイルを 更新します。インスタンス所有ノードで次のようにタイプしてください。 DB2 update dbm cfg using svcename 4000 3. TCP/IP を受け入れるよう各ノードを構成します。インスタンス所有ノードで 次のようにタイプしてください。 rah "db2set db2comm=TCPIP" これで、各ノードは再起動後にインバウンド TCP/IP 接続を受け入れるようになります。 14.0 Replication の説明と参照 14.1 新しくサポートされるプラットフォーム IBM Replication とは、ソースからターゲットへのデータの複製を行うための、 使い方が簡単で自動化された一連のコピー・ツールのことです。次のようなコピー操作が 可能です。 o DB2 (MVS 版)、DB2 (VSE および VM 版)、DB2 ユニバーサル・データベース、 DB2 (OS/400 版) のそれぞれのデータベース・サーバー間でのコピー o MVS、VM、VSE、OS/400、AIX、HP-UX、SCO UnixWare 7、OS/2、Windows NT、 Windows 95、Windows 98、Solaris オペレーティング環境といったプラットフォーム 間でのコピー o DB2 以外のソースおよびターゲット、たとえば Oracle、Sybase、Informix、 Microsoft SQLServer (DB2 DataJoiner 経由による) などに対するコピー 14.2 新規メッセージ 変更適用プログラムに対する次の 2 つのメッセージが、21 章、「IBM レプリケーション・ メッセージ」で抜けていました。 ASN1054S 変更適用プログラムが、ソース所有者 ""、ソース・テーブル ""、 ソース視点修飾子 "" の登録情報を見つけることが できませんでした。 説明 ソース・テーブルの登録が正しくないか不完全です。 ユーザーの応答 登録をいったん除去してからやり直してください。さらに、登録情報が 登録表とプルーニング制御表の両方にあることを確認してください。 ASN1055S 変更適用プログラムが、ソース所有者 ""、ソース・テーブル ""、 ソース表示修飾子 ""、ターゲット所有者 ""、 およびターゲット・テーブル "" に対するプルーニング制御情報 を検出することができません。 説明 ソース・テーブルの登録が正しくありません。 ユーザーの応答 サブスクリプションをいったん除去してからやり直してください。 14.3 DB2 UDB バージョン 5.2 のキャプチャー・プログラムがサポートする LONG VARCHAR DB2 UDB バージョン 5.2 のキャプチャー・プログラムは、LONG VARCHAR データ・タイプ をサポートできるようになりました。新しい Long Field Manager の長レコードには LONG VARCHAR 列に対する変更を取り込むのに必要な情報が入れられ、伝搬されます。 この新しいキャプチャー機能を必要とする DB2 UDB バージョン 5 ユーザーに対しては、 ALTER TABLE ステートメントに追加の文節を追加するオプションが用意されています。 なお、CREATE TABLE の構文に変更はありません。 この新しい LONG VARCHAR サポートを利用するには、ALTER TABLE ステートメント に DATA CAPTURE CHANGES INCLUDE LONGVAR COLUMNS 文節を指定することが必要です。 この DDL ステートメントが除外されていると、SYSCAT.TABLES の DATA CAPTURE CHANGES 列 は "L" に設定されます。INCLUDE LONGVAR オプションの行がある基本表が 更新された場合には常に、Long Field Manager の長レコードはキャプチャー・プログラム によって書き込みや読み取りが行われます。これらのレコードには列の変更前イメージ と変更後イメージの両方が含まれます。 新しい LONG VARCHAR サポートを無効にしたい場合は、ALTER TABLE ステートメント に適切な DATA CAPTURE CHANGES 値を指定しなければなりません。たとえば、 "YES" または "NONE" を追加の文節なしで指定することができます。 LONG VARCHAR 列を登録するには、コントロール・センターから次のようにします。 1. 「複製ソースとして定義 (Define as Replication Source)」ウィンドウ にある「使用可能な列 (Available Columns)」ボックスを探します。 2. LONG VARCHAR 列を選択します。 適用される制約事項: DELETE 操作 (IBMSNAP_OPERATION="D") の場合、LONG VARCHAR 列 の値は空になります。 | 14.4 DATAJOINER レプリケーション管理ツールの README | DB2 レプリケーション管理ツール バージョン 2.1.1 | (DJRA) へようこそ。 | このセクションには、DJRA のインストールに必要な次の情報が含まれます。 | o DJRA について | o DJRA のインストール | DJRA について | DJRA は、DB2 UDB FixPak 7 (Windows 95、Windows 98 および Windows NT 版) | でのサンプル・アプリケーションとして最初に使用可能で、このオペレーティング・ | システムでのみ使用可能です。DJRA は、データの複製のための管理ツールを | 提供します。DJRA は、DataPropagator Relational (MVS 版) バージョン 5 | DataPropagator Relational (AS/400 版) バージョン 5 に対する管理機能を | 必要とする顧客に推奨されます。2 つのプラットフォームが必要な管理機能の | 中には、現在 UDB のコントロール・センターで使用可能でないものも | あります。 | DJRA のインストール | DJRA はディレクトリー "\BONUS\REPLICATION" にあります。概念的な | インストールおよび構成情報は、次のアドレスの "DataJoiner | Planning, installation and Configuration Guide" をご覧ください。 | http://www.software.ibm.com/data/datajoiner/booksv2/djxn2m79 | パブリケーションも別にオーダーできます (SC26-915-01)。ポストスクリプト | のコピーを印刷するには、ファイル "v2ntpic.pdf" を 次の DataJoiner の ftp | サイトからダウンロードしてください。 | ftp://ftp.software.ibm.com/ps/products/datajoiner/info/ | レプリケーション管理は Windows 95、Windows 98、または | Windows NT オペレーティング・システムにインストールする必要があります。 | レプリケーション管理 バージョン 2.1.1 をインストールするには、以下のようにしてください。 | 1. 「マイ コンピュータ」または「エクスプローラ」を開く。 | 2. UDB DB2 CD-ROM をクリックする。 | 3. BONUS を選択する。 | 4. REPLICATION を選択する。 | 5. DJRA プログラムを実行する。これは、ファイルの圧縮を解除し、 | インストール処理を始めるものです。 | インストール中に、DJRA をインストールするディレクトリーを指定する | ことができます。README.TXT ファイルを表示して、アプリケーション | の最新情報を調べることができます。 15.0 DB2 プログラミングのロード・マップ 15.1 Application Developer's Kit について VisualAge for Basic と Lotus Approach はプロダクトに同梱されなくなりました。 16.0 SQL 解説書 | 16.1 命名規則 (CURSOR-NAME) | CURSOR-NAME SQL カーソルを識別するロング識別子。ホストとの | 互換性では、ハイフンもサポートします。 16.2 ALTER TABLE 属性が FILE LINK CONTROL である DATALINK 列が表に追加されている場合は、 ACTIVATE NOT LOGGED INITIALLY 文節は使用しないでください。 | "table-name" の説明を以下のように変更してください。 | "table-name" | 変更される表を識別します。これはカタログで説明された表である必要があり、 | 視点またはカタログ表であってはいけません。これが要約表の場合、 | 更新は最初にログをとっていない活動状態のもので、pctfree、 | locksize または append の変更に制限されます。 | 16.3 複合 SQL | "規則" セクションに以下を追加してください。 | DB2 コネクトは、複合 SQL ブロックの LOB 列を選択している SELECT | ステートメントをサポートしません。 16.4 CREATE FUNCTION 16.4.1 DBINFO 「CREATE FUNCTION (External Scalar)」と「CREATE FUNCTION (External Table)」の 両方の項には、DBINFO 構造に含まれている情報のリストがあります。この情報は、 DBINFO を指定すると UDF に渡されるものです。これらのリストのそれぞれには次の 項目が追加されます。 アプリケーション ID - データベースへの接続ごとに確立される固有の アプリケーション ID | 16.4.2 UDF 呼び出しタイプのエラー処理 | "関数の作成 (外部スカラー)" セクションで、 "NO FINAL CALL | または FINAL CALL" 仕様が論議されているところで、次の文が | 最後に追加されます。 | エラーが起きた場合の、これらの呼び出しのスカラー UDF 処理の説明は | 「組み込み SQL プログラミング・ガイド」の第 7 章、「その他のコード上の | 考慮事項」セクションの「ヒント」に含まれます。 | この更新された説明は、8.11.2 「スカラー関数の外部 UDF エラー処理モデル」 | にあります。 | 「関数の作成 (外部表)」セクションでは、"NO FINAL CALL | または FINAL CALL」仕様が論議されているところで、次の文が | 最後に追加されます。 | エラーが起きた場合の、これらの呼び出しの表 UDF 処理の説明は | 「組み込み SQL プログラミング・ガイド」の第 7 章、「表関数の | 考慮事項」セクションに含まれます。 | この更新された説明は、8.11.1 「外部表関数のスクラッチパッドおよび最終呼び出し | タイプの引き数」にあります。 | 16.5 CREATE TABLE | 16.5.1 CREATE TABLE の説明 | NOT LOGGED INITIALLY に、次の文を追加してください。 属性が FILE LINK CONTROL である DATALINK 列が表にある場合は、 NOT LOGGED INITIALLY 文節は使用しないでください。 | 「要約表定義」の下の「全選択」を以下のように置き換えて | ください。 | 全選択 | 表がベースである照会を定義します。指定された概略表のオプションは、 | 概略表の属性を定義します。選択されたオプションも、 | 次のようにお選択する内容を定義します。 | DEFINITION ONLY が指定されると、任意の有効な全選択が指定されます。 | データ・タイプおよびヌル可能属性が選択リストの結果から判別され | ます。選択リストにはすべて名前がある必要があります。 | REFRESH DEFERRED が指定されると、全選択には以下のものは含まれません。 | o 視点、概略表、または FROM 文節で入力された表に対する参照。 | o 参照または DATALINK (あるいはこれらのタイプに基づいた特殊タイプ) の式。 | o 外部処置のある関数。 | o 物理的特性 (NODENUMBER、PARTITION) に依存する関数。 | o システム・オブジェクトを参照する表または視点 (解釈表も | 指定されません)。 | さらに、「即時最新表示」が指定された場合の | o 全選択は副選択である必要があります | o 副選択には、以下のものは含まれません。 | - 決定的でない関数 | - スカラー全選択 | - 全選択指定の述部 | - 特殊レジスター | o GROUP BY 文節には副選択が含まれている必要があります。 | o 選択リストには COUNT(*) 関数 (または COUNT_BIG(*)) と no | DISTINCT が必要です。 | o SUM (ヌル可能列の)、COUNT、または COUNT_BIG 列関数のみが、 | 選択リスト (DISTINCT なし) で許可され、他の選択リスト項目は | GROUP BY 文節に含まれている必要があります。 | o FROM 文節は、1 つの基本表 (要約表、タイプ済み表、または | 視点は不可) を参照する必要があります。 | o すべての GROUP BY 項目は選択リストに含まれている必要があります。 | o グループ化設定 (CUBE および ROLLUP が含まれる) または | 定数でのグループ化は許可されません。 | o HAVING 文節は許可されません。 | o 複数の区画ノードグループでの場合、 区分化キーは項目による | 副設定である必要があります。 | "REPLICATED" の記述を置き換えてください。 | REPLICATED | 表に保管されるデータが、表を定義した表スペースのノード・グループ | のデータベース区画に、物理的に複写されることを指定します。 これは、表のデータがすべてデータベース区画のおのおのに | 存在することを意味します。このオプションは、 | 概略表でのみ指定されます (SQLSTATE 42997)。 | 16.5.2 CREATE TABLE の注 | 「注」の 7 番目を次のように置き換えてください。 | o REFRESH DEFERRED 要約表は照会の処理を最適化するために | 使用されます。この最適化を要約表で使用可能にするには、 | 全選択が、すでに説明された規則に加えて、特定の規則に | 適合している必要があります。全選択は次のとおりです。 | - GROUP BY のある副選択 | - 選択リストに DISTINCT がない | - グループ化設定 (CUBE と ROLLUP) がない | - group by 文節のグループ化列に null がない | - 列の参照を複数回行っていない | - group by 文節に 32 列以上の列が含まれない | - 特殊レジスターが含まれない | - 決定的でない関数が含まれない | REFRESH DEFERRED 要約表を使用するときに指定された照会 | が、上記の規則に適合しない場合、警告 (SQLSTATE 01633) が返されます。 | 「注」の下に次の項目を追加してください。 | o 要約表が REFRESH IMMEDIATE で定義されている場合、 | 基底表の挿入またはアップグレードからの変更結果を適合しようと | しているときにエラーが発生することがあります。エラーによって | 基底表の挿入またはアップグレードが失敗します。 | 16.6 CREATE TABLESPACE | サブセクション「ドロップされた表の回復」で説明されている機能 | は実現されていません。このサブセクションは SQL 解説書のバージョン5.2 | から削除される必要があります。 16.7 付録 A. SQL の限度/データベース・マネージャーの限度 DMS 表スペース内の表数の上限が 6648 から 51971 に増やされました。 この新しい上限は、ページ・サイズが 4KB 以外のすべての表、および新たに 作成した 4KB の DMS 表スペースすべてに適用されます。 既存の 4KB の DMS 表スペースについては、db2dart ユーティリティーの新しい オプション /ets を使用することで新しい上限が適用されます。 1. データベースを非活動化します (つまり、そのデータベースに対する接続がない ことを確認します)。 2. db2dart /ets /tsi を呼び出します。このコマンドは指定された 表スペースを検査し、新しい上限によるアプリケーションと互換性のない識別子 を持つ既存の表、索引、または LONG オブジェクトがないかを調べます。 該当するものが何も見付からなければ、新しい上限がその表スペースに適用されます。 それ以外の場合は、非互換の表のリストがダート・レポートに含められます。 この場合、新しい上限を有効にするためそれらの表は除去され、コマンドは正常に 実行されます。除去された表は、このユーティリティーがすべての論理ノード に対して正常に実行された後、再作成して再ロードすることができます。 EEE のインストール時には、表スペースが置かれているノード・グループの メンバーである論理ノードの 1 つに対してこのコマンドを最初に実行してください。 非互換の表があることが分かったなら、それらを除去してからこのコマンドを もう一度発行してください。1 つの論理ノードに対するこのコマンドの実行が 正常に完了したら、表スペースが置かれているノード・グループにあるすべての 論理ノードに対して再びこのコマンドを実行しなければなりません (db2_all または db2dart_all のいずれかのユーティリティーが使用できます)。db2dart のオプション について知りたい場合は、オプションを指定せずに db2dart を呼び出してください (このユーティリティーは sqllib\misc にあります)。 注: 1. db2dart /ets が表スペースに対して正常に実行されると、dbdart /ets の実行前に とった表スペースのバックアップ・イメージの復元はそれ以後サポートされません。 2. db2dart /ets がデータベース内のいずれかの表スペースに対して正常に実行されると、 db2dart /ets の実行前にとったデータベースのバックアップ・イメージの復元や、 db2dart /ets の実行時に時刻指定で行うロールフォワードはそれ以後サポート されません。 3. データベースのバックアップは、db2dart /ets を正常に実行した直後に行う 必要があります (このツールが正常に実行されたすべての表スペースは、 バックアップ保留状態になってしまいます)。 17.0 システム・モニターの手引きおよび解説書 17.1 イベント・モニターはローカルの効力範囲で作成される CREATE EVENT MONITOR ステートメントの構文図には、デフォルトではイベント・モニター がグローバルの効力範囲で作成されることが示されていますが、この記述は正しくありません。 イベント・モニターはデフォルトではローカルの効力範囲で作成されます。 18.0 DB2 新機能 | 18.1 パフォーマンス (照会/要約表) | この節の最後にある記述は無視されます。「即時最新表示」オプションが現在 | 使用可能です。 | 18.2 Java アプリケーションおよびアプレットの更新の作成 組み込みの SQL for Java (SQLJ) プログラムの構築と実行には、Java Development Kit (JDK) バージョン 1.1.4 (またはそれ以降) が必要になっています。 この付録に記載されている Java サンプル・プログラムにはいくつかの変更があります。  ストアード・プロシージャーと UDF プログラムは、  別々のクライアント・プログラムとサーバー・プログラムに分割されました。 これにより、クライアント・マシン上のユーザーがサーバー・マシン上のストアード・プロシージャーや UDF にリモート・アクセス することが可能になりました。影響があったプログラムは次のとおりです。 DB2STP サーバー・プログラムになっています。これを呼び出す クライアント・プログラムは DB2SPCLI です。 DB2UDF 現在、これはサーバー・プログラムです。これを呼び出す クライアント・プログラムは DB2UDCLI です。 STP 現在、これはサーバー・プログラムです。これを呼び出す クライアント・プログラムは STPCLI です。 UDF 現在、これはクライアント・プログラムです。これを呼び出す サーバー・プログラムは UDFSRV です。 UNIX プラットフォームの場合は "embprep"、Windows プラットフォームの場合は "embprep.bat"、OS/2 の場合は "embprep.cmd" という名前のスクリプト・ファイル が、SQLJ プログラムのプリコンパイルとバインドを行うために作成されました。  これは、"makefile" によって呼び出され、  Java 組み込み SQL サンプル・プログラムで "db2profc" コマンドを実行します。 これを使用すればデータベース、ユーザー ID、パスワードなどにオプションの引き数を指定することが できるため、DB2 サーバー上のデータベースに対するクライアント・マシンからの リモート・バインドの作業が容易になります。 以下に示す追加の制限事項は、DB2 UDB バージョン 5.2 の SQL サポートに関するものです。 o プリコンパイルのオプション "DATETIME" はサポートされていません。 サポートする日時形式は国際標準化機構規格 (ISO) の形式に限られます。 o プリコンパイルのオプション "PACKAGE USING package-name" には、プリコンパイラー が生成するパッケージの名前を指定します。名前を入力しないと、プロファイルの 名前 (大文字に変換してマイナス記号を付加した名前) が使われます。最大長は 8 文字です。SQLJ プロファイルの名前の接尾部は _SJProfileN (N は プロファイル・キー番号) であるため、プロファイル名は常に 8 文字を超える ことになります。デフォルトのパッケージ名はパッケージ番号とプロファイル・キー番号 の最初の (8 〜 pfKeyNumLen) 文字を連結して構成されます。pfKeyNumLen は、 プロファイル名の中のプロファイル・キー番号の長さです。プロファイル・キー番号 の長さが 7 文字を超えていると最後の 7 桁が使用され、警告メッセージは 出されません。以下に例を示します。 プロファイル名 デフォルトのパッケージ名 --------------------- ------------------------ App_SJProfile1 App_SJP1 App_SJProfile123 App_S123 App_SJProfile1234567 A1234567 App_SJProfile12345678 A2345678 o ホスト変数 java.math.Bigdecimal が使われている場合、アプリケーションの プリコンパイル時にはこのホスト変数の精度と位取りが利用できません。 10 進数のホスト変数の精度と位取りが、そのホスト変数が使用されている ステートメントのコンテキストからは不明な場合、精度と位取りは CAST を 使って指定することができます。 o タイプが java.math.BigInteger の Java 変数は、SQL ステートメント内では ホスト変数として使用できません。 o SQLJ ストアード・プロシージャーは、すべて FENCED モードで実行してください。 | o sqlj オプション "profile" はサポートされません。sqlj で生成されたプロファイルをカスタマイズ | するには、"db2profc" を作成してください。 | o "SET TRANSACTION" 文節はサポートされません。 | o "WITH" 文節はサポートされません。 | o SQLJ イテレーターと JDBC 結果セットの間の相互運用性は | サポートされません。 | o Java ホスト式は SQL ステートメントで使用できません。 ブラウザーの中には、アプレットと関連したリソース・ファイルから シリアル化したオブジェクトをロードするサポートがまだないものもあります。 このブラウザーでアプレット Applt をロードしようとすると、次のエラー・メッセージが 表示されます。 java.lang.ClassNotFoundException: Applt_SJProfile0 回避策として、シリアル化したプロファイルを、Java のクラス形式 で保管されたプロファイルに変換するユーティリティーがあります。この ユーティリティーは、sqlj.runtime.profile.util.SerProfileToClass という Java クラスです。 これは、シリアル化したプロファイルのリソース・ファイルを入力として、プロファイルを含む Java クラス を出力として生成します。プロファイルは、次のコマンドを使用して変換されます。 profconv Applt_SJProfile0.ser または java sqlj.runtime.profile.util.SerProfileToClass Applt_SJProfile0.ser クラス Applt_SJProfile0.class が結果として作成されます。アプレットで使用される .ser 形式のすべてのプロファイルを、.class形式のプロファイルと置き換えます。 SQLJ アプレットに対しては、db2java.zip と runtime.zip ファイルの両方が必要です。 すべてのアプレット・クラスをパッケージしない方を選択すると、db2java.zip と runtime.zip のクラスが単一の Jar ファイルになり、db2java.zip と runtime.zip (コンマで区切る) が "applet" タグのアーカイブ・パラメーター になります。アーカイブ・タグで複数のの zip ファイルをサポートしない ブラウザーに対しては、db2java.zip をアーカイブ・タグで指定して、 runtime.zip をアプレット・クラスで解凍し、ウェブ・ブラウザーで アクセス可能な作業ディレクトリーに置きます。 18.3 ウェブ・コントロール・センターと NetQuestion (Web コントロール・センター のリモート資料検索を可能化) UNIX オペレーティング・システム上でのリモート資料検索を可能にする方法についての 指示に間違いがあります。 正しい手順については Web 上の下記の場所を見てください。 http://www.software.ibm.com/data/pubs/papers/db2html.html OS/2 および Windows オペレーティング・システムの "nqmap" コマンドの文書化された 例を、以下のように変更しなければなりません。 nqmap -u DB2ADMEN "http://yourserver/doc/html/" DB2ADMEN OS/2 オペレーティング・システム上で「HTML 検索サーバーの開始 (Start HTML Search Server)」 アイコンのプロパティーを編集する手順は以下のようになります。 1. 「DB2 (OS/2 版)(DB2 for OS/2)」フォルダー内の「HTML 検索サーバーの開始 (Start HTML Search Server)」アイコンを右クリックします。「設定 (Settings)」 を選択してから「プログラム (Program)」タブをクリックします。 「オプション・パラメーター (Optional Parameters)」フィールドで、 パラメーターのストリングの最後に CONFIG DB2WEBCC.CNF を追加します。 「OK」をクリックしてクローズします。 2. 自分の db2init.cmd ファイルを編集します。このファイルは x:\sqllib\bin\ (x: は DB2 をインストールしたドライブ) にあります。このファイルの中で、 "DB2SS.EXE" と "DB2NETQD.EXE" の両方が含まれている行を見付けます。 この行の最後に CONFIG "DB2WEBCC.CNF" を追加してください。 (ファイル名の前後には二重引用符が必要であることに注意してください)。 保管してから終了します。リモート資料検索を可能にする手順の残りの部分 を続けて行います。 すべての DB2 オンライン情報を検索したい場合は、DB2 資料 (UNIX システムでは 「プロダクト・ライブラリー (Product Library)」となっています) と、 Web コントロール・センターおよびそのオンライン・ヘルプを両方とも インストールしなければなりません。Web コントロール・センターおよびその ヘルプをインストールしたが、残りの DB2 オンライン資料をインストールしていない 場合に、管理、プログラミング、および DB2 コネクトの検索カテゴリーを選択しようと するとエラー・コード 24 が出されることがあります。このエラー・コードは、それらの 検索索引がインストールされていないことを示します。同じように、DB2 オンライン資料 はインストールしたが Web コントロール・センターをインストールしていない場合は、 Web コントロール・センターのオンライン・ヘルプを検索しようとすると同じ エラー・コードが出されることがあります。 18.4 コントロール・センターの制限事項 以下に示すのは、コントロール・センターのいくつかの制限事項です。 o audit_buf_sz 構成パラメーターは、コントロール・センターの構成ノートブック ではサポートされていません。 o データベース・フォルダーの下にあるオブジェクトのソート (ユーザー、 グループ、表スペースを除く)。これらはアルファベット順でソートされる ようになりました。 o 区画データベースにはモニターするノードが 2 つ以上含まれていなければ なりません (DB2 UDB EEE のみ)。 | 18.5 ウェブ・コントロール・センターの JAVA 開発キット・レベル | 「DB2 新機能」の 45 ページに、ウェブ・コントロールについての間違った記述が | あります。次の文で説明されている Java 開発キットのレベルを無視して | ください。 | "Java 開発キット 1.1.5 をサポートする Java が使用可能なウェブ・ブラウザー | から実行されます。" | サポートされているウェブ・ブラウザーおよび必要な JDK のレベルの最新リスト | については、次のページをご覧ください。 | http://www.software.ibm.com/data/db2/udb/webcc/ 19.0 OS/2 の HTML 検索サーバー: HTML 資料の検索 IBM DB2 ユニバーサル・データベース (DB2 UDB) のオンライン資料には、情報を 検索するのに役立つ HTML 検索サーバーが付属しています。このリリース情報では、 OS/2 での検索システムのセットアップと使用法について説明します。 19.1 OS/2 での HTML 検索システムのインストール 19.1.1 OS/2 での検索システムの前提条件 TCP/IP バージョン 3 またはそれ以上がマシンにインストールされていることが 必要です。OS/2 Warp V4 には適切なレベルの TCP/IP があるため、このバージョン を推奨します。OS/2 Warp V3 のインターネット・アクセス・キット (IAK) も、 それがローカル・ループバック用にセットアップされており、最新の FixPak が インストールされているのであれば有効です。 Netscape 2.02 for OS/2 などのブラウザーが必要です。ご使用の言語に対応した Netscape ブラウザーが入手可能でない場合は、 Web Explorer 1.1 またはそれ以上 を使用します。 使用するブラウザーで、ローカル・ホストに対するプロキシーの処理を 無効にしてあることを確認します。 OS/2 版の VisualAge for C++ があるシステムに DB2 UDB をインストールしている 場合、VisualAge for C++ 製品に対して CSD6 またはそれ以上をインストール しなければなりません。 19.1.2 OS/2 での TCP/IP の構成 TCP/IP のローカル・ループバックおよびローカル・ホストがシステムで有効に なってさえいれば、検索サーバーはネットワーク・アダプターがインストール されているかどうかに関係なく動作します。 ローカル・ループバックは次の方法で有効にします。 1. 「OS/2 TCP/IP」フォルダーをオープンします。 2. 「TCP/IP 構成」ノートブックをオープンします。 3. 「ネットワーク」ページを表示します。 4. 「構成するインターフェース」リスト・ボックスで「loopback interface」を 強調表示します。 5. 「インターフェース使用可能」チェックボックスが選択されていなければ、 ここでそれを選択してください。 6. 「IP アドレス」が 127.0.0.1 で、「サブネット・マスク」には何もない ことを確認します。 ローカル・ホストは次の方法でシステム上で有効にします。 1. ローカル・ホストが有効であるかどうかを確認するには、OS/2 コマンド行 で "ping localhost" と入力します。 - データが戻されるようであればローカル・ホストは有効であり、下記の ステップ 2 と ステップ 3 は無視することができます。それでステップ 4 に直接進んでください。 - 「不明のホスト localhost」が戻されるなら、あるいはコマンドがハング するようであれば、ローカル・ホストは有効になっていません。ステップ 2 に進んでください。 2. ネットワーク上にいる場合は、ループバックが有効になっていることを 確認します (前述の「ローカル・ループバックを有効にする」を参照)。 3. ネットワーク上にいない場合は、以下のステップを実行してローカル・ホスト を有効にします。 a) MPTN\BIN\SETUP.CMD コマンド・ファイル中の他の ifconfig 行の後ろに、 以下に示す行を追加します。 ifconfig lo 127.0.0.1 注: インターネット・アクセス・キット (IAK) が付属している OS/2 Warp を使っている場合は、MPTN\BIN\SETUP.CMD ファイルではなく \STARTUP.CMD ファイルに上記の行を追加します。このファイルが存在しないときは、 自分で作成しなければなりません。 b) 前述の「TCP/IP 構成」で次のステップを実行します。 1. 「ネーム・リゾリューション・サービスの構成」ページに進みます。 2. 「ネーム・サーバーなしのホスト名の構成」という表に項目を追加し、 「IP アドレス」を 127.0.0.1、「ホスト名」を localhost に設定します。 注: 「LAN ネーム・リゾリューション・サービスの構成」ページでご使用の マシンにホスト名を指定してある場合は、「IP アドレス」127.0.0.1 を localhost に設定するときにこの名前を別名として追加しなければ なりません。 3. 「ネーム・サーバーに進む前に HOSTS リストを表示」チェックボックス を選択します。 注: このステップでは、localhost などのホストを探すときにネーム・サーバー を確認するのではなく、ご使用のマシン上で見付けたホスト・アドレスを 使用するよう OS/2 に指示します。このホストがマシン上で定義されて いない場合、OS/2 はユーザーが構成したネーム・サーバーを使って ホストの検索を続けます。 4. 「TCP/IP 構成」をクローズしてシステムをリブートします。 5. これで、どのネットワークにも接続していない状態で ping localhost ができるようになっているはずです。 4. 自分のホスト名が正しいか確認します。 OS/2 コマンド行で "hostname" と入力してください。戻されるホスト名は、 「TCP/IP 構成」ノートブックの「ホスト名」ページに示されているものと 一致しているはずです。このホスト名は 31 文字以内でなければなりません。 戻される hostname がこれらの条件から外れているなら、「ホスト名」ページ でそれを訂正します。その後、必要があれば CONFIG.SYS (SET HOSTNAME=) でも訂正します。必要な変更を行った後、リブートしてください。 19.1.3 TCP/IP 構成の検証 「DB2 (OS/2 版)(DB2 for OS/2)」フォルダーにある「HTML 検索サーバーの開始 (Start HTML Search Server)」アイコンをクリックします。この時にエラー・メッセージ が表示されるなら、TCP/IP の構成は正しくありません。TCP/IP が正しく構成されている かどうかを確認するには、「OS/2 での TCP/IP の構成」の手順に従ってください。 設定値を変更した場合には OS/2 をリブートします。 19.1.4 検索システム・ディレクトリーの探索 検索システムは他のプロダクトも使用することがあるため、その専用のディレクトリー に格納されています。たとえば、DB2 UDB と同時に検索システムをドライブ G に インストールし、後で VisualAge for Java をドライブ H にインストールした場合、 インストールされている検索システムは 1 つだけ、つまり最初にインストールした 検索システムだけです。 この資料では、前述のディレクトリーの位置を指定するよう求めている部分があります。 このディレクトリーの位置を知るには、OS/2 コマンド行で次のように入力します。 echo %IMNNLPSSRV% 19.1.5 検索サーバーのポート番号の変更 検索サーバーはポート 49213 に割り当てられており、この番号は TCP/IP 用に 割り当てられた共通ポートよりも大きい番号になっています。このポートを 使用するプロダクトが他にもある場合、以下のような手順で検索サーバーの ポートを変更できます。 1. 検索システムのディレクトリーにある HTTPD.CNF ファイルを編集し、 該当するポート番号を使用可能であると分かっているポート番号、 できれば 49000 より上の番号に変更します。 2. DB2 UDB のディレクトリーに移動し、その %DB2PATH%/doc/html ディレクトリー でテキスト・エディターを使って DB2SRCH.HTM ファイルを編集します。 前のステップで選択したポートに、次の行の変更を 行います。
意味は次のとおりです。 * DBCS の場合は D、SBCS の場合は S xx 資料が記述されている言語の、2 文字からなる識別子 3. 検索サーバーを停止したり開始したりするには、「DB2 (OS/2 版)(DB2 for OS/2)」 フォルダーにあるアイコンをダブルクリックします。 19.1.6 検索サーバーのインストール・エラーの診断 検索サーバーのインストール中にエラー・メッセージが出された場合は、 OS/2 コマンド行で以下のようなコマンドを入力し、それが戻す指示に 従ってください。 SNIFFLE /P 終了後は必ずシステムをリブートしてください。 19.2 HTML 検索システムの使用 19.2.1 検索サーバーの始動と停止 検索システムはそのインストール後、リブート後に自動的に始動するようになります。 検索サーバーの始動時にはエラーがなかったにもかかわらず、ブラウザーで以下のような エラー・メッセージが表示されてしまう場合は、「HTML 検索サーバーの停止 (Stop HTML Search Server)」アイコンをクリックしてから「HTML 検索サーバーの開始 (Start HTML Search Server)」アイコンをクリックします。 A network error occurred: unable to connect to server. The server may be down or unreachable. Try connecting again later. 検索を終了した後で、検索サーバーを停止して、使用したメモリーの再使用を 行います。停止するには、「DB2 (OS/2 版)(DB2 for OS/2)」フォルダーにある 「HTML 検索サーバーの停止 (Stop HTML Search Server)」アイコンをクリックします。 19.2.2 ネットワークからの切断時の検索 ネットワーク上にいない場合 (たとえば、ラップトップ・コンピューターを 使用していて一時的に LAN 接続から切り離されている場合) は、資料の検索が できるようローカル・ホストを有効にしなければなりません。この作業を行う ための指示については、「2.2 OS/2 での TCP/IP の構成」の節のステップ 3 で説明しています。 19.2.3 「ファイルが見つかりません (File Not Found)」エラー 検索システムは事前に定義された索引を検索します。これらの索引は、インストールした DB2 UDB プロダクトに関係なく、すべて検索システムと共にインストールされます。そのため検索を実行するときに、一部の結果が 「ファイルが見つかりません (File Not Found)」エラーを戻すことがあります。 これは、それらの結果がご使用のシステムにインストールされていないプロダクト に関連しているために生じます。 19.2.4 検索が機能しない場合 (検索しようとしたときのエラー 500) 検索サーバーをインストールしたにもかかわらず、資料を検索しようとすると エラーになってしまう場合には、次の項目をチェックしてください。 1. 検索システムが正しくインストールされているかチェックする。 環境変数 IMNNLPSSRV は検索システムのディレクトリーを指していなければなりません。 (「4.1.4 検索システム・ディレクトリーの探索」を参照)。 2. 検索システムのディレクトリーに次のファイルが入っていなければなりません。 - 実行可能ファイル DB2SRSxx.EXE または DB2SRDxx.EXE (前者は SBCS 資料用、 後者は DBCS 資料用)。xx は、文書を記述している言語を表す 2 文字の識別子です。 たとえば、DB2SRSEN.EXE は英語 SBCS 資料に対応した 実行可能ファイル、DB2SRDCN は中国語 (簡体字) DBCS 資料に対応した 実行可能ファイルという具合になります。 - DB2HEAD.HTM および DB2FOOT.HTM これらのファイルが存在していない場合は、DB2NETQ.CMD を実行して索引の登録 をセットアップし、これらのファイルを検索システムのディレクトリーに コピーします。 3. 検索システムはプロダクトの資料とともに登録しなければなりません。 以下のコマンドを実行すると、検索システムに登録されているすべての 資料が一覧表示されます。 NQMAP -A DB2 UDB の資料は DB2ADMxx、DB2APDxx、または DB2CONxx という名前 になっています。xx はそれらの資料が記述された言語の、2 文字からなる 識別子です。NQMAP が戻す名前のリストには、これらの名前が 1 つまたは 複数表示されるはずです。 ファイルがそこにない場合は、TCP/IP が正しくインストールされなかったか、 索引が壊れています。前者の場合には SNIFFLE /P を使って修正し、後者の 場合には資料を再インストールして修正してください。 19.2.5 検索サービスの始動時に検出されるエラー 以下に示すエラーの場合、下記の説明に従ってください。 EHS0410: 検索サービスの開始時にエラーを検出しました。サービスを停止してから 再開始してください。Enter を押して続行します ... (エラーが EHS0411 の場合もありますが、テキストは同一です。 このメッセージは全画面表示で現れます。) ...インストールを実行してから、ホスト名を変更した可能性があり、 そのホスト名を再記録する必要があります。 NetQuestion ディレクトリーに移動し、次のように入力します。 type netq.cfg NetQuestion が使用しているホスト名を調べることができます。DHCP および DDNS の構成中に、ホスト名を変更していた場合、次のように入力します。 netqinit 例 : netqinit d:\netqos2\data 19.3 HTML 検索システムのインストール解除 DB2 (OS/2 版) をインストール解除後に、検索システムがハード・ドライブに残っています。 それを除去するには UNINSTNQ.CMD を実行します。 19.3.1 OS/2 での検索システムのアンインストール時の問題 UNINSTNQ.CMD を実行しても検索システムがアンインストールされない場合、 次のような原因が考えられます。 -TCP/IP が正しく構成されなかった。 -DB2 UDB や別のプロダクトがその検索システムを使用しているため、除去できない。 1.TCP/IP が正しく構成されているか、また、正しく構成された TCP/IP セットアップ で検索サーバーが初期化されているかを確認するため「2.2 OS/2 での TCP/IP の構成」の節にある手順に従います。構成に何らかの変更を加えたなら、 必ずシステムのリブートをしてください。 2.どのプロダクトがまだ検索システムに登録されているかを判別するには、 次のコマンドを発行します。 NQMAP -A このコマンドが索引を戻さないときは、ステップ 6 に進んでください。 DB2 UDB に属していない (つまり、名前の先頭が "DB2" 以外になっている) 索引がリストに含まれている場合は、その検索システムを除去できません。 DB2 索引ファイル名 (DB2ADMxx、DB2APDxx、DB2CONxx) のいずれかが含まれている 場合、検索システムのインストール解除ができない原因となるため、 DB2 UDB は この索引の登録の抹消ができません。 これは、DB2 UDB が正しくインストールされていない (たとえば、SQLLIB フォルダーが削除された) 場合に発生します。 この場合は、 索引の登録を手動で抹消し、次のステップを使用して、検索システム・ディレクトリー を除去する必要があります。 1. 検索サーバーが実行中であるか確認するには、次のコマンドを使います。 NETQ START SERVER //SBCS 用 IMQSS.EXE -START DBCSHELP //DBCS 用 2. 索引ファイルごとに、次のコマンドを使います。 NQMAP -D 3. 索引ファイルごとに、次のコマンドを使います。 NQDELET //SBCS 用 TMDELET //DBCS 用 4. 検索サーバーを停止します。 NETQ STOP SERVER //SBCS 用 IMQSS.EXE -STOP DBCSHELP //DBCS 用 5. "NQMAP -A" を使用して DB2 索引 (DB2xxxxx) が残って いないか、確認してください。残っている場合は、IBM サービスに連絡します。 6. 他の索引が活動中のままになっていないか確認するために、次のコマンドを使用します。 NQCOUNTI //SBCS 用 TMCOUNTI //DBCS 用 注 : インストールされている場所が不明の場合には、「4.1.4 検索システム・ディレクトリーの探索」 を参照してください。 a)このコマンドが、活動中のままである索引を示すデータを返した場合、 検索システムに別のプロダクトが登録されたままであるため、この システムを除去することができません。 残りのステップを実行しないでください。 b)検索システムが「活動中の索引は 0 です」というメッセージを戻す場合 は、UNINSTNQ.CMD を実行します。 (次のメッセージは無視します: "SYS0016: ディレクトリーは除去されません") 検索システムのディレクトリーが除去されていることを確認します。 まだ存在しているなら、IBM までご連絡ください。 7. UNINSTNQ.CMD の完了後、次のステップを実行します。 a) インストール中に作成されたバックアップから CONFIG.SYS を 復元します。 注: インストールを実行すると番号付きのバックアップが、config.xyz という 形式で作成されます。なお、xyz は 000 〜 100 のうち使用可能な最初の 番号です。バックアップにはインストールの時点を示す日時スタンプが 付けられます。インストール中には 2 つのバックアップが作成されますが、 これらのバックアップはそれぞれ DB2 UDB のインストール、および 検索システムのインストールに対して作成されたものです。 -検索システムの設定だけを除去するには、2 番目のバックアップ を使用します。 -DB2 UDB と検索システムの両方を除去するには、最初のバックアップ を使用します。 b) 検索システムのディレクトリーとそのすべてのサブツリーを除去します。 1. %TMP%/NETQ ディレクトリーに移動します。 2. NETQ ディレクトリーに残っているファイルをすべて削除します。 3. NETQ ディレクトリーを削除します。 4. リブートします。 20.0 Windows NT、Windows 95、および Windows 98 の HTML 検索サーバー: HTML 資料の検索 IBM DB2 ユニバーサル・データベース (DB2 UDB) のオンライン資料には、情報を 検索するのに役立つ HTML 検索システムが付属しています。このリリース情報では、 Windows NT、Windows 95、および Windows 98 での検索システムのセットアップ と使用法について説明します。 検索システムは、検索エンジンと検索サーバーとで構成されています。 検索システムは他のプロダクトも使用することがあるため、その専用のディレクトリー に格納されています。 20.1 使用に関する制限事項 この検索システムは Windows 3.1 をサポートしていません。 この検索システムはシン・クライアントでは使用できません。資料を検索しようとする とネットワーク・エラーとなります。 20.2 Windows NT、Windows 95、および Windows 98 での HTML 検索システムのインストール 20.2.1 検索システムの前提条件 以下に示す前提条件を満たしていることが必要です。 1. Windows NT 4.0 の場合、最良の結果を得るには Service Pack 3 をインストール しておく必要があります。詳細については、 http://www.microsoft.com/ntserver/info/servicepack3.htm を参照してください。 2. Netscape 3.0 などのブラウザーが必要となります。 使用するブラウザーで、ローカル・ホストに対するプロキシーの処理を 無効にしてあることを確認します。 3. TCP/IP バージョン 3 またはそれ以上がマシンにインストールされている 必要があります。これをインストールして構成しておかないと、DB2 UDB の検索システムが正しく機能しません。 Windows 95 の場合、TCP/IP は次の方法で使用可能にします。 1) LAN アダプター構成の場合: - 有効なホスト名とドメイン名で DNS を有効にしなければなりません。 - LAN DNS は "localhost" を 127.0.0.1 に解決しなければなりません。 - LAN アダプター構成からの切断は実行できません。 2) ダイヤルアップ・アダプター構成の場合: - DNS を無効にしておく必要があります。 - ユーザーの TCP/IP アドレスが自動的に取得できなければなりません。 注: これらの構成オプションは、このためだけに変更するとしても、 すべての TCP/IP アダプターに適用されます。LAN もダイヤルアップ も再構成なしでは使用できません。 自分のインターネット・サービス・プロバイダー (ISP) に対する ダイヤルアップ・ネットワーキングの TCP/IP プロパティーは、ISP の 指示通りに構成する必要があります。ダイヤルアップ・ネットワーキング の TCP/IP プロパティーは、Windows 95 のコントロール パネルにある 「ネットワーク」アイコンを使って構成したダイヤルアップ・アダプター の TCP/IP プロパティーの中のいくつかのプロパティーを指定変更します。 プロパティーの指定変更が行われるのは、ダイヤルアップ・アダプター の TCP/IP プロパティーが上記のように構成されている場合に限られます。 ダイヤルアップ・アダプターの TCP/IP プロパティーで DNS を有効にしたり、 ダイヤルアップ・アダプターの TCP/IPプロパティーに IP アドレスを 設定したりすると ISP に対するダイヤルアップ・ネットワーク構成 と衝突するため、これらのことは避ける必要があります。 Windows NT 4.0 の場合、前述のいずれの TCP/IP 構成でも動作します。 スタンドアロンで実行している場合には、他の 2 つのアダプターを使わなくても MS Loopback Adapter を使用可能にできます。 20.2.2 事前にインストールされているバージョンの検索システムの停止 検索システムが以前に他のプロダクト (たとえば、VisualAge for Java) によってインストールされている場合、検索サーバーは停止しなければなりません。 検索サーバーを停止するには、「スタート」メニューの DB2 メニュー項目にある 「HTML 検索サーバーの停止 (Stop HTML Search Server)」をクリックします。 20.2.3 検索システム・ディレクトリーの探索 検索システムは他のプロダクトも使用することがあるため、その専用のディレクトリー に格納されています。たとえば、DB2 UDB と同時に検索システムをドライブ G に インストールし、後で VisualAge for Java をドライブ H にインストールした場合、 インストールされている検索システムは 1 つだけ、つまり最初にインストールした 検索システムだけです。 この資料では、前述のディレクトリーの位置を指定するよう求めている部分があります。 このディレクトリーの位置を知るには、次のコマンドを使用します。 echo %IMNINSTSRV% 20.2.4 検索サーバーのポート番号の変更 検索サーバーはポート 49213 に割り当てられており、この番号は TCP/IP 用に 割り当てられた共通ポートよりも大きい番号になっています。このポートを 使用するプロダクトが他にもある場合、以下のような手順で検索サーバーの ポートを変更できます。 1. 検索システムのディレクトリーにある HTTPD.CNF ファイルを編集し、 該当するポート番号を使用可能であると分かっているポート番号、 できれば 49000 より上の番号に変更します。 2. 次のコマンドを発行して、 があるかどうかを判別します。 DB2SET DB2PATH 3. DB2 UDB のディレクトリーに移動し、その /doc/html ディレクトリー でテキスト・エディターを使って DB2SRCH.HTM ファイルを編集します。 前のステップで選択したポートに、次の行の変更を 行います。 意味は次のとおりです。 * DBCS の場合は D、SBCS の場合は S xx 資料が記述されている言語の、2 文字からなる識別子 49213 localhost の新しいポート 4. 検索サーバーを停止してから開始します。 検索サーバーを停止するには、「スタート」メニューの DB2 メニュー項目にある 「HTML 検索サーバーの停止 (Stop HTML Search Server)」をクリックします。 検索サーバーを開始するには、「スタート」メニューの DB2 メニュー項目にある 「HTML 検索サーバーの開始 (Start HTML Search Server)」をクリックします。 20.2.5 LAN 接続のドライブに DB2 UDB をする (WINDOWS 95) Windows 95 で、LAN 接続のドライブに DB2 UDB をして、このドライブが AUTOEXEC.BAT が Windows 95 で実行される前に再接続されない場合、 検索システムには、AUTOEXEC.BAT の環境変数の設定が入りません。 検索システムは、環境変数を、検索システム・ディレクトリー (たとえば、F:\IMNNQ_95) に常駐するバッチ・ファイル (IMNENV.BAT) を経由して設定します。この問題を回避するには、検索システム・ディレクトリーから IMNENV.BAT を、AUTOEXEC.BAT が実行される前に、別のドライブ/ディレクトリー にコピーしてください。それから、AUTOEXEC.BAT を変更して、始動時にこのバッチ・ファイル を呼び出すようにします。たとえば、IMNENV.BAT を C:\WINDOWS\IMNNQ にコピーした 場合、次の行を AUTOEXEC.BAT に追加してください。 IF EXIST C:\WINDOWS\IMNNQ\IMNENV.BAT CALL IMNENV.BAT 20.2.6 検索サーバー・インストール・エラーを診断する DB2 UDB のインストール中に、検索サーバーのインストールまたは初期設定 ができなかった場合でも、DB2 UDB のインストールは完了まで続けられます。 発生した状況と、対応処置の診断には、以下のようにしてください。 - \imnnq\install ディレクトリー ( は、システムの %TEMP% ディレクトリー) で IMNNQ.ERR ファイルを検索する。 このファイルがない場合、リブートして、このプロダクトを再度インストールします。 IMNNQ.ERR があった場合、このファイルの内容としては、以下のものが考えられます。 1 - 現行の PATH が長過ぎて、PATH に検索サーバーを追加すると、 PATH 全体が消去されることを示します。 注 : Windows NT 4.0 の制限は 512 で、Windows 95 では 255 です。 次のステップを実行することをお勧めします。 a) AUTOEXEC.BAT ファイルの PATH 変数 (PATHGOOD) の名前を変更して、 変更を保管し、リブートする。 b) \imnnq\install から IMNNQ.ERR ファイルを除去する。 c) 検索システムを正しくインストールするために、プロダクトの再インストールを行う。 d) 最新のインストールで作成された PATH 変数と、PATHGOOD 変数を マージする。 2 - その他のエラーについては、IBM サービスに連絡してください。 3 - ディスク・スペース不足でエラーが起きた。検索システム用のディスク・スペースとして 4.5MB と、Windows 95 用に変更された AUTOEXEC.BAT に対する十分なスペースが 必要です。 IMNNQ.ERR に XXX.EXE DOES NOT EXIST というメッセージが含まれている場合、 検索システムの実行プログラムはありません。検索システムのインストール/ 初期設定プログラムを再実行してください。"5.2.4 検索が動作しない (検索でエラー 500 が発生する) 場合" を参照してください。 20.3 HTML 検索システムの使用 20.3.1 サーバーの開始および停止 検索システムのインストール後、リブートすると、このシステムは自動的に 開始します。 I検索サーバーがエラーを起こさずに開始しながら、ブラウザーで次のエラーが 起きた場合、「スタート」メニューの DB2 メニュー項目から、 「HTML 検索サーバーの停止」をクリックして、次に 「HTML 検索サーバーの開始」をクリックしてください。 A network error occurred: unable to connect to server. The server may be down or unreachable. Try connecting again later. 検索を終了した後で、検索サーバーを停止して、使用したメモリーの再使用を 行います。検索サーバーを停止するには、「スタート」 メニューの DB2 メニュー項目の「HTML 検索サーバーの停止」をクリックします。 20.3.2 NETSCAPE または INTERNET EXPLORER で使用可能なプロキシーで検索する Netscape または Internet Explorer を、手動で使用可能にしたプロキシーを指定して 使用する場合、プロキシー情報を変更すると、検索のスピードが飛躍的に上がります。 Netscape 3 の場合 : ------------------- 1. "Options - Network Preferences" を選択する。 2. "Proxies" をクリックする。 3. "Manual Proxy Configuration" で "View" をクリックする。 4. "No proxies for" ボックスで、次のように入力する。 localhost:49213 別のエントリーがある場合、コンマで区切ってください。 5. "OK" をクリックして "Manual Proxy Configuration" ウィンドウをクローズする。 6. "OK" をクリックして、"Preferences" ウィンドウを終了する。 Netscape 4 (Communicator) の場合 : ---------------------------------- 1. "Edit - Preferences" を選択する。 2. カテゴリー・ツリーで "Advanced" をダブルクリックする。 3. "Advanced" サブツリーで "Proxies" をクリックする。 4. "Manual Proxy Configuration" で "View" をクリックする。 5. "Exceptions... Do not use proxy servers for domains beginning with" ボックスで、次のように入力する。 localhost:49213 別のエントリーがある場合、コンマで区切ってください。 6. "OK" をクリックして "Manual Proxy Configuration" ウィンドウをクローズする。 7. "OK" をクリックして、"Preferences" ウィンドウを終了する。 Internet Explorer 3 の場合 : ---------------------------- 1. "View - Options" を選択する。 2. "Connection" を選択する。 3. "Exceptions... Do not use proxy servers for domains beginning with" ボックスで、次のように入力する。 localhost:49213 別のエントリーがある場合、コンマで区切ってください。 4. "Do not use proxy server for local (intranet) addresses" ボックスを選択する。 5. "OK" をクリックして "Options" ウィンドウを終了する。 Internet Explorer 4 の場合 : ----------------------------- 1. "View... Internet Options" を選択する。 2. "Connection" タブを選択する。 3. "Bypass proxy server for local (Intranet) access" チェック・ボックスを選択する。 注 : このチェック・ボックスは、プロキシーあるいは socks 接続を使用していて、 "Access the Internet Using a Proxy Server" チェック・ボックスを選択している場合に限り、使用可能です。 4. "Advanced" ボタンを選択する。 5. "Exceptions... Do not use proxy servers for addresses beginning with" で次のように入力する。 localhost:49213 別のエントリーがある場合、セミコロンで区切ってください。 6. "OK" を選択して"Options" タブを終了する。 20.3.3 WINDOWS 95 のラップトップで検索する ネーム・サーバー : ------------------ LAN と正常に接続されているラップトップを、切断された開発プラットフォームとして 使用する場合、検索が困難になる可能性があります。検索を正常にに行うには、 TCP/IP 構成のネーム・サーバーと IP アドレスを使用不可にする必要が あります。つまり、2 つの TCP/IP 構成が必要になります -- 1 つは、 接続された操作用、もう 1 つは切断された操作用です。 Windows 95 で複数の TCP/IP 構成を行う場合の修正について -------------------------------------------------------- Windows 95 は、単一の TCP/IP 構成しかできません。ただし、インターネット上には シェアウェアのユーティリティーがあり、複数の設定を指定して 接続状況 (LAN に接続、あるいは LAN から切断) にしたがって、この設定を変更する ことができます。TCPSwitch は、このプログラムの 1 つです。 Socks サーバーおよびプロキシー : ------------------------------- Netscape 3 を使用していて、プロキシーまたは socks サーバーを指定してインターネットに アクセスするためにダイヤルインした場合、検索を開始する前に、Netscape で 上記の設定を削除する必要があります。これは、Netscape 3--Netscape Communicator のバグで、"direct connect" 設定が修正される必要があります。 5.2.4 検索が動作しない (検索でエラー 500 が発生する) 場合 プロダクトのインストールは動作しているが検索が動作しない場合、 次のステップを行ってください。 1. 検索システムが正しくインストールされているかチェックする。環境変数 IMNINST と IMNINSTSRV が設定されていて、IMNINSTSRV が検索 システム・ディレクトリー ( "5.1.3 検索システム・ディレクトリーの 位置決め" を参照してください) を示している必要があります。 2. 検索システム・ディレクトリーには、以下のファイルが含まれている必要があります。 - DB2SRSxx または DB2SRDxx 実行可能ファイル (前者は SBCS 文書用、 後者は DBCS 文書用です)。xx は、文書を記述している言語を表す 2 文字の識別子です。たとえば、DB2SRSEN は英語の文書用の 実行可能ファイルで、DB2SRDCN は、中国語 (簡体字) の 文書用の実行可能ファイルです。 - DB2HEAD.HTM および DB2FOOT.HTM 3. 検索システムがプロダクト文書で登録されているか確認する。 次のコマンドを呼び出して、検索システムで登録されているすべての 文書をリストにします。 NQMAP -A //SBCS 文書用 TMMAP -A //DBCS 文書用 DB2 UDB の文書は、DB2ADMxx、DB2APDxx、あるいは DB2CONxx と呼ばれます。 xx は、文書を記述している言語を表す 2 文字の識別子です。 この名前の文書のいずれかが、NQMAP (あるいは TMMAP) から返される リストに入っています。 NQMAP (あるいは TMMAP) コマンドが提供する索引のリストを指定して、 次のコマンドを入力すると、索引ごとの詳細を入手することができます。 IMNIXSTA //SBCS 文書用 IMQIXSTA //for SBCS このコマンドは、索引の状況と、索引内の文書の数といった 詳細を提供します。 上記の条件が実際とは異なる場合、DB2 UDB プロダクトのインストール・プログラム を再実行してください。DB2SRCH.EXE、DB2HEAD.HTM および DB2FOOT.HTM が欠落して いるだけの場合、ディレクトリー \misc から、これらのファイルを 検索システム・ディレクトリー (たとえば E:\IMNNQ_NT) はコピーしてください。 プロダクトのインストール・プログラムは、検索サーバーのインストール および初期化を再実行します。 20.3.5 「ファイルが見つからない」エラー 検索システムは、事前定義された索引を検索します。これらの索引は、インストールした DB2 UDB プロダクトに関係なく、すべて検索システムと共にインストールされます。そのため、 検索を行うと、システムにインストールされていないプロダクトあるいは インストール中にインストールの選択を行わなかった文書のいずれかに 関連するファイルについては、「ファイルが見つからない」エラーが返される可能性があります。 20.3.6 検索サービスの開始時に検出されるエラー 次のエラーが発生した場合 : EHS0410: 検索サービスの開始でエラーを検出しました。サービスを停止してから 再開始してください。Enter を押して続行します ... (エラーが EHS0411 の場合もありますが、テキストは同一です。 このメッセージは全画面表示で現れます。) ...インストールを実行してから、ホスト名を変更した可能性があり、 そのホスト名を再記録する必要があります。 NetQuestion ディレクトリーに移動し、次のように入力します。 type netq.cfg NetQuestion が使用しているホスト名を調べることができます。DHCP および DDNS の構成中に、ホスト名を変更していた場合、次のように入力します。 netqinit 例 : netqinit c:\imnnq_nt\data 20.4 HTML 検索システムのインストール解除 注 : DB2 UDB プロダクトのインストール解除を行う前に、検索システム を停止しておく必要があります。検索システムを停止するには、「スタート」 メニューの DB2 メニュー項目の「HTML 検索サーバーの停止」をクリックします。 検索システムは、「スタート」メニューの DB2 メニュー項目にある「インストール解除」 項目をクリックして、DB2 UDB プロダクトと共にインストール解除されます。 20.4.1 検索システムが WINDOWS NT または WINDOWS 95 でインストール解除されない場合 検索システムがインストール解除できない原因として、次の理由が考えられます。 -DB2 UDB あるいは別のプロダクトが検索システムを使用していて、除去 できない。 -検索システムのインストール解除が予想通りに実行されなかった。 検索システムに登録されたままのプロダクトを判別するには、 次のコマンドを実行します。 NQMAP -A //SBCS 用 TMMAP -A //DBCS 用 このコマンドが索引を返さない場合、ステップ 6 へ進んでください。 リストに DB2 UDB と関係のない ("DB2" 以外の名前で始まる) 索引 が含まれている場合、検索サーバーを除去することができません。 DB2 索引ファイル名 (DB2ADMxx、DB2APDxx、DB2CONxx) のいずれかが含まれている 場合、検索システムのインストール解除ができない原因となるため、 DB2 UDB は この索引の登録の抹消ができません。これは、DB2 UDB が正しくインストールされていない (たとえば、SQLLIB フォルダーが削除された) 場合に発生します。この場合は、 索引の登録を手動で抹消し、次のステップを使用して、検索システム・ディレクトリー を除去する必要があります。 1. 検索サーバーが実行中であるか確認するには、次のコマンドを使います。 IMNSS START SERVER //SBCS 用 IMQSS.EXE -START DBCSHELP //DBCS 用 2. 索引ファイルごとに、次のコマンドを使います。 NQMAP -D //SBCS 用 TMMAP -D //DBCS 用 3. 索引ファイルごとに、次のコマンドを使います。 NQDELET //SBCS 用 TMDELET //DBCS 用 4. 検索サーバーを停止します。 IMNSS STOP SERVER //SBCS 用 IMQSS.EXE -STOP DBCSHELP //DBCS 用 5. "NQMAP -A" (あるいは "TMMAP -A") を使用して DB2 索引 (DB2xxxxx) が残っていないか、確認してください。残っている場合は、IBM サービスに連絡します。 6. 他の索引が活動中のままになっていないか確認するために、次のコマンドを使用します。 NQCOUNTI //SBCS 用 TMCOUNTI //DBCS 用 注 : インストールされている場所が不明 の場合には、"5.1.3 Locating the Search System Directory" を参照してください。 a)このコマンドが、活動中のままである索引を示すデータを返した場合、 検索システムに別のプロダクトが登録されたままであるため、この システムを除去することができません。残りのステップを実行しないでください。 b)検索システムが「活動中のの索引は 0 です」を返した場合、UNINSTNQ.EXE を実行します。 それでも検索システムがインストール解除できない場合、次のようにして プロダクトを手動で除去してください。 - \\HKEY_LOCAL_MACHINE\SOFTWARE\IBM\NetQuestion の下 にある登録エントリーを除去する。 このエントリーと、そのサブツリーをすべて除去する。 - 検索システムのディレクトリーおよびすべてのサブツリーを除去する。 (たとえば、D:\IMNNQ_NT) - 環境変数 IMNINST と IMNINSTSRV を除去し、PATH 環境変数から 検索システム・パスを除去する。 それでも検索システムをインストール解除できない場合は、IBM サービスに連絡してください。 20.4.2 プロダクトのインストール解除後のリブート DB2 UDB のインストール解除後、別のインストールを始める前に、リブートすること が大切です。これは、検索システムの DLL の中には、オペレーティング・システムが 保持しているため、次のリブートまで除去されないものがあるからです。検索システム のインストールがリブートの前に行われた場合、新規にインストールされた 検索システムの DLL は、次のリブートで削除され、検索システムが使用できなくなり ます。 | 21.0 NETQUESTION のワークアラウンド | 21.1 UNIX プラットームでの IMNSEARCH (NETQUESTION) インストール上の問題 | 環境によっては、IMNSearch (NetQuestion) 構成要素の以前のインストールまたはアンインストールは、 | この構成要素の再インストールができないものがあります。この構成要素には、正しくインストール | するには、特殊なユーザー ID とグループ ID 名が必要です。 | この ID のいずれかが存在しない | (通常は IMNSearch が不完全に除去されている) ことがあります。別の場合では、これらのグループ ID と | ユーザー ID がインストールで正常に作成されるために必要な正しいアクセスが、 | ユーザーにない場合もあります。上記の条件のいずれも、 | IMNSearch 構成要素が正しくインストールされないことになります。 | IMNSEARCH がマシンに初めてインストールされる時の問題点 | IMNSearch 構成要素のインストールで問題が起きて、このプロダクトの | インストールが初めてである場合、構成要素を完全に除去してから | 再インストールしてください。再インストールの前に、 | "imnadm" ユーザー ID とグループ ID も除去してください。 | 別の IMNSEARCH がすでにインストール済み、または以前にインストール | されていた場合の IMNSEARCH インストールの問題 | IMNSearch 構成要素のインストールで問題が起きて、すでに IMNSearch | の別のバージョンがインストールされている (または以前にインストールされて | いたことがある) 場合、既存の IMNSearch 構成要素を除去しないでください。 | そのかわりに、imnadm というグループ ID があるか調べます。これがあった場合、 | 次のいずれかを行います。 | 1. imnadm ユーザー ID を作成し、IMNSearch 構成要素を再インストールする | 2. imnadm グループ ID を削除し、IMNSearch 構成要素を再インストールする | IMNSEARCH を AFS/DCE または NIS/NIS+ 環境にインストールする時の問題 | ユーザー ID とグループ ID の管理が集中している環境、つまり、 | ID は管理権限のあるユーザーによってサーバー上で作成され、 | ID 情報がクライアント・マシンに配布される環境では "imnadm" ユーザー ID | とグループ ID は IMNSearch 構成要素のユーザー・インストールの前に作成 | されている必要があります。これらのユーザー ID とグループ ID は、 | IMNSearch 構成要素を利用するすべてのプロダクト間で共有であるため、 | このステップは、構成要素を使用する最初のプロダクトのインストール | の前に一度実行される必要があります。 | IMNSearch 構成要素を使用する最後のプロダクトがアンインストールされた後で、 | ユーザー ID とグループ ID が除去される必要があります。 | 21.2 NETQUESTION を HPUX-10 にインストールする | DB2 ユニバーサル・データベース バージョン 5.2 (HP-UX 10 版) のインストールで、 | NetQuestion はプロダクトの CD-ROM からインストールされません。 | DB2 プロダクトの資料を検索しようとして、 | 「接続はサーバーに拒否されました」というメッセージを受け取る場合もあります。 | 次のコマンドで、NetQuestion がインストールされているかどうか、調べてください。 | swlist -l product | grep -i imn | 何も返されない場合、NetQuestion はインストールされていません。 | この場合では、NetQuestion を手動でインストールしてください。 | NetQuestion のインストールは root で行います。 | "/NetQ" ディレクトリー全体をインストール CD-ROM から、ローカル・ | ハード・ドライブにコピーします。コピーが完了すると、 | ローカルの "/NetQ/hpux10" ディレクトリーに次のファイルがあるはずです。 | "IMNSearch"、"IMNSearchB"、"IMNpkgadd"、 | "IMNpkgaddB"、"imnbinstall" および "imninstall"。次のように入力します。 | imninstall | NetQuestion インストール・スクリプトを開始させます。画面上の指示に従い、 | SBCS 検索エンジンのみまたは SBCS と DBCS の検索エンジンの両方を検索 | してください。 | トラブルシューティング | "imninstall" が「swcopy が失敗しました。 マニュアルの swcopy のページを | ご覧ください」で始まるエラーを返す場合、DB2 はシステムのマウントに失敗しました。 | この場合、つぎのオプションを追加して | "/NetQ/hpux10/IMNpkgadd" のローカル・コピーを編集して (root で) ください。 | -x mount_all_filesystems=false | "swcopy"、 "swremove" または "swinstall" ごとに必要です。 | 21.3 NETQUESTION および UNIX プラットフォームでの DB2 CAE | オンライン資料も NetQuestion も UNIX プロダクト CD には | 入っていません。クライアント・アプリケーション・イネーブラーのみが入っています。 | ただし、CAE を EE または EEE プロダクトの CD からインストールした場合、 | オンライン資料のインストールの選択が可能です。 | NetQuestion は、資料がインストールされれば自動的にインストールされます。 | 21.4 AIX プラットフォームでの NETQUESTION DBCS | DB2 ユニバーサル・データベース バージョン 5.2 (AIX 版) は、NetQuestion | ダブルバイト文字セット (DBCS) 検索エンジンのレベルを使用します。 | これは、NetQuestion の別のレベルがすでに AIX にある場合には、 | 正しく動作しません。 | たとえば、DB2 UDB V5.2 (日本語、韓国語、中国語 (簡体字) または中国語 (繁体字) 版)が | AIX にインストールされ、VisualAge C++ Professional Version 4.0 for AIX の | DBCS 資料がすでのインストールされている場合、または | DBCS ネイティブのヘルプがすでにインストールされている AIX バージョン 4.3 | にインストールされる場合、NetQuestion を使用して、インストールされている DB2 の | DBCS 資料を検索することはできません。この問題は、別の NetQuestion 開発 | プロダクトが、DB2 UDB バージョン 5.2 (AIX 版) で出荷された検索 CGI | と互換性がないという事実により起きるものです。 | この問題を解決するには、"/var/docsearch/cgi-bin/" と "/usr/docsearch/cgi-bin/" の | 検索 CGI をつぎのようにして置き換えてください。 | 1. 更新された検索 CGI ("db2srdbcs") を次からダウンロードする。 | ftp.software.ibm.com/ps/products/db2/info | "/var/docsearch/cgi-bin" と "/usr/docsearch/cgi-bin" に対して行います。 | このディレクトリーの "db2srdbcs" ファイルが上書きされます。 | 2. この変更を反映させるために、次のようにして DB2 DBCS を停止してから開始 | します。 | o 検索エンジンを停止するには、 | usr/IMNSearch/bin imqss -stop dbcshelp | o 検索エンジンを開始するには、 | usr/IMNSearch/bin imqss -start dbcshelp 22.0 SCOHELP について 以下の SCOhelp 情報をご利用いただけます。 o 2.1 SCOhelp へのアクセス法 o 2.2 各国語および SCOhelp の処理 o 2.3 Web Control Center のヘルプおよび SCOhelp o 2.4 Support Level Supplement (SLS) PTF7004A、UnixWare 7 Language Extension Supplement 22.1 SCOhelp へのアクセス法 次の 2 つの方法のどちらかで、SCOhelp にアクセスできます。 o コマンド行から: コマンド行でコマンド "scohelp" (/usr/bin/X11/scohelp) を出します。 o CDE デスクトップから: 「ヘルプ (Help)」メニュー (制御パネルの「ヘルプ (Help)」アイコンの上) をオープンしてから、    「SCO ヘルプ (SCO Help)」を選択します。 o Panorama デスクトップから: 「ルート (Root)」メニューをオープンし、    「ヘルプ (Help)」を選択します。 22.2 各国語および SCOhelp の処理 22.2.1 SPECIAL CONSIDERATIONS WHEN USING THE SPANISH LANGUAGE EXTENSIONS The "UnixWare 7 Update 1 (7.0.1)" CD-ROM provides, among other things, fixes for the Spanish Language Extensions (esle). The following DB2 procedures will not work when LANG is set to "es", unless the UnixWare 7 Update 1 is installed: o Creating an instance (regular or DAS instance): To avoid this problem, set LANG to "en" or "C" before creating the instance, then set it back to "es" once the instance is created. This also means that you will not be able to create an instance using the DB2 installer (db2setup) if LANG is set to "es". o Running the db2ishut command. Again, to avoid this problem, set LANG to "en" or "C" before running db2ishut, then set it back to "es" once it is complete. o Running db2istrt: This command is used to start the DB2 server, and is called by the /etc/rc.db2 script. When the first instance is created, the following line is added to the /etc/inittab file to autostart DB2 services when the workstation is rebooted: db:234:once:/etc/rc.db2 > /dev/console 2>&1 # Autostart DB2 Services If the default value of LANG is "es", this line should be commented out from the /etc/inittab file. Once the reboot has completed, log on as root, set LANG to "en" or "C", then run /etc/rc.db2. Set LANG back to "es" once DB2 has started. Note that once UnixWare 7 Update 1 has been installed to fix problems for the Spanish Language Extensions, these problems will disappear. You should uncomment out the line in the etc/inittab file, so that DB2 services will autostart on the next reboot: db:234:once:/etc/rc.db2 > /dev/console 2>&1 # Autostart DB2 Services 22.2.2 サーバーでのデフォルト SCOhelp 言語の変更 サーバーでデフォルトで戻される言語 SCOhelp を変更したい場合、 /usr/ns-home/httpd-scohelphttp/config/lang.conf を編集し、  任意のデフォルト言語に DocumentRoot を設定します。たとえば、次のようにします。 DocumentRoot /usr/lib/scohelp/fr 変更が済んだら、次のようなコマンドを使ってウェブ・サーバーを再始動しなければなりません。 /usr/ns-home/httpd-scohelphttp/restart これが正常に機能しない場合、次のようなコマンドを使って、ウェブ・サーバーをいったん停止してから、  再始動してください。 /usr/ns-home/httpd-scohelphttp/stop /usr/ns-home/httpd-scohelphttp/start 22.2.3 クライアント別の SCOhelp 言語 戻りの設定 クライアントごとに、それぞれ異なる言語で SCOhelp 情報を戻させることができます。 SCOhelp サーバーは、要求を受信したときに、  *httpAcceptLanguage リソースを使ってどの言語を使うべきかを判断します。  次のようにして、該当する言語に *httpAcceptLanguage を設定することができます。 o 「ネットスケープ 3 (Netscape 3)」: ネットスケープ app デフォルト・ファイル (例は /usr/X/lib/app-defaults にあります) を編集し、次のような行を追加します。 *httpAcceptLanguage: fr, en o 「ネットスケープ 4 (Netscape 4)」: 「編集 (Edit)」メニュー項目を選択してから、「設定の変更 (Preferences)」を選択します。  ツリー・ビューで「ナビゲーター (Navigator)」を選択し、次に「言語 (Languages)」を選択します。  使いたい言語を追加し、それがリストの最初にあることを確かめます。 *httpAcceptLanguage を設定した後も SCOhelp にまだ「英語 (English)」が表示されている場合、  リストから「英語 (English)」を完全に削除してみてください。 22.2.4 検索の使用 中国語 (簡体字)およびブラジル・ポルトガル語には検索はないことに注意してください。 複数の言語を選んで検索するには、SCOhelp 検索パネルの「オプション (Options)」ボタンをクリックします。  インストールされている言語のリストが表示されるので、  検索したい一連の言語を選択します。 22.3 ウェブ・コントロール・センターのヘルプおよび SCOhelp ウェブ・コントロール・センターのヘルプから DB2 ブックへの直接のリンクはありません (SCOhelp を使って表示します)。  『22.1 SCOhelp へのアクセス法』に説明のある方法のいずれかを使って、  SCOhelp を実行し、DB2 ブックにアクセスします。  SCO DB2 ウェブ・コントロール・センターのヘルプには検索機能はありません。 22.4 Support Level Supplement (SLS) PTF7004A、UnixWare 7 Language Extension Supplement "Support Level Supplement (SLS) PTF7004A" は、  ftp://ftp.sco.com/SLS/ の SCO ftp から利用することができます。  ファイル ptf7004a.Z および ptf7004a.txt をダウンロードしてください。 PTF7004A は、"SCOhelp 内の Verity 検索エンジンの構成に関する問題と、  各種ユーティリティーおよび SCOadmin マネージャーの地域化に関する問題を解決します。"  DB2 資料を調べるつもりの場合は、この SLS をインストールする必要があります。  詳細は、ptf7004a.txt ファイルを参照してください。 22.4.1 中国語 (簡体字) およびブラジル・ポルトガル語の lang.conf の変更 PTF7004A をインストールした後、中国語 (簡体字)またはブラジル・ポルトガル語で SCOhelp を使用するには、 まずファイル /usr/ns-home/httpd-scohelphttp/config/lang.conf を編集し、次のような変更を行う必要があります。 1. 次に示すように、LocalizedDocRoot リストの中の次のような 2 行を変更し、    サブディレクトリーの末尾に "_BR" および "_CN" を追加します。 LocalizedDocRoot pt_PT.ISO8859-1 /usr/lib/scohelp/pt_BR LocalizedDocRoot zh_ZH.ISO8859-1 /usr/lib/scohelp/zh_CN 2. zh の様々な言語別名を変更します。zh の様々な言語別名が、    zh_ZH.ISO8859-1 (zh と ZH の間はダッシュではなく下線) にマップされていることを確かめます。   行は次のようになるはずです。 LanguageAlias zh zh_ZH.ISO8859-1 すると、この値は次のような行に一致します。 LocalizedDocRoot zh_ZH.ISO8859-1 /usr/lib/scohelp/zh_CN これらの変更を行った後、『2.2.1 サーバーでのデフォルト SCOhelp 言語の変更』に説明のあるとおりに、  ウェブ・サーバーを再始動 (または、停止してから始動) します。 22.5 SCOHELP 検索索引ファイル SCOhelp は、検索索引をすべて /usr/lib/scohelp//_SearchIndex/parts ディレクトリーに保管します。 これらのファイルは、プロダクトがインストールされるごとにサイズが大きくなっていきますが、  プロダクトを除去 (現在の UnixWare 7 を使って) しても小さくなりません。  DB2 の場合も、他のプロダクトと同様です。 これらのファイルを削除すると、SCOhelp 検索は正しく作動しなくなります。 (C) Copyright IBM Corp. 2001