zhuhichn 发表于 2013-1-13 18:29:12

实战演练

88504018喜欢 db2 java的朋友进来了
 
DELTA增量备份和恢复

增量备份只有在中大型,每天有很多更新的数据库中才能体现其价值。
这里只演示其用法。
DELTA的增量恢复需要
全备份(或者+INCREMENTAL备份)+全部DELTA增量备份+增量备份后的LOG。

1.增量备份需要启动归档日志和设置TRACKMOD
设置参考实战演练 - 06

2.备份
CMD: db2 backup database sample to /mnt/hgfs/F/backup/
Backup successful. The timestamp for this backup image is : 20100630154106

3.建立测试表
CMD: db2 connect to sample
CMD: db2 "create table TEST_DELTA (ID INT NOT NULL GENERATED ALWAYS A
S IDENTITY (START WITH 1, INCREMENT BY 1, NO CACHE), MSG CHAR(20))"
DB20000I  The SQL command completed successfully.

4.插入数据并进行DELTA增量备份
CMD: db2 "insert into TEST_DELTA (MSG) VALUES('db2china.net'),('db2china.net'),('db2china.net')"
DB20000I  The SQL command completed successfully.
CMD: db2 "select * from test_delta"
ID          MSG
----------- --------------------
          1 db2china.net
          2 db2china.net
          3 db2china.net
  3 record(s) selected.
CMD: db2 backup database sample incremental delta to /mnt/hgfs/F/backup/
Backup successful. The timestamp for this backup image is : 20100630154408

CMD: db2 connect to sample
CMD: db2 "insert into TEST_DELTA (MSG) VALUES('db2china.net'),('db2china.net'),('db2china.net')"
DB20000I  The SQL command completed successfully.
CMD: db2 "select * from test_delta"
ID          MSG
----------- --------------------
          1 db2china.net
          2 db2china.net
          3 db2china.net
          4 db2china.net
          5 db2china.net
          6 db2china.net
  6 record(s) selected.
CMD: db2 backup database sample incremental delta to /mnt/hgfs/F/backup/
Backup successful. The timestamp for this backup image is : 20100630154505
CMD: db2 connect to sample
CMD: db2 "insert into TEST_DELTA (MSG) VALUES('db2china.net'),('db2china.net'),('db2china.net')"
DB20000I  The SQL command completed successfully.
CMD: db2 "insert into TEST_DELTA (MSG) VALUES('db2china.net'),('db2china.net'),('db2china.net')"
DB20000I  The SQL command completed successfully.
CMD: db2 "select * from test_delta"
ID          MSG
----------- --------------------
          1 db2china.net
          2 db2china.net
          3 db2china.net
          4 db2china.net
          5 db2china.net
          6 db2china.net
          7 db2china.net
          8 db2china.net
          9 db2china.net
         10 db2china.net
         11 db2china.net
         12 db2china.net
  12 record(s) selected.
CMD: db2 backup database sample incremental delta to /mnt/hgfs/F/backup/
Backup successful. The timestamp for this backup image is : 20100630154611
CMD: db2 connect to sample
   Database Connection Information
 Database server        = DB2/LINUXX8664 9.7.1
 SQL authorization ID   = DB2INST1
 Local database alias   = SAMPLE
CMD: db2 "insert into TEST_DELTA (MSG) VALUES('db2china.net'),('db2china.net'),('db2china.net')"
DB20000I  The SQL command completed successfully.
CMD: db2 "select * from test_delta"

ID          MSG
----------- --------------------
          1 db2china.net
          2 db2china.net
          3 db2china.net
          4 db2china.net
          5 db2china.net
          6 db2china.net
          7 db2china.net
          8 db2china.net
          9 db2china.net
         10 db2china.net
         11 db2china.net
         12 db2china.net
         13 db2china.net
         14 db2china.net
         15 db2china.net
  15 record(s) selected.
CMD: db2 connect reset
DB20000I  The SQL command completed successfully.

5.故障,表空间误删除
CMD: rm -fR db2inst1/NODE0000/SAMPLE/*
CMD: db2 connect to sample
SQL0293N  Error accessing a table space container.  SQLSTATE=57048

6.把 SAMPLE.0.db2inst1.NODE0000.CATN0000.20100630154505.001 备份镜像移动到另外
的目录,并进行数据库恢复,出现错误提示,恢复无法进行
CMD: db2 "restore db sample INCREMENTAL AUTOMATIC from /mnt/hgfs/F/backup/ taken at 20100630154611"
SQL2539W  Warning!  Restoring to an existing database that is the same as the
backup image database.  The database files will be deleted.
Do you want to continue ? (y/n) y
SQL2542N  No match for a database image file was found based on the source
database alias "SAMPLE" and timestamp "20100630154505" provided.

7.放弃恢复
CMD: db2 "restore db sample INCREMENTAL ABORT from /mnt/hgfs/F/backup
/ taken at 20100630154611"
SQL2001N  The utility was interrupted.  The output data may be incomplete.

8.把 SAMPLE.0.db2inst1.NODE0000.CATN0000.20100630154505.001 备份镜像移回
备份后的所在目录,并重新启动恢复
CMD: db2 "restore db sample INCREMENTAL AUTOMATIC from /mnt/hgfs/F/backup/ taken at 20100630154611"
SQL2539W  Warning!  Restoring to an existing database that is the same as the
backup image database.  The database files will be deleted.
Do you want to continue ? (y/n) y
DB20000I  The RESTORE DATABASE command completed successfully.

9.恢复后数据库处于前滚恢复状态(ROLL-FORWARD PENDING)
CMD: db2 connect to sample
SQL1117N  A connection to or activation of database "SAMPLE" cannot be made
because of ROLL-FORWARD PENDING.  SQLSTATE=57019

10.到LOG末尾的前滚恢复
CMD: db2 rollforward database sample to end of logs and complete
                                 Rollforward Status
 Input database alias                   = sample
 Number of nodes have returned status   = 1

 Node number                            = 0
 Rollforward status                     = not pending
 Next log file to be read               =
 Log files processed                    = S0000012.LOG - S0000012.LOG
 Last committed transaction             = 2010-06-30-07.46.35.000000 UTC

DB20000I  The ROLLFORWARD command completed successfully.

11.检查数据,结果正常
CMD: db2 connect to sample

   Database Connection Information

 Database server        = DB2/LINUXX8664 9.7.1
 SQL authorization ID   = DB2INST1
 Local database alias   = SAMPLE

CMD: db2 "select * from test_delta"

ID          MSG
----------- --------------------
          1 db2china.net
          2 db2china.net
          3 db2china.net
          4 db2china.net
          5 db2china.net
          6 db2china.net
          7 db2china.net
          8 db2china.net
          9 db2china.net
         10 db2china.net
         11 db2china.net
         12 db2china.net
         13 db2china.net
         14 db2china.net
         15 db2china.net

  15 record(s) selected.
页: [1]
查看完整版本: 实战演练