...

DB2 9.5移行手順ガイド <第1.00版 2009年 3月> 1 ©日本IBMシステムズ・エンジニアリング(株) Information Management部

by user

on
Category: Documents
726

views

Report

Comments

Transcript

DB2 9.5移行手順ガイド <第1.00版 2009年 3月> 1 ©日本IBMシステムズ・エンジニアリング(株) Information Management部
DB2 9.5移行手順ガイド
<第1.00版 2009年 3月>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
1
本書に含まれている情報は、正式なIBMのテストを受けていません。また、明記にしろ、暗黙的にしろ、なんらの保証もなしに配布されるものです。
この情報の使用またはこれらの技術の実施は、いずれも、使用先の責任において行われるべきものであり、それらを評価し、実際に使用する環境に統合する
使用先の判断に依存しています。それぞれの項目は、ある特定の状態において正確であることがIBMによって調べられていますが、他のところで同じまたは同
様の結果が得られる保証はありません。これらの技術を自身の環境に適用することを試みる使用先は、自己の責任において行う必要があります。
© Copyright IBM Japan Systems Engineering Co., Ltd. 2009
©日本IBMシステムズ・エンジニアリング(株) Information Management部
2
目次
1. はじめに
1-1. 移行に関連する情報のご紹介
1-2. サポートするプラットフォーム、前提
2. 移行シナリオの決定
2-1. DB2 9.5への移行作業フロー
2-2. 移行シナリオの比較
3. 移行作業
3-1. DB2 9.5のインストール
3-2. 移行作業前後のタスク
3-2-1. シナリオに共通して必要な移行前のタスク
3-2-2. シナリオに共通して必要な移行後のタスク
3-2-3. 環境によって必要となるタスク
3-3. 移行作業
3-3-1. 同一サーバ、同一インスタンスでの移行手順
3-3-2. 新規インスタンスへの移行手順(BACKUP/RESTOREを使用)
3-3-3. 新規インスタンスへの移行手順(データ移行ユーティリティを使用)
4. フォールバックのシナリオについて
5. その他
5-1. DB2クライアントの移行
5-2. オンライン・バックアップ・イメージを利用した移行シナリオ
©日本IBMシステムズ・エンジニアリング(株) Information Management部
3
1. はじめに
この資料の位置づけ
DB2 V8.2以前のバージョンから、DB2 9.5 への移行手順を、いくつ
かのシナリオを想定して記述したものです。
既存システム上のDB2を移行する際、手順作成のガイドとして参照
してください。
この資料で想定する環境について
エディションとしては、ESE(V7以前の場合EE)を想定します。
プラットフォームとしては、AIX/Windowsをベースとして作成します。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
4
1-1. 移行に関連する情報のご紹介
DB2 V8からDB2 9.5への移行ガイド
『DB2 V8からV9.5へうまく移行するためのガイド』をご参照ください。
DB2の移行を検討する際の考慮点を集めた重要なガイドなので、移行計画を検討す
る際は、必ず参照するようにしてください。
DB2 マイグレーション・ポータル
英語サイト
–
http://www.ibm.com/support/docview.wss?fdoc=imdb2luw&rs=71&uid=swg21200005
その他の移行関連情報
DB2 9新機能WS資料「導入と移行」
インストールに関する新機能、変更点が記載されています。
–
http://www.ibm.com/jp/domino01/mkt/dminfo.nsf/doc/005E6AB2
DB2 9.5 for LUW新機能WS資料「第1章 V9.5概要、導入と移行」
インストールに関する変更点、V9.5への移行について記載されています。
–
http://www.ibm.com/jp/domino01/mkt/dminfo.nsf/doc/001BED48
©日本IBMシステムズ・エンジニアリング(株) Information Management部
5
1-2. サポートするプラットフォーム、前提
サポートプラットフォームの変更
DB2 9.5で32bitインスタンスをサポートするのは下記のみ
32 ビットのWindows (x86 と X64) (DB2 バージョン 9.5 32 ビット製品を使用)
32 ビットのLinux (x86)
–
DB2 Enterprise Server Edition for Linux (x86-32 ハードウェア) では、サポートされない(テストおよび開発の
みサポート)
上記以外のプラットフォームでは64bitインスタンスのみ作成可能
UNIX(64 ビットのAIX、HP-UX、Solaris のカーネル)
Linux(64 ビットのLinux のカーネル (x86-64、POWER、zSeries))
64 ビットのWindows (X64)
–
同一サーバー上で、32 ビットと 64 ビット・バージョンの共存はサポートしない。
64bitインスタンスの32bitサポート
ローカルの32bitアプリケーションと32bitサーバー・サイド・ルーチンの実行をサポート
Linux IA64およびLinux zSeriesは、32bitライブラリーの提供なし
上記内容の最新情報は、下記のInformation Centerで確認
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.migration.do
c/doc/c0022266.html
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.apdv
.embed.doc/doc/c0020913.html
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.qb.s
erver.doc/doc/r0023732.html
前提ソフトウェアについて
下記のURLで前提ソフトウェアを公開
http://www.ibm.com/software/data/db2/udb/sysreqs.html
©日本IBMシステムズ・エンジニアリング(株) Information Management部
6
2-1. DB2 9.5への移行作業フロー
同一インスタンスで移行
Backup/Restore使用
Export/LOADを使用
(ケース1)
(ケース2/3)
(ケース2/3)
2-2章 移行シナリオの決定
3-1章 DB2 9.5のインストール
3-2-1章 移行前タスクの実施
3-3-1章 インスタン
スの移行(db2imigr)
3-3-2章 インスタン
スの作成(db2icrt)
3-3-3章 インスタン
スの作成(db2icrt)
3-3-3章 データベー
ス作成(create db)
3-3-3章 オブジェクト
作成
3-3-1章 データベース
の移行(migrate db)
3-3-2章 DBバックアッ
プ取得(backup db)
3-3-3章 移行データの
抽出(EXPORTコマンド)
3-3-2章 DBのリストア
(restore db)
3-3-3章 移行データの
投入(LOADコマンド)
3-2-2章 移行後タスクの実施
©日本IBMシステムズ・エンジニアリング(株) Information Management部
7
解説:DB2 9.5への移行作業フロー
移行作業のフローについて
採用する移行シナリオによって、移行のために必要となる手順は異なります。採用
される移行シナリオに応じて必要な作業を確認し、移行計画を立案してください。
上記のスライドでは、各シナリオ毎の大まかな作業の単位を表しています。
このガイドの構成について
このガイドでは、上記スライドの作業単位に対応して、各種作業の詳細を記述いた
します。
移行シナリオに応じて、必要な部分を抜粋して参照してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
8
2-2. 移行シナリオの決定
概要
ケース1
ケース2
ケース3
同一インスタンス上で、
インスタンス/DBの移行を実施
同一サーバ上にDB2 V9.5新規インス
タンスを作成し、移行を実施
新規サーバにDB V9.5新規インスタ
ンスを作成し、移行を実施
DBサーバ
DBサーバ
DB2V8 => DB2 V9.5
db2imigr
migrate DB
移行元DB2
Backup or
Export
DBサーバ(旧)
DB2V9.5
Restore or
Load
移行元DB2
Backup or
Export
移行先サーバー
移行元と同一
移行元と同一
新規マシン
移行先インスタンス
移行元と同一
新規インスタンス
新規インスタンス
移行に使用する
ツール
db2imigr/migrate db
backup/restore
or Export/Load
backup/restore
or Export/Load
備考
移行に必要なDISK領域が最小
V8からの移行時のみ選択可能
フォールバック時にインスタンスの
再作成および、DBリストアが必須
DB2 V7以前からの移行が可能
(Export/Loadを使用)
新旧DB分のDISK領域が必要
©日本IBMシステムズ・エンジニアリング(株) Information Management部
移行前インスタンス/DBの温存が可能
(Windowsの場合、V8のみ)
9
DBサーバ(新)
DB2V9.5
Restore or
Load
新規マシンに移行する際に使用
解説:移行シナリオの決定
移行シナリオの決定について
どのような移行シナリオを選定するべきかは、
HWの入れ替えを伴うかどうか。
V7以前からの移行か、V8からの移行か。
データベースのマイグレーション機能を使用するかどうか。
等で変わってきます。
たとえば、
「DB2 V7.2からの移行で、ハードウェアの移行を伴う。」
場合はケース3のデータ移動ユーティリティ(Export/LOAD)を使用するシナリオを
選択することになります。
プロジェクトの状況を考慮して最適な移行シナリオを選定してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
10
解説:移行シナリオの決定
BACKUP/RESTOREを使用した移行とデータ移動ユーティリティによる移行の比較
BACKUP/RESTOREによる移行と、データ移動ユーティリティによる移行を比較した場合、両者で最
も異なるのは、「データベース全体の移行処理を行うかどうか」です。
BACKUP/RESTOREを使用してデータベースの移行を行う場合、データベース全体に対して一括し
た移行処理が実施できるため、オブジェクトの種類/数にかかわらず一定の手順で移行が可能です。
ただし、下記の条件では、BACKUP/RESTOREによる移行ができないため、データ移動ユーティリ
ティを使用してください。
V7以前のDB2から、(V8を経由せず)直接移行を行う場合
WindowsからUNIX/Linux等、異なるプラットフォーム間での移行を行う場合。
移行方法によるメリット、デメリット
メリット
デメリット
BACKUP/RESTOREを使用
オブジェクトの種類/数にかかわらず一定の手
順で移行が可能
V8からの移行しかサポートされない
バックアップファイルは一括して取得する必要が
あるため、一括して取得するDISK領域を確保で
きない場合、移行手順の構築が難しい
移行の際、SMS->DMSの変更はできない
データ移動ユーティリティを使用
V7以前からの直接移行が可能
異なるプラットフォーム間での移行が可能
表単位の移行なので、表スペースへの表の配
置等、物理設計が柔軟に見直し可能。
テーブル毎にExportするため、全データを一括
して抽出/保持するDISK領域がない場合でも移
行可能。
移行するオブジェクトを手動で作成する必要が
ある。
オブジェクトの種類/数が多い場合に手順が煩
雑となる。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
11
解説:pureXMLフィーチャーを使用する場合
DB2 9から新機能として登場したpureXMLフィーチャーを使用するためには、
UNICODEデータベースが推奨されます。
V9.5ではXMLカラムはunicodeデータ
ベース以外でも作成できますが、
unicodeデータベースが推奨されます。
そのため、移行対象のデータベースがUNICODE以外のコードページを使用していて、XML
データタイプを含む表を追加したい場合、UNICODEデータベースに移行することを検討してく
ださい。
データベースのコードページは、いったんデータベースを作成した後は変更できないため、
UNICODEデータベースを新規作成した上で、データ移動ユーティリティによる移行(3-3-3章)
を実施してください。
UNICODEデータベースの作成について
UNICODEデータベースの作成する場合、CREATE DATABASE時にCODESETパラメーターを
UTF-8に設定します。
コマンド実行例
>db2 CREATE DATABASE <DB名称> USING CODESET UTF-8 TERRITORY JP COLLATE USING IDENTITY
©日本IBMシステムズ・エンジニアリング(株) Information Management部
12
3-1. DB2 9.5のインストール
同一インスタンスで移行
Backup/Restore使用
Export/LOADを使用
(ケース1)
(ケース2/3)
(ケース2/3)
2-2章 移行シナリオの決定
3-1章 DB2 9.5のインストール
3-2-1章 移行前タスクの実施
3-3-1章 インスタン
スの移行(db2imigr)
3-3-2章 インスタン
スの作成(db2icrt)
3-3-3章 インスタン
スの作成(db2icrt)
3-3-3章 データベー
ス作成(create db)
3-3-3章 オブジェクト
作成
3-3-1章 データベース
の移行(migrate db)
3-3-2章 DBバックアッ
プ取得(backup db)
3-3-3章 移行データの
抽出(EXPORTコマンド)
3-3-2章 DBのリストア
(restore db)
3-3-3章 移行データの
投入(LOADコマンド)
3-2-2章 移行後タスクの実施
©日本IBMシステムズ・エンジニアリング(株) Information Management部
13
3-1. DB2 9.5のインストール
インストールの変更点・注意事項
インストール方式の変更点
日本語パッケージの導入について
DB2製品の複数パスへの導入について
DB2 V8との共存について
ライセンス登録について
インストール手順
前提条件の確認
インストール方式の選定
インストールの実行
db2setupの場合
db2_installの場合(Windows以外)
©日本IBMシステムズ・エンジニアリング(株) Information Management部
14
3-1. インストールの変更点、注意事項1
インストール方式の変更点
V9.1から、OSネイティブのインストール・ツールはサポート外となりました。
SMIT/installp(AIX), rpm(Linux), pkgadd(Sun), sam or swinstall(HP)等
DB2提供のツールによるインストールを行う必要があります。
db2setup
– JAVAプログラムによるGUIツール
GUIツールのため、UNIX/LinuxではXサーバが必要
– インストールする機能の詳細な選択、ユーザー及びグループの作成、インスタンス
の作成と構成が可能
db2_install (Windows以外)
– スクリプトによる対話形式でのインストール(GUIが必要なし)
– インストールする機能の選択や、ユーザー及びグループの作成、インスタンスの作
成/構成はできない。
– インストール・パス及び、インストールする製品の選択は可能
応答ファイルによるインストール
– セットアップ設定、構成値を格納したファイルを元にサイレント・インストールが可能
手動インストール(非推奨)
– tarファイルの手動解凍によるインストール
©日本IBMシステムズ・エンジニアリング(株) Information Management部
15
解説:インストール方式の変更点
インストール・ツールのサポート
インストール方式
Windows
LinuxおよびUNIX
db2setup
あり
あり
db2_install
なし
あり
応答ファイル
あり
あり
なし
あり
手動インストール
(tarファイルの解凍)
参照先
DB2 Information Center:DB2のインストール方式
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.server.doc/doc/c0008711.html
©日本IBMシステムズ・エンジニアリング(株) Information Management部
16
3-1. インストールの変更点、注意事項2
日本語メッセージの導入について
V9.5では、DB2製品と日本語メッセージは同じCDメディアに格納されていま
す。
National Language Pack(以下、NLPack)の導入は必要ありません。
Fix packについては、Windows以外のプラットフォームでは、NLPackは別に提供され
ています。
参考
V9.1では、Windows以外のプラットフォームでは、DB2製品と日本語メッセージは別の
CDメディアに格納されます。
– 日本語メッセージの表示のためにはNLPackの導入が必要です。
National Language Packの導入方法
[DB2製品と同時に導入する場合]
db2setup/db2_install/応答ファイルのいずれでも使用可能です。
それぞれのオプションは「解説」を参照してください。
[すでに導入されているDB2製品に追加で導入する場合]
db2_installスクリプトは使用できません。
db2setup/応答ファイルのどちらかを使用してください
©日本IBMシステムズ・エンジニアリング(株) Information Management部
17
解説:日本語メッセージの導入について
日本語メッセージを導入する場合
db2setupの場合
「インストールタイプ:カスタム」を選択し、
「インストールする言語の選択」で「日本語」を選択する。
db2_installの場合
「-L JP」キーワードで、日本語の導入を指定する。
応答ファイルによるインストールの場合
応答ファイル中の「LANG」キーワードにJPを指定する。
日本語メッセージが導入されたことを確認する方法(AIX)
日本語メッセージが導入されたことを確認するコマンドの実行例
[root /]# /opt/IBM/db2/V9.5_01/install/db2ls -q -b /opt/IBM/db2/V9.5_01 -a │grep Messages
DB2_PRODUCT_MESSAGES_EN
9.5.0.0
0
Product Messages -English
DB2_PRODUCT_MESSAGES_JP
9.5.0.0
0
Product Messages -Japanese
上記の例で指定したパラメーターの意味について
–「-q 」
–「-b /opt/IBM/db2/V9.5_01」
–「-a」
べてリストする
©日本IBMシステムズ・エンジニアリング(株) Information Management部
:インストール済みのDB2製品およびフィーチャーをリストする
:インストール先を指定
:可視のフィーチャーだけでなく、非表示のコンポーネントもす
18
3-1. インストールの変更点、注意事項3
DB2製品の複数パスへの導入について
V9.1からは全てのプラットフォームで、同一サーバ上の複数のパスへの
導入が可能になりました。
これまで通り、1導入パスに対して複数インスタンスを作成可能。
なおかつ、同一サーバに複数のインストールが可能。
それに伴い、任意のパスへインストール可能となっています。
32bit版と64bit版のDB2製品コードは、同一サーバ上で共存することはで
きません。
32bit版の製品コードが導入されているサーバへ、64bit版の製品コードを導入した
場合、32bit版の製品コードはアンインストールされ、インスタンスは64bit版へ移行
されます。
DB2 V8との共存について
WindowsプラットフォームでもDB2 9 および DB2 9.5とDB2 V8との共存が
可能になりました。
ただし、「デフォルトDB2コピー」は必ずV8になります。
UNIX/LinuxプラットフォームではDB2 V7/V8の時点から共存が可能です。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
19
解説:複数パスへの導入について
DB2 V8との共存について
「DB2コピー」の概念及び、Windowsプラットフォームで複数パスへDB2を
導入する場合の詳細については、「DB2 9新機能W/S 導入と移行」を参
照してください。
– http://www.ibm.com/jp/domino01/mkt/dminfo.nsf/doc/005E6AB2
©日本IBMシステムズ・エンジニアリング(株) Information Management部
20
3-1. インストールの変更点、注意事項4
ライセンスの登録について
ライセンスファイルについて
DB2 9.5では、ライセンスファイルは「Activation CD」と書かれた独立したCDメ
ディアで提供されます。
上記CD内の「<Mount Point>/db2/license/」にある、「db2xxx.lic」がライセンス
ファイルです。
ライセンス登録の方法
db2licmを使用したライセンスファイル登録コマンド
>db2licm –a <ライセンスファイルの格納パス>/db2xxx.lic
DB2 9.5では、導入パスごとにライセンス情報が独立しています。
複数のパスにDB2製品を導入した場合、それぞれの導入パスごとにライセンス
登録のオペレーションが必要です。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
21
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
22
3-1. インストール作業の流れ
前提条件の確認
インストールイメージを導入先に展開
インストールの実行
ライセンス情報の登録
©日本IBMシステムズ・エンジニアリング(株) Information Management部
23
3-1. インストール:前提条件の確認
前提条件の確認
インストールイメージを導入先に展開
インストールの実行
ライセンス情報の登録
©日本IBMシステムズ・エンジニアリング(株) Information Management部
24
3-1. インストール:前提条件の確認
下記のURLよりDB2 9.5の前提条件を確認
http://www.ibm.com/software/data/db2/udb/sysreqs.html
現行OSのfixレベルを取得し、前提を満たしているか確認
AIXの場合
「oslevel –s」もしくは、「-r」を使用(-sオプションではSPレベルまで表示される。)
APAR導入の有無を個別に確認する場合、
>instfix –i | grep <APAR番号>
Windowsの場合
「ファイル名を指定して実行」より「winver」コマンドを実行して、バージョンを確認
インストール先サーバが前提を満たさない場合、Fixの追加適用等を行う。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
25
解説:前提条件の確認
(参考)2009年03月12日時点での前提条件
下記はあくまで参考情報です。インストール実施の際に必ず前ページのURLを
確認してください。
AIX5.3の場合
AIX 5.3 Technology Level (TL) 6 および Service Pack (SP) 2 および APAR IZ03063
64-bitカーネルが稼動していること
xlC.rte 9.0.0.1 および xlC.aix50.rte 9.0.0.1 以降が導入されていること
AIX6.1の場合
64-bitカーネルが稼動していること
xlC.rte 9.0.0.1 および xlC.aix61.rte 9.0.0.1 以降が導入されていること
Windows XP Professionalの場合
Windows XP Service Pack 2 以降
IBM Data Server Provider for .NET クライアント・アプリケーションと CLR サーバー・サイド・プロシージャーには .NET 1.1 SP1 または .NET 2.0
フレームワーク・ランタイムが必要
Windows2003の場合
Service Pack 1 以降
IBM Data Server Provider for .NET クライアント・アプリケーションと CLR サーバー・サイド・プロシージャーには .NET 1.1 SP1 または .NET 2.0
フレームワーク・ランタイムが必要
AIX用fixのダウンロードサイト
http://www.ibm.com/support/fixcentral/main/System+p/AIX
©日本IBMシステムズ・エンジニアリング(株) Information Management部
26
解説:前提条件の確認(つづき)
AIXでの動作の確認方法について
AIXの場合、カーネルが32bit、64bitのどちらで稼働しているかを確認するために
はbootinfoコマンドを使用してください。
bootinfoコマンドの使用方法
– >bootinfo –K
コマンド実行例
[root /]# bootinfo -K
64
AIXでのC++ Runtimeレベルの確認については、lslppコマンドもしくはSMITを使
用してください。
lslppコマンドの使用方法
– >lslpp -L│grep "xlC.rte"
コマンド実行例
[root /] # lslpp -L│grep "xlC.rte"
xlC.rte
©日本IBMシステムズ・エンジニアリング(株) Information Management部
8.0.0.4
27
C
F
C Set ++ Runtime
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
28
3-1. インストール:イメージの展開
必要に応じてインストールイメージの展開を実施する
ダウンロードサイトで提供されているDB2 9.5は、アーカイブされた状態で
す。
AIX/Linuxの場合はtarコマンドによる展開、Windowsの場合は自己展開
ファイルの起動による展開を行う必要があります。
下記の場合はこの作業は必要ありません
製品CDから直接インストールを行う場合
©日本IBMシステムズ・エンジニアリング(株) Information Management部
29
解説:イメージの展開 AIXの場合
> ls -l
total 1563456
-rw-r----1 root
system
800481280 Mar 06 15:12 DB2_ESE_V95_AIX.tar
> mkdir ese
> cd ese
> tar -xvf ../DB2_ESE_V95_AIX.tar
製品コード用にディレクトリを作成
x .
して展開する。
x ./db2/aix/bin/db2gpinf, 27503 バイト, 54 メディア・ブロック。
<中略>
x ./db2_install, 5090 バイト, 10 メディア・ブロック。
> cd ..
> ls -l
total 1563456
-rw-r----1 root
system
800481280 Mar 06 15:12 DB2_ESE_V95_AIX.tar
drwxr-xr-x
6 root
system
4096 Mar 06 17:40 ese
©日本IBMシステムズ・エンジニアリング(株) Information Management部
30
3-1. インストール:インストールの実行
前提条件の確認
インストールイメージを導入先に展開
インストールの実行
ライセンス情報の登録
©日本IBMシステムズ・エンジニアリング(株) Information Management部
31
3-1. インストール:インストールの実行
この節では、下記の2通りのインストール方法について記述します。
db2setupを使用した、Java GUIによるインストール
Windowsプラットフォームでの実行例
db2_installを使用したCUIによるインストール(UNIX/Linuxのみ)
AIXプラットフォームでの実行例
©日本IBMシステムズ・エンジニアリング(株) Information Management部
32
解説:インストールの実行 db2setup
解凍したディレクトリ配下のdb2setupを起動
©日本IBMシステムズ・エンジニアリング(株) Information Management部
33
解説:インストールの実行 db2setup
「製品のインストール」からセットアップ・ウィザードを起動
DB2COPY1
©日本IBMシステムズ・エンジニアリング(株) Information Management部
34
解説:インストールの実行 db2setup
「使用許諾契約」への同意を選択し、インストールタイプを選択する。
ここでは「カスタム」インストールを選択する。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
35
解説:インストールの実行 db2setup
応答ファイルを作成するかどうかを選択し、「インストールする機能の
選択」へ進む。
ここで、インストール・フォルダを指定することも可能。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
36
解説:インストールの実行 db2setup
インストールする言語を選択する。
日本語メッセージの表示が必要な場合、「日本語」が選択されている
ことを確認する。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
37
解説:インストールの実行 db2setup
DB2の導入パスを区別するための「DB2コピー名」を入力します。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
38
解説:インストールの実行 db2setup
DB2インスタンスの作成有無と、作成するインスタンスの構成を設定します。
ポート番号、サービス名等が
設定可能
©日本IBMシステムズ・エンジニアリング(株) Information Management部
39
解説:インストールの実行 db2setup
DASで使用するユーザー名、パスワードを入力します。
「同じユーザー名とパスワードを残りのDB2サービスで使用する」にチェックを入れた
場合、後続のプロセスで作成するインスタンスオーナー等も同じユーザーで作成され
ます。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
40
解説:インストールの実行 db2setup
その他の設定を行い、「ファイルコピーの開始」で「インストール」を選択するとファイル
のコピーが開始されます。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
41
解説:インストールの実行 db2setup
セットアップの正常終了を確認し、「完了」を選択する。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
42
解説:インストールの実行 db2setup
スタートメニューから「コマンドウインドウ」を起動する。
db2levelコマンドを実行し、DB2 9.5が正常に導入できたことを確認する。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
43
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
44
解説:インストールの実行 db2_install
db2_installコマンドについて
UNIXおよびLinuxで提供されており、telnet等のCUIからDB2のインストールが可能
コマンド解説書
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.admin.cmd.doc/doc/r0023669.html
ESEを導入する際の、実行コマンドの例
db2_install -b /opt/IBM/db2/V9.5_01 -p ESE -L JP
上記の例で指定したパラメータの意味について
–
–
–
「-b /opt/IBM/db2/V9.5_01」:インストール先を指定
「-p ESE」
:インストールするDB2製品を指定(例ではESE)
「-L JP」
:日本語パッケージの導入を指定
考慮点
db2_installを使用する場合、導入するコンポーネントの選択ができません。
–
–
応答ファイル使用時の、「INSTALL_TYPE=COMPLETE」オプションに相当します。
そのため、db2setup使用時にはデフォルトでは選択されないコンポーネントも含めて、インストール・イメージにあ
る全てのコンポーネントが導入されます。
db2setupではオプションだが、db2_installでは導入されるオプション
(下記のコンポーネントが導入されることによる弊害は、とくにありません)
– Infomix データ・ソース・サポート
– コントロール・サーバー
– 等
CUIからの導入を行い、かつ導入するコンポーネントを選択したい場合は、応答ファイルによる導入を
選択してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
45
解説:インストールの実行 db2_install
> ls -l
total 1563456
-rw-r---1 root
system
800481280 Mar 06 15:12
drwxr-xrx
6 root
system
4096 Mar 06 17:40
> cd ese
> ls -l
total 120
drwxr-xrx
6 daemon
staff
4096 Oct 04 2007
-r-xr-xrx
1 bin
bin
4700 Oct 04 2007
-r-xr-xrx
1 bin
bin
4570 Oct 04 2007
-r-xr-xrx
1 bin
bin
4560 Oct 04 2007
-r-xr-xrx
1 bin
bin
4552 Oct 04 2007
drwxr-xrx
16 bin
bin
4096 Oct 04 2007
-r-xr-xrx
1 bin
bin
4588 Oct 04 2007
drwxr-xrx
5 root
system
256 Oct 04 2007
drwxr-xrx
15 bin
bin
4096 Oct 04 2007
-r--r--r1 bin
bin
1503 Oct 04 2007
-r--r--r1 bin
bin
678 Oct 04 2007
> ./db2_install -b /opt/IBM/db2/V9.5_01 -p ESE -L JP
DB2 インストールを初期化しています。
DB2_ESE_V95_AIX.tar
ese
db2
db2_deinstall
db2_install
db2prereqcheck
db2setup
doc
installFixPack
nlpack
readmefirst
readmefirst.htm
readmefirst.txt
実行されるタスクの合計数: 45
実行される全タスクの合計見積もり時間: 1828
インストールのログは/tmp
配下に出力される。
タスク #1 を開始します。
説明: 非同期入出力を使用可狽ノする
見積もり時間 2 秒
タスク #1 が終了しました。
<中略>
正常に実行が完了しました。
詳しくは、"/tmp/db2_install.log.1241120" にある DB2
インストール・ログを参照してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
46
解説:インストールの実行 db2_install
> ls /opt/IBM/db2/V9.5_01/
.metadata
cfg
Readme
conv
acs
das
adm
dasfcn
adsm
db2xml
bin
default.env
bnd
doc
dsdriver
function
gskit
ha
icc
include
include32
infopop
install
instance
itma
java
lib32
lib64
license
logs
map
misc
msg
profiles.reg
samples
security32
security64
tivready
tools
> /opt/IBM/db2/V9.5_01/install/db2ls
インストール・パス
レベル フィックスパック 特別なインストール番号 インストール日付
インス
トーラー UID
--------------------------------------------------------------------------------------------------/opt/IBM/db2/V9.5
9.5.0.0
0
Fri Mar 6 16:02:06 2009 JST
0
> /opt/IBM/db2/V9.5_01/install/db2ls -q -b /opt/IBM/db2/V9.5_01
「-q -b」オプションで、指定したインス
トール・パスに導入されているコン
ポーネントを確認可能
インストール・パス: /opt/IBM/db2/V9.5_01
フィーチャーの応答ファイル ID
レベル フィックスパック フィーチャーの説明
--------------------------------------------------------------------------------------------------BASE_CLIENT
9.5.0.0
0
Base client support
JAVA_SUPPORT
9.5.0.0
0
Java support
SQL_PROCEDURES
9.5.0.0
0
SQL procedures
BASE_DB2_ENGINE
9.5.0.0
0
Base server support
JDK
9.5.0.0
0
IBM Software Development Kit (SDK) for Java(TM)
CONNECT_SUPPORT
9.5.0.0
0
Connect support
COMMUNICATION_SUPPORT_TCPIP
9.5.0.0
0
Communication support -TCP/IP
REPL_CLIENT
9.5.0.0
0
Replication tools
DB2_DATA_SOURCE_SUPPORT
9.5.0.0
0
DB2 data source support
<以下略>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
47
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
48
3-1. インストール:ライセンス情報の登録
前提条件の確認
インストールイメージを導入先に展開
インストールの実行
ライセンス情報の登録
©日本IBMシステムズ・エンジニアリング(株) Information Management部
49
3-1. ライセンス情報の登録
ライセンス情報の登録
ダウンロードで入手したDB2製品を使用して、ライセンス情報の登録を行う場合を想定して記述します。
(CDから登録する場合は、Activation CDの「/db2/license」を参照してください)
ダウンロード用に提供されているActivation CDのイメージは、ZIP圧縮されています。サーバ上にunzip用
のツールが導入されていない場合は、PC上で展開した上でライセンスファイル(db2xxxx.lic)のみをサーバ
に転送してください。
[db2inst2 /tmp/db2/lic/db2/license]$ ls –l *.lic
-r--r--r- 1 db2inst2 staff
1316 Jun 23 06:46 db2ese_c.lic
[db2inst2 /tmp/db2/lic/db2/license]$ db2licm -l
Product name:
"DB2 Enterprise Server Edition"
License type:
"ライセンス登録なし"
Expiry date:
"ライセンス登録なし"
Product identifier:
"db2ese"
Version information:
"9.5"
<省略>
[db2inst2 /tmp/db2/lic/db2/license]$ db2licm -a db2ese_c.lic
LIC1402I ライセンスが正常に追加されました。
LIC1426I この製品は現在、この製品のライセンス・コピーに付属するご使用条件の指定に基づいてご使用いただく
ことができます。 この製品をご使用いただくには、次のディレクトリーにある IBM ご使用条件への同意が必要です:
"/opt/IBM/db2/V9.5_01/license/ja_JP.sjis"
[db2inst2 /tmp/db2/lic/db2/license]$ db2licm -l
Product name:
"DB2 Enterprise Server Edition"
License type:
"CPU オプション"
Expiry date:
"永続"
Product identifier:
"db2ese"
Version information:
“9.5”
<省略>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
50
3-2. 移行作業前後のタスク
同一インスタンスで移行
Backup/Restore使用
Export/LOADを使用
(ケース1)
(ケース2/3)
(ケース2/3)
2-2章 移行シナリオの決定
3-1章 DB2 9.5のインストール
3-2-1章 移行前タスクの実施
3-3-1章 インスタン
スの移行(db2imigr)
3-3-2章 インスタン
スの作成(db2icrt)
3-3-3章 インスタン
スの作成(db2icrt)
3-3-3章 データベー
ス作成(create db)
3-3-3章 オブジェクト
作成
3-3-1章 データベース
の移行(migrate db)
3-3-2章 DBバックアッ
プ取得(backup db)
3-3-3章 移行データの
抽出(EXPORTコマンド)
3-3-2章 DBのリストア
(restore db)
3-3-3章 移行データの
投入(LOADコマンド)
3-2-2章 移行後タスクの実施
©日本IBMシステムズ・エンジニアリング(株) Information Management部
51
3-2. 移行作業前後のタスク
3-2章では、移行作業の前後に必要なタスクを抜き出して記述します。
3-2-1. シナリオに共通して必要な移行前のタスク
DB2 9以降でサポートされなくなった機能の確認と、必要に応じた変更
移行前の情報を保管する
–
–
–
構成パラメーター等、各種構成情報
移行前のパフォーマンス情報、Explain情報
移行前バックアップ
移行時のエラー情報および診断情報収集の準備
テスト環境での移行
3-2-2. シナリオに共通して必要な移行後のタスク
移行の残作業
移行に伴う変更のチェック
その他の作業
3-2-3. その他環境によって必要となるタスク
Qレプリケーション環境の移行
MSCS環境の移行
HADR環境の移行
©日本IBMシステムズ・エンジニアリング(株) Information Management部
52
3-2-1.シナリオに共通して必要な移行前のタスク
同一インスタンスで移行
Backup/Restore使用
Export/LOADを使用
(ケース1)
(ケース2/3)
(ケース2/3)
2-2章 移行シナリオの決定
3-1章 DB2 9.5のインストール
3-2-1章 移行前タスクの実施
3-3-1章 インスタン
スの移行(db2imigr)
3-3-2章 インスタン
スの作成(db2icrt)
3-3-3章 インスタン
スの作成(db2icrt)
3-3-3章 データベー
ス作成(create db)
3-3-3章 オブジェクト
作成
3-3-1章 データベース
の移行(migrate db)
3-3-2章 DBバックアッ
プ取得(backup db)
3-3-3章 移行データの
抽出(EXPORTコマンド)
3-3-2章 DBのリストア
(restore db)
3-3-3章 移行データの
投入(LOADコマンド)
3-2-2章 移行後タスクの実施
©日本IBMシステムズ・エンジニアリング(株) Information Management部
53
3-2-1.シナリオに共通して必要な移行前のタスク
DB2 9.5への移行前に行うべき作業は下記のように分類されます。
移行シナリオにかかわらず、共通で行うべきタスク
DB2 9以降でサポートされなくなった機能の確認と、必要に応じた変更
移行前の情報を保管する
–
–
–
構成パラメーター等、各種構成情報
移行前のパフォーマンス情報、Explain情報
移行前バックアップ
フォールバック計画の検討
移行時のエラー情報および診断情報収集の準備
テスト環境での移行
MIGRATE DBやBACKUP/RESTOREを使用する際のタスク(3-3-1を参照)
DB2インスタンスの、32bitから64bitへの移行(MIGRATE DBコマンドを使用する場合)
移行処理のため、表スペース、ログファイルのサイズを一時的に拡張する
MIGRATE処理の制約事項が該当しないことを確認
データベースが移行できる状態にあることの確認(db2ckmig)
データ移動ユーティリティを使用して移行する際のタスク(3-3-3を参照)
オブジェクトのDDLを現行データベースから取得
移行先データベースに、オブジェクトを事前作成
この章では、「移行シナリオにかかわらず共通で行うべきタスク」について記述
します。
シナリオ固有のタスクに関しては、各シナリオの章(3-3)を参照してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
54
3-2-1. 移行シナリオに共通の作業
DB2 9以降でサポートされなくなった機能の確認と、必要に応じた変更
『DB2 V8からV9.5へうまく移行するためのガイド』の「X.特に注意が必要な事項」、「A.事前の
確認事項」および、「B.構成上の注意事項」を確認し、DB2 9およびDB29.5でサポートされな
くなった機能、非推奨となった機能を使用していないことを確認します。
特に、下記の点には注意してください。
「ARRAY、BINARY、DECFLOAT、VARBINARY、XML」という名前のUDT(ユーザー定義タイプ)が存在する
場合に、データベースのMigrateが失敗します。
Linuxプラットフォームで、表スペース、ログスペースのコンテナとしてロー(文字)・デバイスを使用している場
合、ロー・ブロック・デバイスへ移行する必要があります。
移行前の情報を保管する
構成パラメーター等、各種構成情報
移行前の構成を保管するために、db2supportコマンドを実行してください。
db2supportコマンドは、DB2の構成に関する下記の情報を一括して取得します。
–
–
–
–
–
–
データベース・マネージャー構成パラメーター
データベース構成パラメーター
DB2レジストリー変数
システムカタログ表のEXPORTデータ(「-cl 0」オプション使用時)
統計情報等、オプティマイザーの動作に関する情報(「-cl 0」オプション使用時)
その他DB2システムに関する各種情報
実行コマンド例
>db2support <出力パス> –d <DB名>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
55
-cl 0
3-2-1. 移行シナリオに共通の作業(続き)
移行前の情報を保管する(続き)
移行前のパフォーマンス情報、Explain情報
パフォーマンスが重要なアプリケーションに関しては、事前にパフォーマンス情報やアクセス
パスの情報を取得し、移行後の環境と比較することをお勧めします。
db2batchを使用した、パフォーマンス情報の取得
– パフォーマンス情報としては、通常は業務で使用されているバッチ処理やオンライン処理の
処理時間が使用されますが、db2batchコマンドを使用してSQL単体でのベンチマーク情報を
事前に取得しておくことも可能です。
– 実行コマンド例
>db2batch -d <DB名> -f <SQL格納ファイル> -r <出力ファイル> -o r 10 p 5 e yes
* 「r 10」 :出力ファイルに結果セットを何行出力するか。この例では10行出力する。
* 「p 5」 :出力するパフォーマンス情報のレベルを指定する。
「p 5」の場合、各種スナップショットまで出力する。
* 「e yes」:SQL実行と同時にEXPLAIN情報をEXPLAIN表へ書き込む
Explain情報の取得
– 移行前の処理時間とともに、どのようなアクセスパスを使用していたかという情報は、DB処
理のパフォーマンスに関する問題判別を行う上で非常に重要です。可能な限り、移行前の
Explain情報を取得するよう計画してください。
– 実行コマンドの例は、次ページの解説を参照してください。
移行前バックアップ
DB2 9.5への移行を行った後に、移行前のバージョンへ逆移行する方法は提供されていませ
ん。そのため、フォールバック計画の策定とともに、移行前バックアップをどの時点で取得し
ておくかを計画に含めてください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
56
解説:Explain情報の取得
Explain情報取得の流れ
EXPLAIN表を作成する
EXPLAIN表が存在しない場合、下記のコマンドによりEXPLAIN表を作成してくださ
い。
>db2 –tvf ‾/sqllib/misc/EXPLAIN.DDL
*デフォルトではテーブルスペースの指定はされていません、
必要に応じてDDLを修正してください。
EXPLAIN情報の収集
静的SQLの場合は、バインド時にEXPLAINオプションを指定して収集します。
–
> bind program1.bnd blocking all grant public explain all
バインド時にEXPLAIN情報を収集していなかった場合、db2explnツールからEXPLAIN情報を収
集することも可能です。
動的SQLの場合は、SET CURRENT EXPLAIN MODEステートメントを実行後にSQL
を実行します。
コマンドの実行例
–
–
–
db2 set current explain mode explain
db2 –tvf <SQL格納ファイル>
db2exfmt –d <DB名> -1
©日本IBMシステムズ・エンジニアリング(株) Information Management部
57
解説:Explain情報の取得(続き)
EXPLAIN情報取得の実行例
Explain Modeを「Explain(Explain情報のみ
取得して、SQLは実行しない)」に設定。
$ db2 connect to migdb
Database Connection Information
Database server
SQL authorization ID
Local database alias
Explain情報を取得したいSQLを発行。
Explain Mode=Explainのため、実際には実
行されない。
= DB2/AIX64 8.2.6
= DB2INST2
= MIGDB
$ db2 set current explain mode explain
DB20000I The SQL command completed successfully.
EXPLAIN_STATEMENT表を照会し、
$ db2 "select count(*) from t1 where COL4 < '2006-12-31-23.59.59.000000'"
db2exfmtコマンドに与えるタイムスタン
SQL0217W The statement was not executed as only Explain information requests
プを取得。
are being processed. SQLSTATE=01604
$ db2 "select explain_time ,substr(statement_text,1,100) as statement from explain_statement where explain_level='O'"
EXPLAIN_TIME
STATEMENT
-----------------------------------------------------------------------------------------2006-09-09-21.52.01.558277 select * from t1 where COL1 < 33000
2006-09-09-21.52.02.332014 select count(*) from t1 where COL4 < '200612-3123.59.59.000000'
$ db2exfmt -d migdb o explain.out -s % -n % -# 1 -w 2006-09-09-21.52.02.332014
DB2 Universal Database Version 8.1, 5622-044 (c) Copyright IBM Corp. 1991, 2002
Licensed Material -Program Property of IBM
IBM DATABASE 2 Explain Table Format Tool
Connecting to the Database.
Connect to Database Successful.
Output is in explain.out.
Executing Connect Reset --Connect Reset was Successful.
$ head explain.out
<省略>
******************** EXPLAIN INSTANCE ********************
DB2_VERSION:
SOURCE_NAME:
08.02.5
SQLC2E07
©日本IBMシステムズ・エンジニアリング(株) Information Management部
58
db2exfmtコマンドにより、Explain情報の
フォーマットを行い、explain.outに出力
3-2-1. 移行シナリオに共通の作業(続き)
テスト環境での移行
本番環境での実移行を行う前に、必ずテスト環境での試行を実施してください。
テスト環境での試行を行うことにより、
移行手順に含まれる問題の発見
V9.1およびV9.5での変更点がもたらす影響を事前に評価
アプリケーションに移行後の環境を提供し、移行の影響をテスト
移行作業に要する時間見積もりの精密化
等、複数のメリットを得ることが可能です。
DB2 V9.1およびDB2 V9.5 と DB2 UDB V8 は同一サーバ上での共存が可能です。
独立したテスト環境を用意することが難しい場合でも、バージョン8が稼働する環境に事前にインストールし、
稼働環境の縮小版を構築することで、テスト環境の構築が可能です。
ただし、バージョン9.5の前提条件を満たすために、OSへのFix適用等が必要となる場合がありますので注意
してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
59
3-2-1. 移行シナリオに共通の作業(続き)
移行時のエラー情報および診断情報収集の準備
移行時にエラーが発生した場合に、エラーについてのより詳細な情報を取得するため、
診断エラーログ(db2diag.log)及び、管理通知ログ(<INSTANCE名>.nfy)の取得レベルを4
に設定することをお勧めします。
設定方法
診断エラーログ
>db2 update dbm cfg using diaglevel <レベル>
管理通知ログ
>db2 update dbm cfg using notifylevel <レベル>
$ db2 get dbm cfg │grep LEVEL
Diagnostic error capture level
(DIAGLEVEL) = 3
Notify Level
(NOTIFYLEVEL) = 3
$ db2 update dbm cfg using diaglevel 4
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed
successfully.
$ db2 update dbm cfg using notifylevel 4
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed
successfully.
$ db2 get dbm cfg │grep LEVEL
Diagnostic error capture level
(DIAGLEVEL) = 4
Notify Level
(NOTIFYLEVEL) = 4
©日本IBMシステムズ・エンジニアリング(株) Information Management部
60
3-2-2. シナリオに共通して必要な移行後のタスク
同一インスタンスで移行
Backup/Restore使用
Export/LOADを使用
(ケース1)
(ケース2/3)
(ケース2/3)
2-2章 移行シナリオの決定
3-1章 DB2 9.5のインストール
3-2-1章 移行前タスクの実施
3-3-1章 インスタン
スの移行(db2imigr)
3-3-2章 インスタン
スの作成(db2icrt)
3-3-3章 インスタン
スの作成(db2icrt)
3-3-3章 データベー
ス作成(create db)
3-3-3章 オブジェクト
作成
3-3-1章 データベース
の移行(migrate db)
3-3-2章 DBバックアッ
プ取得(backup db)
3-3-3章 移行データの
抽出(EXPORTコマンド)
3-3-2章 DBのリスト
ア(restore db)
3-3-3章 移行データの投
入(LOADコマンド)
3-2-2章 移行後タスクの実施
©日本IBMシステムズ・エンジニアリング(株) Information Management部
61
3-2-2. シナリオに共通して必要な移行後のタスク
シナリオ毎の移行作業後に必要となるタスクには、下記があります。
すべてのタスクが必要とは限らないため、移行する環境に必要な作業を選定して実施してください。
移行の残作業
一時的に拡張したログ領域、カタログ表領域を縮小
データベースをアクティブにしてステータスを確認
移行後のアプリケーションのパフォーマンスを確認
タイプ1索引の移行
Explain表の移行
HADRの再開
パッケージの再バインド
USEREXITの再作成もしくは移行
移行に伴う変更のチェック
変更、追加されたレジストリー変数、構成パラメータを確認
グローバル・プロファイル・レジストリー変数の移行
その他の作業
統計情報の更新
以前のバージョンのDB2をアンインストール
移行済みのルーチンより、PUBLICなEXECUTE特権を削除
LARGE DMS表スペースへの移行
移行後バックアップ
©日本IBMシステムズ・エンジニアリング(株) Information Management部
62
3-2-2. 移行後に必要なタスク:移行の残作業
ここでは、各種シナリオによる移行を行った後に残った作業について記述します。
一時的に拡張したログ領域、カタログ表領域を縮小
3-3-1章で、移行のための一時的なテーブルスペース領域、ログ領域の拡張をガイドしました。
移行のために一時的に拡張した領域がある場合は、移行の完了後に元のサイズに戻すことが可能
です。
SMSのシステムカタログ表スペース、一時表スペースの場合
–
–
SMSで作成している表スペースの場合は、ファイルシステムの容量を縮小してください。
AIX5.3で、JFS2を使用している場合はファイルシステムの縮小が可能です。
実行コマンド例
[root]# df -m │
grep /tmp/db2
/dev/lvtmpdb2
1000.00
232.21
77%
815
[root]# chfs -a size=-128M /tmp/db2
ファイルシステム・サイズが 1785856 に変更されました
[root]# df -m │
grep /tmp/db2
/dev/lvtmpdb2
872.00
105.23
88%
815
ファイルシステムが縮小され
ている。
2% /tmp/db2
4% /tmp/db2
DMSのシステムカタログ表スペース、一時表スペースの場合
–
–
–
ALTER TABLESPACEコマンドのRESIZE/REDUCEオプションを使用して、コンテナのサイズを縮小することが可能
です。
ただし、RAW-DMSを使用している場合は、ALTER TABLESPACEコマンドでコンテナサイズを縮小させても、OS側
から見たコンテナ領域は開放されません。
実行コマンド例
>db2 "alter tablespace TS1 resize ( all 1000 m )"
この例では、TS1を構成するすべてのコンテナを、それぞれ1000MBに縮小してます。
ただし、テーブルスペースのハイ・ウオーター・マークよりも小さくすることはできません。
ハイ・ウオーター・マークは、「LIST TABLESPACES SHOW DETAIL」コマンドで確認することができます。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
63
3-2-2. 移行後に必要なタスク:移行の残作業(続き)
一時的に拡張したログ領域、カタログ表領域を縮小(続き)
ログ領域について
– ログ領域を縮小する場合は、拡張した際と同様「update db cfg」コマンドを使用して、logfilsiz、
logprimary、および logsecond データベース構成パラメーターを移行前の値に再設定してください。
– 一次ログファイル数設定のコマンド例
>db2 update db cfg for migdb using logprimary 10
データベースをアクティブにしてステータスを確認
データベースの活動化を行い、正常に活動化されるかどうかを確認します。
>db2 activate db <DB名>
[db2inst3]$ db2 activate db migdb
DB20000I
ACTIVATE DATABASE コマンドが正常に完了しました。
DB2 9から、データベース・ディレクトリー・ファイルが変更され、自己調整メモリーなどの新しい機
能のための構成情報が追加されました。このようなメモリー関連の変更点があるため、データベー
スの活動化後に、バッファー・プールが問題なくアクティブになるかどうかを確認してください。
そのため、ACTIVATE DATABASEコマンドが成功したことを確認後に、管理通知ログを参照して下記のメッ
セージが出力されていないことを確認してください。
ADM6073W 表スペース tsname (ID tsid) は、バッファー・プール ID ondiskBP を使用するように構成さ
れていますが、このバッファー・プールは現在アクティブ化されていません。 一時的に、表スペースはバッ
ファー・プール ID RTBP を使用します。非アクティブのバッファー・プールは、必要なメモリーが使用可能
であれば、次回データベースを始動したときに使用可能になるはずです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
64
3-2-2. 移行後に必要なタスク:移行の残作業(続き)
移行後のアプリケーションのパフォーマンスを確認
移行前にアプリケーションのパフォーマンスや、アクセスプランを取得していた場合、同様の方法
で移行後のパフォーマンス、アクセスプランを取得し、著しい変動が無いことを確認してください。
タイプ1索引のタイプ2索引への移行
DB2のバージョン7以前で索引を作成し、バージョン8でタイプ2索引への移行を行わなかった場合、
DB2 V9.5に移行した後もタイプ1索引のまま残されています。
DB2 V9からタイプ1索引は非推奨となっており、タイプ1索引を使用していると下記のような制約が
あります。
タイプ2索引による、Next Key Lockingを最小限に抑える性能向上が利用できないこと。
索引キーの一部として 255 バイトを超える長さの列を使用できないこと。
バージョン8で拡張された、表をオンライン状態にしたままでのユーティリティ使用ができないこと。
タイプ1索引を持つ表にはXML型の列を追加できないこと。
タイプ2索引への移行には、REORGコマンドのCONVERTオプションを使用してください。
db2 REORG INDEXES ALL FOR TABLE employee CONVERT
CONVERTオプションは、表のREORGと同時に実行することも可能です。(REORG TABLE xxxx CONVERT)
データベース中にタイプ1索引が存在するかどうかは、INSPECTコマンドを使用して確認できます。
$ db2 INSPECT CHECK DATABASE RESULTS KEEP sample.log
DB20000I INSPECT コマンドが正常に完了しました。
$ db2inspf $INSTHOME/sqllib/db2dump/sample.log sample.out
$ cat sample.out
...
Table phase start (ID Signed: 83, Unsigned: 83; Tablespace ID: 0) :
Data phase start. Object: 83 Tablespace: 0
The index type is 2 for this table.
DAT Object Summary: Total Pages 1 -Used Pages 0 -Free Space 70 %
Data phase end.
65
©日本IBMシステムズ・エンジニアリング(株) Information Management部
この表の索引はタイプ2
3-2-2. 移行後に必要なタスク:移行の残作業(続き)
Explain表の移行
バージョン8とバージョン9.5でEXPLAIN表の構成が異なるため、バージョン8で作成したEXPLAIN表
はバージョン9.5の構成へ移行する必要があります。
MIGRATE処理の中では、EXPLAIN表の移行は実施されません。
移行以前に取得したEXPLAIN情報を、移行後のExplain表に残しておく必要がある場合は、
db2exmigツールを使用して、EXPLAIN表の移行処理を行ってください。
移行以前のEXPLAIN情報を残す必要がない場合は、EXPLAIN表をすべて削除後に、バージョン9
で提供されているDDLを利用してEXPLAIN表を再作成することも可能です。
DDLの所在 <インスタンスHOME>/sqllib/misc/EXPLAIN.DDL
db2exmigコマンドの使用例
$ db2exmig -d migdb e db2inst2
DB2 Universal Database Version 9.1, 5622-044 (c) Copyright IBM Corp. 1999, 2006
Licensed Material -Program Property of IBM
IBM DATABASE 2 Explain Table Migration Tool
<省略>
Found all tables OK. Start migration.
Old tables renamed...begin creating new explain tables.
Creating Explain table DB2INST2.EXPLAIN_OBJECT
Creating Explain table DB2INST2.EXPLAIN_PREDICATE
Altering Explain table DB2INST2.EXPLAIN_STREAM
Creating Explain table DB2INST2.ADVISE_INDEX
begin insert into tables.
Copying to Explain table EXPLAIN_OBJECT from EMOBJ_001158746990
<省略>
Migration of the explain function to Version 09.01.0 format has succeeded.
©日本IBMシステムズ・エンジニアリング(株) Information Management部
66
3-2-2.移行後に必要なタスク:移行の残作業(続き)
HADRの再開
HADRを使用していた場合、移行直後はHADRが無効な状態になっています。3-2-3章の記述を元
に、HADRを再開してください。
パッケージの再バインド
データベースの移行直後には、ユーザー・アプリケーションおよびルーチンに関するパッケージは
すべて無効となっています。無効になったパッケージの再バインドを行う必要があります。
ドロップした表、ビュー、別名、索引、トリガー、参照制約、表チェック制約などのデータベース・オブ
ジェクトに依存するパッケージも、無効な状態になります。UDF をドロップすると、パッケージは作
動不能な状態になります。
明示的な再バインドを実行しなかった場合、アプリケーションから初めてパッケージが呼ばれたタ
イミングで、暗黙的に再バインドされます。実行中の再バインドによるオーバーヘッドを避けたい場
合には、移行プロセスの完了後に REBIND コマンドか db2rbind コマンドを実行して、無効なパッ
ケージを再バインドしてください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
67
3-2-2.移行後に必要なタスク:移行の残作業(続き)
パッケージの再バインド(続き)
コマンドの実行例
>db2rbind <DB名> -l <ログファイル名> [all]
* all オプションをつけて実行した場合、有効なパッケージも含めて、
すべてのパッケージの再バインドを行います。
$ db2rbind migdb -l db2rbind.log all
データベース 'MIGDB' の再バインドが正常に行われました。
$ cat db2rbind.log
Starting time .... Wed Sep 20 20:49:16 2006
Package
Package
<省略>
Package
Package
'NULLID.DB2LOOK' of database 'MIGDB' succeeded to rebind. UniqueID = 72416F5356424957
'NULLID.DB2MOVE' of database 'MIGDB' succeeded to rebind. UniqueID = 4342775356424957
'NULLID.SYSSTAT' of database 'MIGDB' succeeded to rebind. UniqueID = 5359534C564C3031
'NULLID.TUPLEWRT' of database 'MIGDB' succeeded to rebind. UniqueID = 3036303632390
Succeeded to rebind
Failed to rebind
=
=
Ending time .... Wed Sep 20 20:49:52 2006
©日本IBMシステムズ・エンジニアリング(株) Information Management部
68
128
0
3-2-2.移行後に必要なタスク:移行の残作業(続き)
USEREXITの再作成もしくは移行
ログのアーカイブにUSEREXITを使用している場合、バージョン9.5で提供されているサンプ
ルソースを元にモジュールを再作成する必要があります。
サンプルソースの所在
<インスタンスHOME>/sqllib/samples/c
なおDB2 V8.2から、ログのアーカイブ機能がDB2から標準で提供される機能となり、
DB構成パラメーターに、LOGARCHMETH1、LOGARCHMETH2という2つのパラメータが追加
されました。
このパラメータを使用することで、これまでUSEREXITで実現していたログ・アーカ
イブの方法を2つまで指定することができます。
この機能への移行を検討される方は、下記に詳細な資料が掲載されているため、参照してください。
–
DB2 UDB V8.2(Stinger)新機能 第6章管理機能の強化
ログ・アーカイブ機能の統合
USEREXIT構成パラメーターは使用すべきではなく、DB2 V8.2以降はLOGARCHMETH1構
成パラメーターに置き換えられました。USEREXITをONに設定すると、LOGARCHMETH1
は自動的にUSEREXITに設定されますが、マイグレーション後は、USEREXITが廃止さ
れる前に、代わりにLOGARCHMETH1=USEREXITの使用を開始してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
69
3-2-2.移行後に必要なタスク:移行に伴う変更のチェック
ここでは、バージョン9.1以降で変更されたパラメータ等、移行後にチェックが必要な項目について記述します。
変更、追加されたレジストリー変数、構成パラメータを確認
DB2 V8.2とV9.1以降では、レジストリー変数、構成パラメータのデフォルト値が変更されている項目があ
ります。
移行の形態によって、変更されたデフォルト値が有効になるかどうかは異なります。
詳細は下記の表を参照してください。
レジストリー変数
DBM構成パラメーター
DB構成パラメーター
インスタンス、データベースともにV8から移行
変更なし
変更なし
変更なし
インスタンスを新規作成、データベースをV8から移行
あり
あり
変更なし
あり
あり
あり
(BACKUP/RESTOREを使用)
インスタンス、データベースとも新規作成
変更項目、内容が多岐にわたるため、このガイド中では個別に言及せず、参照先の紹介にとどめます。
DB2 9 Information Center
–
V9.1 の新機能: 変更された構成パラメーターのデフォルト値
http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.rn.doc/doc/c0023215.htm
–
V9.1 の新機能: レジストリーおよび環境変数のデフォルト値の変更
http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.rn.doc/doc/c0023534.htm
–
DB2 のレジストリー変数、構成パラメーター、およびデータベース物理的設計特性の変更点
http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.uprun.doc/doc/r0022380.htm
DB2 9.5 Information Center
–
一部のデータベース・マネージャー構成パラメーターの変更
–
一部のデータベース構成パラメーターの変更
–
DB2 サーバー動作の変更点
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.wn.doc/doc/i0052553.html
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.wn.doc/doc/i0052508.html
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.migration.doc/doc/r0022380.html
70
©日本IBMシステムズ・エンジニアリング(株) Information Management部
3-2-2.移行後に必要なタスク:移行に伴う変更のチェック(続き)
グローバル・プロファイル・レジストリー変数の移行
レジストリー変数は、「グローバル・プロファイル・レジストリー変数」として複数のインスタンス間で共通
の設定を行うことが可能です。
バージョン9.1から、グローバル・レジストリー変数のスコープが変更されています。
V8.2まで
V9.1から
:同一サーバ上の、同じバージョンのインスタンスすべてで共通。
同一サーバに、V7とV8が共存していた場合は、
V7とV8で異なるグローバル・レジストリー変数を持つ。
:同じ導入パスから作成されたインスタンスで共通。
グローバル・レジストリー変数はインスタンス移行の際に、移行されません。
移行後のインスタンスで同じグローバル・レジストリー変数の設定が必要な場合、手動で再設定してく
ださい。
実行コマンドの例
>$DB2DIR/adm/db2set <変数名>=<設定値>
[db2inst2]$ db2set -all
[i] DB2CODEPAGE=943
[db2inst2]$ su root のパスワード:
[root /]# cd /opt/IBM/db2/V9.5_01/adm
[root /opt/IBM/db2/V9.5_01/adm]# ls -l db2set
-r-xr-xrx
1 bin
bin
70598 Aug 14 19:18 db2set
[root /opt/IBM/db2/V9.5_01/adm]# ./db2set -g DB2COMM=TCPIP
[root /opt/IBM/db2/V9.5_01/adm]# exit
[db2inst2]$ db2set -all
[i] DB2CODEPAGE=943
[g] DB2COMM=TCPIP
©日本IBMシステムズ・エンジニアリング(株) Information Management部
71
rootユーザーで実行する。
新規にグローバル・レベルの
変数が設定されている。
3-2-2.移行後に必要なタスク:その他の作業
移行後に必要なタスクとして、他には下記のような作業があります。
統計情報の更新
移行作業が完了し、移行後のパフォーマンス測定の結果問題なく移行できたことが確認できた後
に、バージョン9.5での統計情報取得を計画してください。
「インスタンスの移行」や「BACKUP/RESTOREを使用した移行」を実施してデータベースを移行し
た場合、バージョン8で取得した統計情報はそのまま保持されます。ただし、バージョン9で追加さ
れた新しい統計情報は収集されていないため、「-1」という値になります。
統計情報の収集には、表の単位でRUNSTATSコマンドを実行します。
以前のバージョンのDB2をアンインストール
同一サーバ上で移行を行い、DB2 9.5と以前のバージョンのDB2が共存している場合は、移行タス
クが完了して以前のバージョンのDB2が不要になったタイミングで、アンインストールを行ってくださ
い。
アンインストールの方法
Windowsプラットフォームの場合は「アプリケーションの追加と削除」から除去してください。
UNIX/Linuxプラットフォームで、DB2提供のツールを使用してインストールした場合、アンインストールには
製品CD上に提供されているdb2_deinstallコマンドを使用してください。
SMITのような、OSネイティブのツールを使用してインストールした場合は、アンインストールにも同じツール
を使用してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
72
3-2-2.移行後に必要なタスク:その他の作業(続き)
移行済みのルーチンより、PUBLICなEXECUTE特権を削除
V7以前のバージョンから、V8へデータベースを移行した場合、移行処理中にすべての関数、メソッ
ド、外部ストアド・プロシージャのEXECUTE 特権が PUBLICに与えられていました。
バージョン8からバージョン9.5への移行の場合は、同様の現象は発生しません。
しかし、V7以前からV8への移行後にPUBLICなEXECUTE特権の削除を行わなかった場合、V9.5へ
の移行後もPUBLICなEXECUTE特権は付与されたままです。
セキュリティ上の問題の回避のため、PUBLICなEXECUTE特権の取り消しを検討してください。
このPUBLICなEXECUTE特権を取り消すために、db2undgp コマンドが提供されています。
このツールは、PUBLICなEXECUTE特権を取り消すためのスクリプトを生成します
> db2undgp -d <DB名> -o <スクリプト出力ファイル>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
73
3-2-2.移行後に必要なタスク:その他の作業(続き)
LARGE DMS表スペースへの移行
DB2 9より、RIDをこれまでの4バイトから6バイトに拡張した「LARGE DMS表スペース」が使用可能
になっています。(DMSの表スペースのみ)
LARGE DMS表スペースは、最大サイズや1ページあたりに格納可能な行数が通常の表スペースと比較して
緩和されており、バージョン9でDMS表スペースを作成した場合、デフォルトでLARGE DMS表スペースが作
成されます。
バージョン8からバージョン9.5へのMIGRATE処理では、LARGE DMS表スペースへの変換は実施されないた
め、LARGE DMS表スペースへの移行する場合、手動で変換処理を行う必要があります。
LARGE DMS表スペースへの変更手順
1. ALTER TABLESPACEコマンドを実行する。
–
ALTER TABLESPACE <name> CONVERT TO LARGE
2. 移行する表スペースに属する表の再編成、もしくはLOAD/IMPORT REPLACEを行う。
3. 既存の表がLARGE RIDを使用可能になったかを確認する。
LARGE DMS表スペースへの変更後の考慮点
新規作成した表は、LARGE RIDをサポートする。
既存の表は、表の再編成を行わない限り、255行/ページの制限が残る。
LARGE DMS表スペースの詳細について
LARGE DMS表スペースの詳細については、下記の資料を参照してください。
– DB2 9新機能WS資料「運用管理機能強化 アーキテクチャー」
–
http://www.ibm.com/jp/domino01/mkt/dminfo.nsf/doc/004D44E6
移行後バックアップ
移行後にデータベースをバックアップします。これにより、移行直後の状態にリストアすることが可
能です。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
74
3-2-3. その他環境によって必要となるタスク
HADR環境の移行
HADR環境の場合、HADRのスタンバイ・データベースは移行できません。
DB2 V8でのFixpak適用の際は、HADRのリレーションを維持したまま適用する「ローリング・アップグレード」
が使用可能です。しかし、バージョン9.5への移行の際は、ローリング・アップグレードは使用できません。
HADRをいったん停止し、下記のような手順を取る必要があります。
STOP HADRコマンドを使用して一次データベースとスタンバイ・データベースでHADRを停止。
一次データベース側のインスタンス、データベースをV9.5へ移行。
スタンバイ側のHADRデータベースを削除。
スタンバイ側のインスタンスをV9.5へ移行。
一次データベースのバックアップを取得し、スタンバイ側へリストアを実施。(*)
HADRの再設定を行い、HADR環境を再スタートさせる。
(*) 一次データベースのスプリット・ミラーから、db2inidbコマンドを使用してスタンバイ・データベースを初期化す
ることも可能です。
Qレプリケーション環境の移行
Qレプリケーション環境を移行する場合、追加の手順が必要となります。
サーバ・インスタンスの移行完了後に、以下の移行手順を参考にQレプリケーション環境をバージョン9.5の
環境に移行します。
詳細な手順については、DB2 Information Centerの下記のURLを参照してください。
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.swg.im.iis.repl.mig9.doc/topics/iiyrcmig9ovu9195.html
©日本IBMシステムズ・エンジニアリング(株) Information Management部
75
3-2-3. その他環境によって必要となるタスク(続き)
MSCS環境の移行
MSCS環境でDB2を使用している場合、DB2 9.5インストール中にインスタンスを移行するのではなく、別の
DB2コピーとしてインストールした後にインスタンスを移行することをお勧めします。
このガイド中では、Windowsプラットフォームについても、別のDB2コピーにインストール後にインスタンス
移行を行う方法を、標準としてガイドしています。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
76
3-3-1. 同一インスタンスでの移行
同一インスタンスで移行
Backup/Restore使用
Export/LOADを使用
(ケース1)
(ケース2/3)
(ケース2/3)
2-2章 移行シナリオの決定
3-1章 DB2 9.5のインストール
3-2-1章 移行前タスクの実施
3-3-1章 インスタン
スの移行(db2imigr)
3-3-2章 インスタン
スの作成(db2icrt)
3-3-3章 インスタン
スの作成(db2icrt)
3-3-3章 データベー
ス作成(create db)
3-3-3章 オブジェクト
作成
3-3-1章 データベース
の移行(migrate db)
3-3-2章 DBバックアッ
プ取得(backup db)
3-3-3章 移行データの
抽出(EXPORTコマンド)
3-3-2章 DBのリストア
(restore db)
3-3-3章 移行データの
投入(LOADコマンド)
3-2-2章 移行後タスクの実施
©日本IBMシステムズ・エンジニアリング(株) Information Management部
77
3-3-1. 同一インスタンスでの移行手順(ケース1)
この節では、同一サーバ上、同一インスタンスでDB2 9.5への移行
を行う際の作業の流れを説明します。
この移行シナリオの特徴
V8の既存インスタンスをそのままV9.5へ移行する。(db2imigrを使用)
DBのBACKUP/RESTOREや、データ移動ユーティリティによるデータ移動が
必要ない。
DBサーバ(現行)
V8インスタンス => V9.5インスタンス
MIGDB
©日本IBMシステムズ・エンジニアリング(株) Information Management部
78
3-3-1. 同一インスタンスでの移行作業の流れ
共通の移行前タスクの実施
* 「共通の移行タスク」については、3-2章を参照してください。
MIGRATE DBやBACKUP/RESTOREを使用
する際のタスク
インスタンスの移行
データベースの移行
移行後タスクの実施
©日本IBMシステムズ・エンジニアリング(株) Information Management部
79
3-3-1.移行前タスク
共通の移行前タスクの実施
MIGRATE DBやBACKUP/RESTOREを使用
する際のタスク
インスタンスの移行
データベースの移行
移行後タスクの実施
©日本IBMシステムズ・エンジニアリング(株) Information Management部
80
3-3-1.
MIGRATE DBやBACKUP/RESTOREを使用する際のタスク
32bitインスタンスから64bitインスタンスへの移行
DB2 9では、UNIXプラットフォームでの32bitインスタンスはサポートされません。そのた
めバージョンアップの際、64bitインスタンスへの移行が必要となります。
32bit インスタンスを64bitインスタンスへ直接db2imigrすることや、32bitインスタンスで
作成されたDBバックアップを64bitインスタンスへRESTOREすることは可能です。
ただし、「作業を分割して、問題が発生した場合の切り分けを容易にする」という観点か
ら、移行前タスクとして実施することをお勧めします。
64bitインスタンスへの切り替えは、db2iupdtコマンドを利用して行います。
実行コマンド例
>db2iupdt –w 64 <インスタンス名>
* コマンドの所在
:DB2導入パスの、instanceディレクトリ配下
:DB2 V8の場合Regular Fixpak使用時は「/usr/opt/db2_08_01」
:Alternate Fixpak使用時は「/usr/opt/db2_08_FPXX」
* 実行ユーザーについて :db2iupdtコマンドの実行は、UNIXプラットフォームではrootユーザー。
:Windowsプラットフォームでは管理者ユーザーで行ってください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
81
解説.
32bitから64bitへの移行
db2iupdtコマンドの使用例
32bitインスタンス
db2inst2$ db2level
DB21085I Instance "db2inst2" uses "32" bits and DB2 code release "SQL08026"
with level identifier "03070106".
Informational tokens are "DB2 v8.1.1.120", "s060801", "U808888", and FixPak
"13".
DB2の停止を行う。
Product is installed at "/usr/opt/db2_08_FP13".
db2bpプロセスが残っている場合も、
db2iupdtコマンドが失敗するため、注意が
必要。
db2inst2$ db2stop
2006-09-13 17:50:45
0
0 SQL1064N DB2STOP processing was successful.
SQL1064N DB2STOP processing was successful.
rootユーザーで実行する。
db2inst2$ su root のパスワード:
root# ls -l /usr/opt/db2_08_FP13/instance/db2iupdt
-r-xr--r-- 1 root
bin
7951 Aug 03 12:24 /usr/opt/db2_08_FP13/instance/db2iupdt
root# /usr/opt/db2_08_FP13/instance/db2iupdt -w 64 db2inst2
DBI1070I Program db2iupdt completed successfully.
64bitインスタンス
root# exit
db2inst2$ db2level
DB21085I Instance "db2inst2" uses "64" bits and DB2 code release "SQL08026"
with level identifier "03070106".
Informational tokens are "DB2 v8.1.1.120", "s060801", "U808888", and FixPak
"13".
Product is installed at "/usr/opt/db2_08_FP13".
©日本IBMシステムズ・エンジニアリング(株) Information Management部
82
3-3-1.
MIGRATE DBやBACKUP/RESTOREを使用する際のタスク(続き)
移行処理のため、表スペース、ログファイルのサイズを一時的に拡張する
DB2はMIGRATE処理の中で、カタログ情報やログ・ファイル・ヘッダーの書き換え等を行います。
この書き換え処理のため、システムカタログ表スペース、一時表スペース、アクティブ・ログ・ファイ
ルには十分な空き容量が必要となります。
システムカタログ表スペースに必要な空き容量について
SMSの場合
– SYSCATSPACEの使用ページ数(Used Pages)と同じだけの空き容量が、SYSCATSPACE
の格納されているドライブ/ファイルシステムに存在することを確認してください。
SYSCATSPACEのコンテナ・ファイルがどこに格納されているかは、「LIST TABLESPACE
CONTAINERS」コマンドで確認が可能です。
DMSの場合
– SYSCATSPACEをDMSで作成している場合、使用ページ数(Used Pages)と同じだけの空き
容量が、SYSCATSPACEのフリーページ数(Free Pages)にあることを確認してください。空
き容量が不足している場合、「Alter Tablespace」コマンドを使用して拡張します。
一時表スペースに必要な空き容量について
SMS一時表スペースの場合
– SYSCATSPACEの使用ページ数(Used Pages)の2倍の空き容量が、一時表スペースを格
納しているドライブ/ファイルシステムに存在することを確認してください。
DMS一時表スペースの場合
– SYSCATSPACEの使用ページ数(Used Pages)の2倍の空き容量が、一時表スペースのフ
リーページ数(Free Pages)にあることを確認してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
83
解説.
表スペース、ログファイルの空き容量の確認方法について
確保するべき空き容量の確認方法
$ db2 list tablespaces show detail
Tablespace ID
Name
Type
使用ページ数が8638ページ、
ページサイズが4096(byte)なので、
現在の使用容量は
8638 x 4096 / 1024 / 1024 = 33.7MB
= 0
= SYSCATSPACE
= System managed space
Total pages
Useable pages
Used pages
Free pages
High water mark (pages)
Page size (bytes)
=
=
=
=
=
=
8638
8638
8638
Not applicable
Not applicable
4096
Tablespace ID
Name
Type
Total pages
Useable pages
Used pages
Free pages
High water mark (pages)
Page size (bytes)
=
=
=
=
=
=
=
=
=
1
TEMPSPACE1
System managed space
4
4
4
Not applicable
Not applicable
4096
©日本IBMシステムズ・エンジニアリング(株) Information Management部
SYSCATSPACEに34MB、
TEMPSPACE1に68MB
の空き容量が必要。
84
3-3-1.
MIGRATE DBやBACKUP/RESTOREを使用する際のタスク(続き)
移行処理のため、表スペース、ログファイルのサイズを一時的に拡張する(続き)
アクティブ・ログ・ファイルについて
データベースの移行処理は1UOWで実行されます。そのため、移行処理によるすべてのトランザクションを
格納できるだけのログ容量が必要です。
十分に大きなログ容量を既に確保している場合は、新たな拡張は必要ありません。
デフォルトのログ容量に近いサイズで運用している場合、ログ・ファイルサイズの拡張を検討してください。
ログ・ファイルのサイズを拡張する際に使用するデータベース構成パラメーター
–
–
–
LOGFILSIZ
LOGPRIMARY
LOGSECOND
:ログファイルのサイズを4KB単位で指定する。1000の場合、1ファイル4MB
:データベースがあらかじめ割り振っておくログファイルの数
:必要になった際に、追加で割り振ることができるログファイルの最大数
データベース構成パラメーターの変更コマンド
–
>db2 update db cfg for <DB名> using <パラメーター名> <設定値>
使用可能な最大ログ容量を求める計算式
( LOGPRIMARY + LOGSECOND ) x LOGFILSIZ x 4096
©日本IBMシステムズ・エンジニアリング(株) Information Management部
85
【参考情報】 移行に必要なログファイルサイズについて
参考情報として、幕張環境でデータベースを移行した際の事例をご紹介します。
34MB程度のシステムカタログ表スペースに対して、生成ログ量は42MB程度でした。
移行したデータベース中では、1000個程度のユーザー・テーブルを保持しています。
オブジェクトの種類や数等、環境によって必要となるログ量は異なるため、下記を参考として十分に余裕
のあるログファイル容量を確保してください。
移行データベースの情報
SYSCATSPACE使用ページ数
8639
SYSCATSPACEページサイズ
4096
33.7MB
SYSCATSPACE容量
SYSCAT.TABLES行数
1287 (966)
SYSCAT.INDEXES行数
3079 (2853)
SYSCAT.COLUMNS行数
10082 (5791)
* 括弧の中は、ユーザー作成のオブジェクト数
MIGRATE DBを行った23:41∼
23:42に作成されたアーカイブログ
が、移行処理によって作成された
ログ・ファイル。
移行後のアーカイブログ・ディレクトリの内容
$ ls -l arclog/db2inst2/MIGDB/NODE0000/C0000000/
-rw-r---- 1 db2inst2 staff
65536 Sep 14
-rw-r---- 1 db2inst2 staff
12288 Sep 14
-rw-r---- 1 db2inst2 staff
16392192 Sep 14
-rw-r---- 1 db2inst2 staff
16392192 Sep 14
-rw-r---- 1 db2inst2 staff
10870784 Sep 14
-rw-r---- 1 db2inst2 staff
397312 Sep 14
-rw-r---- 1 db2inst2 staff
16392192 Sep 15
©日本IBMシステムズ・エンジニアリング(株) Information Management部
23:34
23:36
23:41
23:42
23:42
23:42
01:43
86
S0000010.LOG
S0000011.LOG
S0000012.LOG
S0000013.LOG
S0000014.LOG
S0000015.LOG
S0000016.LOG
合計サイズ :42MB
3-3-1.
MIGRATE DBやBACKUP/RESTOREを使用する際のタスク(続き)
MIGRATE処理の制約事項が該当しないことを確認
Net Search Extender(NSE)を導入している場合
NSEを導入している場合、NSEによってData Link Managerサポート用のUDFが作成されます。DB2 9からData
Link Managerはサポートされなくなっており、このUDFについても削除する必要があります。
UDFの削除には下記のコマンドを使用します。
db2
db2
db2
db2
DROP
DROP
DROP
DROP
SPECIFIC
SPECIFIC
SPECIFIC
SPECIFIC
FUNCTION
FUNCTION
FUNCTION
FUNCTION
DB2EXT.DATALINKCONTENT1;
DB2EXT.DATALINKCONTENT2;
DB2EXT.DATALINKCONTENT4;
DB2EXT.DATALINKCONTENT3;
XML、BINARY、VARBINARY という名前のユーザー定義特殊タイプ (UDT) が存在する場合
DB2 9から新たにXMLデータタイプがサポートされ、また内部データ型としてBINARY、VARBINARYデータタイ
プを使用するようになったため、同じ名前のUDTは定義できなくなりました。
既存のUDTとしてXML、BINARY、VARBINARYのいずれかの名称を使用している場合は、UDTの名称を変更
する必要があります。
インスタンスの移行を行う前に、該当するUDTをいったん削除して、別の名前で再作成してください。
その他、MIGRATE処理失敗の原因について
データベースのMIGRATE処理に失敗した場合、メッセージSQL1704Nとその理由コードが返却されます。
DB2 Information Centerのメッセージ解説書に各理由コードの内容と対応が記述されていますので、必要に応
じて参照してください。
–
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.messages.sql.doc/doc/msql017
04n.html
©日本IBMシステムズ・エンジニアリング(株) Information Management部
87
3-3-1.
MIGRATE DBやBACKUP/RESTOREを使用する際のタスク(続き)
データベースが移行できる状態にあることの確認
移行前の最後のタスクとして、db2ckmigコマンドを実行し、データベースが問題なく移行でき
る状態にあることを確認します。
db2ckmigコマンドは下記の項目のチェックを行います。
データベースがカタログされていること。
データベースが不整合な状態にないこと。
データベースがバックアップ・ペンディング状態にないこと。
データベースがリストア・ペンディング状態にないこと。
データベースがロールフォワード・ペンディング状態にないこと。
すべての表スペースのステータスが正常であること。
ARRAY、BINARY、DECFLOAD、VARBINARYおよびXMLという名前のユーザー定義タイプ (UDT) が存在しないこと。
データベースには、システム定義のDATALINKデータ・タイプが含まれていないこと。
システム・カタログ表の中に、データベースのマイグレーションを失敗させるようなデータベースの孤立行が存在しない。
HADR の1 次データベースとして構成されている場合は、1次データベースに対しての接続が可能である必要がありま
す。
–
非活動化されているHADRの1次データベースに対して接続を行う場合、スタンバイ・データベースに対してHADR接続を行
おうとするため、あらかじめスタンバイ・データベースが活動化されている必要があります。
HADR を構成している場合、スタンバイ・データベースではないこと。
SYSCATSPACEがDMS表スペースであり、自動サイズ変更機能が有効になっていない場合、SYSCATSPACEに少なくと
も総ページ数の50%のフリー・ページが存在すること。
DB2 Information Center[データベースがマイグレーションできる状態にあることの確認]
–
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.migration.doc/doc/t0007187.html
db2ckmigコマンドは、インスタンスの移行処理中に暗黙的に実行されます。上記項目のチェッ
クにパスしない場合、db2imigrによるインスタンスの移行処理は失敗します。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
88
解説.
db2ckmigコマンドの実行方法
db2ckmigコマンドの実行方法について
db2ckmigコマンドは、DB2 9.5の導入パス配下にあります。
<DB2 9.5インストールディレクトリ>/bin
実行コマンド例
>db2ckmig <DB名> -l <ログファイル名>
コマンド実行後には必ずログファイルを参照し、DB2 9.5のdb2ckmigコマンドが実行されたことを確認
してください。
[/home/db2inst2]$ cd /opt/IBM/db2/V9.5_01/bin
[/opt/IBM/db2/V9.5_01/bin]$ ls -l db2ckmig
-r-xr-xrx
1 bin
bin
9716 Jul 14 04:15 db2ckmig
[/opt/IBM/db2/V9.5/bin]$ ./db2ckmig migdb -l /tmp/db2ckmig.log
db2ckmig was successful. Database(s) can be migrated.
[/opt/IBM/db2/V9.5_01/bin]$ cat /tmp/db2ckmig.log
Version of DB2CKMIG being run: VERSION 9.5.
©日本IBMシステムズ・エンジニアリング(株) Information Management部
バージョン9.5のdb2ckmigであ
ることが確認できる。
89
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
90
3-3-1. インスタンス/データベースの移行
共通の移行前タスクの実施
MIGRATE DBやBACKUP/RESTOREを使用
する際のタスク
インスタンスの移行
データベースの移行
移行後タスクの実施
©日本IBMシステムズ・エンジニアリング(株) Information Management部
91
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
92
3-3-1. インスタンス/データベースの移行
インスタンスの移行
インスタンスの移行のためには、DB2 9.5の導入パス配下のdb2imigrコマンドを使用します。
db2imigrコマンド実行
db2imigrコマンドは、rootユーザーもしくは管理者権限で実行します。
–
インスタンスオーナーで実行するコマンドではありません。
UNIX/Linuxの場合
–
> $DB2DIR/instance/db2imigr -u <fencedユーザーID> <インスタンス名>
Windowsの場合
–
–
> $DB2DIR¥bin¥db2imigr /u:<ユーザー名>,<パスワード> <インスタンス名>
「 /u:<ユーザー名>,<パスワード> 」は、DB2サービスを実行するユーザー名とパスワード
$DB2DIRは、DB2 9.5の導入パスです。デフォルトの導入パスは下記の通りです。
–
–
–
UNIXの場合
Linuxの場合
Windowsの場合
:/opt/IBM/db2/V9.5
:/opt/ibm/db2/V9.5
:Program Files¥IBM¥sqllib_XX (XXは数字の連番)
作業の流れ
UNIX/Linuxでは、/tmpに20MB以上の空き容量があることを確認
DB2の停止を行う
rootユーザーもしくは管理者権限でログオンする
db2imigrコマンドの実行
インスタンス・オーナーとして再ログオン
DB2の開始を行う
©日本IBMシステムズ・エンジニアリング(株) Information Management部
93
3-3-1. インスタンス/データベースの移行(続き)
データベースの移行
インスタンスの移行を行った後、移行したインスタンス配下のデータベースをバージョン9に移行する
必要があります。
MIGRATE DBコマンドの実行
データベースの移行はMIGRATE DBコマンドで行います。
$ db2 migrate db <DB名> [ user <ユーザーID> using <パスワード> ]
–
ローカルDBに対してMIGRATE DBコマンドを実行する場合はユーザーID/パスワードは必要ありません。
作業の流れ
インスタンスオーナーもしくは、SYSADM権限を持つユーザーとしてログオンする。
MIGRATE DBコマンドを実行する。
MIGRATE DBコマンドが正常に完了したことを確認する。
移行後のデータベースに接続し、簡単な照会を実行します。
MIGRATEが正常に完了しない場合
データベースの移行が失敗すると、エラー・メッセージ SQL1704N が失敗の原因を説明した理由コードととも
に返却されます。DB2 Information Centerの 「メッセージ・リファレンス」でこの SQL エラー・コード参照してくだ
さい。各理由コードに対しての対応策も上記マニュアル中に記載されています。
MIGRATE DB失敗の最も一般的に見られる原因としては、ログ容量の不足が挙げられます。
–
この場合理由コード「3」が返却されます。対応策としては、トランザクションログの容量を拡張してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
94
3-3-1. インスタンス/データベースの移行(続き)
データベースの移行(続き)
MIGRATEが正常に完了しない場合(続き)
移行対象のデータベースに「SYSTOOLS.DB2LOOK_INFO」という名前の表が存在する場合、MIGRATE DBコ
マンドは警告としてSQL1243Wを戻します。
–
–
–
–
この表がDB2によって自動的に作成された表であった場合、DB2はこの表を削除し、警告は戻しません。
この表の列定義が、自動作成される列定義と異なっていた場合、DB2はこの表を自動削除できないため、
SQL1243Wの警告を戻します。
この表が存在した場合でも、データベースの移行は成功しますが、移行後にALTER TABLEコマンドや、COPY
SCHEMAコマンドを実行した場合、コマンドが失敗します。
このメッセージを受け取ったら、「SYSTOOLS.DB2LOOK_INFO」表の名前を変更するか削除してください。
メッセージの出力例
$ db2 migrate db migdb
SQL1243W DB2 バージョン 8 データベースの db2look 操作表 SYSTOOLS.DB2LOOK_INFO
のドロップが失敗しました。
$ db2 connect to migdb
データベース接続情報
データベース・サーバー
SQL 許可 ID
ローカル・データベース別名
= DB2/AIX64 9.5.0
= DB2INST2
= MIGDB
SQL1243Wが出力された場合も、
DBの移行は成功している。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
95
3-3-1. インスタンス/データベースの移行(続き)
DASの移行
DASを利用してDB2サーバの管理を行っている場合、DASインスタンスもバージョン9.5である必要が
あります。バージョン8以前のDASからバージョン9.5のDB2サーバを管理することはできません。
Windows では、DB2 9.5インストール中に既存のインスタンスを自動移行することが可能ですが、そ
れを選択した場合は、DASも同様にバージョン9.5へ移行されます。
バージョン8のDASで DB2 ツール・カタログを作成している場合、作成済みのスクリプト、スケジュー
ルを使用する場合には、DASの移行が必要です。
作成済みのスクリプト等を移行する必要がない場合は、バージョン8のDASを削除し、バージョン9.5のDASを
新規に作成することで、dasmigrコマンドによる移行の代替とすることも可能です。
dasmigrコマンドの実行
UNIX/Linuxの場合
–
> $DB2DIR/instance/dasmigr
Windowsの場合
–
> $DB2DIR¥bin¥dasmigr
$DB2DIRは、DB2 9.5の導入パスです。デフォルトの導入パスは下記の通りです。
–
–
–
UNIXの場合
Linuxの場合
Windowsの場合
:/opt/IBM/db2/V9.5
:/opt/ibm/db2/V9.5
:Program Files¥IBM¥sqllib_XX (XXは数字の連番)
作業の流れ
DASオーナーとしてログオンし、DASを停止する
rootユーザーもしくは管理者権限でログオンする
dasmigrコマンドを実行してDASを移行する。
DASオーナーとしてログオンし、DASを開始する。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
96
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
97
3-3-1. 移行コマンドの実行例
想定する環境
DBサーバ
:AIX
インスタンス名
:db2inst2
データベース名
:MIGDB
DB2 V8の導入パス
:/usr/opt/db2_08_01/
DB2 V9.5の導入パス
:/opt/IBM/db2/V9.5_01
DB2のエディション
:V8/V9.5ともESE
(*) DB2 9.5は、3-1の手順に従って導入済みとします。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
98
3-3-1. 移行コマンドの実行例
移行対象インスタンス、DBの確認
$ db2level
DB21085I Instance "db2inst2" uses "32" bits and DB2 code release "SQL08026"
with level identifier "03070106".
Informational tokens are "DB2 v8.1.1.120", "s060801", "U808888", and FixPak
"13".
Product is installed at "/usr/opt/db2_08_FP13".
$
現在のDB2はV8.1 FP13
32bitインスタンス
db2 list db directory
System Database Directory
Number of entries in the directory = 1
移行対象DBは「MIGDB」
Database 1 entry:
Database alias
Database name
Local database directory
Database release level
Comment
Directory entry type
Catalog database partition number
Alternate server hostname
Alternate server port number
=
=
=
=
=
=
=
=
=
MIGDB
MIGDB
/home/db2inst2/db2
a.00
Indirect
0
©日本IBMシステムズ・エンジニアリング(株) Information Management部
99
3-3-1. 移行コマンドの実行例 (続き)
現在の構成情報を取得
$
対象DBを指定してdb2support
コマンドを実行
db2support /out0/backup -d migdb -cl 0
_______ D B 2 S u p p o r t ______
This program generates information about a DB2 server, including
information about its configuration and system environment. The output of
this program will be stored in a file named 'db2support.zip', located
<中略>
"list_apps.supp_out"
"db2diag.log"
処理の成功を確認
db2support is now complete.
移行前バックアップを取得
$
バックアップの正常取得を確認
db2 backup db migdb to /out0/backup
Backup successful. The timestamp for this backup image is : 20060913174858
$ ls -l /out0/backup
合計 492472
-rw-r---- 1 db2inst2 staff
-rw-r--r- 1 db2inst2 staff
251740160 Sep 13 17:49 MIGDB.0.db2inst2.NODE0000.CATN0000.20060913174858.001
403897 Sep 13 17:46 db2support.zip
©日本IBMシステムズ・エンジニアリング(株) Information Management部
100
3-3-1. 移行コマンドの実行例 (続き)
エラー情報の取得レベルを変更
$
db2 get dbm cfg │grep DIAGLEVEL
Diagnostic error capture level
(DIAGLEVEL) = 3
$ db2 update dbm cfg using DIAGLEVEL 4
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed
successfully.
$ db2 get dbm cfg │grep DIAGLEVEL
Diagnostic error capture level
(DIAGLEVEL) = 4
$ db2 get dbm cfg │grep NOTIFYLEVEL
Notify Level
(NOTIFYLEVEL) = 3
$ db2 update dbm cfg using NOTIFYLEVEL 4
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed
successfully.
$ db2 get dbm cfg │grep NOTIFYLEVEL
Notify Level
(NOTIFYLEVEL) = 4
©日本IBMシステムズ・エンジニアリング(株) Information Management部
101
DIAGLEVEL/NOTIFYLEVELが
対象DBを指定してdb2support
4に変更されていることを確認
コマンドを実行
3-3-1. 移行コマンドの実行例 (続き)
32bitインスタンスから64bitインスタンスへ移行
現在は32bitインスタンス
$ db2level
DB21085I Instance "db2inst2" uses "32" bits and DB2 code release "SQL08026"
with level identifier "03070106".
Informational tokens are "DB2 v8.1.1.120", "s060801", "U808888", and FixPak
"13".
Product is installed at "/usr/opt/db2_08_FP13".
$ db2stop
2006-09-13 17:50:45
0 0
SQL1064N DB2STOP processing was successful.
SQL1064N DB2STOP processing was successful.
$ ps -ef│
grep db2inst2
db2inst2 1446120 1577150 0 16:27:22 pts/11 0:00 -ksh
db2inst2 1589464
1 0 18:18:10
- 0:00 /home/db2inst2/sqllib/bin/db2bp 1810436A229 5 A
$ kill -9 1589464
$ ps -ef│
grep db2inst2
db2inst2 1446120 1577150 0 16:27:22 pts/11 0:00 -ksh
$ su root のパスワード:
root@kotatsu:/# cd /usr/opt/db2_08_FP13/instance
root@kotatsu:/usr/opt/db2_08_FP13/instance# ls -l db2iupdt
-r-xr--r- 1 root
bin
7951 Aug 03 12:24 db2iupdt
root@kotatsu:/usr/opt/db2_08_FP13/instance# ./db2iupdt -w 64 db2inst2
DBI1070I Program db2iupdt completed successfully.
©日本IBMシステムズ・エンジニアリング(株) Information Management部
102
db2bpプロセスが残っている場合
も、db2iupdtが失敗するため、す
べて終了させる。
rootユーザーで実行する。
3-3-1. 移行コマンドの実行例 (続き)
32bitインスタンスから64bitインスタンスへ移行(続き)
root@kotatsu:/usr/opt/db2_08_FP13/instance# exit
$ db2level
DB21085I Instance "db2inst2" uses "64" bits and DB2 code release "SQL08026"
with level identifier "03070106".
Informational tokens are "DB2 v8.1.1.120", "s060801", "U808888", and FixPak
"13".
Product is installed at "/usr/opt/db2_08_FP13".
$ db2start
2006-09-13 17:53:05
0 0
SQL1063N DB2START processing was successful.
SQL1063N DB2START processing was successful.
©日本IBMシステムズ・エンジニアリング(株) Information Management部
103
64bitインスタンスになっているこ
とを確認
3-3-1. 移行コマンドの実行例 (続き)
必要な空き容量の確認
$ db2 connect to migdb
Database Connection Information
Database server
= DB2/AIX64 8.2.6
SQL authorization ID = DB2INST2
Local database alias = MIGDB
show detailオプション付きで、
list tablespacesコマンドを実行
$ db2 list tablespaces show detail
Tablespaces for Current Database
Tablespace ID
= 0
Name
= SYSCATSPACE
Type
= System managed space
Contents
= Any data
State
= 0x0000
Detailed explanation:
Normal
Total pages
= 8639
Useable pages
= 8639
Used pages
= 8639
Free pages
= Not applicable
High water mark (pages)
= Not applicable
Page size (bytes)
= 4096
<省略>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
104
Used Pages(使用ページ数)が
8639(ページ)、Page Size(ページ
サイズ)が4096(byte)であることを
確認。
SYSCATSPACEの容量 :33.7MB
3-3-1. 移行コマンドの実行例 (続き)
必要な空き容量の確認(続き)
Tablespace ID=0 (SYSCATSPACE)
のコンテナ・ファイルを確認
$ db2 list tablespace containers for 0
/home/db2inst2/db2 に配置されている
Tablespace Containers for Tablespace 0
Container ID
= 0
Name
= /home/db2inst2/db2/db2inst2/NODE0000/SQL00001/SQLT0000.0
Type
= Path
$ db2 list tablespace containers for 1
Tablespace Containers for Tablespace 1
Container ID
= 0
Name
= /home/db2inst2/db2/tempts/fs1
Type
= Path
Container ID
Name
Type
= 1
= /home/db2inst2/db2/tempts/fs2
= Path
Container ID
Name
Type
= 2
= /home/db2inst2/db2/tempts/fs3
= Path
Container ID
Name
Type
= 3
= /home/db2inst2/db2/tempts/fs4
= Path
$ df -m │
egrep "^Filesystem│/home/db2inst2/db2"
Filesystem
MB ブロック
Free %Used
Iused %Iused Mounted on
/dev/lvinst2db
2048.00 1468.00 29%
304
1% /home/db2inst2/db2
©日本IBMシステムズ・エンジニアリング(株) Information Management部
105
Tablespace ID=1 (TEMPSPACE1)の
コンテナ・ファイルも同様に
/home/db2inst2/db2 に配置されている
/home/db2inst2/db2 ファイルシステム
の空き容量が1468MBであるため、
SYSCATSPACE、TEMPSPACE1ともに、
移行に必要な空き容量が確保可能。
3-3-1. 移行コマンドの実行例 (続き)
必要な空き容量の確認(続き)
$ db2 get db cfg for migdb │grep -i "log file"
Log file size (4KB)
(LOGFILSIZ) = 4000
Number of primary log files
(LOGPRIMARY) = 10
Number of secondary log files
(LOGSECOND) = 2
LOGFILSIZ x (LOGPRIMARY + LOGSECOND) x4096
が使用可能なログ容量の計算式。
4000 x ( 10 + 2 ) x 4096 = 187.5MB
であるため、SYSCATSPACEの使用容量に対して5倍程
度の容量を確保できている。
db2ckmigコマンドで、データベースが移行可能であることを確認する。
$ cd /opt/IBM/db2/V9.5_01/bin
[/opt/IBM/db2/V9.5_01/bin]$ ls -l db2ckmig
-r-xr-xrx
1 bin
bin
9716 Jul 14 04:15 db2ckmig
[/opt/IBM/db2/V9.5_01/bin]$ ./db2ckmig migdb -l /tmp/db2ckmig.log
インスタンスオーナーで
db2ckmigコマンドを実行
db2ckmig was successful. Database(s) can be migrated.
[/opt/IBM/db2/V9.5_01/bin]$ cat /tmp/db2ckmig.log
Version of DB2CKMIG being run: VERSION 9.5.
©日本IBMシステムズ・エンジニアリング(株) Information Management部
バージョン9.5のdb2ckmigコマン
ドを実行していることを確認
106
3-3-1. 移行コマンドの実行例 (続き)
インスタンスの移行
$ db2licd -end
$ db2 terminate
DB20000I The TERMINATE command completed successfully.
$ db2 list application
SQL1611W No data was returned by Database System Monitor. SQLSTATE=00000
$ db2stop
2006-09-14 23:34:34
0 0
SQL1064N DB2STOP processing was successful.
DB2停止後もdb2bpが残ってい
SQL1064N DB2STOP processing was successful.
る場合、killコマンドで終了させる。
$ ps -ef│
grep db2inst2
db2inst2 1487036 1650940 0 23:35:19 pts/6 0:00 grep db2inst2
db2inst2 1073168
1 0 23:04:34
- 0:00 /home/db2inst2/sqllib/bin/db2bp 1581196A229 5 A
db2inst2 1609870
1 0 23:34:26
- 0:00 /home/db2inst2/sqllib/bin/db2bp 1650940A229 5 A
db2inst2 1650940 1749240 0 21:37:20 pts/6 0:00 -ksh
$ kill -9 1073168 1609870
$ su root のパスワード:
rootユーザーでdb2imigrコマン
root@kotatsu:/# cd /opt/IBM/db2/V9.5_01/instance
ドを実行する。
root@kotatsu:/opt/IBM/db2/V9.5_01/instance# ls -l db2imigr
-r-xr--r- 1 root
system
50797 Jul 14 04:15 db2imigr*
root@kotatsu:/opt/IBM/db2/V9.5_01/instance# ./db2imigr -u db2inst2 db2inst2
db2ckmig was successful. Database(s) can be migrated.
DBI1070I プログラム db2imigr
は正常に完了しました。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
107
3-3-1. 移行コマンドの実行例 (続き)
インスタンスの移行(続き)
root@kotatsu:/opt/IBM/db2/V9.5_01/instance# su -db2inst2
$ db2level
DB21085I インスタンス “db2inst2" は、"64" ビットおよび DB2 コード・リリース
"SQL09050" をレベル ID "03010107" で使用します。
情報トークンは、"DB2 v9.5.0.0"、"s070917"、"AIX6495"、およびフィックスパック "0"
です。
製品は "/opt/IBM/db2/V9.5_01" にインストールされます。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
108
db2levelの出力結果がバージョ
ン9.5であることを確認する。
3-3-1. 移行コマンドの実行例 (続き)
データベースの移行
インスタンスの移行時にDB2を停
止していたため、ここで開始する。
$ db2start
2006-09-14 23:38:18
0 0
SQL1063N DB2START の処理が正常に終了しました。
SQL1063N DB2START の処理が正常に終了しました。
$ db2 migrate db migdb
DB20000I MIGRATE DATABASE コマンドが正常に完了しました。
$ db2 activate db migdb
DB20000I ACTIVATE DATABASE コマンドが正常に完了しました。
$ db2 connect to migdb
データベース接続情報
データベース・サーバー
SQL 許可 ID
ローカル・データベース別名
migrate処理に数分かかる。
= DB2/AIX64 9.5.0
= DB2INST2
= MIGDB
$ db2 "select count(*) from syscat.dbauth"
DBへの接続ができること、簡単
な照会に成功することを確認する。
1
---------2
1 record(s) selected.
©日本IBMシステムズ・エンジニアリング(株) Information Management部
109
3-3-1. 移行コマンドの実行例 (続き)
DASの移行
DASユーザーからDASを停止す
る。
[dasuser /home/dasuser]$ db2admin stop
SQL4407W The DB2 Administration Server was stopped successfully.
[dasuser /home/dasuser]$ su root のパスワード:
[root /]# cd /opt/IBM/db2/V9.5_01/instance
[root /opt/IBM/db2/V9.5_01/instance]# ls -l dasmigr
-r-xr-xrx
1 bin
bin
3318 Jul 14 04:15 dasmigr
[root /opt/IBM/db2/V9.5_01/instance]# ./dasmigr
SQL4410W The DB2 Administration Server is not active.
SQL4406W DB2 Administration Server を正常に開始しました。
DBI1070I プログラム dasmigr
は正常に完了しました。
[root /opt/IBM/db2/V9.5_01/instance]# su -dasuser
[dasuser /home/dasuser]$ cd das/adm/bin
[dasuser /home/dasuser/das/bin]$ ls -l db2daslevel
-r-xr-xrx
1 bin
bin
32540 Aug 14 19:18 db2daslevel
[dasuser /home/dasuser/das/bin]$ ./db2daslevel
DB21089I DB2 Administration Server "dasuser" は、
DB2 コード・リリース "DB2 v9.5.0.0" をレベル ID "03010107" で使用します。
情報トークンは、"s070917"、"AIX64"、およびフィックスパック "0" です。
製品は "/opt/IBM/db2/V9.5_01/das" にインストールされます。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
110
rootユーザーから、dasmigrを実
行する。
V9よりDASのバージョンを確認す
るdb2daslevelコマンドが提供さ
れています。
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
111
3-3-2. Backup/Restoreによる移行
同一インスタンスで移行
Backup/Restore使用
Export/LOADを使用
(ケース1)
(ケース2/3)
(ケース2/3)
2-2章 移行シナリオの決定
3-1章 DB2 9.5のインストール
3-2-1章 移行前タスクの実施
3-3-1章 インスタン
スの移行(db2imigr)
3-3-2章 インスタン
スの作成(db2icrt)
3-3-3章 インスタン
スの作成(db2icrt)
3-3-3章 データベー
ス作成(create db)
3-3-3章 オブジェクト
作成
3-3-1章 データベース
の移行(migrate db)
3-3-2章 DBバックアッ
プ取得(backup db)
3-3-3章 移行データの
抽出(EXPORTコマンド)
3-3-2章 DBのリストア
(restore db)
3-3-3章 移行データの
投入(LOADコマンド)
3-2-2章 移行後タスクの実施
©日本IBMシステムズ・エンジニアリング(株) Information Management部
112
3-3-2. Backup/Restoreを使用した移行手順(ケース2)
この節では、Backup/Restoreコマンドを使用して、同一サーバ上も
しくは新規サーバ上の、新しいインスタンスへ移行する際の作業の
流れを説明します。
この移行シナリオの特徴
V8の既存インスタンスは保存し、新規のインスタンスへ移行する。
移行にはBACKUP/RESTOREを使用する。
DBサーバ(現行)
DBサーバ(同一もしくは新規)
V8インスタンス
MIGDB
V9.5インスタンス(新規)
外部モジュール等
BACKUP
RESTORE
BACKUP
イメージ
©日本IBMシステムズ・エンジニアリング(株) Information Management部
113
MIGDB
3-3-2. Backup/Restoreを使用する際の考慮点
V7以前のバックアップからの復元はできない
V7以前のバージョンからの移行の場合は、「3-3-3. データ移動ユーティリティを
使用した移行」の手順を使用してください。
V8のバックアップをV9.5に復元後、V8時のログは適用できない。
V8時点のログは適用不要な状態にした上で、オフライン・バックアップを取得す
る必要があります。
新規インスタンスでのログ適用を行う必要や、オンラインバックアップからの移
行をしたい場合は、この章の説明と併せて、「5-2. オンライン・バックアップ・イ
メージからの移行」を参照してください。
異なるプラットフォーム間のリストアについて
WindowsとUNIX/Linux間のリストアはできません。
また、プラットフォーム・ファミリー間でのリストアもできません。
同一のプラットフォーム・ファミリーとはエンディアンの統一されたUNIX/Linuxを指します。
詳細は下記のDB2 Information Centerを参照してください。
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.admin.ha.doc/doc/c0005960.html
©日本IBMシステムズ・エンジニアリング(株) Information Management部
114
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
115
3-3-2. Backup/Restoreを使用する際の作業の流れ
共通の移行前タスクの実施
* 「移行前のタスク」については、3-2-1章を参照してください。
MIGRATE DBやBACKUP/RESTOREを使用
する際のタスク
*このタスクについては、3-3章を参照してください。
新規インスタンスの作成
Backup/Restoreによるデータベースの移行
移行後タスクの実施
* 「移行後のタスク」については、3-2-2章を参照してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
116
3-3-2. 新規インスタンスの作成/データベースの移行
共通の移行前タスクの実施
* 「移行前のタスク」については、3-2-1章を参照してください。
MIGRATE DBやBACKUP/RESTOREを使用
する際のタスク
*このタスクについては、3-3章の移行前タスクを参照してください。
新規インスタンスの作成
Backup/Restoreによるデータベースの移行
移行後タスクの実施
* 「移行後のタスク」については、3-2-2章を参照してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
117
3-3-2. 新規インスタンスの作成
新規インスタンスの作成
同一サーバ上で移行する場合も、新規サーバへ移行する場合も移行先のインスタンスの
作成が必要です。
インスタンスの作成にはdb2icrtコマンドを使用します。
同一サーバ上のインスタンス名はユニークである必要があるため、同一サーバ上で移行する場合は、新規
インスタンスはこれまでのインスタンスとは異なる名称で作成してください。
db2icrtコマンド実行
db2icrtコマンドは、rootユーザーもしくは管理者権限で実行します。
UNIX/Linuxの場合
–
–
–
> $DB2DIR/instance/db2icrt [-p <サービス名> ] -u <fencedユーザーID> <インスタンス名>
-p
:TCP/IPによる接続を使用する場合のサービス名/ポート番号を指定
-u
:fenced ユーザー定義関数および fenced ストアード・プロシージャーを実行するユーザー ID の
名前を指定します。サーバインスタンスを作成する際は、必須オプションです。
Windowsの場合
–
> $DB2DIR¥instance¥db2icrt <インスタンス名>
$DB2DIRは、DB2 9.5の導入パスです。デフォルトの導入パスは下記の通りです。
–
–
–
UNIXの場合
Linuxの場合
Windowsの場合
:/opt/IBM/db2/V9.5
:/opt/ibm/db2/V9.5
:Program Files¥IBM¥sqllib_XX (XXは数字の連番)
作業の流れ
インスタンス・オーナーとなるユーザーを作成する。(UNIX/Linuxの場合)
rootユーザーもしくは管理者権限でログオンする。
db2icrtコマンドにてインスタンスを作成する。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
118
3-3-2. 新規インスタンスの作成
データベース・マネージャー構成パラメーター、レジストリー変数の移行
新規にインスタンスを作成した場合、データベース・マネージャー構成パラメーター及びレ
ジストリー変数はデフォルトの値となります。必要に応じて移行前環境から設定値を移行
してください。
レジストリー変数
レジストリー変数には、変数のスコープによって名称が違い、それぞれ設定方法が異なります。
–
–
DB2 グローバル・レベル・プロファイル・レジストリー
DB2 インスタンス・レベル・プロファイル・レジストリー
:該当のDB2コピー全体に対して有効
:該当のインスタンスのみに有効
移行前環境に設定されているすべてのレジストリー変数をリストするには、下記のコマンドを使用します。
–
>db2set –all
レジストリー変数をインスタンスレベルで設定するためには、下記のコマンドを使用します。
–
>db2set [-i] <変数名>=<設定値>
レジストリー変数をグローバルレベルで設定するためには、下記のコマンドを使用します。
–
–
>$DB2DIR/adm/db2set <変数名>=<設定値> -g
グローバルレベルのレジストリー変数の設定は、rootユーザーもしくは管理者権限で実行してください。
データベース・マネージャー構成パラメーター
データベース・マネージャー構成パラメーターは、インスタンスが保持する構成パラメーターです。
下記コマンドにて取得します。
–
>db2 get dbm cfg
更新には、下記コマンドを使用してください。
–
>db2 update dbm cfg using <変数名> <設定値>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
119
解説:レジストリー変数の設定
インスタンスレベルのレジストリー
変数は、インスタンスオーナーか
ら設定
[tukiv9 /home/tukiv9]$ db2set -all
[g] DB2COMM=TCPIP
[tukiv9 /home/tukiv9]$ db2set DB2_SKIPDELETED=ON
[tukiv9 /home/tukiv9]$ db2set -all
[i] DB2_SKIPDELETED=ON
[g] DB2COMM=TCPIP
[tukiv9 /home/tukiv9]$ su root のパスワード:
[root /]# cd /opt/IBM/db2/V9.5_01/adm
[root /opt/IBM/db2/V9.5_01/adm]# ./db2set DB2_SKIPINSERTED=ON -g
[root /opt/IBM/db2/V9.5_01/adm]# exit
[tukiv9 /home/tukiv9]$ db2set -all
[i] DB2_SKIPDELETED=ON
[g] DB2_SKIPINSERTED=ON
[g] DB2COMM=TCPIP
©日本IBMシステムズ・エンジニアリング(株) Information Management部
120
グローバルレベルのレジストリー
変数は、rootユーザーから設定
3-3-2. インスタンス/データベースの移行
Backup/Restoreによるデータベースの移行
このシナリオでは、データベースの移行のためBACKUP/RESTOREコマンドを使用します。
BACKUP DBコマンドの実行
BACKUP DBは、移行前のデータベースが存在するV8のインスタンスにて行います。
シナリオの考慮点でも記述しましたが、
– オフラインバックアップが必要であること
– 移行後には、移行前のログは適用できないこと
に注意してください。
BACKUPコマンドの実行(DISK上に取得する場合)
>db2 backup db <DB名> to <BACKUP先>
RESTORE DBコマンドの実行
上記のBACKUP DBコマンドにて取得したバックアップ・イメージを新規のV9.5インスタンスへリストアします。
このガイドでは、リダイレクト・リストアを使用してリストアを行います。
リストア用のコマンドは、V9からの新機能である「リダイレクト・リストア・スクリプトの生成」を使用して行いま
す。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
121
参考:Redirect Restoreについて
リダイレクト・リストアは、リストアの実行オプションの一つであり、リストアを実行する際に
テーブルスペース・コンテナのレイアウトを変更するために使用することができます。
リダイレクトリストアの特徴
RESTORE時に表スペースのコンテナの追加・変更・削除が可能
SMS表スペースでもコンテナを増やすことが可能
DMS表スペースのコンテナのFILE<=>DEVICEの変更が可能
DMS表スペース<=>SMS表スペースの変更は不可能
異なるDB名としてリストアすることによって、同一インスタンス内にクローンDBを作成することが可能
移行のためにBackup/Restoreを使用するシナリオでは、
既存のテーブルスペース・コンテナを避けて新規の名称のコンテナにリストアするため
新規サーバへ移行する際、新しいネーミング・ルールにあわせて、コンテナの命名規則を変更するため。
新規サーバのDISK構成にあわせて物理設計を見直すため。
等、いろいろな状況で使用することが可能です。
コマンドの実行
リダイレクトリストアは、下記の3種類のコマンドを組み合わせて実行します。
>RESTORE DATABASE <DB名> …… REDIRECT
>SET TABLESPACE CONTAINERS
>RESTORE DATABASE <DB名> CONTINUE
©日本IBMシステムズ・エンジニアリング(株) Information Management部
122
参考:Redirect Restoreについて(続き)
DB2 9からの新機能として、データベース・バックアップ・イメージから、リダイレクト
リストアのためのスクリプトを生成することが可能となっています。
生成されたスクリプトを修正して使用することで、移行用のスクリプトを作成するワークロー
ドを低減することが可能です。
このスクリプト生成は、DB2 V8のバックアップ・イメージに対しても実行することが可能です。
スクリプトの生成方法
スクリプトの生成にはRESTOREコマンドの「GENERATE SCRIPT」オプションを使用します。
db2 restore db <DB名> from <BACKUPディレクトリ> taken at <BACKUP取得時間>
redirect generate script <出力スクリプト名>
スクリプト生成の詳細については、下記の資料を参照してください。
「DB2 9新機能ワークショップ 運用管理機能強化
–
バックアップ・リカバリー」
http://www.ibm.com/jp/domino01/mkt/dminfo.nsf/doc/004D44E6
©日本IBMシステムズ・エンジニアリング(株) Information Management部
123
参考:Redirect Restoreについて(続き)
作成スクリプトからの抜粋
RESTORE DB xxxxx REDIRECTのセクション
RESTORE DBで指定可能なオプション
がコメントアウトされて記述されている。
RESTORE DATABASE MIGDB
変更したいオプションを記述後に、コメン
--USER <username>
トアウトを削除する。
--USING '<password>'
FROM '/out0/backup'
TAKEN AT 20060919000842
--DBPATH ON '<target-directory>'
INTO MIGDB
--NEWLOGPATH '/home/db2inst2/db2/db2inst2/NODE0000/SQL00001/SQLOGDIR/'
--WITH <num-buff> BUFFERS
--BUFFER <buffer-size>
--REPLACE HISTORY FILE
--REPLACE EXISTING
REDIRECT
--PARALLELISM <n>
WITHOUT ROLLING FORWARD
--WITHOUT PROMPTING
;
*下線部は、それぞれ新規のDBディレクトリー、アクティブログディレクトリーを指定できるキーワード
©日本IBMシステムズ・エンジニアリング(株) Information Management部
124
参考:Redirect Restoreについて(続き)
作成スクリプトからの抜粋(続き)
SET TABLESPACE CONTAINERSのセクション
<省略>
--*****************************************************************************
--** Tablespace name
= TS1
--**
Tablespace ID
= 4
--**
Tablespace Type
= Database managed space
--**
Tablespace Content Type
= All permanent data. Regular table space.
--**
Tablespace Page size (bytes)
= 4096
--**
Tablespace Extent size (pages)
= 32
バックアップ・イメージ中に記録された
--**
Using automatic storage
= No
コンテナー情報が記述されているため、
--**
Auto-resize enabled
= No
リストア先DB環境でのコンテナー情報
--**
Total number of pages
= 65536
(名称、サイズ、数等)で書き換える。
--**
Number of usable pages
= 65504
--**
High water mark (pages)
= 62336
--*****************************************************************************
SET TABLESPACE CONTAINERS FOR 4
--IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/home/db2inst2/db2/tscont/ts1.DAT'
65536
);
RESTORE DB CONTINUEのセクション
スクリプトの最後で、RESTORE
--*****************************************************************************
CONTINUEを発行するセクション
--** start redirected restore
--*****************************************************************************
RESTORE DATABASE MIGDB CONTINUE;
©日本IBMシステムズ・エンジニアリング(株) Information Management部
125
3-3-2. 移行コマンドの実行例
想定する環境
DBサーバ
:AIX
V8インスタンス名
:db2inst2
V9インスタンス名 (新規作成) :db2inst3
データベース名
:MIGDB
DB2 V8の導入パス
:/usr/opt/db2_08_01/
DB2 V9.5の導入パス
:/opt/IBM/db2/V9.5_01
DB2のエディション
:V8/V9.5ともESE
(*) DB2 9.5は、3-1の手順に従って導入済みとします。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
126
3-3-2. 移行コマンドの実行例 (続き)
V8インスタンス上で、事前に「移行前タスク」を実施する。
移行前タスクの詳細は「3-2章」及び、「3-3-1章」を参照してください。
インスタンスの作成
[root /]# cd /opt/IBM/db2/V9.5_01/instance
[root /opt/IBM/db2/V9.5_01/instance]# ls -l db2icrt
-r-xr--r- 1 root
system
8191 Jul 14 04:15 db2icrt*
[root /opt/IBM/db2/V9.5_01/instance]# ./db2icrt u db2inst3 db2inst3
DBI1070I プログラム db2icrt
は正常に完了しました。
[root /opt/IBM/db2/V9.5_01/instance]# su -db2inst3
$ db2level
DB21085I インスタンス “db2inst3" は、"64" ビットおよび DB2 コード・リリース
"SQL09050" をレベル ID "03010107" で使用します。
情報トークンは、"DB2 v9.5.0.0"、"s070917"、"AIX6495"、およびフィックスパック "0"
です。
製品は "/opt/IBM/db2/V9.5_01" にインストールされます。
$ db2start
2006-09-19 00:05:22
0 0
SQL1063N DB2START の処理が正常に終了しました。
SQL1063N DB2START の処理が正常に終了しました。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
127
rootユーザーでDB2 9.5の導入
パスへ移動
インスタンスの作成コマンドを実
行
DB2 9.5のインスタンスであること
を確認する。
3-3-2. 移行コマンドの実行例 (続き)
データベースのバックアップを取得(V8インスタンス)
V8のインスタンス・オーナー
(db2inst2)から実行
[db2inst2] $ db2 list application
Auth Id Application
Appl.
Application Id
DB
# of
Name
Handle
Name
Agents
---------------------------------------------------------------DB2INST2 db2bp
779
*LOCAL.db2inst2.060918145802 MIGDB
1
DB2INST2 db2bp
23
*LOCAL.db2inst2.060918040638 MIGDB
1
[db2inst2] $ db2 force application all
DB20000I The FORCE APPLICATION command completed successfully.
DB21024I This command is asynchronous and may not be effective immediately.
[db2inst2] $ db2 list application
SQL1611W No data was returned by Database System Monitor. SQLSTATE=00000
[db2inst2] $ db2 deactivate db migdb
DB20000I The DEACTIVATE DATABASE command completed successfully.
[db2inst2] $ db2 backup db migdb to /out0/backup
移行DBへの接続がある場合、
force applicationで切断する。
接続アプリケーションが無いこと
を確認する。
オフライン・バックアップを取得
Backup successful. The timestamp for this backup image is : 20060919000842
[db2inst2] $ ls -l /out0/backup/*20060919000842*
-rw-r---- 1 db2inst2 staff
755179520 Sep 19 00:09 /out0/backup/MIGDB.0.db2inst2.NODE0000.CATN0000.20060919000842.001
©日本IBMシステムズ・エンジニアリング(株) Information Management部
128
3-3-2. 移行コマンドの実行例 (続き)
リダイレクトリストアのスクリプトを作成(V9インスタンス)
V9のインスタンスオーナー(db2inst3)
からアクセスできることを確認
[db2inst3]$ ls -l /out0/backup/*20060919000842*
-rw-r---- 1 db2inst2 staff
755179520 Sep 19 00:09 /out0/backup/MIGDB.0.db2inst2.NODE0000.CATN0000.20060919000842.001
[db2inst3]$ db2 restore db migdb from /out0/backup taken at 20060919000842 redirect generate script redirect_restore.clp
DB20000I The RESTORE DATABASE command completed successfully.
[db2inst3]$ ls -l redirect_restore.clp
generate scriptオプション付きで
-rw-r--r- 1 db2inst3 staff
9032 Sep 19 01:08 redirect_restore.clp
restoreコマンドを実行し、リダイレクト・
[db2inst3]$ cat redirect_restore.clp
リストアのスクリプトを作成する。
--*****************************************************************************
--** automatically created redirect restore script
--*****************************************************************************
UPDATE COMMAND OPTIONS USING S ON Z ON MIGDB_NODE0000.out V ON;
SET CLIENT ATTACH_DBPARTITIONNUM 0;
SET CLIENT CONNECT_DBPARTITIONNUM 0;
--*****************************************************************************
--** automatically created redirect restore script
出力されたRESTOREコマンドのスクリ
--*****************************************************************************
プトから、必要な部分を修正する。
RESTORE DATABASE MIGDB
--USER <username>
--USING '<password>'
FROM '/out0/backup'
FROM/TAKEN ATには、スクリプト作
TAKEN AT 20060919000842
成時に与えたキーワードが埋め込まれ
--DBPATH ON '<target-directory>'
る。
<省略>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
129
3-3-2. 移行コマンドの実行例 (続き)
今回の実行例での修正結果
FILE-DMS表スペースのコンテナ・ファイル
名を、db2inst3へ変更。
[db2inst3]$ cat redirect_restore.clp│egrep -v "^-"
UPDATE COMMAND OPTIONS USING S ON Z ON MIGDB_NODE0000.out V ON;
SET CLIENT ATTACH_DBPARTITIONNUM 0;
SET CLIENT CONNECT_DBPARTITIONNUM 0;
RESTORE DATABASE MIGDB
DBディレクトリー、ログパス
FROM '/out0/backup'
をdb2inst3配下に修正
TAKEN AT 20060919000842
DBPATH ON '/home/db2inst3/db2'
INTO MIGDB
NEWLOGPATH '/home/db2inst3/db2/db2inst3/NODE0000/SQL00001/SQLOGDIR/'
REDIRECT
WITHOUT ROLLING FORWARD
;
SET TABLESPACE CONTAINERS FOR 0
USING (
PATH 'SQLT0000.0'
);
SET TABLESPACE CONTAINERS FOR 1
USING (
PATH '/home/db2inst3/db2/tempts/fs1'
, PATH '/home/db2inst3/db2/tempts/fs2'
, PATH '/home/db2inst3/db2/tempts/fs3'
, PATH '/home/db2inst3/db2/tempts/fs4'
);
TEMPSPACE(SMS)のパスを
db2inst3配下に変更
©日本IBMシステムズ・エンジニアリング(株) Information Management部
130
SET TABLESPACE CONTAINERS FOR 2
USING (
PATH 'SQLT0002.0'
);
SET TABLESPACE CONTAINERS FOR 3
USING (
PATH 'SYSTOOLSPACE'
);
SET TABLESPACE CONTAINERS FOR 4
USING (
FILE '/home/db2inst3/db2/tscont/ts1.DAT' 65536
);
SET TABLESPACE CONTAINERS FOR 5
USING (
FILE '/home/db2inst3/db2/tscont/its1.DAT'65536
);
SET TABLESPACE CONTAINERS FOR 6
USING (
DEVICE '/dev/rlvinst3ts2'
65536
);
SET TABLESPACE CONTAINERS FOR 7
USING (
DEVICE '/dev/rlvinst3its2'
65536
);
RESTORE DATABASE MIGDB CONTINUE;
RAW-DMS表スペースのコンテ
ナ・ファイル名を、db2inst3へ変
更。
3-3-2. 移行コマンドの実行例 (続き)
スクリプトを実行することで、RESTOREの
開始から、完了までを一貫して実行する。
リストアの実行
[db2inst3]$ db2 -tvf redirect_restore.clp
UPDATE COMMAND OPTIONS USING S ON Z ON MIGDB_NODE0000.out V ON
DB20000I UPDATE COMMAND OPTIONS コマンドが正常に完了しました。
<省略>
REDIRECTオプションによる
RESTOREの実行
RESTORE DATABASE MIGDB FROM '/out0/backup' TAKEN AT 20060919000842 DBPATH ON '/home/db2inst3/db2'
INTO MIGDB NEWLOGPATH '/home/db2inst3/db2/db2inst3/NODE0000/SQL00001/SQLOGDIR/' REDIRECT
WITHOUT ROLLING FORWARD
SQL1277W リダイレクトされたリストア操作が実行中です。現在、表スペース構成が表示
可能であり、自動ストレージを使用しない表スペースにコンテナーを再構成できます。
DB20000I RESTORE DATABASE コマンドが正常に完了しました。
SET TABLESPACE CONTAINERS FOR 0 USING ( PATH 'SQLT0000.0' )
DB20000I SET TABLESPACE CONTAINERS コマンドが正常に完了しました。
SET TABLESPACE CONTAINERS FOR 1 USING ( PATH '/home/db2inst3/db2/tempts/fs1' , PATH '/home/db2inst3/db2/tem
pts/fs2' , PATH '/home/db2inst3/db2/tempts/fs3' , PATH '/home/db2inst3/db2/tempts/fs4' )
DB20000I SET TABLESPACE CONTAINERS コマンドが正常に完了しました。
<省略>
RESTOREと同時にMIGRATE処理
SET TABLESPACE CONTAINERS FOR 7 USING ( DEVICE '/dev/rlvinst3its2' 65536 )
が実行される。
DB20000I SET TABLESPACE CONTAINERS コマンドが正常に完了しました。
RESTORE DATABASE MIGDB CONTINUE
SQL2517W リストアされたデータベースは現行リリースに移行されました。移行は
sqlcode "0" およびトークン "" を戻しました。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
131
MIGRATE成功時にはSQL2517W
が戻される。
3-3-2. 移行コマンドの実行例 (続き)
リストア成功の確認
[db2inst3]$ db2 list db directory
システム・データベース・ディレクトリー
データベース別名
データベース名
ローカル・データベース・ディレクトリー
データベース・リリース・レベル
コメント
ディレクトリー項目タイプ
<省略>
=
=
=
=
=
=
MIGDB
MIGDB
/home/db2inst3/db2
b.00
MIGDBがV9.5インスタンスにカタ
ログされていることを確認
間接
[db2inst3]$ db2 activate db migdb
DB20000I ACTIVATE DATABASE コマンドが正常に完了しました。
[db2inst3]$ db2 connect to migdb
データベース接続情報
データベース・サーバー
SQL 許可 ID
ローカル・データベース別名
= DB2/AIX64 9.5.0
= DB2INST3
= MIGDB
[db2inst3]$ db2 "select count(*) from syscat.dbauth"
1
---------3
1 レコードが選択されました。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
132
DBへの接続及び、シンプルな照会
に成功
3-3-2. 移行コマンドの実行例 (続き)
リストア時の異常とその対応
MIGRATE処理が行われない
リストアは完了したが、MIGRATE処理が行われなかった場合、SQL2519Nが戻されます。
下記は、コードページの違い(Ja_JPとC等)によりデータベースへの接続ができなかった
例です。(SQL1006)
エラーの原因を取り除いて、手動でMIGRATEコマンドを実行してください。
RESTORE DATABASE MIGDB CONTINUE
SQL2519N The database was restored but the restored database was not migrated
to the current release. Error "1006" with tokens " 3
" is returned.
既に使用済みのコンテナを指定した場合
ほかのデータベースが既に使用しているコンテナに対してリストアを行おうとした場合、
SQL0294N(同じDB内の衝突の場合は、SQL0299N)が戻されます。
誤った指定であった場合はコンテナの指定を修正して、中断したステートメントから処理を
再開してください。
SET TABLESPACE CONTAINERS FOR 6 USING ( DEVICE '/dev/rlvinst3ts2'
SQL0294N コンテナーはすでに使用中です。 SQLSTATE=42730
65536 )
SET TABLESPACE CONTAINERS FOR 4 USING ( FILE '/home/db2inst3/db2/tscont/ts1.DAT' 65536 )
SQL0299N コンテナーは、すでに表スペースに割り当てられています。
SQLSTATE=42731
©日本IBMシステムズ・エンジニアリング(株) Information Management部
133
3-3-2. 移行コマンドの実行例 (続き)
リストア時の異常とその対応(続き)
既に使用済みのコンテナを指定した場合(続き)
他のデータベースから使用したコンテナを、別のデータベースから再利用する場合、
–
–
–
SMSの場合、指定するディレクトリからDBファイルを削除してください。
FILE-DMSの場合、指定するコンテナファイルをOSコマンドで削除してください。
RAW-DMSの場合、db2untagコマンドを利用してコンテナ・タグをキャラクタデバイスから削除する。
のいずれかを行ってください。
重要
いずれの場合も、そのコンテナを元々使用していたデータベースからは、テーブルスペー
スへのアクセスが不可能になり、格納されていたデータは失われます。
既存のコンテナを指定するのは、元々そのコンテナを使用していたデータベースを削除し
た後となるよう、留意してください。
db2untagコマンドの使用方法
$ db2untag -f /dev/rlvinst3ts2
<省略>
WARNING: This tool should only be used by informed sysadmins.
version = 213
db seed = 96338921
poolID = 6
contID = 0
created = 0
used
= 0
poolLSN = 0000 0102 EAAE
CSum
= 2B87964D
<省略>
Container tag has been removed successfully.
©日本IBMシステムズ・エンジニアリング(株) Information Management部
134
3-3-2. 移行コマンドの実行例 (続き)
リストア時の異常とその対応(続き)
エラーで中断したスクリプトを、途中から再開したい。
リダイレクト・リストアのスクリプトは、コマンドにエラーが発生した場合、その時点で処理を
中断する設定となっています。
(スクリプト1行目の「UPDATE COMMAND OPTIONS USING S ON」)
中断したスクリプトを再度開始するためには、下記のようにしてください。
RESTOREを開始したセッションが、まだ残っている場合。
– 3行目の「SET CLIENT CONNECT_DBPARTITIONNUM」ステートメント及び、
– 4行目以降の「RESTORE DB xxxxx REDIRECT」ステートメント
をコメントアウトして、「SET TABLESPACE CONTAINERS」ステートメントから再実行してく
ださい。同じテーブルスペースに対して「SET TABLESPACE CONTAINERS」ステートメント
を複数回実行することは、特に問題ありません。
コメントアウトする部分
コメントアウト対象
UPDATE COMMAND OPTIONS USING S ON Z ON MIGDB_NODE0000.out V ON;
SET CLIENT ATTACH_DBPARTITIONNUM 0;
--SET CLIENT CONNECT_DBPARTITIONNUM 0;
--RESTORE DATABASE MIGDB
--FROM '/out0/backup'
--TAKEN AT 20060919000842
--DBPATH ON '/home/db2inst3/db2'
--INTO MIGDB
--NEWLOGPATH '/home/db2inst3/db2/actlog'
--REDIRECT
--WITHOUT ROLLING FORWARD
--;
©日本IBMシステムズ・エンジニアリング(株) Information Management部
135
3-3-2. 移行コマンドの実行例 (続き)
リストア時の異常とその対応(続き)
エラーで中断したスクリプトを、途中から再開したい。(続き)
RESTOREを開始したセッションが、終了している場合。
RESTOREを開始したセッションが残っていない場合は、エラーが発生した部分を修正して
再度スクリプトを実行してください。
再実行する際に特別な作業は特に必要ありません。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
136
3-3-2. 移行コマンドの実行例 (続き)
リストア時の異常とその対応(続き)
一度開始したRESTOREセッションを終了したい。
terminateコマンドを繰り返し実行してセッションを終了させてください。
セッション終了後に、リストア途中のデータベースを削除することも可能です。
リストアが途中まで進行していた場合、テーブルスペースコンテナにタグ情報が残る場合
があります。この場合は、前述の方法を参照して削除してください。
RESTOREセッションの終了方法
$ db2 terminate
SQL1350N アプリケーションが、この要求を処理するための正しい状態ではありません。
理由コード = "3"。
$ db2 terminate
DB20000I TERMINATE コマンドが正常に完了しました。
一度、terminateコマンドがエラーを
$ db2 drop db migdb
返すので、再度terminateコマンドを
DB20000I DROP DATABASE コマンドが正常に完了しました。
実行する。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
137
3-3-3. データ移動ユーティリティによる移行
同一インスタンスで移行
Backup/Restore使用
Export/LOADを使用
(ケース1)
(ケース2/3)
(ケース2/3)
2-2章 移行シナリオの決定
3-1章 DB2 9.5のインストール
3-2-1章 移行前タスクの実施
3-3-1章 インスタン
スの移行(db2imigr)
3-3-2章 インスタン
スの作成(db2icrt)
3-3-3章 インスタン
スの作成(db2icrt)
3-3-3章 データベー
ス作成(create db)
3-3-3章 オブジェクト
作成
3-3-1章 データベース
の移行(migrate db)
3-3-2章 DBバックアッ
プ取得(backup db)
3-3-3章 移行データの
抽出(EXPORTコマンド)
3-3-2章 DBのリストア
(restore db)
3-3-3章 移行データの
投入(LOADコマンド)
移行後タスクの実施
©日本IBMシステムズ・エンジニアリング(株) Information Management部
138
3-3-3. データ移動ユーティリティによる移行
この節では、データ移動ユーティリティを使用して、同一サーバ上
もしくは新規サーバ上の、新しいインスタンスへ移行する際の作業
の流れを説明します。
この移行シナリオの特徴
V8の既存インスタンスは保存し、新規のインスタンスへ移行する。
データ移動ユーティリティを使用して、データの移行を行う。
移行元となるDB2のバージョンに依存せず移行可能。
DBサーバ(現行)
DBサーバ(同一もしくは新規)
V9.5インスタンス(新規)
移行前インスタンス
db2look
CREATE
DDL
MIGDB
EXPORT
UserExit、外部モジュール等
移行データ
©日本IBMシステムズ・エンジニアリング(株) Information Management部
139
新規DB
LOAD
3-3-3. データ移動ユーティリティによる移行
共通の移行前タスクの実施
* 「共通の移行タスク」については、3-2-1章を参照してください。
新規インスタンス/DBの作成
移行オブジェクトの作成
移行データの抽出と投入
移行後タスクの実施
* 「移行後のタスク」については、3-2-2章を参照してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
140
3-3-3. データ移動ユーティリティによる移行
共通の移行前タスクの実施
* 「共通の移行タスク」については、3-2-1章を参照してください。
新規インスタンス/DBの作成
移行オブジェクトの作成
移行データの抽出と投入
移行後タスクの実施
* 「移行後のタスク」については、3-2-2章を参照してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
141
3-3-3. 新規インスタンス/DBの作成
新規インスタンスの作成
新規インスタンスの作成については、「3-3-2. 新規インスタンスの作成」を参照してください。
新規データベースの作成
移行データを格納するためのデータベースを新規に作成してください。
下記の項目については、データベース作成時点で決定しておく必要があります。デフォルトの
設定から変更する必要がある場合はデータベースの作成コマンドで指定してください。
データベースのCodeset、Teritorry、Collate
データベース・ディレクトリー
システムカタログ表スペース
システム一次表スペース(手動にて作り直しが可能)
アクティブログディレクトリ(DB構成パラメーターより変更可能)
自動ストレージを使用するかどうか(バージョン9, 9.5では、デフォルトでON)
–
–
–
自動ストレージを使用する場合、システムカタログ表スペースはDMSで作成されます。
自動ストレージを使用しない場合は、これまでと同様SMSで作成されます。
自動ストレージ使用の有無は、データベース作成のタイミングで決定する必要があり、データベース作成後に切
り替えることはできません。
実行コマンド
db2 create database <DB名> <DB作成オプションを指定>
DB作成オプションについては多岐にわたるため、DB2 Information Centerを参照してください。
–
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.admin.cmd.doc/doc/r0001941.ht
ml
©日本IBMシステムズ・エンジニアリング(株) Information Management部
142
3-3-3. 新規インスタンス/DBの作成(続き)
レジストリー変数、構成パラメータの移行
DB2の観点から移行すべきパラメータとしては、下記の3種類が存在します。
レジストリー変数
データベース・マネージャー構成パラメーター
データベース構成パラメーター
レジストリー変数及び、データベース・マネージャー構成パラメーターについては、「3-3-2 新規インスタンス
の作成」を参照してください。
データベース構成パラメーターの移行
データ移動ユーティリティを使用して移行した場合、データベース構成パラメーターは移行されません。
移行先サーバのシステム構成にあわせてメモリー関連パラメータの設計見直し等を行った上で、必要な項目
の移行を行ってください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
143
3-3-3. データ移動ユーティリティによる移行
共通の移行前タスクの実施
* 「共通の移行タスク」については、3-2-1章を参照してください。
新規インスタンス/DBの作成
移行オブジェクトの作成
移行データの抽出と投入
移行後タスクの実施
* 「移行後のタスク」については、3-2-2章を参照してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
144
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
145
3-3-3. 移行オブジェクトの作成
移行すべきオブジェクトの特定とDDLの取得について
データ移動ユーティリティによって移行を行う場合、データベース内に存在するオブジェ
クトの移行は手動で行う必要があります。
移行の対象となるオブジェクトのDDLは、db2lookコマンドで取得可能です。
db2lookでDDLを取得可能なオブジェクトは、DB2のバージョンによって異なります。詳細は次ページの
解説を参照してください。
db2lookでDDLを取得できないオブジェクトは、システムカタログ表等を参照して手動でDDLを作成する
必要があります。
実行コマンド例
DBオブジェクトのDDLを取得する
– > db2look -d migdb -a -e
-td % -o db2look.e.log
表スペース、バッファープール、データベース・パーティション・グループ作成用のDDLを取得
– > db2look -d migdb -l
-o db2look.l.log
GRANTステートメント等権限関連のステートメントを取得
– > db2look -d migdb -a -xd
-o db2look.xd.log
実行コマンドの注意点
データベース・オブジェクトを取得するdb2lookのステートメントでは、トリガーやルーティンに「;(セミコロ
ン)」が含まれる場合があるため、ここでは「%」をセパレータとして使用しています。「%」をセパレータと
して取得したDDLは、下記のように実行します。
– > db2 –td% -vf db2look.e.log
– セパレータとしては、移行する環境のDDLに含まれない文字を選定してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
146
db2lookでDDLを取得可能かどうか
○ :取得可能
× :取得不可能(手動作成要)
− :該当バージョンに存在しない
解説:オブジェクトの取得方法一覧
オブジェクト種別
取得コマンド
DB2バージョン
備考
V9.5
V9
V8.2
V8.1
V7
V6
データベース
なし
×
×
×
×
×
×
表
db2look -e
○
○
○
○
○
○
ビュー
db2look -e
○
○
○
○
○
○
マテリアライズ照会表 (MQT) or AST
db2look -e
○
○
○
○
○
○
別名
db2look -e
○
○
○
○
○
○
索引
db2look -e
○
○
○
○
○
○
トリガー
db2look -e
○
○
○
○
○
×
シーケンス
db2look -e
○
○
○
○
○
-
ユーザー定義特殊タイプ
db2look -e
○
○
○
○
○
○
主キー、参照保全、およびチェック制約
db2look -e
○
○
○
○
○
○
ユーザー定義構造化タイプ
db2look -e
○
○
○
○
○
×
ユーザー定義関数
db2look -e
○
○
○
○
○
×
ユーザー定義メソッド
db2look -e
○
○
○
○
○
-
ユーザー定義トランスフォーム
db2look -e
○
○
○
○
○
-
ラッパー
db2look -e
○
○
○
○
×
×
サーバー
db2look -e
○
○
○
○
×
×
AUTHORIZATION/PASSWORDは修正する必要あり
ユーザー・マッピング
db2look -e
○
○
○
○
×
×
PASSWORDは修正する必要あり
ニックネーム
db2look -e
○
○
○
○
×
×
タイプ・マッピング
db2look -e
○
○
○
○
×
×
関数テンプレート
db2look -e
○
○
○
○
×
×
関数マッピング
db2look -e
○
○
○
○
×
×
索引の指定
db2look -e
○
○
○
○
×
×
ストアード・プロシージャー
db2look -e
○
○
○
×
×
×
権限設定ステートメント
db2look -xd
○
○
○
○
×
×
表スペース
db2look -l
○
○
○
○
○
○
バッファープール
db2look -l
○
○
○
○
○
○
データベースパーティション・グループ
db2look -l
○
○
○
○
○
○
×
×147
×
×
×
×
なし
イベントモニター
©日本IBMシステムズ・エンジニアリング(株)
Information Management部
CREATE DBステートメントを手動で作成
外部モジュールは別途移動が必要
CREATE EVENT MONITORステートメントを手動作成
3-3-3. 移行オブジェクトの作成
オブジェクト移行についての考慮点
シーケンスオブジェクトの値を保持したい場合、START WITHキーワードで指定してください。
UDFが外部ルーチンである場合、バイナリファイル(外部モジュール)の移行が必要です。CREATE
FUNCTIONステートメントの実行時には、EXTERNALオプションで指定した外部モジュールが存在し
なくてもUDFの作成自体は可能ですが、UDFが実行される時点では、UDFが参照する外部モジュー
ルが存在しなければなりません。
サーバー、ユーザーマッピング作成の際に必要なAUTHORIZATION/PASSWORDはdb2lookで作成
されるDDLに含まれません。手動で修正する必要があります。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
148
3-3-3. 移行オブジェクトの作成
移行先環境でのオブジェクト作成
移行先環境でのオブジェクト作成は、下記の手順で実施します。
各種DBリソース用のファイルシステム、RAW-DMSコンテナ用のドライブ、LV等を作成する。
インスタンス、データベースを作成する
テーブルスペース、バッファープールを作成する。(db2look –lの出力)
テーブル、ビュー等のデータベースオブジェクトを生成する。(db2look –eの出力)
権限設定ステートメントを実行する。(db2look –xdの出力)
コマンドの実行
db2 –tvf <DDL格納ファイル>
オブジェクト作成時の考慮点
物理構成の変更に対応
–
移行元環境で実行した「db2look –l」コマンドの出力は、移行後の環境の物理構成とは異なる可能性が
あります。テーブルスペースのコンテナ情報や、バッファープールサイズについては、移行先の環境に
合わせて見直しを行ってください。
db2lookの出力に含まれるスキーマ設定は、必要に応じて変更してください。
–
–
–
–
データベースオブジェクトを作成する際、スキーマを明示的に宣言しなかった場合、インスタンスオー
ナーのユーザーIDが暗黙的に使用されます。
db2lookコマンドから出力されるCREATEステートメントには、暗黙的に設定されたスキーマ(ユーザー
ID)が明示的に付加されます。
スキーマが指定されていない場合の、暗黙的なユーザーIDの付加は、アプリケーションからのSQLアク
セスの場合も同様です。
そのため、移行先環境でユーザーIDが変更された場合、アプリケーションから発行されるSQLに対して
暗黙的に付加されるスキーマと、db2lookの出力で明示的に付加されたスキーマが不一致を起こす可
能性があります。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
149
3-3-3. データ移動ユーティリティによる移行
共通の移行前タスクの実施
* 「共通の移行タスク」については、3-2-1章を参照してください。
新規インスタンス/DBの作成
移行オブジェクトの作成
移行データの抽出と投入
移行後タスクの実施
* 「移行後のタスク」については、3-2-2章を参照してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
150
3-3-3. 移行データの抽出と投入
EXPORTによる移行データの抽出
移行元環境からのデータ抽出にはEXPORTを使用します。
db2lookにより出力されたテーブルのCREATEステートメントを参照し、データ
抽出の漏れが発生しないよう注意してください。
テーブルから全件を抽出する場合のコマンドの実行
>db2 export to <EXPORT先> OF <EXPORT形式> select * from <TABLE名称>
EXPORT形式にはDEL(文字区切り)、IXFが使用可能です。
IXF形式を利用した場合、IMPORT中にテーブルの作成が可能ですが、当ガイドでは
LOADを使用することを前提としているため、データの可読性の観点からDEL形式での
EXPORTを紹介します。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
151
3-3-3. 移行データの抽出と投入(続き)
EXPORTによる移行データの抽出(続き)
ラージオブジェクト(LOB)の抽出について
移行前のデータベースに保持されているオブジェクトとしてLOBが存在する場合、
EXPORTの際に考慮点があります。
LOBのExport方法
– LOBを含む表の抽出を行う際は、EXPORTコマンドを下記のように指定してください。
– >db2 export to <EXPORT先> OF <EXPORT形式>
LOBS TO <LOB出力先ディレクトリ> LOBFILE <LOBファイル名>
modified by lobsinfile
select * from <TABLE名称>
>>-EXPORT TO--filename--OF--filetype------------------------->
>--+----------------------+-+---------------------+-------->
│
.-,-------. │ │
.-,--------. │
│
V
││ │
V
││
'-LOBS TO----lob-path-+-' '-LOBFILE---filename-+-'
>--+-----------------------------+------------------------->
│
.-------------. │
│
V
││
'-MODIFIED BY---filetype-mod-+-'
©日本IBMシステムズ・エンジニアリング(株) Information Management部
152
3-3-3. 移行データの抽出と投入(続き)
EXPORTによる移行データの抽出(続き)
ラージオブジェクト(LOB)の抽出について(続き)
「LOB出力先ディレクトリ」及び、「LOBファイル名」は複数指定可能です。
–
–
–
–
DB2 V8のEXPORTコマンドに与えたLOBファイル名一つに付き、「<LOBファイル名>.nnn」の形
式で000∼999まで999個のファイルが作成可能です。EXPORTコマンドに与えることができる
LOBファイル名の上限は999であるため、1回のEXPORTコマンドで出力可能なLOBファイルの
数は、約100万個(999 x 999)です。
DB2 V7のFP7以降では複数のLOBオブジェクトが一つのLOBファイル中に含まれるため、上
記の制約は大きくありませんが、FP6以前のバージョンでは一つのLOBオブジェクトに付き一
つのLOBファイルが生成されます。一括してEXPORT可能なLOBオブジェクト数の上限に注意
してください。
ただし、V7のFP7およびFP8では、出力先のLOBファイル・サイズが2GBを超えた時点でエラー
を出力して停止するという障害があります。そのため、下記のような回避策を行う必要があり
ます。
LOBファイル出力先のパスを複数指定し、各パスのファイルシステムのサイズを2GB
より小さくすることで、この障害の発生条件を回避する。(パスが一杯になった時点で
次の出力パスへ切り替えるため、2GBに達しない)。
V7のFP9以降を適用してからデータ抽出を行う。
レジストリー変数DB2_LOAD_OLD_LOBFILESをONに設定して、FP6までと同様の動き
に変更する。
詳細については、「DB2 V8.1 運用管理ガイド データ移動ユーティリティ」のEXPORTコマンドの
部分を参照してください。
http://www.ibm.com/jp/domino01/mkt/dminfo.nsf/doc/001DC824
©日本IBMシステムズ・エンジニアリング(株) Information Management部
153
3-3-3. 移行データの抽出と投入(続き)
LOADによる移行データの投入
一般的に、LOADによるデータ投入はIMPORTと比較して大幅に高速であるた
め、当ガイドではLOADによるデータ投入を前提として記述します。
コマンドの実行
load from <LOADファイル名> of <ファイル形式> replace into <テーブル名>;
初期移行を想定しているため、LOADの動作モードは「REPLACE」としています。
ラージオブジェクト(LOB)の投入について
ラージオブジェクトを含むテーブルにLOADを行う場合、下記のようなオプションを追加して
ください。
load from <LOADファイル名> of <ファイル形式>
LOBS FROM <LOBファイル格納ディレクトリ> modified by lobsinfile
replace into <テーブル名>;
©日本IBMシステムズ・エンジニアリング(株) Information Management部
154
3-3-3. 移行データの抽出と投入(続き)
IMPORTコマンドによる表の作成を行う場合の考慮点
IXF形式のファイル・フォーマットを使用してIMPORTする場合、「CREATE」もしくは
「CREATE_REPLACE」オプションを使用して表の作成を一括して行うことが可能で
す。
ただし、下記のような制約事項があるため、IMPORTコマンドによる表の作成を行
う際には注意してください。
EXPORT時に列を指定することはできない。(「SELECT *」によるEXPORTのみ可能)
ビュー、トリガー、エイリアス、表に関連するシーケンス・オブジェクト等は作成されない。
格納されていた表スペース、MDCの次元列、分散キーなど物理編成に関連する項目は引き
継がれない。
参照制約、チェック制約、LOBオプション、生成列オプション等は保存されない。
下記のマニュアルに、保存される属性と保存されない属性について詳細な記載がありますの
で、参照してください。
– DB2 Information Center インポート表の再作成
–
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.admin.dm.doc/doc/c0004580.
html
その他IMPORTの考慮点
IMPORTコマンドはSQLによるデータ投入を行うため、表にトリガーが作成されている場合、
投入される行ごとにトリガーが起動されます。
– トリガーの起動がデータの整合性に問題となったり、IMPORT性能の劣化につながる可能性
があるため、データ投入後にトリガーを作成するか、LOADによるデータ投入をお勧めします。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
155
3-3-3. 移行コマンドの実行例
想定する環境
DBサーバ
:AIX
V7インスタンス名
:tukiv7
V9インスタンス名 (新規作成)
:db2inst4
データベース名
:SAMPLE
DB2 V7の導入パス
:/usr/lpp/db2_07_01/
DB2 V9.5の導入パス
:/opt/IBM/db2/V9.5
DB2のエディション
:V7はEE、V9.5はESE
(*) DB2 9.5は、3-1の手順に従って導入済みとします。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
156
3-3-3. 移行コマンドの実行例(続き)
移行前環境での作業
db2lookでオブジェクトの構成情報
を取得する。
[tukiv7 /home/tukiv7]$ db2look -d sample -l o db2look.l.log
% ユーザー ID が指定されていません。db2look は環境変数 USER の使用を試行します
% USER は次の通りです: TUKIV7
[tukiv7 /home/tukiv7]$ db2look -d sample -a e -td % -o db2look.e.log
% すべての作成者に統計を生成する
% 表の DDL の作成
% 出力がファイルに送信されます: db2look.e.log
[tukiv7 /home/tukiv7]$ ls l db2look*
-rw-r--r- 1 tukiv7 sys
6579 Sep 29 11:48 db2look.e.log
-rw-r--r- 1 tukiv7 sys
1039 Sep 29 11:47 db2look.l.log
[tukiv7 /home/tukiv7]$ head -30 db2look.l.log
CONNECT TO SAMPLE;
移行前環境の構成情報が出力され
るため、移行後の環境に合わせて
修正が必要。
--------------------------------TABLESPACES の DDL ステートメント --------------------------------
CREATE REGULAR TABLESPACE TS1 IN NODEGROUP IBMDEFAULTGROUP PAGESIZE 4096 MANAGED BY DATABASE
USING (FILE '/home/tukiv7/work/tscont/ts1.dat'76800)
EXTENTSIZE 32
PREFETCHSIZE 32
BUFFERPOOL IBMDEFAULTBP
OVERHEAD 24.100000
TRANSFERRATE 0.900000;
<省略>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
157
3-3-3. 移行コマンドの実行例(続き)
移行前環境での作業
db2lookの出力から、EXPORT処
理用のステートメントを作成
[tukiv7 /home/tukiv7/work]$ cat export.clp
connect to sample;
export to ./export/BLOB1.del
of del LOBS TO ./export/BLOB1.lobs/
LOBFILE blob11 ,blob12 modified by lobsinfile
select * from TUKIV7.BLOB1;
export to ./export/CL_SCHED.del of del select * from TUKIV7.CL_SCHED;
export to ./export/DEPARTMENT.del of del select * from TUKIV7.DEPARTMENT;
export to ./export/EMP_ACT.del
of del select * from TUKIV7.EMP_ACT;
export to ./export/EMP_PHOTO.del of del LOBS TO ./export/EMP_PHOTO.lobs/
LOBFILE emp_photo.1 ,emp_photo.2 modified by lobsinfile
select * from TUKIV7.EMP_PHOTO;
export to ./export/EMP_RESUME.del of del LOBS TO ./export/EMP_RESUME.lobs/
LOBFILE emp_resume.1 ,emp_resume.2 modified by lobsinfile
select * from TUKIV7.EMP_RESUME;
export to ./export/EMPLOYEE.del of del select * from TUKIV7.EMPLOYEE;
export to ./export/IN_TRAY.del
of del select * from TUKIV7.IN_TRAY;
export to ./export/ORG.del
of del select * from TUKIV7.ORG;
export to ./export/PROJECT.del
of del select * from TUKIV7.PROJECT;
export to ./export/SALES.del
of del select * from TUKIV7.SALES;
export to ./export/STAFF.del
of del select * from TUKIV7.STAFF;
export to ./export/STAFFG.del
of del select * from TUKIV7.STAFFG;
export to ./export/T1.del
of del select * from TUKIV7.T1;
export to ./export/T2.del
of del select * from TUKIV7.T2;
©日本IBMシステムズ・エンジニアリング(株) Information Management部
158
ラージオブジェクト(LOB)を含む
テーブルには、LOB TO、LOBFILE、
modefied by lobsinfileの三つの
キーワードを追加。
3-3-3. 移行コマンドの実行例(続き)
移行前環境での作業
EXPORTステートメントを実行
[tukiv7 /home/tukiv7/work]$ db2 tvf export.clp
connect to sample
データベース接続情報
データベース・サーバー
= DB2/6000 7.2.9
SQL 権限 ID
= TUKIV7
ローカル・データベース別名 = SAMPLE
export to ./export/BLOB1.del
of del LOBS TO ./export/BLOB1.lobs/ LOBFILE blob11 ,blob12 modified by lobsin
file select * from TUKIV7.BLOB1
SQL3104N エクスポート・ユーティリティーが、ファイル "./export/BLOB1.del" への
データのエクスポートを開始しています。
「エクスポートされた行数」を、テー
ブルのSELECT COUNT(*)の結果
と比較する。
SQL3105N エクスポート・ユーティリティーが、"1998"
行のエクスポートを終了しました。
エクスポートされた行数:
1998
export to ./export/CL_SCHED.del of del select * from TUKIV7.CL_SCHED
SQL3104N エクスポート・ユーティリティーが、ファイル "./export/CL_SCHED.del"
への データのエクスポートを開始しています。
SQL3105N エクスポート・ユーティリティーが、"0"
行のエクスポートを終了しました。
エクスポートされた行数: 0
<省略>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
159
3-3-3. 移行コマンドの実行例(続き)
移行前環境での作業
[tukiv7 /home/tukiv7/work]$ ls -l export
合計 90008
-rw-r--r- 1 tukiv7 staff
58657 Sep 29
drwxr-xrx
2 tukiv7 staff
256 Sep 29
-rw-r--r- 1 tukiv7 staff
0 Sep 29
-rw-r--r- 1 tukiv7 staff
374 Sep 29
-rw-r--r- 1 tukiv7 staff
3729 Sep 29
-rw-r--r- 1 tukiv7 staff
3547 Sep 29
-rw-r--r- 1 tukiv7 staff
569 Sep 29
drwxr-xrx
2 tukiv7 staff
256 Sep 29
-rw-r--r- 1 tukiv7 staff
378 Sep 29
drwxr-xrx
2 tukiv7 staff
256 Sep 29
<省略>
-rw-r--r- 1 tukiv7 staff
27070881 Sep 29
-rw-r--r- 1 tukiv7 staff
18900663 Sep 29
[tukiv7 /home/tukiv7/work]$ ls -l export/*.lobs
export/BLOB1.lobs:
合計 2000
-rw-r--r- 1 tukiv7 staff
1022976 Sep 29
export/EMP_PHOTO.lobs:
合計 1272
-rw-r--r- 1 tukiv7
staff
export/EMP_RESUME.lobs:
合計 24
-rw-r---- 1 tukiv7 staff
EXPORTディレクトリを確認
12:16
10:59
12:16
12:16
12:16
12:16
12:16
11:08
12:16
12:16
BLOB1.del
BLOB1.lobs
CL_SCHED.del
DEPARTMENT.del
EMPLOYEE.del
EMP_ACT.del
EMP_PHOTO.del
EMP_PHOTO.lobs
EMP_RESUME.del
EMP_RESUME.lobs
12:16 T1.del
12:16 T2.del
12:16 blob11.001
647939 Sep 29 12:16 emp_photo.1.001
12061 Sep 29 12:16 emp_resume.1.001
©日本IBMシステムズ・エンジニアリング(株) Information Management部
ラージオブジェクトは、サブディレク
トリに格納
160
今回のテストでは、テーブル中の全
ラージオブジェクトが1ファイルに格
納された。
3-3-3. 移行コマンドの実行例(続き)
移行前環境での作業
[tukiv7 /home/tukiv7/work]$ chmod
[tukiv7 /home/tukiv7/work]$ ls -l
合計 90000
-rw-r--r- 1 tukiv7 staff
drwxr-xrx
2 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
drwxr-xrx
2 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
drwxr-xrx
2 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
-rw-r--r- 1 tukiv7 staff
移行先インスタンスから出力ファイ
ルを参照できるよう、READ権限を
追加。
-R o+r export/*
export
58657
256
0
374
3729
3547
569
256
378
256
0
326
1541
1308
1516
2032
27070881
18900663
Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep
©日本IBMシステムズ・エンジニアリング(株) Information Management部
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
12:16
10:59
12:16
12:16
12:16
12:16
12:16
11:08
12:16
12:16
12:16
12:16
12:16
12:16
12:16
12:16
12:16
12:16
BLOB1.del
BLOB1.lobs
CL_SCHED.del
DEPARTMENT.del
EMPLOYEE.del
EMP_ACT.del
EMP_PHOTO.del
EMP_PHOTO.lobs
EMP_RESUME.del
EMP_RESUME.lobs
IN_TRAY.del
ORG.del
PROJECT.del
SALES.del
STAFF.del
STAFFG.del
T1.del
T2.del
161
3-3-3. 移行コマンドの実行例(続き)
移行先環境での作業(インスタンス、データベースの作成)
# cd /opt/IBM/db2/V9.5/instance
# ls -l db2icrt
-r-xr--r- 1 root
system
# ./db2icrt -u db2inst4 db2inst4
DBI1070I プログラム db2icrt
は正常に完了しました。
rootユーザーからdb2icrtコマンド
を実行し、インスタンスを作成
8191 Jul 13 14:15 db2icrt
# su -db2inst4
[db2inst4 /home/db2inst4]$ db2level
DB21085I インスタンス "db2inst4" は、"64" ビットおよび DB2 コード・リリース
"SQL09050" をレベル ID "03010107" で使用します。
情報トークンは、"DB2 v9.5.0.0"、"s070917"、"AIX6495"、およびフィックスパック "0"
です。
製品は "/opt/IBM/db2/V9.5" にインストールされます。
[db2inst4 /home/db2inst4]$ db2start
2006-09-29 11:46:03
0 0
SQL1063N DB2START の処理が正常に終了しました。
SQL1063N DB2START の処理が正常に終了しました。
[db2inst4 /home/db2inst4]$ cat create.db.clp
!mkdir /home/db2inst4/work/dbpath;
create db sample on /home/db2inst4/work/dbpath;
[db2inst4 /home/db2inst4]$ db2 -tvf create.db.clp
!mkdir /home/db2inst4/work/dbpath
create db sample on /home/db2inst4/work/dbpath
DB20000I CREATE DATABASE コマンドが正常に完了しました。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
162
データベースを作成
3-3-3. 移行コマンドの実行例(続き)
移行先環境での作業(バッファープール、テーブルスペースの作成)
[db2inst4 /home/db2inst4]$ cd work
[db2inst4 /home/db2inst4/work]$ cat db2look.l.log
<省略>
CREATE REGULAR TABLESPACE TS1 IN NODEGROUP IBMDEFAULTGROUP PAGESIZE 4096 MANAGED BY DATABASE
USING (FILE '/home/db2inst4/work/tscont/ts1.dat'76800)
EXTENTSIZE 32
移行前環境で取得したテーブルス
PREFETCHSIZE 32
ペースDDLを元に、移行先環境に
BUFFERPOOL IBMDEFAULTBP
合わせて修正
OVERHEAD 24.100000
TRANSFERRATE 0.900000;
<省略>
[db2inst4 /home/db2inst4/work]$ db2 -tvf db2look.l.log
<省略>
CREATE REGULAR TABLESPACE TS1 IN NODEGROUP IBMDEFAULTGROUP PAGESIZE 4096 MANAGED BY DATABASE USING (FILE '/home
/db2inst4/work/tscont/ts1.dat'76800) EXTENTSIZE 32 PREFETCHSIZE 32 BUFFERPOOL IBMDEFAULTBP OVERHEAD 24.100000 T
RANSFERRATE 0.900000
DB20000I SQL コマンドが正常に完了しました。
<省略>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
163
3-3-3. 移行コマンドの実行例(続き)
移行先環境での作業(オブジェクト作成DDLの確認)
[db2inst4 /home/db2inst4/work]$ cat db2look.e.log
<省略>
--別名の DDL ステートメント
CREATE ALIAS "DB2INST4
セパレータとして「%」を使用
"."ALIAST1" FOR "DB2INST4 "."T1"%
------------------------------シーケンスの DDL ステートメント
----------------------------CREATE SEQUENCE "DB2INST4 "."SEQ1" AS INTEGER
MINVALUE 10000 MAXVALUE 2147483647
START WITH 10000 INCREMENT BY 1
CACHE 20 NO CYCLE NO ORDER%
移行先のインスタンス名にあわせて
スキーマ名を変更
「tukiv7 => db2inst4」
------------------------------------------表の DDL ステートメント "DB2INST4 "."ORG"
----------------------------------------CREATE TABLE "DB2INST4 "."ORG" (
"DEPTNUMB" SMALLINT NOT NULL ,
"DEPTNAME" VARCHAR(14) ,
"MANAGER" SMALLINT ,
"DIVISION" VARCHAR(10) ,
"LOCATION" VARCHAR(13) )
IN "USERSPACE1" %
<省略>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
164
3-3-3. 移行コマンドの実行例(続き)
移行先環境での作業(オブジェクトの作成)
[db2inst4 /home/db2inst4/work]$ db2 -td% -vf db2look.e.log
<省略>
「%」をセパレータとして解釈するよ
うに、「d%」オプションを追加
CREATE ALIAS "DB2INST4 "."ALIAST1" FOR "DB2INST4 "."T1"
SQL0403W 新しく定義された別名 "DB2INST4.ALIAST1"
は、現在、未定義のオブジェクト "DB2INST4.T1" によって解決されています。
SQLSTATE=01522
CREATE SEQUENCE "DB2INST4 "."SEQ1" AS INTEGER MINVALUE 10000 MAXVALUE 2147483647 START WITH 10000 INCREMENT BY
1 CACHE 20 NO CYCLE NO ORDER
DB20000I SQL コマンドが正常に完了しました。
CREATE TABLE "DB2INST4 "."ORG" ( "DEPTNUMB" SMALLINT NOT NULL , "DEPTNAME" VARCHAR(14) , "MANAGER" SMALLINT ,
"DIVISION" VARCHAR(10) , "LOCATION" VARCHAR(13) ) IN "USERSPACE1"
DB20000I SQL コマンドが正常に完了しました。
CREATE TABLE "DB2INST4 "."STAFF" ( "ID" SMALLINT NOT NULL , "NAME" VARCHAR(9) , "DEPT" SMALLINT , "JOB" CHAR(
5) , "YEARS" SMALLINT , "SALARY" DECIMAL(7,2) , "COMM" DECIMAL(7,2) ) IN "USERSPACE1"
DB20000I SQL コマンドが正常に完了しました。
CREATE TABLE "DB2INST4 "."STAFFG" ( "ID" SMALLINT NOT NULL , "NAME" VARGRAPHIC(9) , "DEPT" SMALLINT , "JOB" G
RAPHIC(5) , "YEARS" SMALLINT , "SALARY" DECIMAL(9,0) , "COMM" DECIMAL(9,0) ) IN "USERSPACE1"
DB20000I SQL コマンドが正常に完了しました。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
165
3-3-3. 移行コマンドの実行例(続き)
移行先環境での作業(オブジェクトの作成を確認)
[db2inst4 /home/db2inst4/work]$ db2 list tables
Table/View
Schema
Type Creation time
----------------------------------------------------------------ALIAST1
DB2INST4
A
2006-09-29-11.54.18.375184
BLOB1
DB2INST4
T
2006-09-29-11.54.31.434692
CL_SCHED
DB2INST4
T
2006-09-29-11.54.28.633776
DEPARTMENT
DB2INST4
T
2006-09-29-11.54.21.278742
EMP_ACT
DB2INST4
T
2006-09-29-11.54.22.489670
EMP_PHOTO
DB2INST4
T
2006-09-29-11.54.23.652853
EMP_RESUME
DB2INST4
T
2006-09-29-11.54.25.918875
EMPLOYEE
DB2INST4
T
2006-09-29-11.54.21.817601
IN_TRAY
DB2INST4
T
2006-09-29-11.54.29.276117
ORG
DB2INST4
T
2006-09-29-11.54.18.454797
PROJECT
DB2INST4
T
2006-09-29-11.54.22.969237
SALES
DB2INST4
T
2006-09-29-11.54.28.160641
STAFF
DB2INST4
T
2006-09-29-11.54.20.056241
STAFFG
DB2INST4
T
2006-09-29-11.54.20.744622
T1
DB2INST4
T
2006-09-29-11.54.29.779141
T2
DB2INST4
T
2006-09-29-11.54.30.720358
VIEWT1
DB2INST4
V
2006-09-29-11.54.33.047042
17 レコードが選択されました。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
166
3-3-3. 移行コマンドの実行例(続き)
移行先環境での作業(LOADステートメントの確認)
[db2inst4 /home/db2inst4/work]$ cat load.clp
connect to sample;
load from /home/tukiv7/work/export/BLOB1.del
of del
LOBS FROM /home/tukiv7/work/export/BLOB1.lobs/ modified by lobsinfile
replace into db2inst4.BLOB1;
load from /home/tukiv7/work/export/CL_SCHED.del of del replace into db2inst4.CL_SCHED;
load from /home/tukiv7/work/export/DEPARTMENT.del of del replace into db2inst4.DEPARTMENT;
load from /home/tukiv7/work/export/EMP_ACT.del
of del replace into db2inst4.EMP_ACT;
load from /home/tukiv7/work/export/EMP_PHOTO.del of del
LOBS FROM /home/tukiv7/work/export/EMP_PHOTO.lobs/ modified by lobsinfile
replace into db2inst4.EMP_PHOTO;
load from /home/tukiv7/work/export/EMP_RESUME.del of del
LOBS FROM /home/tukiv7/work/export/EMP_RESUME.lobs/ modified by lobsinfile
replace into db2inst4.EMP_RESUME;
load from /home/tukiv7/work/export/EMPLOYEE.del of del replace into db2inst4.EMPLOYEE;
load from /home/tukiv7/work/export/IN_TRAY.del
of del replace into db2inst4.IN_TRAY;
load from /home/tukiv7/work/export/ORG.del
of del replace into db2inst4.ORG;
load from /home/tukiv7/work/export/PROJECT.del
of del replace into db2inst4.PROJECT;
load from /home/tukiv7/work/export/SALES.del
of del replace into db2inst4.SALES;
load from /home/tukiv7/work/export/STAFF.del
of del replace into db2inst4.STAFF;
load from /home/tukiv7/work/export/STAFFG.del
of del replace into db2inst4.STAFFG;
load from /home/tukiv7/work/export/T1.del
of del replace into db2inst4.T1;
load from /home/tukiv7/work/export/T2.del
of del replace into db2inst4.T2;
©日本IBMシステムズ・エンジニアリング(株) Information Management部
167
ラージオブジェクトを含むテーブ
ルは、LOBS FROM、modied
by lobsinfileオプションを追加。
3-3-3. 移行コマンドの実行例(続き)
移行先環境での作業(LOADの実施)
[db2inst4 /home/db2inst4/work]$ db2 -tvf load.clp
<省略>
load from /home/tukiv7/work/export/BLOB1.del
of del LOBS FROM /home/tukiv7/work/export/BLOB1.lobs/ modifie
d by lobsinfile replace into db2inst4.BLOB1
SQL3501W 順方向リカバリーがデータベースに対して使用できないため、表が存在する表
スペースが、バックアップ・ペンディング状態に置かれません。
SQL3109N ユーティリティーが、ファイル "/home/tukiv7/work/export/BLOB1.del"
からデータのロードを開始しています。
SQL3500W ユーティリティーが "2006-09-29 12:22:07.123029" に "LOAD"
フェーズを開始しています。
SQL3519W ロード整合点が開始されました。入力レコード・カウント = "0"。
SQL3520W ロード整合点が成功しました。
SQL3110N ユーティリティーが処理を完了しました。 "1998"
行が、入力ファイルから読み取られました。
SQL3519W ロード整合点が開始されました。入力レコード・カウント = "1998"。
SQL3520W ロード整合点が成功しました。
SQL3515W ユーティリティーは、"2006-0929 12:22:07.794094" に "LOAD"
フェーズを完了しました。
読み込まれた行数
スキップされた行数
ロードされた行数
拒否された行数
削除された行数
コミットされた行数
<省略>
=
=
=
=
=
=
EXPORTされた行数とLOADさ
れた行数が等しいことを確認
1998
0
1998
0
0
1998
©日本IBMシステムズ・エンジニアリング(株) Information Management部
168
3-3-3. 参考:db2moveを利用した移行
db2moveを使用した移行について
db2moveは、指定したデータベースに属する表のデータを一括してEXPORT、
IMPORT/LOADすることが可能なツールです。
EXPORT/LOADのステートメントを手動で作成する場合と比較して、制約や考
慮点はありますが、表や索引の数が多い環境ではワークロードの低減が可能
なケースがあるため、参考として紹介します。
db2moveを使用した場合の作業の流れ
db2moveを使用した場合に代替可能なのは、「移行データの抽出と投入」のス
テップです。
次ページの考慮点に記載した理由から、多くのケースでは事前にオブジェクト
を作成しておく必要があります。
そのため、db2moveを使用するケースについても、LOADでの実行ケースを紹介します。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
169
3-3-3. 参考:db2moveを利用した移行(続き)
db2moveを使用する場合の考慮点
db2moveで移行できるオブジェクトについての制約
IMPORTモードで、表の作成を使用する場合、自動作成可能なのは表と索引のみです。
それ以外のオブジェクトは手動で作成する必要があります。
また、LOADモードを使用する際は、LOAD先の表を事前に作成する必要があります。
IMPORTモードによる表の作成を使用する場合の考慮点
– 表を作成する表スペースが指定できない。
db2moveは、V9から追加された「コピーモード」以外では、表を移行する先の表スペースを指
定することはできません。コピーモードを使用するためにはソース、ターゲット両方のデータ
ベースがV9以上である必要があるため、V9への移行に使用することはできません。
– 表と索引のみが作成され、ビュー、別名、トリガー、シーケンスオブジェクト等は作成さ
れない。
– IXFファイルのインポートに伴う制約(「3-3-3. IMPORTコマンドによる表の作成を行う場
合の考慮点」参照)は、db2moveでも同様に発生する。
– 表、索引のスキーマ名を変更する場合、db2move.lstを修正する必要がある。
デフォルトでは、移行前環境のスキーマがdb2move.lstに格納され、そのスキーマで作成され
ます。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
170
3-3-3. 参考:db2moveを利用した移行(続き)
db2moveを使用する場合の考慮点(続き)
ラージ・オブジェクトについて
db2moveを使用した場合、使用可能なLOBファイル名は約26000個(26x999個)までです。
DB2 V7 FP6以前のDB2から移行する場合、1LOBファイル名に付き1LOBオブジェクトしか格
納できないため、26000個を超えるLOBオブジェクトが一つのテーブル内に存在している場合、
db2moveは使用できません。EXPORTコマンドを使用してください。
また、DB2 V7 FP7およびFP8では、複数のLOBオブジェクトが一つのLOBファイルに格納され
るため、26000個を超えるLOBオブジェクトを抽出可能ですが、出力先のLOBファイル・サイズ
が2GBを超えた時点でエラーを出力して抽出が停止してしまう障害があります。
– そのため、DB2 V7 FP7/8で、1テーブルあたりのLOBオブジェクト数が26000個を超え、かつ
合計サイズが2GBを超える場合も、やはりEXPORTコマンドを使用する必要があります。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
171
3-3-3. 参考:db2moveを利用した移行(続き)
コマンドの実行例
実行例は、EXPORT/LOADによる移行と同様の環境です。
移行先環境でのオブジェクトの作成は、前述のページを参照して実施してください。
LOAD対象の表、その他のオブジェクトは作成済みであることを前提とします。
[tukiv7 /home/tukiv7]$ mkdir db2move
[tukiv7 /home/tukiv7]$ chmod 777 db2move
[tukiv7 /home/tukiv7]$ cd db2move
[tukiv7 /home/tukiv7/db2move]$ mkdir lobs
[tukiv7 /home/tukiv7/db2move]$ chmod 777 lobs
[tukiv7 /home/tukiv7/db2move]$ ls -la
合計 24
drwxrwxrwx
3 tukiv7
sys
1024 Oct 13 03:46 .
drwxr-sr-x
9 tukiv7
sys
512 Oct 13 03:37 ..
drwxrwxrwx
2 tukiv7
staff
512 Oct 13 03:46 lobs
©日本IBMシステムズ・エンジニアリング(株) Information Management部
172
移行先インスタンスからアクセス
できるよう、ディレクトリの権限を
設定
3-3-3. 参考:db2moveを利用した移行(続き)
db2moveによるEXPORT
[tukiv7 /home/tukiv7/db2move]$ db2move sample export -l lobs
*****
DB2MOVE *****
Action:
EXPORT
Start time:
Fri Oct 13 03:46:47 2006
移行元データベースからデータを
EXPORT。LOBは「-l」オプション
で「lobs」ディレクトリへ格納
Connecting to database SAMPLE ... successful! Server: DB2 Common Server V7.2.9
EXPORT:
8 rows from
EXPORT:
35 rows from
EXPORT:
35 rows from
EXPORT:
9 rows from
EXPORT:
32 rows from
EXPORT:
75 rows from
EXPORT:
20 rows from
EXPORT:
12 rows from
EXPORT:
8 rows from
EXPORT:
41 rows from
EXPORT:
0 rows from
EXPORT:
0 rows from
EXPORT: 300001 rows from
EXPORT: 300000 rows from
EXPORT: 1998 rows from
table
table
table
table
table
table
table
table
table
table
table
table
table
table
table
"TUKIV7
"TUKIV7
"TUKIV7
"TUKIV7
"TUKIV7
"TUKIV7
"TUKIV7
"TUKIV7
"TUKIV7
"TUKIV7
"TUKIV7
"TUKIV7
"TUKIV7
"TUKIV7
"TUKIV7
必要なテーブルがすべて
EXPORTされていること、
EXPORTされた件数が、各テー
ブルのSELECT COUNT(*)の結
果と一致することを確認。
"."ORG"
"."STAFF"
"."STAFFG"
"."DEPARTMENT"
"."EMPLOYEE"
"."EMP_ACT"
"."PROJECT"
"."EMP_PHOTO"
"."EMP_RESUME"
"."SALES"
"."CL_SCHED"
"."IN_TRAY"
"."T1"
"."T2"
"."BLOB1"
Disconnecting from database ... successful!
End time: Fri Oct 13 03:47:00 2006
©日本IBMシステムズ・エンジニアリング(株) Information Management部
173
3-3-3. 参考:db2moveを利用した移行(続き)
抽出データの権限設定
[tukiv7 /home/tukiv7/db2move]$ ls -l
合計 112304
-rw-r--r-rw-r--rdrwxr-xrx
-rw-r--r-rw-r----rw-r----rw-r----rw-r---<省略>
1
1
2
1
1
1
1
1
tukiv7
tukiv7
tukiv7
tukiv7
tukiv7
tukiv7
tukiv7
tukiv7
staff
staff
staff
staff
staff
staff
staff
staff
974
657
512
0
6602
193
8079
195
Oct
Oct
Oct
Oct
Oct
Oct
Oct
Oct
13
13
13
13
13
13
13
13
03:47
03:47
03:47
03:46
03:46
03:46
03:46
03:46
EXPORT.out
db2move.lst
lobs
system.msg
tab1.ixf
tab1.msg
tab10.ixf
tab10.msg
[tukiv7 /home/tukiv7/db2move]$ chmod -R og+wr *
[tukiv7 /home/tukiv7/db2move]$ ls -l
合計 112320
-rw-rw-rw-rw-r--r-rw-rw-rwdrwxrwxrwx
-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw<省略>
1
1
1
2
1
1
1
1
1
tukiv7
db2inst4
tukiv7
tukiv7
tukiv7
tukiv7
tukiv7
tukiv7
tukiv7
staff
staff
staff
staff
staff
staff
staff
staff
staff
974
4837
689
512
0
6602
193
8079
195
Oct
Oct
Oct
Oct
Oct
Oct
Oct
Oct
Oct
©日本IBMシステムズ・エンジニアリング(株) Information Management部
13
13
13
13
13
13
13
13
13
03:47
03:51
03:50
03:47
03:46
03:46
03:46
03:46
03:46
EXPORT.out
LOAD.out
db2move.lst
lobs
system.msg
tab1.ixf
tab1.msg
tab10.ixf
tab10.msg
174
LOADを行うユーザーから、デー
タファイルに対してREAD権限が、
メッセージファイルに対して
READ/WRITE権限が必要である
ため、権限を付与。
3-3-3. 参考:db2moveを利用した移行(続き)
db2move.lstファイルの修正
[tukiv7 /home/tukiv7/db2move]$ su -db2inst4
db2inst4 のパスワード:
[db2inst4 /home/db2inst4]$ cd /home/tukiv7/db2move
[db2inst4 /home/tukiv7/db2move]$ cat db2move.lst
!"DB2INST4 "."ORG"!tab1.ixf!tab1.msg!
!"DB2INST4 "."STAFF"!tab2.ixf!tab2.msg!
!"DB2INST4 "."STAFFG"!tab3.ixf!tab3.msg!
!"DB2INST4 "."DEPARTMENT"!tab4.ixf!tab4.msg!
!"DB2INST4 "."EMPLOYEE"!tab5.ixf!tab5.msg!
!"DB2INST4 "."EMP_ACT"!tab6.ixf!tab6.msg!
!"DB2INST4 "."PROJECT"!tab7.ixf!tab7.msg!
!"DB2INST4 "."EMP_PHOTO"!tab8.ixf!tab8.msg!
!"DB2INST4 "."EMP_RESUME"!tab9.ixf!tab9.msg!
!"DB2INST4 "."SALES"!tab10.ixf!tab10.msg!
!"DB2INST4 "."CL_SCHED"!tab11.ixf!tab11.msg!
!"DB2INST4 "."IN_TRAY"!tab12.ixf!tab12.msg!
!"DB2INST4 "."T1"!tab13.ixf!tab13.msg!
!"DB2INST4 "."T2"!tab14.ixf!tab14.msg!
!"DB2INST4 "."BLOB1"!tab15.ixf!tab15.msg!
©日本IBMシステムズ・エンジニアリング(株) Information Management部
移行先のインスタンスにあわせて
表のスキーマを事前に変更して
おく。
tukiv7 => db2inst4
175
3-3-3. 参考:db2moveを利用した移行(続き)
db2moveを使用したLOAD
[db2inst4 /home/tukiv7/db2move]$ db2move sample load -l lobs
Application code page not determined, using ANSI codepage 943
*****
DB2MOVE
Action:
*****
LOAD
Start time:
Fri Oct 13 03:52:40 2006
Connecting to database SAMPLE ... successful!
* LOAD: table "DB2INST4
-Rows read:
8
-Loaded:
8
-Rejected:
0
-Deleted:
0
-Committed:
8
<省略>
* LOAD: table "DB2INST4
-Rows read:
1998
-Loaded:
1998
-Rejected:
0
-Deleted:
0
-Committed:
1998
Server : DB2 Common Server V9.1.0
"."ORG"
必要なテーブルがすべてLOADさ
れていること、LOADされた件数
が、EXPORTされた件数と一致し
ていることを確認。
"."BLOB1"
Disconnecting from database ... successful!
End time:
Fri Oct 13 03:53:13 2006
©日本IBMシステムズ・エンジニアリング(株) Information Management部
176
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
177
4. フォールバックのシナリオについて
フォールバックについて
バージョン9.5への移行後に、DB2提供のユーティリティ等を使用して移行元の
バージョンに逆移行することはできません。
そのため、バックアップからのリストアを前提としてフォールバックを計画する必
要があります。
DB2の観点から、回復を計画する必要があるリソース
DB2製品コード
:システムバックアップのリストアにより復旧
インスタンス、外部ファイル :システムバックアップのリストアにより復旧
:共有ディスクに配置されている場合は、インスタンスホームの
バックアップからのリストア あるいは インスタンスの再作成
データベース
:データベースのリストアにより復旧
DB2クライアント
:旧バージョンの再導入と、接続構成定義の適用により復旧
©日本IBMシステムズ・エンジニアリング(株) Information Management部
178
4. フォールバックのシナリオについて
移行シナリオに応じて、回復が必要なリソースを確認する。
前ページに記載したすべてのリソースの回復が必ずしも必要となるわけではなく、
例えば新規インスタンスを作成し、データベースを新規インスタンスへの
Backup/Resotreして移行した場合、インスタンスや外部ファイルの回復は必要あ
りません。(旧インスタンスが保管できる場合)
どのリソースの復旧が必要になるかは、下記の表を参照してください。
各リソースの復旧が必要かどうか
DB2製品
コード
インスタンス
データベース
DB2クライアント
既存のインスタンスを移行
*1
あり
あり
*3
同一サーバ上の新規インスタンスへ移行
(移行前環境のDB、DBコンテナは削除)
*1
必要なし(*2)
あり
*3
同一サーバ上の新規インスタンスへ移行
(移行前環境のDB、DBコンテナは保存)
*1
必要なし(*2)
必要なし(*2)
*3
新規サーバへ移行
必要なし
必要なし
必要なし
*3
(*1) V9.5と旧バージョンで製品コードの共存が不可の場合、復旧が必要
Windows
:移行前のDB2バージョンがV8の場合共存可能。V7以前の場合共存不可能
Windows以外 :バージョンを問わず共存可能
(*2) 製品コードの共存ができない場合は、復旧の必要あり。
(*3) 製品コードの共存が可能かどうかはサーバ(*1)と同様。DB2クライアントについては、
選択した移行シナリオに関わらず、構成変更を行った場合は復旧が必要。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
179
4. フォールバックのシナリオについて
DB2製品コード、インスタンス、外部ファイルの復旧について
復旧作業に必要な時間を短縮するため、これらのリソースの復旧には、システムバッ
クアップ あるいは インスタンスホームのバックアップからのリストアを使用すること
をお勧めします。
何らかの理由でシステムバックアップのリストアが難しい場合、下記のような手順でイ
ンスタンスを復旧することが可能です。
バージョン9.5のデータベース、インスタンスを削除する。
バージョン9.5の製品コードをアンインストール(製品コードの共存が不可能な場合)
移行元バージョンの製品コードを再導入(製品コードの共存が不可能な場合)
db2icrtコマンドを使用して、移行前のインスタンスを再作成
移行前に取得したレジストリー変数、データベース・マネージャー構成パラメーターを再度設定
USERESITやストアドプロシージャー等外部ファイルを復旧
(後続作業のデータベースリストアを実施)
データベースの復旧について
データベースの復旧にはRESTORE DATABASEコマンドを使用してください。
フラッシュコピーによるバックアップ運用を行っている場合、フラッシュコピーのコピー
バックによる復旧も可能です。その場合はバックアップ運用構築時に確立した復旧手
順に従って復旧を行ってください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
180
4. フォールバックのシナリオについて
DB2クライアントの復旧について
DB2サーバの復旧を行った場合、DB2クライアントについても移行前のバージョ
ンに復旧してください。
DB2クライアントの復旧は、下記の手順で実施可能です。
Windowsプラットフォームの場合
– バージョン9.5のDB2クライアント製品コードをアンインストールする。(製品コードの共存が不可能な場
合)
– 移行前バージョンのDB2クライアントをインストールする。 (製品コードの共存が不可能な場合)
– db2cfimpコマンドを使用して、移行前に取得した接続構成定義ファイルをインポートする。
クライアントの接続定義、構成パラメーターが復旧される。
取得手順は「5-1. クライアントの移行」を参照してください。
Linux/UNIXプラットフォームの場合
– 復旧対象のクライアント・インスタンスを削除する。
– 移行元バージョンのクライアント・インスタンスを作成する。
– db2cfimpコマンドを使用して、移行前に取得した接続構成定義ファイルをインポートする。
クライアントの接続定義、構成パラメーターが復旧される。
取得手順は「5-1. クライアントの移行」を参照してください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
181
解説. サーバ・インスタンスの戻し作業コマンド実行例
コマンド実行例
インスタンスの戻し作業(システムバックアップを使用しないケースについて)
[db2inst2@kotatsu /home/db2inst2]$ db2level
DB21085I インスタンス "db2inst2" は、"64" ビットおよび DB2 コード・リリース
"SQL09050" をレベル ID "03010107" で使用します。
情報トークンは、"DB2 v9.5.0.0"、"s070917"、"AIX6495"、およびフィックスパック "0"
です。
製品は "/opt/IBM/db2/V9.5_01" にインストールされます。
作業前のバージョンはV9.5
[db2inst2@kotatsu /home/db2inst2]$ db2 list db directory
システム・データベース・ディレクトリー
データベース別名
データベース名
ローカル・データベース・ディレクトリー
データベース・リリース・レベル
コメント
ディレクトリー項目タイプ
カタログ・データベース・パーティション番号
代替サーバー・ホスト名
代替サーバーのポート番号
= MIGDB
= MIGDB
= /home/db2inst2
= b.00
=
= 間接
= 0
=
=
[db2inst2@kotatsu /home/db2inst2]$ db2 drop db migdb
DB20000I DROP DATABASE コマンドが正常に完了しました。
[db2inst2@kotatsu /home/db2inst2]$ db2stop
2006-10-30 11:53:44
0 0
SQL1064N DB2STOP の処理が正常に終了しました。
SQL1064N DB2STOP の処理が正常に終了しました。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
182
バージョン9.5へ移行したDBは削
除(V8時点のDBバックアップをリス
トアするため)
解説. サーバ・インスタンスの戻し作業コマンド実行例(続き)
コマンド実行例(続き)
[db2inst2 /home/db2inst2]$ su root のパスワード:
root:/# cd /opt/IBM/db2/V9.5_01/instance
root:/opt/IBM/db2/V9.5_01/instance# ./db2idrop db2inst2
DBI1070I プログラム db2idrop
は正常に完了しました。
root:/opt/IBM/db2/V9.5_01/instance# cd /usr/opt/db2_08_01/instance
root:/usr/opt/db2_08_01/instance# ./db2icrt -u db2inst2 db2inst2
DBI1070I Program db2icrt completed successfully.
V9.5インスタンスを削除
同じユーザーにV8インスタンスを再
作成
V8インスタンスが再作成されたこと
root:/usr/opt/db2_08_01/instance# su -db2inst2
を確認
[db2inst2 /home/db2inst2]$ db2level
DB21085I Instance "db2inst2" uses "32" bits and DB2 code release "SQL08020"
with level identifier "03010106".
Informational tokens are "DB2 v8.1.1.64", "s040812", "U498350", and FixPak "7".
Product is installed at "/usr/opt/db2_08_01".
[db2inst2 /home/db2inst2]$ db2start
2006-10-30 11:57:58
0
0 SQL1063N DB2START processing was successful.
SQL1063N DB2START processing was successful.
©日本IBMシステムズ・エンジニアリング(株) Information Management部
183
解説. サーバ・インスタンスの戻し作業コマンド実行例(続き)
コマンド実行例(続き)
[db2inst2 /home/db2inst2]$ ls -l /out0/backup/backup.dbm.cfg
-rw-r--r-- 1 db2inst2 staff
258 Oct 30 16:17 /out0/backup/backup.dbm.cfg
[db2inst2 /home/db2inst2]$ cat /out0/backup/backup.dbm.cfg
update dbm cfg using
MON_HEAP_SZ 2048;
移行前の設定事項をあらかじめ待
避しておき、V8インスタンスの新規
update dbm cfg using
SHEAPTHRES 50000;
作成後に適用する。
update dbm cfg using
MAXAGENTS
100;
update dbm cfg using NUM_POOLAGENTS
100;
update dbm cfg using NUM_INITAGENTS
100;
update dbm cfg using
SVCENAME 60067;
正常に適用されたことを確認
[db2inst2 /home/db2inst2]$ db2 -tvf /out0/backup/backup.dbm.cfg
update dbm cfg using
MON_HEAP_SZ 2048
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.
update dbm cfg using
SHEAPTHRES 50000
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.
update dbm cfg using
MAXAGENTS
100
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.
update dbm cfg using NUM_POOLAGENTS
100
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.
update dbm cfg using NUM_INITAGENTS
100
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.
update dbm cfg using
SVCENAME 60067
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.
©日本IBMシステムズ・エンジニアリング(株) Information Management部
184
解説. サーバ・インスタンスの戻し作業コマンド実行例(続き)
コマンド実行例(続き)
インスタンスを新規作成したため、
ディレクトリー情報は空。
[db2inst2 /home/db2inst2]$ db2 list db directory
SQL1031N The database directory cannot be found on the indicated file system.
SQLSTATE=58031
[db2inst2 /home/db2inst2]$ ls -l /out0/backup
合計 3487592
-rw-r----- 1 db2inst2 staff
755179520 Sep 19 00:09 MIGDB.0.db2inst2.NODE0000.CATN0000.20060919000842.001
-rw-r--r-- 1 db2inst2 staff
403897 Sep 13 17:46 db2support.zip
[db2inst2 /home/db2inst2]$ db2 restore db migdb from /out0/backup taken at 20060919000842
DB20000I The RESTORE DATABASE command completed successfully.
[db2inst2 /home/db2inst2]$ db2 list db directory
移行前に取得したオフライン・バック
アップからリストアを実行
System Database Directory
Database 1 entry:
Database alias
Database name
Local database directory
Database release level
Comment
Directory entry type
Catalog database partition number
Alternate server hostname
Alternate server port number
=
=
=
=
=
=
=
=
=
MIGDB
MIGDB
/home/db2inst2
a.00
Indirect
0
©日本IBMシステムズ・エンジニアリング(株) Information Management部
185
MIGDBのディレクトリー情報が復旧
解説. サーバ・インスタンスの戻し作業コマンド実行例(続き)
Rollforward Pendingのため、ま
だ接続は不可能
コマンド実行例(続き)
[db2inst2 /home/db2inst2]$ db2 connect to migdb
SQL1117N A connection to or activation of database "MIGDB" cannot be made
because of ROLL-FORWARD PENDING. SQLSTATE=57019
[db2inst2 /home/db2inst2]$ db2 rollforward db migdb complete
Rollforward Status
Input database alias
Number of nodes have returned status
= migdb
= 1
Node number
Rollforward status
Next log file to be read
Log files processed
Last committed transaction
=
=
=
=
=
0
not pending
S0000009.LOG -S0000010.LOG
2006-09-18-14.24.43.000000
DB20000I The ROLLFORWARD command completed successfully.
[db2inst2 /home/db2inst2]$ db2 connect to migdb
Database Connection Information
Database server
SQL authorization ID
Local database alias
ここではオフライン・バックアップか
らのリストアのため、Rollforward
せずにComplete
= DB2/6000 8.2.0
= DB2INST2
= MIGDB
©日本IBMシステムズ・エンジニアリング(株) Information Management部
186
正常な接続の完了を確認
解説. DB2クライアントの戻し作業コマンド実行例
コマンド実行例
クライアントの戻し作業(AIXの場合)
[tukiv7 /home/tukiv7]$ db2level
DB21085I インスタンス “tukiv7" は、"64" ビットおよび DB2 コード・リリース
"SQL09050" をレベル ID "03010107" で使用します。
情報トークンは、"DB2 v9.5.0.0"、"s071001"、"AIX6495"、およびフィックスパック "0"
です。
製品は "/opt/IBM/db2/V9.5" にインストールされています。
[tukiv7 /home/tukiv7]$ su root のパスワード:
[root /]# cd /opt/IBM/db2/V9.5/instance
[root /opt/IBM/db2/V9.5/instance]# ./db2idrop tukiv7
DBI1070I プログラム db2idrop
は正常に完了しました。
バージョン9.5に移行済みのクライア
ント・インスタンスを、移行前バー
ジョン(この場合はV7)へ復旧する。
V9へ移行したインスタンスは削除す
る。
[root /opt/IBM/db2/V9.5/instance]# cd /usr/lpp/db2_07_01/instance
[root /usr/lpp/db2_07_01/instance]# ./db2icrt -s client -u tukiv7 tukiv7
DBI1070I プログラム db2icrt は正常に完了しました。
移行前インスタンスのdb2icrtを使
用してクライアント・インスタンスを作
成する。
[root /usr/lpp/db2_07_01/instance]# su -tukiv7
[tukiv7 /home/tukiv7]$ db2level
DB21085I インスタンス "tukiv7" は、レベル ID "03070105" および通知トークン
"DB2 v7.1.0.75"、"s021110" および "U484610" を指定して、 DB2 コード・リリース
"SQL07026" を使用します。
移行前バージョンのクライアント・イ
ンスタンスが再作成された。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
187
解説. DB2クライアントの戻し作業コマンド実行例(続き)
コマンド実行例
[tukiv7 /home/tukiv7]$ db2 list node directory
SQL1027N ノード・ディレクトリーが見つかりません。
[tukiv7 /home/tukiv7]$ db2 list db directory
SQL1031N 指定されたファイル・システムには、データベース・
ディレクトリーが見つかりません。 SQLSTATE=58031
[tukiv7 /home/tukiv7]$ db2cfimp db2client.before.cfg
[tukiv7 /home/tukiv7]$ db2 list db directory
システム・データベース・ディレクトリー
データベース別名
=
データベース名
=
ノード名
=
データベース・リリース・レベル
=
コメント
=
ディレクトリー項目タイプ
=
カタログ・ノード番号
=
[tukiv7 /home/tukiv7]$ db2 list db directory
システム・データベース・ディレクトリー
データベース別名
データベース名
ノード名
データベース・リリース・レベル
コメント
ディレクトリー項目タイプ
カタログ・ノード番号
=
=
=
=
=
=
=
db2cfimpコマンドを使用して移行
前構成ファイルの設定をインポート
ノード・カタログ、DBカタログとも復
旧された。
V8DB
SAMPLE
KOTATSU
9.00
リモート
-1
V8DB
SAMPLE
KOTATSU
9.00
リモート
-1
©日本IBMシステムズ・エンジニアリング(株) Information Management部
新規作成したため、ノード・カタログ、
DBカタログとも空の状態。
188
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
189
5. その他
この章では下記の項目について記述します。
5-1.DB2クライアントの移行
5-2.オンライン・バックアップ・イメージからの移行
©日本IBMシステムズ・エンジニアリング(株) Information Management部
190
5-1. DB2クライアントの移行
クライアント移行の方針
移行計画をシンプルにするためには、DB2サーバと同期してDB2クライアントを移行
してください。この場合、異なるバージョン間の接続を考慮する必要はありません。
しかし、DB2サーバと同期してクライアント移行を行うことが難しい場合、DB2サーバ
が先行して移行されるように、移行シナリオを検討してください。
DB2サーバを先行して移行する形態の場合、現在のDB2クライアントがバージョン
9.5のDB2サーバと接続可能かどうかを『DB2 V8からV9.5へうまく移行するためのガ
イド』の「サポートされるクライアント・サーバー構成一覧」で確認してください。
移行すべきエディションの選定
バージョン9より、クライアントの種別が下記のように変更になっています。
現在使用しているクライアントの種別に応じて、移行先のバージョン9.5クライアント
を決定してください。
目的
DB2 V8のクライアント種別
DB2 9の該当するクライアント
DB2 9.5の該当するクライアント
データベース管理
DB2 Administration Client
DB2 Client
IBM Data Server Client
アプリケーション開発
DB2 Application Development Client
ランタイム環境
DB2 Run-Time Client
DB2 Runtime Client
IBM Data Server Runtime Client
ランタイム環境(軽量)
DB2 Run-Time Client Lite
ODBC/CLIドライバのみ必要
N/A
DB2 Driver for ODBC and CLI
IBM Data Server Driver for ODBC
and CLI
©日本IBMシステムズ・エンジニアリング(株) Information Management部
191
5-1. DB2クライアントの移行(続き)
移行の方法について
DB2クライアントの移行には下記の2方法があります。
現行のクライアント・インスタンスをそのまま移行する方法
この形態がサポートされるのは、移行元のDB2クライアントがバージョン8の場合のみです。
これは、DB2サーバの移行処理サポート対象と同様です。
バージョン9.5のクライアント・インスタンスを新規作成する方法
V7以前のDB2クライアントからの移行を行う場合はこの方法を使用する必要があります。
構成パラメーターや接続構成情報を手動で移行する必要があります。
当ガイドでは、
バージョンを問わず移行が可能な点
現行インスタンスを移行する場合と比較して、それほど手順が増加しない点
から、実行例としてはインスタンスを新規作成して移行する方法を記述します。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
192
5-1. DB2クライアントの移行(続き)
現行クライアント・インスタンスの移行処理による移行
移行の手順
移行対象サーバへDB2 9.5のクライアントをインストールする。
クライアント・インスタンスを停止する。
rootユーザーもしくは管理者権限でログオンする。
db2imigrコマンドを使用してクライアント・インスタンスをバージョン9へ移行する。
インスタンスオーナーからクライアント・インスタンスを開始する。
「DB2クライアントの移行後タスク」を実施する。
クライアント・インスタンスの移行処理について
クライアント・インスタンスに対しても、インスタンス移行を行う場合はdb2imigrコマンドを使用
します。
インスタンスの移行を行う場合は、「3-3-1. 同一インスタンスでの移行」のdb2imigrコマンド実
行方法を参考として実施してください。
DB2クライアントの移行後タスクについて
下記2点の作業を行います。
DB2 バージョン 9からは、NetBIOS プロトコル及び、SNA プロトコルをサポートしなくなりまし
た。移行前の環境でこの二つのプロトコルを使用していた場合は、TCP/IPによるカタログへ
移行してください。
db2imigrコマンドの処理中にカタログ情報の移行が行われますが、移行されたカタログ情報
が正常かどうかを確認するため、DB2サーバへの接続確認を行ってください。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
193
5-1. DB2クライアントの移行(続き)
新規クライアント・インスタンスの作成による移行
移行の手順
移行対象サーバへDB2 9.5のクライアントをインストールする。
移行前バージョンのクライアント・インスタンスより構成情報を取得する。
– 接続構成情報
– データベース・マネージャー構成パラメーター
クライアント・インスタンスを停止する。
移行前バージョンのクライアント・インスタンスを削除する。
新規のクライアント・インスタンスを作成する。
事前に取得した構成情報を、新規インスタンスへ設定する。
「DB2クライアントの移行後タスク」を実施する。
移行元バージョンのDB2クライアントをアンインストールする。
クライアント・インスタンスの構成情報取得について
DB2クライアントの構成情報は、db2cfexpコマンドで一括して取得可能です。
実行コマンド
– db2cfexp <出力ファイル名称> backup
取得した構成情報を、新規インスタンスに設定するためにはdb2cfimpコマンドを使用します。
– db2cfimp <db2cfexpで出力したファイル名>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
194
5-1. DB2クライアントの移行(続き)
新規クライアント・インスタンスの作成による移行(続き)
新規のクライアント・インスタンス作成について
クライアント・インスタンス作成のためには、db2icrtを使用します。
db2icrtコマンドは、rootユーザーもしくは管理者権限で実行します。
UNIX/Linuxの場合
–
–
–
> $DB2DIR/instance/db2icrt –s client -u <fencedユーザーID> <インスタンス名>
-p
:TCP/IPによる接続を使用する場合のサービス名/ポート番号を指定
-u
:fenced ユーザー定義関数および fenced ストアード・プロシージャーを実行するユーザー ID の
名前を指定します。サーバインスタンスを作成する際は、必須オプションです。
Windowsの場合
–
> $DB2DIR¥instance¥db2icrt –s client <インスタンス名>
$DB2DIRは、DB2 9.5の導入パスです。デフォルトの導入パスは下記の通りです。
–
–
–
UNIXの場合
Linuxの場合
Windowsの場合
:/opt/IBM/db2/V9.5
:/opt/ibm/db2/V9.5
:Program Files¥IBM¥sqllib_XX (XXは数字の連番)
©日本IBMシステムズ・エンジニアリング(株) Information Management部
195
解説 クライアントの移行 コマンド実行例AIX編
DB2クライアントの移行(AIX編)
ここでは、DB2 V7.2のRuntime Clientから、バージョン9.5のRuntime Clientへ移行
する場合のコマンド実行例を紹介します。
移行元バージョンはV7.2
$ db2level
DB21085I インスタンス "tukiv7cl" は、レベル ID "030A0105" および通知トークン
"DB2 v7.1.0.98"、"s040510" および "U497037" を指定して、 DB2 コード・リリース
"SQL07029" を使用します。
$ db2cfexp db2client.before.cfg backup
-rw-r---- 1 tukiv7cl staff
900 Sep 28 15:29 db2client.before.cfg
$ cat db2client.before.cfg
;Use BINARY file transfer
[FILE_DESCRIPTION]
APPLICATION=DB2/6000 7.2.9
FILE_CONTENT=DB2 CCA Exported Data Sources
FILE_TYPE=CommonServer
FILE_FORMAT_VERSION=2.0
Platform=4
DB2SYSTEM=
Instance=tukiv7cl
<省略>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
196
移行元の構成パラメーター、カタロ
グ情報を出力
解説 クライアントの移行 コマンド実行例AIX編(続き)
移行元のカタログ情報を確認
$ db2 list node directory
ノード・ディレクトリー
ノード 1 項目 :
ノード名
コメント
ノード名
ホスト名
サービス名
$ db2 list db directory
システム・データベース・ディレクトリー
データベース 1 項目 :
データベース別名
データベース名
ノード名
データベース・リリース・レベル
コメント
ディレクトリー項目タイプ
カタログ・ノード番号
=
=
=
=
=
KOTATSU
=
=
=
=
=
=
=
SAMPLE
SAMPLE
KOTATSU
9.00
TCPIP
9.188.198.30
60042
リモート
-1
$ db2 get dbm cfg
データベース・マネージャー構成
ノード・タイプ
データベース・マネージャー構成リリース・レベル
連合データベース・システム・サポート
トランザクション・プロセッサー・モニター名
デフォルトのチャージ・バック・アカウント
<省略>
©日本IBMシステムズ・エンジニアリング(株) Information Management部
= クライアント
= 0x0900
(FEDERATED) = YES
(TP_MON_NAME) =
(DFT_ACCOUNT_STR) =
197
解説 クライアントの移行 コマンド実行例AIX編(続き)
$ db2stop
SQL1064N DB2STOP の処理が正常に終了しました。
$ su root のパスワード:
# cd /usr/lpp/db2_07_01/instance
# ls -l db2idrop
-r-xr--r- 1 bin
bin
4568 Apr 17 2001
# ./db2idrop tukiv7cl
DBI1070I プログラム db2idrop は正常に完了しました。
移行元バージョンのdb2idropを使
用してクライアント・インスタンスを削
除
db2idrop
# cd /opt/IBM/db2/V9.5/instance
# ls -l db2icrt
-r-xr--r- 1 root
system
8191 Jul 13 14:15 db2icrt
# ./db2icrt -s client -u tukiv7cl tukiv7cl
DBI1070I プログラム db2icrt
は正常に完了しました。
# su -tukiv7cl
$ db2level
DB21085I インスタンス “tukiv7cl" は、"64" ビットおよび DB2 コード・リリース
"SQL09050" をレベル ID "03010107" で使用します。
情報トークンは、"DB2 v9.5.0.0"、"s071001"、"AIX6495"、およびフィックスパック "0"
です。
製品は "/opt/IBM/db2/V9.5" にインストールされます。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
198
DB2 9.5のディレクトリに移動して
db2icrtを実行
「-s client」オプションを使用して、ク
ライアント・インスタンスを作成
バージョン9.5のインスタンスである
ことを確認
解説 クライアントの移行 コマンド実行例AIX編(続き)
$ db2 list db directory
SQL1031N 指定されたファイル・システムには、データベース・ディレクトリーが見か
りません。 SQLSTATE=58031
$ ls -l *cfg
-rw-r---- 1 tukiv7cl staff
900 Sep 28 15:29 db2client.before.cfg
$ db2cfimp db2client.before.cfg
$ db2 list db directory
インスタンスを新規作成したため、
カタログ情報は存在しない。
db2cfimpコマンドを使用してカタロ
グ情報、構成パラメーターを設定
システム・データベース・ディレクトリー
データベース 1 項目:
データベース別名
データベース名
ノード名
データベース・リリース・レベル
コメント
ディレクトリー項目タイプ
カタログ・データベース・パーティション番号
代替サーバー・ホスト名
代替サーバーのポート番号
= SAMPLE
= SAMPLE
= KOTATSU
= b.00
=
= リモート
= -1
=
=
接続の成功を確認
$ db2 connect to sample user tukiv9 using PASSWORD
データベース接続情報
データベース・サーバー
SQL 許可 ID
ローカル・データベース別名
©日本IBMシステムズ・エンジニアリング(株) Information Management部
カタログ情報が復旧していることを
確認
= DB2/AIX64 9.5.0
= TUKIV9
= SAMPLE
199
解説 クライアントの移行 コマンド実行例Windows編
DB2クライアントの移行(Windows編)
Windowsプラットフォームでも、作業の流れ自体はAIXプラットフォームと変わらな
いため、ここではWindowsプラットフォームに特有の項目について記述します。
Windowsプラットフォームでは、インストールの際デフォルトでインスタンスが作成されます。
そのため、インストール後に手動でインスタンスを作成する必要はありません。
V7以前のDB2クライアントが導入されている環境に、バージョン9.5のDB2クライアントを導入
する場合、バージョン9.5のDB2クライアントが強制的にデフォルトDB2コピーになります。そ
のため、以前のバージョンのDB2クライアントは機能しなくなります。
V8のDB2クライアントが導入されている環境であれば、バージョン9.5のDB2クライアントとの
共存が可能です。
V8のDB2クライアント
V9のDB2クライアント
©日本IBMシステムズ・エンジニアリング(株) Information Management部
200
解説 クライアントの移行 コマンド実行例Windows編
DB2クライアントの移行(Windows編) (続き)
移行元のDB2クライアントが、DB2 Administration Client または DB2 Application
Development Clientでかつ、移行先のDB2クライアントがDB2 Clientである場合、バージョン
9.5の導入作業中に一括して移行することが可能です。
「既存の製品を操作」からイン
ストールを開始した場合、イン
ストールと移行を一括して実施
可能。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
201
5-2. オンライン・バックアップ・イメージからの移行
オンライン・バックアップ・イメージからの移行
BACKUP/RESTOREを使用した移行を行う場合、オフライン・バックアップにより取得し
たバックアップ・イメージが必要です。
可用性要件から、オフライン・バックアップの取得が困難なシステムも想定されるため、
派生シナリオとして、オンライン・バックアップで取得したバックアップ・イメージからの移
行手順に言及します。
この移行シナリオの特徴
オンライン・バックアップのイメージを使用して移行が可能となるため、本番環境でオフ
ライン・バックアップを取得する必要がない。
いったんV8インスタンスへとリストアを行った後で、バージョン9.5のインスタンス移行を
行うため、移行先サーバにV8の製品コードが必要。
BACKUP/RESTOREとインスタンス移行の両方を行うため、必要な手順はやや多い。
DBサーバ(現行)
DBサーバ(同一もしくは新規)
V8インスタンス
MIGDB
V8インスタンス => V9.5インスタンス
UserExit、外部モジュール等
BACKUP
RESTORE
MIGDB
BACKUP
イメージ
インスタンス/データ
ベースを移行
©日本IBMシステムズ・エンジニアリング(株) Information Management部
202
5-2. 移行時の作業の流れ
システム停止のタイミング
オンラインバックアップによる移行の場合、バックアップ取得中にシステムを稼働させる
ことが可能ですが、更新ログの適用はV8の時点で実施する必要があります。
そのため、ログ適用が完了する前に移行前環境のシステムを停止し、V9.5への移行中
の更新ログ発生を抑止する必要があります。
移行前環境で稼働
システム停止
移行先環境で稼働
移行前環境
オンライン
BACKUP取得
本番稼働による更新ログ生成
更新ログ
BACKUP
イメージ
適用
移行先環境
適用
V8インスタンスへ
RESTORE
©日本IBMシステムズ・エンジニアリング(株) Information Management部
ログの適用
203
V9.5へ移行
本番稼働
5-2. 移行時の作業の流れ(続き)
移行作業の流れ
共通の移行前タスクの実施
MIGRATE DBやBACKUP/RESTOREを使用する際のタスク
3-3-2章の手順を参照
移行先環境で、V8 インスタンスの新規作成
Backup/Restoreでデータベースを移動
インスタンスの移行
データベースの移行
移行後タスクの実施
©日本IBMシステムズ・エンジニアリング(株) Information Management部
204
3-3-1章の手順を参照
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
205
Fly UP