How To
Summary
ロールフォワードやクラッシュ・リカバリーに必要なログがない場合や、ディスクの一部破損やクラッシュ・リカバリーの失敗でデータベースに接続できない場合、db2dart コマンドを使用してデータベースのデータを取り出せます。
ただし、ログを適用していない場合やクラッシュ・リカバリーが完了していない場合、データの論理的な整合性は保証されません。また、ディスクの一部破損の場合は、すべてのデータが取り出せる保証がない点に注意が必要です。
Steps
db2dart を利用してデータベースのデータを取り出す方法
- インスタンス・オーナー (Linux/UNIX) または Administrators 権限のユーザー (Windows) で Db2 サーバーにログインします。Windows の場合はさらに「DB2 コマンド ウィンドウ - 管理者」を開きます。
- データを取り出したいデータベースを指定して、db2dart コマンドの /ddel オプションを実行します。ここでは例として SAMPLE データベースを指定しています。
$ db2dart sample /ddel
- 表 ID、表スペース ID、開始ページ、ページ数の指定を求められるのでカンマ区切りで入力します。ここでは例として ORG 表の表 ID (14)、表スペース ID (2) を指定し、全ページを意味する開始ページ 0 ページ数 0 を指定しています。
Table object data formatting start. Please enter Table ID or name, tablespace ID, first page or logical row, num of pages or logical rows: (may suffix page number with 'p' for pool relative if working with a pool-relative tablespace) 14,2,0,0 5 of 5 columns in the table will be dumped. Column numbers and datatypes of the columns dumped: 0 SMALLINT 1 VARCHAR() -VARIABLE LENGTH CHARACTER STRING 2 SMALLINT 3 VARCHAR() -VARIABLE LENGTH CHARACTER STRING 4 VARCHAR() -VARIABLE LENGTH CHARACTER STRING
- 出力先のファイル名がデフォルトでよい場合は n、指定したい場合は y を入力してファイル名を入力します。
do you wish to change filename used? y/n n Filename used for output data file is SAMPLE_TS2T14.DEL. If the file exists, the data will be appended to it. Formatted data being dumped ... Dumping Page 0 .... Table object data formatting end. The requested DB2DART processing has completed successfully! Complete DB2DART report found in: SAMPLE.RPT
- 出力されたファイルの内容を確認します。
$ head SAMPLE_TS2T14.DEL 10,"Head Office",160,"Corporate","New York" 15,"New England",50,"Eastern","Boston" 20,"Mid Atlantic",10,"Eastern","Washington" 38,"South Atlantic",30,"Eastern","Atlanta" 42,"Great Lakes",100,"Midwest","Chicago" 51,"Plains",140,"Midwest","Dallas" 66,"Pacific",270,"Western","San Francisco" 84,"Mountain",290,"Western","Denver"
出力されたファイルを使用して表を復元する方法
ここでは復元されたデータを入力するデータベースが作成済みと仮定します。
表定義はあらかじめ db2look で取り出したもの、データベースの設計書に記載されたもの、古いデータベースのバックアップ (データは古いが定義は古くないもの) をリストアして db2look で取り出したものなどが使用可能です。ここでは、例として db2look で取り出し済みの表定義 (db2look_org.out)を使用します。
表定義はあらかじめ db2look で取り出したもの、データベースの設計書に記載されたもの、古いデータベースのバックアップ (データは古いが定義は古くないもの) をリストアして db2look で取り出したものなどが使用可能です。ここでは、例として db2look で取り出し済みの表定義 (db2look_org.out)を使用します。
- 復元先データベースにデータベース管理者として接続します。
db2 connect to <復元先データベース>
- 表定義を復元します。
db2 -tvf db2look_org.out
- 表データを復元します。
db2 "load from SAMPLE_TS2T14.DEL of del replace into org"
運用上の考慮点
- db2dart の /ddel オプションは LOB や XML 列のデータを取り出せません。
/ddel オプションがサポートしている列タイプは db2dart コマンドのマニュアルを参照してください。 - データベースに含まれる表名と表スペース ID、表 ID は以下の照会で一覧できます。
db2 "select TABSCHEMA,TABNAME,DATAPARTITIONID,TBSPACEID,PARTITIONOBJECTID from syscat.datapartitions"
関連情報
db2dart - データベース分析およびレポート・ツール・コマンド
[Db2] パスポート・アドバンテージによく寄せられる質問
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート
db2dart - データベース分析およびレポート・ツール・コマンド
[Db2] パスポート・アドバンテージによく寄せられる質問
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート
Document Location
Worldwide
[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PleAAE","label":"DB2 Tools-\u003Edb2dart and inspect"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
19 October 2023
UID
ibm17051169