Question & Answer
Question
Db2 データベース・マネージャーを構成して、データベース・ログ・ファイル、バックアップ・イメージ、およびロード・コピー・イメージを、それらに関連するリカバリー履歴ファイルの項目が整理されるときに、自動的に削除するよう設定することができますが、時々、フル・データベース・バックアップ後も、いくつかのリカバリー・オブジェクトで期待通りの削除が行われない場合があります。
このような場合、期待通りの削除が行われずに残されたリカバリー・オブジェクトを、削除する方法はありますか。
Cause
リカバリー履歴ファイルの項目にあるリカバリー処理に依存するリカバリー・オブジェクト(例えば、バックアップ操作の項目の Earliest Log や Current Log)が、構成されたリカバリー・オブジェクトの自動削除でも保持されるべきリカバリー操作の項目で使用されている場合、たとえ、AUTO_DEL_REC_OBJ や NUM_DB_BACKUPS 等のリカバリー・オブジェクトの自動削除構成パラメーターで、自動削除される範囲に含まれていたとしても、フル・データベース・バックアップ後も自動削除されず、Db2 データベース・マネージャーによって残されます。
Answer
最新のバックアップ・リカバリー・オブジェクトを除き、どんなリカバリー・オブジェクトも、"WITH FORCE OPTION" を使用した "PRUNE HISTORY" コマンドで、削除することができますので、たとえ、構成されたリカバリー・オブジェクトの自動削除で期待通りの削除が行われずに残ったリカバリー・オブジェクトでも、明示的な "WITH FORCE OPTION" 付の "PRUNE HISTORY" コマンドで削除することが可能です。
例えば、データベースが、AUTO_DEL_REC_OBJ=ON と NUM_DB_BACKUPS=3 でのリカバリー・オブジェクトの自動削除が構成されているとします。
この場合、最新の 3つのバックアップ・イメージより古いものは、フル・データベース・バックアップ後、自動的に削除されるはずです。
しかし、もし、日付 "20180627095024" のバックアップ・イメージが、日付 "20180627095855" のリストア・データベース操作(これは、最新の 3つのバックアップ・イメージの日付の範囲 20180627095405 - 20180627100118 に入っています)で使用されている場合、日付 "20180627095024" のバックアップ・イメージは、たとえ、構成された自動削除で残されるべき最新の 3つのバックアップ・イメージの日付の範囲に入っていなくても、フル・データベース・バックアップ後も自動削除されず、Db2 データベース・マネージャーによって残されます。
このような場合は、明示的に "WITH FORCE OPTION" 付の "PRUNE HISTORY" コマンドを使用して、日付 "20180627095024" のバックアップ・イメージの削除が可能です。詳しくは、"明示的なリカバリー・オブジェクトの削除の例" をご参照ください。
例、db2 prune history 20180627095405 with force option and delete
* 明示的なリカバリー・オブジェクトの削除の例 - "WITH FORCE OPTION" 付の "PRUNE HISTORY" コマンドの使用
$ db2 create db TESTDB on /work/hiros/DB
$ db2 update db cfg for TESTDB using AUTO_DEL_REC_OBJ ON NUM_DB_BACKUPS 3 REC_HIS_RETENTN 0
$ db2 update db cfg for TESTDB using SOFTMAX 300 LOGBUFSZ 64 LOGFILSIZ 256 LOGPRIMARY 3 LOGSECOND 2 TRACKMOD YES LOGARCHMETH1 disk:/work/db2inst1/DB/LOG
$ db2 update db cfg for TESTDB using AUTO_DEL_REC_OBJ ON NUM_DB_BACKUPS 3 REC_HIS_RETENTN 0
$ db2 update db cfg for TESTDB using SOFTMAX 300 LOGBUFSZ 64 LOGFILSIZ 256 LOGPRIMARY 3 LOGSECOND 2 TRACKMOD YES LOGARCHMETH1 disk:/work/db2inst1/DB/LOG
$ db2 get db cfg for TESTDB
Changed path to log files (NEWLOGPATH) =
Path to log files = /work/hiros/DB/e111q3a/NODE0000/SQL00001/LOGSTREAM0000/
First log archive method (LOGARCHMETH1) = DISK:/work/hiros/DB/LOG/
Number of database backups to retain (NUM_DB_BACKUPS) = 3
Recovery history retention (days) (REC_HIS_RETENTN) = 0
Auto deletion of recovery objects (AUTO_DEL_REC_OBJ) = ON
Path to log files = /work/hiros/DB/e111q3a/NODE0000/SQL00001/LOGSTREAM0000/
First log archive method (LOGARCHMETH1) = DISK:/work/hiros/DB/LOG/
Number of database backups to retain (NUM_DB_BACKUPS) = 3
Recovery history retention (days) (REC_HIS_RETENTN) = 0
Auto deletion of recovery objects (AUTO_DEL_REC_OBJ) = ON
$ db2 backup db TESTDB to /work/hiros/DB/BACKUP/e111q3a
Backup successful. The timestamp for this backup image is : 20180627095024
Backup successful. The timestamp for this backup image is : 20180627095024
$ db2 list history all for TESTDB | grep -e "^Number" -e "^ B" -e "^ X" -e "^ A" -e "^ R" -e "^ F"
Number of matching file entries = 1
B D 20180627095024001 F D S0000000.LOG S0000000.LOG
Number of matching file entries = 1
B D 20180627095024001 F D S0000000.LOG S0000000.LOG
$ db2 connect to TESTDB
$ db2 "create table TAB01 ( ID int, DATA char(16) )"
$ db2 "create table TAB01 ( ID int, DATA char(16) )"
$ db2 "insert into TAB01 with DT(tval) as ( values(0) union all select tval+1 from DT where tval < 9999 ) select tval as ID, char(tval) as DATA from DT"
$ db2 +c "insert into TAB01 with DT(tval) as ( values(10000) union all select tval+1 from DT where tval < 19999 ) select tval as ID, char(tval) as DATA from DT"
$ db2 backup db TESTDB online to /work/hiros/DB/BACKUP/e111q3a
Backup successful. The timestamp for this backup image is : 20180627095405
Backup successful. The timestamp for this backup image is : 20180627095405
$ db2 list history all for TESTDB | grep -e "^Number" -e "^ B" -e "^ X" -e "^ A" -e "^ R" -e "^ F"
Number of matching file entries = 5
B D 20180627095024001 F D S0000000.LOG S0000000.LOG
X D 20180627095141 1 D S0000000.LOG C0000000
X D 20180627095236 1 D S0000001.LOG C0000000
X D 20180627095408 P D S0000002.LOG C0000000
B D 20180627095405001 N D S0000000.LOG S0000001.LOG
Number of matching file entries = 5
B D 20180627095024001 F D S0000000.LOG S0000000.LOG
X D 20180627095141 1 D S0000000.LOG C0000000
X D 20180627095236 1 D S0000001.LOG C0000000
X D 20180627095408 P D S0000002.LOG C0000000
B D 20180627095405001 N D S0000000.LOG S0000001.LOG
$ db2 terminate
$ db2 backup db TESTDB to /work/hiros/DB/BACKUP/e111q3a
Backup successful. The timestamp for this backup image is : 20180627095649
$ db2 backup db TESTDB to /work/hiros/DB/BACKUP/e111q3a
Backup successful. The timestamp for this backup image is : 20180627095649
$ db2 list history all for TESTDB | grep -e "^Number" -e "^ B" -e "^ X" -e "^ A" -e "^ R" -e "^ F"
Number of matching file entries = 6
B D 20180627095024001 F D S0000000.LOG S0000000.LOG
X D 20180627095141 1 D S0000000.LOG C0000000
X D 20180627095236 1 D S0000001.LOG C0000000
X D 20180627095408 1 D S0000002.LOG C0000000
B D 20180627095405001 N D S0000000.LOG S0000001.LOG
B D 20180627095649001 F D S0000003.LOG S0000003.LOG
Number of matching file entries = 6
B D 20180627095024001 F D S0000000.LOG S0000000.LOG
X D 20180627095141 1 D S0000000.LOG C0000000
X D 20180627095236 1 D S0000001.LOG C0000000
X D 20180627095408 1 D S0000002.LOG C0000000
B D 20180627095405001 N D S0000000.LOG S0000001.LOG
B D 20180627095649001 F D S0000003.LOG S0000003.LOG
$ db2 restore db TESTDB from /work/hiros/DB/BACKUP/e111q3a taken at 20180627095024 replace existing without rolling forward
SQL2539W The specified name of the backup image to restore is the same as the
name of the target database. Restoring to an existing database that is the
same as the backup image database will cause the current database to be
overwritten by the backup version.
DB20000I The RESTORE DATABASE command completed successfully.
SQL2539W The specified name of the backup image to restore is the same as the
name of the target database. Restoring to an existing database that is the
same as the backup image database will cause the current database to be
overwritten by the backup version.
DB20000I The RESTORE DATABASE command completed successfully.
$ db2 connect to TESTDB
... run some transactions ...
... run some transactions ...
$ db2 backup db TESTDB online to /work/hiros/DB/BACKUP/e111q3a
Backup successful. The timestamp for this backup image is : 20180627100118
Backup successful. The timestamp for this backup image is : 20180627100118
==>
このとき、たとえ、フル・データベース・バックアップ後も、4番目に新しいバックアップは、自動削除されずに残ります。
このとき、たとえ、フル・データベース・バックアップ後も、4番目に新しいバックアップは、自動削除されずに残ります。
$ db2 list history all for TESTDB | grep -e "^Number" -e "^ B" -e "^ X" -e "^ A" -e "^ R" -e "^ F"
Number of matching file entries = 11
B D 20180627095024001 F D S0000000.LOG S0000000.LOG
X D 20180627095141 1 D S0000000.LOG C0000000
X D 20180627095236 1 D S0000001.LOG C0000000
X D 20180627095408 1 D S0000002.LOG C0000000
B D 20180627095405001 N D S0000000.LOG S0000001.LOG
B D 20180627095649001 F D S0000003.LOG S0000003.LOG
R D 20180627095855001 F S0000000.LOG S0000000.LOG 20180627095024
X D 20180627100119 1 D S0000000.LOG C0000001
X D 20180627100120 P D S0000001.LOG C0000001
B D 20180627100118001 N D S0000000.LOG S0000000.LOG
A P 20180627100129
Number of matching file entries = 11
B D 20180627095024001 F D S0000000.LOG S0000000.LOG
X D 20180627095141 1 D S0000000.LOG C0000000
X D 20180627095236 1 D S0000001.LOG C0000000
X D 20180627095408 1 D S0000002.LOG C0000000
B D 20180627095405001 N D S0000000.LOG S0000001.LOG
B D 20180627095649001 F D S0000003.LOG S0000003.LOG
R D 20180627095855001 F S0000000.LOG S0000000.LOG 20180627095024
X D 20180627100119 1 D S0000000.LOG C0000001
X D 20180627100120 P D S0000001.LOG C0000001
B D 20180627100118001 N D S0000000.LOG S0000000.LOG
A P 20180627100129
$ ls -la /work/hiros/DB/BACKUP/e111q3a
total 1278528
drwxr-xr-x 2 e111q3a db2users 256 Jun 27 10:01 .
drwxrwxrwx 8 hiros jpncs 4096 Jun 27 09:49 ..
-rw------- 1 e111q3a db2users 151064576 Jun 27 09:50 TESTDB.0.e111q3a.DBPART000.20180627095024.001
-rw------- 1 e111q3a db2users 184627200 Jun 27 09:54 TESTDB.0.e111q3a.DBPART000.20180627095405.001
-rw------- 1 e111q3a db2users 151064576 Jun 27 09:56 TESTDB.0.e111q3a.DBPART000.20180627095649.001
-rw------- 1 e111q3a db2users 167845888 Jun 27 10:01 TESTDB.0.e111q3a.DBPART000.20180627100118.001
total 1278528
drwxr-xr-x 2 e111q3a db2users 256 Jun 27 10:01 .
drwxrwxrwx 8 hiros jpncs 4096 Jun 27 09:49 ..
-rw------- 1 e111q3a db2users 151064576 Jun 27 09:50 TESTDB.0.e111q3a.DBPART000.20180627095024.001
-rw------- 1 e111q3a db2users 184627200 Jun 27 09:54 TESTDB.0.e111q3a.DBPART000.20180627095405.001
-rw------- 1 e111q3a db2users 151064576 Jun 27 09:56 TESTDB.0.e111q3a.DBPART000.20180627095649.001
-rw------- 1 e111q3a db2users 167845888 Jun 27 10:01 TESTDB.0.e111q3a.DBPART000.20180627100118.001
$ ls -lR /work/hiros/DB/LOG/e111q3a
...
/work/hiros/DB/LOG/e111q3a/TESTDB/NODE0000/LOGSTREAM0000/C0000000:
total 3632
-rw-r----- 1 e111q3a db2users 1056768 Jun 27 09:52 S0000000.LOG
-rw-r----- 1 e111q3a db2users 790528 Jun 27 09:54 S0000001.LOG
-rw-r----- 1 e111q3a db2users 12288 Jun 27 09:56 S0000002.LOG
...
/work/hiros/DB/LOG/e111q3a/TESTDB/NODE0000/LOGSTREAM0000/C0000000:
total 3632
-rw-r----- 1 e111q3a db2users 1056768 Jun 27 09:52 S0000000.LOG
-rw-r----- 1 e111q3a db2users 790528 Jun 27 09:54 S0000001.LOG
-rw-r----- 1 e111q3a db2users 12288 Jun 27 09:56 S0000002.LOG
/work/hiros/DB/LOG/e111q3a/TESTDB/NODE0000/LOGSTREAM0000/C0000001:
total 24
-rw-r----- 1 e111q3a db2users 12288 Jun 27 10:01 S0000000.LOG
total 24
-rw-r----- 1 e111q3a db2users 12288 Jun 27 10:01 S0000000.LOG
==>
このとき、TIMESTAMP 20180627095405 を指定した、"WITH FORCE OPTION" 付の "PRUNE HISTORY" コマンドを使用すると、TIMESTAMP 20180627095405 を含むそれ以前のリカバリー・オブジェクトが削除されます。
このとき、TIMESTAMP 20180627095405 を指定した、"WITH FORCE OPTION" 付の "PRUNE HISTORY" コマンドを使用すると、TIMESTAMP 20180627095405 を含むそれ以前のリカバリー・オブジェクトが削除されます。
$ db2 prune history 20180627095405 with force option and delete
$ db2 list history all for TESTDB | grep -e "^Number" -e "^ B" -e "^ X" -e "^ A" -e "^ R" -e "^ F"
Number of matching file entries = 7
X D 20180627095408 1 D S0000002.LOG C0000000
B D 20180627095649001 F D S0000003.LOG S0000003.LOG
R D 20180627095855001 F S0000000.LOG S0000000.LOG 20180627095024
X D 20180627100119 1 D S0000000.LOG C0000001
X D 20180627100120 P D S0000001.LOG C0000001
B D 20180627100118001 N D S0000000.LOG S0000000.LOG
A P 20180627100129
Number of matching file entries = 7
X D 20180627095408 1 D S0000002.LOG C0000000
B D 20180627095649001 F D S0000003.LOG S0000003.LOG
R D 20180627095855001 F S0000000.LOG S0000000.LOG 20180627095024
X D 20180627100119 1 D S0000000.LOG C0000001
X D 20180627100120 P D S0000001.LOG C0000001
B D 20180627100118001 N D S0000000.LOG S0000000.LOG
A P 20180627100129
$ ls -la /work/hiros/DB/BACKUP/e111q3a
total 622880
drwxr-xr-x 2 e111q3a db2users 256 Jun 27 10:20 .
drwxrwxrwx 8 hiros jpncs 4096 Jun 27 09:49 ..
-rw------- 1 e111q3a db2users 151064576 Jun 27 09:56 TESTDB.0.e111q3a.DBPART000.20180627095649.001
-rw------- 1 e111q3a db2users 167845888 Jun 27 10:01 TESTDB.0.e111q3a.DBPART000.20180627100118.001
total 622880
drwxr-xr-x 2 e111q3a db2users 256 Jun 27 10:20 .
drwxrwxrwx 8 hiros jpncs 4096 Jun 27 09:49 ..
-rw------- 1 e111q3a db2users 151064576 Jun 27 09:56 TESTDB.0.e111q3a.DBPART000.20180627095649.001
-rw------- 1 e111q3a db2users 167845888 Jun 27 10:01 TESTDB.0.e111q3a.DBPART000.20180627100118.001
$ ls -lR /work/hiros/DB/LOG/e111q3a
...
/work/hiros/DB/LOG/e111q3a/TESTDB/NODE0000/LOGSTREAM0000/C0000000:
total 24
-rw-r----- 1 e111q3a db2users 12288 Jun 27 09:56 S0000002.LOG
...
/work/hiros/DB/LOG/e111q3a/TESTDB/NODE0000/LOGSTREAM0000/C0000000:
total 24
-rw-r----- 1 e111q3a db2users 12288 Jun 27 09:56 S0000002.LOG
/work/hiros/DB/LOG/e111q3a/TESTDB/NODE0000/LOGSTREAM0000/C0000001:
total 24
-rw-r----- 1 e111q3a db2users 12288 Jun 27 10:01 S0000000.LOG
total 24
-rw-r----- 1 e111q3a db2users 12288 Jun 27 10:01 S0000000.LOG
Related Information
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Component":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Was this topic helpful?
Document Information
Modified date:
21 May 2019
UID
ibm10885098