签到成功

知道了

CNDBA社区CNDBA社区

rhel7.9上db2数据库异机恢复

作者: Anshen
db2数据库异机恢复


环境介绍:
端:172.16.1.110  数据库db2 版本v11.5  数据库名称:yxdb
恢复端:172.16.1.121 数据库db2 版本v11.5  数据库名称:test



在源端进行操作:
1.数据库整机备份
db2 backup database yxdb online to  /opt/backup    compress  INCLUDE LOGS

2.查看归档日志

[db2inst1@pripdb LOGSTREAM0000]$ db2     get db  cfg  for yxdb | grep -i log 
 Log retain for recovery status                          = NO
 User exit for logging status                            = YES
 Catalog cache size (4KB)              (CATALOGCACHE_SZ) = 300
 Log buffer size (4KB)                        (LOGBUFSZ) = 2151
 Active log space disk capacity (4KB)     (LOG_DISK_CAP) = 0
 Log file size (4KB)                         (LOGFILSIZ) = 4096
 Number of primary log files                (LOGPRIMARY) = 10
 Number of secondary log files               (LOGSECOND) = 20
 Changed path to log files                  (NEWLOGPATH) = 
 Path to log files                                       = /db2_data/redo_log/NODE0000/LOGSTREAM0000/
 Overflow log path                     (OVERFLOWLOGPATH) = 
 Mirror log path                         (MIRRORLOGPATH) = 
 First active log file                                   = S0000040.LOG
 Block log on disk full                (BLK_LOG_DSK_FUL) = NO
 Block non logged operations            (BLOCKNONLOGGED) = NO
 Percent max primary log space by transaction  (MAX_LOG) = 0
 Num. of active log files for 1 active UOW(NUM_LOG_SPAN) = 0
 Percent log file reclaimed before soft chckpt (SOFTMAX) = 0
 HADR log write synchronization mode     (HADR_SYNCMODE) = ASYNC
 HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(122880)
 HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0
 First log archive method                 (LOGARCHMETH1) = DISK:/db2_data/archive_log/
 Archive compression for logarchmeth1    (LOGARCHCOMPR1) = OFF
 Options for logarchmeth1                  (LOGARCHOPT1) = 
 Second log archive method                (LOGARCHMETH2) = OFF
 Archive compression for logarchmeth2    (LOGARCHCOMPR2) = OFF
 Options for logarchmeth2                  (LOGARCHOPT2) = 
 Failover log archive path                (FAILARCHPATH) = 
 Number of log archive retries on error   (NUMARCHRETRY) = 5
 Log archive retry Delay (secs)         (ARCHRETRYDELAY) = 20
 Log pages during index build            (LOGINDEXBUILD) = ON
 Log DDL Statements                      (LOG_DDL_STMTS) = NO
 Log Application Information             (LOG_APPL_INFO) = NO
 
 
3.将全备备份片和归档日志拷贝到172.16.1.121上
scp -r   /opt/backup    root@172.16.1.121:/opt/backup 
scp -r   /db2_data/archive_log/  root@172.16.1.121:/opt/backup 


4.在目标机上安装db2数据库软件和创建instance

5.启动instance
db2start 


6.预恢复生成clp文件

db2 "restore db YXDB from /opt/backup taken at 20250914165747 /
     on '/oradata/test' /
     into test /
     redirect generate script restore_test.clp"

编辑修改clp文件

UPDATE COMMAND OPTIONS USING S ON Z ON YXDB_NODE0000.out V ON;
SET CLIENT ATTACH_MEMBER  0;
SET CLIENT CONNECT_MEMBER 0;
RESTORE DATABASE YXDB FROM '/opt/backup' TAKEN AT 20250914165747 ON '/oradata/test' DBPATH ON '/oradata/test' INTO TEST REDIRECT ;
SET TABLESPACE CONTAINERS FOR 4 USING (    FILE   '/oradata/data_test/tbs_data01.dbf' 65536 );
SET TABLESPACE CONTAINERS FOR 5 USING (    FILE   '/oradata/data_test/idx_tbs01.dbf' 65536 );
SET TABLESPACE CONTAINERS FOR 6 USING (    FILE   '/oradata/data_test/anshen_8_1.dbf' 262144 );
SET TABLESPACE CONTAINERS FOR 7 USING (    FILE   '/oradata/data_test/anshen_8_2.dbf' 262144 ); 
SET TABLESPACE CONTAINERS FOR 8 USING (    FILE   '/oradata/data_test/anshen_16_1.dbf' 131072 ); 
SET TABLESPACE CONTAINERS FOR 9 USING (    FILE   '/oradata/data_test/anshen_16_2.dbf' 131072 ); 
SET TABLESPACE CONTAINERS FOR 10 USING (   FILE   '/oradata/data_test/idx_anshen_8_1.dbf' 262144 ); 
SET TABLESPACE CONTAINERS FOR 11 USING (   FILE   '/oradata/data_test/idx_anshen_16_1.dbf' 131072 );
RESTORE DATABASE YXDB CONTINUE;


7.执行恢复操作
db2 -tvf  restore_test.clp

[db2inst1@db2recover1 ~]$ db2  -tvf  restore_test.clp 
UPDATE COMMAND OPTIONS USING S ON Z ON YXDB_NODE0000.out V ON
DB20000I  The UPDATE COMMAND OPTIONS command completed successfully.

SET CLIENT ATTACH_MEMBER  0
DB20000I  The SET CLIENT command completed successfully.

SET CLIENT CONNECT_MEMBER 0
DB20000I  The SET CLIENT command completed successfully.

RESTORE DATABASE YXDB FROM '/opt/backup' TAKEN AT 20250914165747 ON '/oradata/test' DBPATH ON '/oradata/test' INTO TEST REDIRECT
SQL1277W  A redirected restore operation is being performed. During a table 
space restore, only table spaces being restored can have their paths 
reconfigured. During a database restore, storage group storage paths and DMS 
table space containers can be reconfigured.
DB20000I  The RESTORE DATABASE command completed successfully.

SET TABLESPACE CONTAINERS FOR 4 USING ( FILE   '/oradata/data_test/tbs_data01.dbf'                          65536 )
DB20000I  The SET TABLESPACE CONTAINERS command completed successfully.

SET TABLESPACE CONTAINERS FOR 5 USING ( FILE   '/oradata/data_test/idx_tbs01.dbf'                            65536 )
DB20000I  The SET TABLESPACE CONTAINERS command completed successfully.

SET TABLESPACE CONTAINERS FOR 6 USING ( FILE   '/oradata/data_test/anshen_8_1.dbf'                         262144 )
DB20000I  The SET TABLESPACE CONTAINERS command completed successfully.

SET TABLESPACE CONTAINERS FOR 7 USING ( FILE   '/oradata/data_test/anshen_8_2.dbf'                         262144 )
DB20000I  The SET TABLESPACE CONTAINERS command completed successfully.

SET TABLESPACE CONTAINERS FOR 8 USING ( FILE   '/oradata/data_test/anshen_16_1.dbf'                        131072 )
DB20000I  The SET TABLESPACE CONTAINERS command completed successfully.

SET TABLESPACE CONTAINERS FOR 9 USING ( FILE   '/oradata/data_test/anshen_16_2.dbf'                        131072 )
DB20000I  The SET TABLESPACE CONTAINERS command completed successfully.

SET TABLESPACE CONTAINERS FOR 10 USING ( FILE   '/oradata/data_test/idx_anshen_8_1.dbf'                      262144 )
DB20000I  The SET TABLESPACE CONTAINERS command completed successfully.

SET TABLESPACE CONTAINERS FOR 11 USING ( FILE   '/oradata/data_test/idx_anshen_16_1.dbf'                     131072 )
DB20000I  The SET TABLESPACE CONTAINERS command completed successfully.

RESTORE DATABASE YXDB CONTINUE
DB20000I  The RESTORE DATABASE command completed successfully.

恢复完成

8.执行恢复日志并且end backup logs
之前拷贝的归档日志,此时需要end 

[db2inst1@db2recover1 ~]$ 
[db2inst1@db2recover1 ~]$ db2 "rollforward db test to end of logs and stop overflow log path (/opt/backup/NODE0000/LOGSTREAM0000/LOGSTREAM0000/C0000000)"

                                 Rollforward Status

 Input database alias                   = test
 Number of members have returned status = 1

 Member ID                              = 0
 Rollforward status                     = not pending
 Next log file to be read               =
 Log files processed                    = S0000035.LOG - S0000038.LOG
 Last committed transaction             = 2025-09-14-08.57.50.000000 UTC

DB20000I  The ROLLFORWARD command completed successfully.
[db2inst1@db2recover1 ~]$ 
至此,DB2数据库恢复完成

9.修改redo和归档日志

退出登录的session
[db2inst1@db2recover1 ~]$ db2  connect reset 
DB20000I  The SQL command completed successfully.
[db2inst1@db2recover1 ~]$ 
[db2inst1@db2recover1 ~]$ db2  terminate 
DB20000I  The TERMINATE command completed successfully.
[db2inst1@db2recover1 ~]$ 

deactivate database 去激活数据库
[db2inst1@db2recover1 ~]$ db2  deactivate  db  test 
DB20000I  The DEACTIVATE DATABASE command completed successfully.
[db2inst1@db2recover1 ~]$ 
[db2inst1@db2recover1 ~]$ 
设置活动日志redo[类似oracle的 redo ]
[db2inst1@db2recover1 ~]$ db2 "update db cfg for TEST using NEWLOGPATH      /oradata/test_redo_log"
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.
[db2inst1@db2recover1 ~]$ 
[db2inst1@db2recover1 ~]$ 
设置归档位置
[db2inst1@db2recover1 ~]$ db2 "update db cfg for TEST using LOGARCHMETH1    'DISK:/oradata/test_arch'"
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.
[db2inst1@db2recover1 ~]$ 
[db2inst1@db2recover1 ~]$ 
激活数据库
[db2inst1@db2recover1 ~]$ db2   activate  database test 
DB20000I  The ACTIVATE DATABASE command completed successfully.
[db2inst1@db2recover1 ~]$ 
[db2inst1@db2recover1 ~]$ 
[db2inst1@db2recover1 ~]$ 

切换归档日志

[db2inst1@db2recover1 ~]$ db2 archive log for db test
DB20000I  The ARCHIVE LOG command completed successfully.
[db2inst1@db2recover1 ~]$ db2 archive log for db test
DB20000I  The ARCHIVE LOG command completed successfully.
[db2inst1@db2recover1 ~]$ db2 archive log for db test
DB20000I  The ARCHIVE LOG command completed successfully.
[db2inst1@db2recover1 ~]$ ls -lrt /oradata/test_arch/db2inst1/TEST/NODE0000/LOGSTREAM0000/C0000001/S000004
S0000040.LOG  S0000041.LOG  S0000042.LOG  
[db2inst1@db2recover1 ~]$ ls -lrt /oradata/test_arch/db2inst1/TEST/NODE0000/LOGSTREAM0000/C0000001/S000004*
-rw-r-----. 1 db2inst1 db2iadm1 57344 Sep 14 18:31 /oradata/test_arch/db2inst1/TEST/NODE0000/LOGSTREAM0000/C0000001/S0000040.LOG
-rw-r-----. 1 db2inst1 db2iadm1 12288 Sep 14 18:31 /oradata/test_arch/db2inst1/TEST/NODE0000/LOGSTREAM0000/C0000001/S0000041.LOG
-rw-r-----. 1 db2inst1 db2iadm1 12288 Sep 14 18:31 /oradata/test_arch/db2inst1/TEST/NODE0000/LOGSTREAM0000/C0000001/S0000042.LOG
[db2inst1@db2recover1 ~]$ 
[db2inst1@db2recover1 ~]$ 
[db2inst1@db2recover1 ~]$ db2 archive log for db test
DB20000I  The ARCHIVE LOG command completed successfully.
[db2inst1@db2recover1 ~]$ 
[db2inst1@db2recover1 ~]$ db2 archive log for db test
DB20000I  The ARCHIVE LOG command completed successfully.
[db2inst1@db2recover1 ~]$ ls -lrt /oradata/test_arch/db2inst1/TEST/NODE0000/LOGSTREAM0000/C0000001/S000004*
-rw-r-----. 1 db2inst1 db2iadm1 57344 Sep 14 18:31 /oradata/test_arch/db2inst1/TEST/NODE0000/LOGSTREAM0000/C0000001/S0000040.LOG
-rw-r-----. 1 db2inst1 db2iadm1 12288 Sep 14 18:31 /oradata/test_arch/db2inst1/TEST/NODE0000/LOGSTREAM0000/C0000001/S0000041.LOG
-rw-r-----. 1 db2inst1 db2iadm1 12288 Sep 14 18:31 /oradata/test_arch/db2inst1/TEST/NODE0000/LOGSTREAM0000/C0000001/S0000042.LOG
-rw-r-----. 1 db2inst1 db2iadm1 12288 Sep 14 18:31 /oradata/test_arch/db2inst1/TEST/NODE0000/LOGSTREAM0000/C0000001/S0000043.LOG
-rw-r-----. 1 db2inst1 db2iadm1 12288 Sep 14 18:31 /oradata/test_arch/db2inst1/TEST/NODE0000/LOGSTREAM0000/C0000001/S0000044.LOG
[db2inst1@db2recover1 ~]$ 



[db2inst1@db2recover1 ~]$ db2 list db  directory 

 System Database Directory

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = TEST
 Database name                        = TEST
 Local database directory             = /oradata/test
 Database release level               = 15.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

[db2inst1@db2recover1 ~]$ db2 list active  databases

                           Active Databases

Database name                              = TEST
Applications connected currently           = 0
Database path                              = /oradata/test/db2inst1/NODE0000/SQL00001/MEMBER0000/

[db2inst1@db2recover1 ~]$ 











http://www.cndba.cn/redhat/article/131721
http://www.cndba.cn/redhat/article/131721
http://www.cndba.cn/redhat/article/131721 http://www.cndba.cn/redhat/article/131721 http://www.cndba.cn/redhat/article/131721 http://www.cndba.cn/redhat/article/131721 http://www.cndba.cn/redhat/article/131721 http://www.cndba.cn/redhat/article/131721 http://www.cndba.cn/redhat/article/131721 http://www.cndba.cn/redhat/article/131721

版权声明:本文为博主原创文章,未经博主允许不得转载。

rhel7.9上db2数据库异机恢复

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Anshen

Anshen

关注

成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。

  • 71
    原创
  • 0
    翻译
  • 5
    转载
  • 8
    评论
  • 访问:319596次
  • 积分:332
  • 等级:中级会员
  • 排名:第13名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ