Question & Answer
Question
データベース・バックアップのサイズを見積もる方法を教えてください。
Answer
確認方法1
おおよそのサイズは、表スペースのサイズや最高水準点から見積もることができます。
注:バックアップにはデータベース・メタ・データも含まれます。メタ・データが大きい場合、以下の見積もりは正確ではありません。
- SMS 表スペースの場合: 表スペース内の合計ページ数(TBSP_TOTAL_PAGES)
- DMS 表スペースの場合: 表スペース・ページの最高水準点(TBSP_MAX_PAGE_TOP)
たとえば、次のようにしてデータベース・パーティションごとのバックアップ・サイズを見積もります。
- MON_GET_TABLESPACE 表関数によるサイズ確認
$ db2 "select dbpartitionnum, sum(case when TBSP_TYPE='DMS' then TBSP_MAX_PAGE_TOP*TBSP_PAGE_SIZE else TBSP_TOTAL_PAGES*TBSP_PAGE_SIZE end) as size_in_bytes from table(mon_get_tablespace(null,-2)) as t group by dbpartitionnum" DBPARTITIONNUM SIZE_IN_BYTES -------------- -------------------- 0 1145085952 1 record(s) selected.
- 実際の(ファイル・システムへの)バックアップ
$ db2 backup database sample online to /work//BKUP Backup successful. The timestamp for this backup image is : 20180420182028
- 出力サイズの確認
ls -l や du コマンドで確認したサイズは、ステップ 1) で確認したサイズとほぼ一致しています。$ ls -l /work/BKUP/SAMPLE.0.db2inst1.DBPART000.20180420182028.001 -rw------- 1 db2inst1 db2iadm1 1225068544 Apr 20 18:20 /work/BKUP/SAMPLE.0.db2inst1.DBPART000.20180420182028.001 $ du /work/BKUP/SAMPLE.0.db2inst1.DBPART000.20180420182028.001 2392720 /work/BKUP/SAMPLE.0.db2inst1.DBPART000.20180420182028.001 $ echo "2392720*512" | bc 1225072640
確認方法2
より正確なサイズを確認したい場合は、一旦 NULL デバイス (/dev/null) にバックアップを取得し、db2diag.log にメディア・コントローラーが出力した書き出しサイズの合計よりバックアップ・サイズを確認します。
- NULL デバイスへのバックアップ実行
$ db2 backup database sample online to /dev/null Backup successful. The timestamp for this backup image is : 20180420182612
- db2diag.log の確認
$ db2diag -g 'function:=sqluxLogDataStats' 2018-04-20-18.26.20.774689+540 E71436A1589 LEVEL: Info PID : 24117460 TID : 16253 PROC : db2sysc 0 INSTANCE: db2inst1 NODE : 000 DB : SAMPLE APPHDL : 0-6333 APPID: *LOCAL.db2inst1.180420092610 AUTHID : DB2INST1 HOSTNAME: db2server EDUID : 16253 EDUNAME: db2agent (SAMPLE) 0 FUNCTION: DB2 UDB, database utilities, sqluxLogDataStats, probe:395 MESSAGE : Performance statistics DATA #1 : String, 1082 bytes Parallelism = 5 Number of buffers = 5 Buffer size = 16781312 (4097 4kB pages) BM# Total I/O MsgQ WaitQ Buffers kBytes --- -------- -------- -------- -------- -------- -------- 000 9.00 7.19 0.00 1.45 64 1004416 001 9.00 8.85 0.00 0.11 8 112832 002 8.99 0.03 0.00 8.96 1 608 003 8.99 0.01 0.00 8.98 1 384 004 8.99 0.00 0.00 8.99 0 0 --- -------- -------- -------- -------- -------- -------- TOT 44.99 16.09 0.00 28.50 74 1118240 MC# Total I/O MsgQ WaitQ Buffers kBytes --- -------- -------- -------- -------- -------- -------- 000 9.00 0.00 9.00 0.00 75 1196356 --- -------- -------- -------- -------- -------- -------- TOT 9.00 0.00 9.00 0.00 75 [1196356]
ここでは、1196356 * 1024 = 1225068544 Bytes と分かります。 - 実際の (ファイル・システムへの) バックアップ
$ db2 backup database sample online to /work/BKUP Backup successful. The timestamp for this backup image is : 20180420182639
- 出力サイズの確認
ls -l で確認したサイズは、ステップ 2) で確認したサイズと一致しています。$ ls -l /work/BKUP/SAMPLE.0.db2inst1.DBPART000.20180420182639.001 -rw------- 1 ktsuchiy db2iadm1 1225068544 Apr 20 18:27 /work/BKUP/SAMPLE.0.db2inst1.DBPART000.20180420182639.001
du コマンドの出力はブロック単位のため、若干の誤差が生じます。$ du /work/BKUP/SAMPLE.0.db2inst1.DBPART000.20180420182639.001 2392720 /work/BKUP/SAMPLE.0.db2inst1.DBPART000.20180420182639.001 $ echo "2392720*512" | bc 1225072640
※注意
上記の手法は、自動リカバリー・オブジェクト管理を有効にされている場合に、保存するデータベース・バックアップ数 (NUM_DB_BACKUPS) に指定した数より NULL デバイスにバックアップした回数だけ、実際のバックアップ数が減ることになりますのでご注意ください。(自動リカバリー・オブジェクト管理の解説についてはデータベース・リカバリー・オブジェクト管理の自動化をご参照ください)
自動リカバリー・オブジェクト管理の設定例:
$ db2 get db cfg for sample | egrep 'REC_HIS_RETENTN|NUM_DB_BACKUPS|AUTO_DEL_REC_OBJ'
保存するデータベース・バックアップ数 (NUM_DB_BACKUPS) = 3
リカバリー履歴保持 (日) (REC_HIS_RETENTN) = 0
リカバリー・オブジェクトの自動削除 (AUTO_DEL_REC_OBJ) = ON
関連情報
MON_GET_TABLESPACE 表関数 - 表スペース・メトリックの取得データベース・リカバリー・オブジェクト管理の自動化
パスポート・アドバンテージによく寄せられる質問
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート
[{"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":"a8m3p0000006wjpAAA","label":"Backup"}],"ARM Case Number":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"10.1.0;10.5.0;11.1.0;11.5.0"}]
Was this topic helpful?
Document Information
Modified date:
15 August 2023
UID
swg22015736