改訂マークは、追加または変更されたテキストを示しています。縦線 ( | ) は、バージョン 8.2 フィックスパック 4 (バージョン 8.1 フィックスパック 11 に相当) で追加または変更された情報を示しています。
現在コンピューターにインストールされている DB2(R) 製品のバージョンとはレベルの異なる別の DB2(R) 製品をインストールする必要が生じる場合があります。DB2 製品は、同じレベルであることが必要です。
インストールする製品が、同じコンピューター上にインストールされている他の DB2 製品のバージョンよりも新しいレベルである場合、既存の DB2 製品をその新レベルに更新することが必要です。たとえば、インストールする DB2 Connect(TM) for iSeries(TM) のレベルがフィックスパック 10 で、インストール済みの他の DB2 製品がフィックスパック 9 のレベルである場合、フィックスパック 10 のレベルである DB2 Connect(TM) for iSeries(TM) のインストール前に、現在インストールされている DB2 製品にフィックスパック 10 を適用する必要があります。
逆に、製品をインストールしようとしているコンピューターに、製品より新しいバージョンの DB2 製品がインストールされている場合は、以下のガイドラインに従ってください。
db2licm -a filename
ここで、filename はライセンス・ファイルの名前です。このファイルは、オリジナル・メディアの db2¥license ディレクトリーにあります。また、このライセンスをフィックスパックの db2¥license ディレクトリーに追加すると、フィックスパックのインストールと同時にライセンスがインストールされます。
追加の製品またはコンポーネントのインストール前に、次のものを停止する必要があります。
停止する必要のあるインスタンスおよび DAS は、追加の DB2 製品またはコンポーネントのインストール先になる DB2 に属するものです。
詳細は、フィックスパックの README を参照してください。
現行システムに DB2 DAS が存在せず、追加の製品またはコンポーネントが DB2 DAS を必要とするか、またはサポートしている場合、db2setup はインストール中に DB2 DAS をセットアップします。プラットフォームによっては、db2setup を使った DB2 DAS 作成中にエラーが発生することがあります。これらのエラーは想定済みのものであり、無視してかまいません。
db2setup プログラムは、DB2 製品 CD か、インストールする追加の製品またはコンポーネントのイメージにあります。
db2setup の使用に関する詳細は、「コマンド・リファレンス」ガイドおよび「インストールおよび構成 補足」を参照してください。
db2_install スクリプトは、DB2 製品 CD か、インストールする追加の製品またはコンポーネントのイメージにあります。
db2_install スクリプトの使用に関する詳細は、「インストールおよび構成 補足」を参照してください。
システム・インストーラーの使用に関する詳細は、「インストールおよび構成 補足」を参照してください。
このシナリオでは、以下の条件を前提とします。
インストール後のステップとして、正規のフィックスパック 10 を再適用することが必要です。
The package db2cliv81 is already installed on the system. Patch nnnnnnn-nnn installation terminated abnormally. To reinstall this patch, deinstall it first before attempting to reinstall it.このエラーは、システム中の db2cliv81 が、インストール中のフィックスパック・レベルとすでに同じレベルであるために発生します。 この種のエラーは無視してもかまいません。システム・インストーラーを使用して、DB2 コンポーネントまたはパッケージがインストール中のフィックスパック・レベルと実際に同じであることを確認してください。
DB2 Universal Database(TM) バージョン 8.2 でデータベースを作成すると、そのデータベースはバージョン 8.1 レベルでは使用できません。そのデータベースは、8.2 以降のレベルでのみ使用できます。
DB2(R) UDB バージョン 8.2 レベルで作成されたデータベースには、前のバージョンでは使用できない追加機能がある場合があります。この違いにより、新規データベースを前のリリース DB2 UDB に移動しようとすると、予期しない、不適切な動作となる場合があります。
「DB2 Universal Database クライアント機能 概説およびインストール」の『DB2 クライアントの概要』に以下のことが説明されています。
DB2 クライアントは、クライアント・リリース・レベルより 2 リリース後または 1 リリース前の DB2 サーバーと、同じリリース・レベルのサーバーに接続できます。|
この記述は、次のように改訂します。
|バージョン N クライアントからバージョン N + 2 サーバーへの接続は一部の環境では可能ですが、DB2 サポート・チームがこの構成にサポートを提供するのは、バージョン N がサービス中の期間に限ります。 |バージョン N のサービスが撤回されると、DB2 サポート・チームはこの構成をサポートしなくなります。DB2 バージョン 8 サーバーに接続する DB2 バージョン 7 クライアントは、バージョン 7 のサービスが撤回されたため、DB2 サポート・チームによりサポートされなくなりました。
DB2 UDB バージョン 8.2 レベルで行われたすべてのレジストリーの変更は、DB2 UDB バージョン 8.1 に下位マイグレーションすると失われます。レジストリーはバージョン 8.1 HealthRules.reg ファイルに戻ります。このファイルには、DB2 UDB バージョン 8.2 にアップグレードして HealthRules2.reg ファイル中の設定を使用開始する前に存在していた設定が含まれています。
DB2 Universal Database (UDB) バージョン 8 以前では、フィックスパックには、1 つの固定ロケーションにインストールされた DB2 UDB パッケージまたはファイル・セットを更新する機能しかありませんでした。 つまり、フィックスパックのインストールによって、既存ファイルがフィックスパックの更新済みファイルに置き換えられていました。 単一のシステム内に複数の DB2 フィックスパック・レベルは存在できません。 今後は、Linux(TM) ベースおよび UNIX(R) ベースのオペレーティング・システムの場合、 同じシステムで複数のフィックスパック・レベルの DB2 UDB Enterprise Server Edition (ESE) の存在が可能になります。 バージョン 8.1.2 より実稼働環境でサポートされるようになったこの機能は、 次の 2 種類のフィックスパックの使用によって実現します。
複数フィックスパック・インスタンスを別のフィックスパック・レベルに更新するには、 次のいずれかの操作を実行します。
代替フィックスパックに関する詳細については、以下を参照してください。
バージョン 8.2.2 (バージョン 8.1 フィックスパック 9 に相当) 以降、32 ビット環境でキャプチャーされた TRACK_QUERY_INFO Query Patroller コントロール表の 内容を 64 ビット環境で使用できます。 この機能により、64 ビット環境への移行作業が容易になります。 バージョン 8.2.2 の TRACK_QUERY_INFO Query Patroller コントロール表でキャプチャーされた 情報を使用して、その照会のヒストリカル・データを生成したり、以前のフィックスパック・レベルで 保持された照会を実行することはできません。
DB2 Universal Database (UDB) Enterprise Server Edition バージョン 8 データウェアハウス・センターでの以前のサーバー・サポートには、以下の制限があります。
Windows(R) または UNIX オペレーティング・システム上の DB2 Universal Database (UDB) バージョン 8 用の Application Development Client で デベロップメント・センターを使用するときは、SQLJ および SQL Assist のサポートを使用可能にするために以下の APAR をインストールする必要があります。
バージョン 7 とバージョン 8 のいずれの SQL Assist でも、DB2 Universal Database バージョン 8 から呼び出すことができます。バージョン 7 は、DB2 データウェアハウス・センターから開始することができます。 その他のすべてのセンターは、最新のバージョン 8 を開始します。製品のオンライン・ヘルプには、 バージョン 7 の SQL Assist についての追加情報があります。
バージョン 7 では Unicode サーバーは、 接続時にアプリケーションから送信された GRAPHIC コード・ページを無視し、 UCS2 Unicode (コード・ページ 1200) が使用されました。 バージョン 8 Unicode サーバーでは、クライアントが送信したコード・ページを使用します。
DB2 UDB バージョン 8.2 は、SQLDBCONF という名前の新規 16K データベース構成パラメーターを使用します。これは、SQLDBCON という名前の DB2 UDB バージョン 8.1 4K データベース構成パラメーター・ファイルとは別個のファイルです。
DB2 UDB バージョン 8.2 に移行した後、製品はバージョン 8.1 4K ファイルの内容を移行し、データベース構成パラメーター変更のロギングに 16K ファイルを使用します。バージョン 8.1 4K ファイルは保存されますが、使用されません。
DB2 UDB バージョン 8.1 に下位マイグレーションすると、DB2 UDB バージョン 8.1 製品はデータベース構成パラメーター変更のロギングに元の 8.1 4K ファイルを使用します。 バージョン 8.2 16K ファイルは保存されますが、DB2 UDB バージョン 8.1 からは認識されません。 バージョン 8.2 への移行とバージョン 8.1 への下位マイグレーションの間に 16K データベース構成パラメーター・ファイルに行われた変更は、変更内容が元の 4K ファイルに移行されないため、実際には、前の DB2 UDB レベルからは認識されません。
また、DB2 UDB バージョン 8.2 に再度移行すると、DB2 UDB バージョン 8.2 製品は 16K データベース構成ファイルがすでに存在することを認識し、データベース構成パラメーター変更のロギングに 8.2 16K ファイルを使用します。 バージョン 8.1 4K ファイルは保存されますが、DB2 UDB バージョン 8.2 製品からは認識されません。 バージョン 8.1 への下位マイグレーションとバージョン 8.2 への再移行の間に 4K データベース構成パラメーター・ファイルに行われた変更は、変更内容が既存の 16K ファイルに移行されないため、実際には、新しい DB2 UDB レベルからは認識されません。
バージョン 8.2 では、db2diag.log ファイル・フォーマットが多くの点で改良されました。 現在、このログ・ファイルの手動の読み取りとソフトウェア内での構文解析はこれまで以上に簡単になっています。 改善点には、以下のものがあります。
例えば、database フィールド名の DB への変更など、他の変更も行われました。
イベント・レコードが診断メッセージとして db2diag.log ファイルに追加されました。この種のイベントの例としては、次のようなものがあります。
イベント・レコードは LEVEL フィールドに「Event」と指定されます。 イベントはエラーではありませんが、重要性に応じて 4 (通知) または 3 (警告) 以外の 診断レベルでログに記録されることがあります。
バージョン 8.2 から、以下の更新が db2diag.log ファイルに記録されます。
これらの更新のメッセージは重要性が高いため、高い診断レベルでログに記録されます。
以下のタイプの db2set プロファイル・レジストリー更新がログに記録されます。
2004-04-22-19.19.14.156959-240 I79582C286 LEVEL: Event PID : 2437242 TID : 1 PROC : db2set INSTANCE: db2user NODE : 000 FUNCTION: DB2 UDB, oper system services, db2set_main, probe:40 CHANGE : CFG DB2SET: DB2DBDFT: From: "OLDDB" To: "SAMPLE"
CHANGE : CFG DB2SET: DB2DBDFT: From: "SAMPLE" To: ""
CHANGE : CFG DB2SET: Profile registry was reset
DB および DBM 構成パラメーター更新の例を以下に示します。
CHANGE : CFG DB SAMPLE: "Maxlocks" From: "10" To: "20" CHANGE : CFG DBM: "Diaglevel" From: "3" To: "1" CHANGE : CFG DBM: Reset to the system defaults
これらの構成更新メッセージを検索するには、db2diag ツールを使用してください。たとえば次のようにします。
DB2 Universal Database(TM) (UDB) for Linux, UNIX, and Windows(R)、バージョン 8.2.2 (バージョン 8.1 フィックスパック 9 に相当) は、 DB2 UDB でサポートされるすべての 32 ビットおよび 64 ビットの ワークステーション・オペレーティング・システム環境で JDK 1.4.2 をサポートします。 このサポートには、Java(TM) クライアント・アプリケーションの作成と実行、 コマンド行からの Java(TM) ルーチンの作成と実行、 DB2 デベロップメント・センターからの Java(TM) ルーチンの作成と実行 (サポートされる場合)、 他の DB2 ツールの実行、およびその他が含まれます。
DB2 UDB バージョン 8.2 をインストールすると、 DB2 UDB インストールが以前の DB2 UDB バージョン 8 インストールの更新である場合以外は、 Java Developer Kit がまだインストールされていなければ、 サポートされているその最新バージョンもインストールされます。 DB2 UDB バージョン 8 の以前のインストールを更新する場合、 Java Developer Kit を CD からインストールする必要があります。
以下の表は、DB2 によってサポートされる 32 ビットおよび 64 ビットの ワークステーション・オペレーティング・システム環境、 およびそれぞれに対するサポートされる最新の JDK レベルを示しています。 以前の JDK サポートについては、Java Application Development の Web ページ を http://www.ibm.com/software/data/db2/udb/ad/v8/java/ で参照してください。
DB2 によってサポートされる環境 | 最新のサポートされる JDK レベル |
---|---|
Windows IA/AMD 32 ビット | JDK 1.4.2 |
Windows IA 64 ビット | JDK 1.4.2 |
Windows AMD/EM64T 64 ビット | JDK 1.4.2 |
AIX(R) 4.3.3 32 ビット | JDK 1.3.1 SR6 [2] |
AIX(R) 5 (ハイブリッド [1]) | JDK 1.4.2 |
Solaris (ハイブリッド [1]) | JDK 1.4.2 |
HPUX RISC & Itanium (ハイブリッド [1]) | JDK 1.4.2.01 |
Linux AMD/EM64T 32 ビット、64 ビット (ハイブリッド [1]) | JDK 1.4.2 [3] |
Linux IA 32 ビット | JDK 1.4.2 |
Linux IA 64 ビット | JDK 1.4.2 |
Linux 390 31 ビット | JDK 1.4.2 |
Linux 390 64 ビット | JDK 1.4.2 |
Linux PPC (ハイブリッド [1]) | JDK 1.4.2 |
Linux Java 環境をセットアップするための更新された手順については、次に示します。
Linux 上で DB2 JDBC サポートを利用して Java アプリケーションを構築する方法は、以下のとおりです。
Java ストアード・プロシージャーまたはユーザー定義関数を実行するには、 Linux ランタイム・リンカーが特定の Java 共用ライブラリーにアクセスできる必要があり、 しかも DB2 UDB がそのライブラリーと Java 仮想計算機の両方をロードできる必要があります。 ストアード・プロシージャーおよびユーザー定義関数を実行するプロセスは、 /etc/ld.so.conf ファイルで定義されているとおり、 セキュアな場所にあるライブラリーだけをロードします。 それらのセキュアな場所の 1 つは、/usr/lib です。 残りの指示は、どのライブラリーが /usr/lib 内にシンボリック・リンクを 必要とするかを示しています。
cd /usr/lib ln -fs JAVAHOME/jre/bin/libjava.so . ln -fs JAVAHOME/jre/bin/classic/libjvm.so . ln -fs JAVAHOME/jre/bin/libhpi.so .ただし JAVAHOME は、IBM(R) Developer Kit のベース・ディレクトリーです。 DB2 UDB によってこのライブラリーが見つけられない場合に Java ルーチンを実行しようとすると、 -4301 エラーが発生し、ライブラリーが見つからないことを知らせるメッセージが管理通知ログ内に置かれます。
cd /usr/lib ln -fs JAVAHOME/jre/bin/libjava.so ln -fs JAVAHOME/jre/bin/classic/libjvm.so ln -fs JAVAHOME/jre/bin/libhpi.so ln -fs JAVAHOME/jre/bin/libjsig.soここで JAVAHOME は、IBM Developer Kit のベース・ディレクトリーです。 DB2 UDB によってこのライブラリーが見つけられない場合に Java ルーチンを実行しようとすると、 -4301 エラーが発生し、ライブラリーが見つからないことを知らせるメッセージが管理通知ログ内に置かれます。
cd /usr/lib ln -fs JAVAHOME/jre/bin/libjava.so ln -fs JAVAHOME/jre/bin/classic/libjvm.so ln -fs JAVAHOME/jre/bin/libhpi.so ln -fs JAVAHOME/jre/bin/libjsig.so ln -fs JAVAHOME/jre/bin/libjitc.so ln -fs JAVAHOME/jre/bin/libxhpi.so ln -fs JAVAHOME/jre/bin/libdbgmalloc.soここで JAVAHOME は、IBM Developer Kit のベース・ディレクトリーです。 DB2 UDB によってこのライブラリーが見つけられない場合に Java ルーチンを実行しようとすると、 -4301 エラーが発生し、ライブラリーが見つからないことを知らせるメッセージが管理通知ログ内に置かれます。
JAVAHOME/jre/binここで JAVAHOME は、IBM Developer Kit のベース・ディレクトリーです。 DB2 UDB がこのライブラリーを見つけられない場合に Java ルーチンを実行すると、 -4301 または -1042 エラーが発生します。
/usr/lib ディレクトリー内の共用ライブラリーへのリンクを明示的に作成する代わりに、 Java 共用ライブラリーを保管するディレクトリーの名前を /etc/ld.so.conf ファイルに追加できます。 このファイルではルート許可が必要です。/etc/ld.so.conf の更新後、ldconfig コマンドをルートとして実行して、変更をアクティブにする必要があります。この代替手順で問題が生じた場合、 前に説明した方法で /usr/lib ディレクトリーにリンクを作成してください。
DB2 ファミリー製品で NETBIOS プロトコルを使用するように構成されている Microsoft(R) XP 64 ビット・オペレーティング・システム (2600) を使用している場合、Microsoft からホット・フィックスを入手する必要があります。 Microsoft サポート技術情報の文書番号 317437 について、Microsoft に問い合わせてください。
Windows XP Home Edition オペレーティング・システムは、DB2 Universal Database (UDB) Personal Edition 製品でのみサポートされています。
以下の DB2 製品は、Windows XP Professional オペレーティング・システムをサポートしています。
以下の DB2 製品は、 Windows XP 上では開発およびテスト目的でのみサポートされます (実稼働環境では、 Windows 2000 または Windows Server 2003 が必要です)。
DB2 Universal Database(TM) (UDB) バージョン 8.2 では、DB2 UDB Workgroup Server Edition および DB2 UDB Express Edition のカスタマー (ユーザー単位の価格設定モデルでライセンス交付を受けた場合) は、別個の有償オプションで DB2 UDB High Availability Disaster Recovery (HADR) をインストールできませんでした。この問題は、DB2 UDB バージョン 8.2 フィックスパック 1 (バージョン 8.1 フィックスパック 8) で修正されました。
DB2 Warehouse Manager Standard Edition バージョン 8.2 の OLAP ユーティリティーは IBM DB2 OLAP Server(TM) FP3 (Essbase API レベル 6.5.4) 以降と互換性がありません。この問題が解決されるまで、DB2 OLAP Server FP2 (Essbase 6.5.3) 以前の使用をお勧めします。
DB2 Universal Database (UDB) バージョン 8.2.2 (バージョン 8.1 フィックスパック 9 に相当) より前のロー I/O 装置でログを使用するには、 raw ユーティリティーを使用して、 物理装置を Linux ロー・キャラクター型デバイス・ドライバーにバインドする必要がありました。 DB2 UDB バージョン 8.2.2 (バージョン 8.1 フィックスパック 9 に相当) から、 2.6 Linux カーネル上で、ログのロー I/O は直接指定できるようになりました。 たとえば、装置パーティション /dev/sdb1 を SAMPLE データベースのロー・ログで使用するには、 以下のコマンドを発行します。
db2 update db cfg for sample using newlogpath /dev/sdb1
DB2 UDB は引き続きロー I/O に対するロー・ユーティリティーの使用方式をサポートしますが、最近のディストリビューションではこの機能は推奨されておらず、今後除去される可能性があります。優先されるのは、装置を直接指定する新しい方式の使用です。
DB2 Universal Database バージョン 8.2 は Red Hat Enterprise Linux AS バージョン 3 および 2.1 をサポートします。 ただし、データウェアハウス・センターは Red Hat Enterprise Linux AS バージョン 2.1 のみサポートします。データウェアハウス・センターは、Red Hat Enterprise Linux AS バージョン 3.1 をサポートしない DataDirect ODBC ドライバーを使用します。したがって、データウェアハウス・センターは、Red Hat Enterprise Linux AS バージョン 3.1 エージェント・サイトから ODBC ウェアハウス・ソースとウェアハウス・ターゲットをサポートしません。
IBM(R) WebSphere(R) MQ (以前は IBM MQSeries(R)) 環境でアプリケーションを実行する場合、WebSphere(R) MQ は XA に準拠するトランザクション・マネージャーとして動作し、分散される 2 フェーズ・コミットのトランザクションを調整することができます。WebSphere(R) MQ がこのような方法でトランザクション・マネージャーとして動作し、データ・ソースが DB2 ファミリー製品である場合、いくつかの構成要件があります。これらの要件のほとんどはすでに文書化されています。たとえば、DB2 構成パラメーター TP_MON_NAME を、DB2 ランタイム・クライアントで「MQ」に設定する必要があります。
しかし、文書化されていない構成要件もあります。 データ・ソースである DB2 for OS/390(R) サーバーに接続する場合、要件は DB2 Connect に固有のものです。WebSphere MQ を使用して DB2 for z/OS(R) および DB2 for iSeries サーバーが関係する分散トランザクションを調整する場合、DB2 Connect 接続コンセントレーター機能をゲートウェイで使用可能にする必要があります。接続コンセントレーターは、MAX_CONNECTIONS 構成パラメーターの値が MAX_COORDAGENTS の値より大きい場合に使用可能になります。接続コンセントレーターを使用可能にしないと、トランザクションの振る舞いが予期しないものになります。
Microsoft Windows の日本語シフト JIS コード・ページは、IBM コード化文字セット ID (CCSID) 943 として登録されています。ただし、HP-UX プラットフォーム上ではシフト JIS コード・ページは CCSID 5039 として登録されています。 CCSID 5039 の中には、日本工業規格 (JIS) の文字のみが入っていて、ベンダー定義の文字はありません。 CCSID 5039 の DB2 Universal Database (UDB) データベースを HP-UX 上で使用してシフト JIS 文字を保管することはできますが、 CCSID 5039 と CCSID 943 の間でコード・ページの変換が行われます。 Microsoft ODBC アプリケーションの使用時に、CCSID 5039 のデータを Unicode に変換すると、IBM のコード・ページの変換表と Microsoft のコード・ページの変換表の相違により問題が発生する場合があります。
以下の文字のリストは、CCSID 5039 から Unicode に変換したときに、 いずれの変換表 (IBM または Microsoft) を使用するかにより異なるコード・ポイントになります。 このような文字の場合、IBM の変換表は日本工業規格 JISX0208 および JISX0221 に準拠しています。
シフト JIS コード・ポイント (文字名) | IBM 基本コード・ポイント (Unicode 名) | Microsoft 基本コード・ポイント (Unicode 名) |
---|---|---|
X'815C' (ダッシュ (全角)) | U+2014 (ダッシュ (全角)) | U+2015 (水平バー) |
X'8160' (波形ダッシュ) | U+301C (波形ダッシュ) | U+FF5E (ティルド (全角)) |
X'8161' (双柱) | U+2016 (双柱) | U+2225 (並列記号) |
X'817C' (負符号) | U+2212 (負符号) | U+FF0D (ハイフン (全角)) |
例えば、X'815C' の CCSID 5039 コード・ポイントである文字ダッシュ (全角) は、 IBM 変換表を使用すると Unicode コード・ポイント U+2014 に変換されますが、Microsoft 変換表を使用すると U+2015 に変換されます。 Microsoft ODBC アプリケーションは、U+2014 を無効コード・ポイントとして扱うため、問題を生じる可能性があります。 このような問題を回避するために、DB2 UDB には、デフォルトの IBM 変換表に加えて、CCSID 5039 から Unicode への代わりの Microsoft 変換表が用意されています。デフォルトの IBM 変換表を、代わりの Microsoft 変換表に置き換える必要があります。 Unicode から CCSID 5039 へのデフォルトの IBM 変換表は、Microsoft バージョンのものと一致します。
CCSID 5039 から Unicode への変換では、DB2 Universal Database (UDB) のデフォルトのコード・ページ変換表が使用されます。 Microsoft バージョンなど、異なるバージョンの変換表を使用する場合は、 デフォルトの変換表 (.cnv) ファイルを手動で置換する必要があります。
sqllib/conv ディレクトリー内の既存のコード・ページ変換表ファイルを置換する前に、 それを変更前の状態に戻す場合に備えて、ファイルをバックアップする必要があります。 UNIX および Linux では、sqllib/conv ディレクトリーは DB2 UDB のインストール・パスにリンクされています。
変換表の置換を有効にするには、同じデータベースに接続するすべての DB2 UDB クライアントで変換表を変更する必要があります。 変更しないと、クライアントごとにそれぞれ異なるコード・ポイントを使用して、同じ文字を保管する可能性があります。
CCSID 5039 から Unicode への変換用のデフォルトの DB2 UDB 変換表を置き換えるには、 次の手順で行います。
日本語 EUC コード・ページ用の IBM コード化文字セット ID (CCSID) は、CCSID 954 として登録されています。 CCSID 954 は、日本語の UNIX および Linux プラットフォームの共通のエンコード方式です。Microsoft ODBC アプリケーションを使用して CCSID 954 の DB2 Universal Database (UDB) データベースに接続すると、CCSID 954 から Unicode へのデータの変換時に問題が生じることがあります。 問題が生じる可能性は、 IBM のコード・ページの変換表と Microsoft のコード・ページの変換表の相違に起因します。 IBM の変換表は日本工業規格 (JIS) JISX0208、JISX0212、および JISX0221 に指定されている文字名に準拠しています。
以下の文字は、CCSID 954 から Unicode に変換したときに、IBM または Microsoft のいずれの変換表を使用するかにより異なるコード・ポイントになります。
EUC-JP コード・ポイント (文字名) | IBM 基本コード・ポイント (Unicode 名) | Microsoft 基本コード・ポイント (Unicode 名) |
---|---|---|
X'A1BD' (ダッシュ (全角)) | U+2014 (ダッシュ (全角)) | U+2015 (水平バー) |
X'A1C1' (波形ダッシュ) | U+301C (波形ダッシュ) | U+FF5E (ティルド (全角)) |
X'A1C2' (双柱) | U+2016 (双柱) | U+2225 (並列記号) |
X'A1DD' (負符号) | U+2212 (負符号) | U+FF0D (ハイフン (全角)) |
X'8FA2C3' (破断線) | U+00A6 (破断線) | U+FFE4 (破断線 (全角)) |
例えば、X'A1BD' の CCSID 954 コード・ポイントである文字ダッシュ (全角) は、 IBM 変換表を使用すると Unicode コード・ポイント U+2014 に変換されますが、Microsoft 変換表を使用すると U+2015 に変換されます。 変換マッピングのこの相違のため、DB2 UDB Unicode データベース、または DB2 UDB 954 データベースの GRAPHIC 列に、同一文字に対して 2 つの別々のコード・ポイントが充当されることがあります。 Microsoft ODBC アプリケーションは、U+2014 を無効コード・ポイントとして扱うため、問題を生じる可能性があります。 このような問題を回避するために、DB2 UDB には、デフォルトの IBM 変換表に加えて、CCSID 954 から Unicode への代わりの Microsoft 変換表が用意されています。デフォルトの IBM 変換表を、代わりの Microsoft 変換表に置き換える必要があります。 Unicode から CCSID 954 へのデフォルトの IBM 変換表は、Microsoft バージョンのものと一致します。
CCSID 954 から Unicode への変換では、DB2 Universal Database (UDB) のデフォルトのコード・ページ変換表が使用されます。 Microsoft バージョンなど、異なるバージョンの変換表を使用する場合は、 デフォルトの変換表 (.cnv) ファイルを手動で置換する必要があります。
sqllib/conv ディレクトリー内の既存のコード・ページ変換表ファイルを置換する前に、 それを変更前の状態に戻す場合に備えて、ファイルをバックアップする必要があります。 UNIX および Linux では、sqllib/conv ディレクトリーは DB2 UDB のインストール・パスにリンクされています。
これを有効にするには、同じ CCSID 954 データベースに接続するすべての DB2 クライアントで変換表を変更する必要があります。 クライアントが日本語 Windows の場合に、その ANSI コード・ページがシフト JIS (CCSID 943) であれば、 CCSID 943 と Unicode の間の DB2 のデフォルトの変換表を Microsoft バージョンに変更する必要もあります。 変更しないと、クライアントごとにそれぞれ異なるコード・ポイントを使用して、同じ文字を保管する可能性があります。
CCSID 954 から Unicode への変換用のデフォルトの DB2 UDB 変換表を置き換えるには、 次の手順で行います。
CCSID 943 と Unicode の間の変換用のデフォルトの DB2 UDB 変換表を置換するには、 次の手順で行います。
IBM コード化文字セット ID (CCSID) 943 として登録されている Microsoft Windows の日本語シフト JIS コード・ページを使用している場合は、CCSID 943 と Unicode との間で文字を変換する際に以下の 2 つの問題が発生する場合があります。問題が発生する可能性があるのは、IBM と Microsoft のコード・ページの変換表が異なるためです。このような問題を回避するために、DB2 Universal Database (UDB) には、デフォルトの IBM 変換表以外に、CCSID 943 と Unicode との間の代替 Microsoft 変換表が用意されています。
従来より、CCSID 943 コード・ページ中の文字のうち 300 以上が、それぞれ 2 つまたは 3 つのコード・ポイントによって表されます。入力方式エディター (IME) とコード・ページ変換表を使用すると、これらの同等のコード・ポイントのうち 1 つのみが入力されます。例えば、ローマ数字 1 の小文字「i」には、X'EEEF' と X'FA40' の 2 つの同等のコード・ポイントがあります。Microsoft Windows の IME は、'i' が入力されると常に X'FA40' を生成します。通常、IBM と Microsoft は同じ基本コード・ポイントを使用して文字を表しますが、以下の 13 文字は例外です。
文字名 (Unicode コード・ポイント) | IBM 基本シフトJIS コード・ポイント | Microsoft 基本シフト JIS コード・ポイント |
---|---|---|
ローマ数字 1 (U+2160) | X'FA4A' | X'8754' |
ローマ数字 2 (U+2161) | X'FA4B' | X'8755' |
ローマ数字 3 (U+2162) | X'FA4C' | X'8756' |
ローマ数字 4 (U+2163) | X'FA4D' | X'8757' |
ローマ数字 5 (U+2164) | X'FA4E' | X'8758' |
ローマ数字 6 (U+2165) | X'FA4F' | X'8759' |
ローマ数字 7 (U+2166) | X'FA50' | X'875A' |
ローマ数字 8 (U+2167) | X'FA51' | X'875B' |
ローマ数字 9 (U+2168) | X'FA52' | X'875C' |
ローマ数字 10 (U+2169) | X'FA53' | X'875D' |
括弧付きの漢字の株 (U+3231) | X'FA58' | X'FA58' |
ナンバー記号 (U+2116) | X'FA59' | X'8782' |
電話記号 (U+2121) | X'FA5A' | X'8754' |
DB2 UDB などの IBM 製品は基本的には X'FA4A' などの IBM コード・ポイントを使用して大文字のローマ数字 1 の「I」を表しますが、Microsoft 製品は X'8754' を使用してこの同じ文字を表します。 Microsoft ODBC アプリケーションは「I」文字を X'8754' として CCSID 943 の DB2 UDB データベースに挿入でき、DB2 UDB コントロール・センターはこの同じ文字を X'FA4A' として同じ CCSID 943 データベースに挿入できます。 ただし、ODBC アプリケーションは「I」が X'8754' としてエンコードされた行のみ検出でき、DB2 UDB コントロール・センターは「I」が X'FA4A' としてエンコードされた行のみ検出できます。 DB2 UDB コントロール・センターが「I」を X'8754' として選択できるようにするには、CCSID 943 と Unicode との間のデフォルトの IBM 変換表を、代替 Microsoft 変換表に置換する必要があります。
以下の文字のリストは、CCSID 943 から Unicode に変換したときに、IBM 変換表または Microsoft 変換表のいずれを使用するかにより異なるコード・ポイントになります。 このような文字の場合、IBM の変換表は日本工業規格 JISX0208、JISX0212、および JISX0221 に準拠しています。
シフト JIS コード・ポイント (文字名) | IBM 基本コード・ポイント (Unicode 名) | Microsoft 基本コード・ポイント (Unicode 名) |
---|---|---|
X'815C' (ダッシュ (全角)) | U+2014 (ダッシュ (全角)) | U+2015 (水平バー) |
X'8160' (波形ダッシュ) | U+301C (波形ダッシュ) | U+FF5E (ティルド (全角)) |
X'8161' (双柱) | U+2016 (双柱) | U+2225 (並列記号) |
X'817C' (負符号) | U+2212 (負符号) | U+FF0D (ハイフン (全角)) |
X'FA55' (破断線) | U+00A6 (破断線) | U+FFE4 (破断線 (全角)) |
例えば、X'815C' の CCSID 943 コード・ポイントである文字ダッシュ (全角) は、IBM 変換表を使用すると Unicode コード・ポイント U+2014 に変換されます。 ただし、Microsoft 変換表を使用すると U+2015 に変換されます。 変換マッピングのこの相違により、DB2 UDB Unicode データベースにおいては、同一文字に対して 2 つの別々のコード・ポイントが充当されることがあります。 Microsoft ODBC アプリケーションは、U+2014 を無効コード・ポイントとして扱うため、問題を生じる可能性があります。 この問題を回避するために、CCSID 943 と Unicode との間のデフォルトの IBM 変換表を、代替 Microsoft 変換表に置換する必要があります。
CCSID 943 と Unicode との間の代替 Microsoft 変換表を使用するには、すべての DB2 UDB クライアントと DB2 UDB データベースが CCSID 943 のコード・ページを持ち、同じ代替 Microsoft 変換表を使用する、閉じた環境に限定する必要があります。IBM デフォルトの変換表を使用する DB2 UDB クライアントと、代替 Microsoft の変換表を使用する別の DB2 UDB クライアントが混在し、両方のクライアントが CCSID 943 の同じ DB2 UDB データベースにデータを挿入する場合、同じ文字が異なるコード・ポイントとしてデータベースに保管される可能性があります。
CCSID 943 と Unicode との間で変換する場合、DB2 Universal Database (UDB) のデフォルトのコード・ページ変換表が使用されます。 Microsoft バージョンの変換表などの、異なるバージョンの変換表を使用する場合、デフォルトの変換表 (.cnv) ファイルを手動で置換する必要があります。
sqllib/conv ディレクトリー内の既存のコード・ページ変換表ファイルを置換する前に、それらを変更前の状態に戻す場合に備えて、ファイルをバックアップする必要があります。 UNIX および Linuxでは、sqllib/conv ディレクトリーは DB2 UDB のインストール・パスにリンクされています。
変換表の置換を有効にするには、同じデータベースに接続するすべての DB2 UDB クライアントで変換表を変更する必要があります。 変更しないと、クライアントごとにそれぞれ異なるコード・ポイントを使用して、同じ文字を保管する可能性があります。
CCSID 943 と Unicode との間で文字を変換するためのデフォルトの DB2 UDB 変換表を置換するには、次の手順で行います。
ドキュメンテーションには記述されていますが、MVS(TM) オペレーティング・システムは DB2 Universal Database ではサポートされなくなりました。 MVS は z/OS に変更されました。
Linux 390 オペレーティング・システムの使用時には、複数の磁気テープ装置が関わるバックアップおよび復元操作が機能しない場合があります。
Hummingbird(R) Exceed を使用して UNIX 上のデベロップメント・センターにアクセスする場合に、デベロップメント・センター内のタイトル・バーのドラッグによってビューの移動と連結を行えるようにするには、 先に XTEST 拡張機能バージョン 2.2 を使用可能にしておく必要があります。
XTEST 拡張機能を使用可能にするには、次のようにします。