| 2006年4月28日(金) |
 |
さて、今回はRecoveryとMonitorの話でござる。
DB2 V8.2.2ではオートノミック・ストレージ機能に従って、RESTOREコマンドも機能拡張されました。例えば、以下のようなコマンドでデータベースを作成して、Backupをとりその後データベースを削除したとします。
| |
CREATE DATABASE TESTDB ON /fs1, /fs2, /fs3 DBPATH ON /fs4
|
ケース1
この場合、database pathもstorage pathも指定されていないので、DB2はdatabase
pathはインスタンス構成パラメーターの値とバックアップ・イメージの中のstorage
pathを使って、DB2はRESTOREを実行します。
- Databath path : dftdbpath (構成パラメーター)
- Storage path: /fs1, /fs2, /fs3
ケース2
| |
RESTORE DATABASE TESTDB TO /newfs1
|
この場合、database pathは指定されていますが、storage pathは指定されていないので、ケース1ど同じようにバックアップ・イメージの中のstorage
pathを使います。
- Database path: /newfs1
- Storage path: /fs1, /fs2, /fs3
ケース3
| |
RESTORE DATABASE TESTDB ON /newfs1, /newfs2
|
この場合、database pathとして、ON リストの最初のパスを使います。
- Database path: /newfs1
- Storage path: /newfs1, /newfs2
ケース4
| |
RESTORE DATABASE TESTDB ON /newfs1, /newfs2 DBPATH ON /newfs3
|
この場合、コマンドの指定どおりにRESTOREを実行します。
- Database path: /newfs3
- Storage path:/newfs1, /newfs2
ケース1〜4のいずれの場合も、もしデータベースが削除されていない場合は、RESTORE
コマンドで何を指定しても、既存のdatabase pathが使われます。
DB2には、データベース名、database path, 表スペースコンテナーのロケーションを変更できる便利なコマンドがあります。
| |
CREATE DATABASE TESTDB ON /DIR1, /DIR2, /DIR3
|
このstorage pathをDIRからNEWDIRに変更したい場合次のコマンドを実行します。
| |
db2relocatedb -f config.txt
|
ここで、config.txtは以下のように指定します。
| |
DB_NAME=TESTDB
INSTANCE=db2inst
DB_PATH=/DIR1, /NEWDIR1
STORAGE_PATH=/DIR1, /NEWDIR1
STORAGE_PATH=/DIR2, /NEWDIR2
STORAGE_PATH=/DIR3, /NEWDIR3
|
データベースがオートマティック・ストレージがenableになっていない場合、データベース・スナップショットでは以下のように表示されます。
| |
Number of automatic storage paths = o
|
オートマティック・ストレージがenableになっている場合は例えば次のように表示されます。
| |
Number of automatic storage paths = 2
Automatic storage path =/fs1
Automatic storage path =/fs2
|
スナップショットUDFを使うこともできます。
| |
select num_db_storage_paths from table(snap_get_db ('DBNAME', -1)as dbinfo
select db_storage_path from table (snap_get_sto_paths ('DBNAME' -1)) as stgpaths
|
他にも新しいUDFが多く提供されています。
| |
select tbsp_name,
tbsp_id,
tbsp_using_auto_storage,
tbsp_auto_resize_enabled
from table(snap_get_tbsp('TESTDB', -1) as tbsinfo
|
この例では表スペースの名前、タイプ、オートノミックがenableになっているかどうかの情報を返します。
| |
select tbsp_name,
tbsp_id,
dbpartitionnum,
tbsp_initial_size,
tbsp_current_size,
tbsp_max_size,
tbsp_increase_size,
tbsp_increase_size_percent,
tbsp_last_resize_time,
tbsp_last_resize_failed
from table(snap_get_tbsp_part('TESTDB', -1) as tbspartinfo
|
ここでは表スペースの現在のサイズ、使用サイズ、状態などの情報を返します。
オートマティック・ストレージに関してヘルス・インディケーターにも新しい項目が追加されています。
- データベース・オートノミック・ストレージ使用率:
| |
db.db_auto_storage_util=db.auto_storage_used/ db2.auto_storage_total)*100
|
これはdatabase storage pathのフリースペースをトラッキングします。
- 表スペース・オートマティック・リサイズ状況:
| |
ts.ts_auto_resize_status= Normal/Resize failed
|
これは表スペースの自動リサイズが成功したかどうかをトラッキングします。
- オートマティック・リサイズ表スペース使用率:
これは表スペースにmaximum sizeが定義されている場合、auto-resize表スペースの使用率をトラッキングします。
最後に、既存のnon-automatic storage databaseはautomatic storageには変更できませんし、また逆もできません。なぜなら、オートマティック・ストレージ・データベースは多数の重要なメタデータを持っているからです。auto-resizeに既存のDMS表スペースを変更することは可能です。ただし、Auto-resize
表スペースもメタデータを持っているので、そのままでは、DB2 V8.2.2ではそのままでは使えません。その場合、最初にその表スペースのauto-resizeをdisableにすることにより使用できるようになります。
さて、今回でオートマティック・ストレージは終了じゃ。難しかったかな?
それではさらばじゃ。

|
|
|