DB2 DataLinks Manager 快速入门

DB2 DataLinks Manager 恢复方案

本节列示了一些可能的 DB2 DataLinks Manager 故障方案,及对其进行恢复所需的步骤。 有关简易恢复的建议步骤的说明,参见DB2 DataLinks Manager 系统设置和备份建议

在以下方案中,将使用下列术语和示例:

DLFS 文件系统
注册前缀(示例:/dlink)

DLFM 备份目录
在其中备份文件的目录(示例:/home/dlfm/dlfm_backup)

DLFM 主目录
DLFM 用户 ID 的主目录(示例:/home/dlfm)

DLFM DB2 数据库
包含所有元数据的 DB2 数据库(DLFM_DB)

DB2 数据库
包含 DATALINK 数据类型的注册数据库(示例:CROWN)

可能需要恢复的部件

DB2 DataLinks 服务器崩溃之后,下列部件可能需要恢复:

  1. 包含具有 DATALINK 列的表的 DB2 数据库。
  2. DB2 DataLinks Manager 数据库 (DLFM_DB)。
  3. DataLinks Filesystem Filter (DLFF)。
  4. 在 DB2 DLFF 控制之下的文件系统,已注册至 DataLinks Manager。
  5. DB2 DataLinks Manager 备份目录

恢复方案

下列恢复方案可能需要同时对 DB2 节点和 DB2 File Manager 节点执行某些操作。

在所有示例中,DB2 数据库都是指 "CROWN", 而包含 DATALINK 列的 DB2 表是指 "DATALINKTABLE"。
方案 恢复步骤
DB2 数据库丢失或被意外卸下, 但 DB2 备份和日志文件仍然可用。

在此方案中,DB2 数据库尚未从 DLFM 服务器卸下。

  1. 在 DB2 服务器上,输入下列命令以使所有表都置于 Datalink_Reconcile_Not_Possible (DRNP) 状态:
    db2 "restore database CROWN"
       db2 "rollforward database CROWN to end of logs and stop"
     
    
  2. 使用下列命令,让所有带有 datalinks 的表都置于 Datalink_Reconcile_Pending (DRP) 状态:
       db2 set integrity for <table> datalink reconcile pending
       db2 set integrity for <table> datalink reconcile pending immediate unchecked
       db2 reconcile <table>
    

DB2 数据库被显式地卸下, 但是 DB2 备份和日志文件仍然可用。
  1. 确保卸下数据库操作已完成,且所有与该数据库相关联的文件都已取消链接。
  2. 在 DataLinks 服务器上,输入下列命令:
       db2 "connect to dlfm_db"
       db2 "select dbid, dbname, dbinst, hostname from dfm_dbid"
       db2 "update dfm_dbid set action=5 where dbid=x'35B3D7BE0006BF7B'"
     
    

    dbid 设置为与前一步骤中的值相等。

  3. 在 DB2 服务器上, 输入下列命令,使所有表都置于 Datalink_Reconcile_Not_Possible (DRNP) 状态:
    db2 "restore database CROWN"
       db2 "rollforward database CROWN to end of logs and stop"
     
    
  4. 对于在步骤 3 中处于 DRNP 状态的每个表, 输入下列命令:
       db2 set integrity for <table> datalink reconcile pending
       db2 set integrity for <table> datalink reconcile pending immediate unchecked
       db2 reconcile <table>
    

DLFM_DB 数据库丢失, 但是 DLFM_DB 数据库的备份和所有日志文件仍然可用。
  1. 在 DataLinks 服务器上,输入下列命令:
    db2 "restore database dlfm_db"
       db2 "rollforward database dlfm_db to end of logs and stop"
    
  2. 在 DB2 服务器上,输入下列命令:
          db2 "connect to CROWN"
       db2 "reconcile table DATALINKTABLE"
    

DLFM_DB 数据库丢失, DFLM_DB 数据库的备份仍然可用,但是并非所有日志文件都可用。
  1. 在 DataLinks 服务器上,输入下列命令:
    db2 "restore database dlfm_db"
       db2 "rollforward database dlfm_db to end of logs and stop"
    
  2. 在 DB2 服务器上,输入下列命令,使所有表都置于 Datalink_Reconcile_Pending (DRP) 状态:
          db2 "connect to CROWN"
       db2 "restore database dlfm_db"
       db2 "rollforward database dlfm_db to end of logs and stop"
     
    
  3. 通过输入下列命令,使所有带有 datalinks 的表都置于 DRP 状态:
       db2 set integrity for <table> datalink reconcile pending
       db2 set integrity for <table> datalink reconcile pending immediate unchecked
       db2 reconcile <table>
    

DLFS 文件系统丢失。
  1. 从存储管理器复原 DLFS 文件系统。
  2. 在“DB2 服务器”上,输入以下命令:
       db2_recon_aid CROWN
    

DLFM 备份目录丢失。 从存储管理器复原 DLFM 备份目录。
DLFS 文件系统和 DLFM 备份目录丢失。
  1. 从存储管理器复原 DLFM 备份目录。
  2. 从存储管理器复原 DLFS 文件系统。
  3. 在“DB2 服务器”上,输入以下命令:
       db2_recon_aid CROWN
    

DLFM_DB 数据库、DLFM 备份目录和 DLFS 文件系统都已丢失, 但是 DLFM_DB 数据库的备份和所有日志文件都可用。
  1. 在 DataLinks 服务器上, 输入下列命令,使所有表都置于 Datalink_Reconcile_Pending (DRP) 状态:
       db2 "restore database dlfm_db"
       db2 "rollforward database dlfm_db to end of logs and stop"
    
  2. 从存储管理器复原 DLFM 备份目录。
  3. 从存储管理器复原 DLFS 文件系统。
  4. 在“DB2 服务器”上,输入以下命令:
       db2_recon_aid CROWN
    

DLFM_DB、DLFS 文件系统和 DLFM 备份目录都已丢失。DLFM_DB 数据库的备份可用, 但是并非所有日志文件都可用。
  1. 在 DataLinks 服务器上,输入下列命令:
    db2 "restore database dlfm_db"
       db2 "rollforward database dlfm_db to end of logs and stop"
    
  2. 从存储管理器复原 DLFM 备份目录。
  3. 从存储管理器复原 DLFS 文件系统。
  4. 在“DB2 服务器”上,输入以下命令:
       db2_recon_aid CROWN
    

DB2 数据库、DLFM_DB 数据库、 DLFS 文件系统和 DLFM 备份目录都已丢失, 但是 DLFM_DB 数据库的备份和所有日志文件都可用。
  1. 在 DataLinks 服务器上,输入下列命令:
    db2 "restore database dlfm_db"
       db2 "rollforward database dlfm_db to end of logs and stop"
    
  2. 从存储管理器复原 DLFM 备份目录。
  3. 从存储管理器复原 DLFS 文件系统。
  4. 在 DB2 服务器上, 输入下列命令,使所有表都置于 Datalink_Reconcile_Not_Possible (DRNP) 状态:
    db2 "restore database CROWN"
       db2 "rollforward database CROWN to end of logs and stop"
       db2 "connect to CROWN"
     
    
  5. 对于在步骤 4 中处于 DRNP 状态的每个表, 可输入下列命令,使它们置于 DNP 状态:
       db2 set integrity for <table> datalink reconcile pending
       db2 set integrity for <table> datalink reconcile pending immediate unchecked
       db2 reconcile <table>
    
注意:前滚至某个时间点或许不能将具有所有被定义为 recovery = no 的 DATALINK 列的表置于 Datalink_Reconcile_Pending (DRP) 状态。对于所有这样的表,可运行协调实用程序。


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]