我正在尝试从远程服务器本地恢复DB2在线备份映像。我可以成功恢复它,但是当我尝试向前滚动数据库时,我收到此错误:
SQL2071N An error occurred while accessing the shared library
"/home/db2inst1/sqllib/adsm/libtsm.a". Reason code: "2".
通过查看db配置,我意识到LOGARCHMETH1
设置为TSM
,这意味着TSM是原始DB2安装上的日志归档方法。我将值设置为disk:/path
并再次运行前滚操作。这是状态:
Rollforward Status
Input database alias = devcldx
Number of members have returned status = 1
Member ID = 0
Rollforward status = DB pending
Next log file to be read = S0000645.LOG
Log files processed = -
Last committed transaction = 2016-08-30-19.48.31.000000 UTC
这是我在尝试前进到日志结尾时得到的结果:
SQL1273N
An operation reading the logs on database "DEVCLDX" cannot continue
because of a missing log file "S0000645.LOG" on database partition "0" and log
stream "0".
显然我的本地计算机上不存在日志文件。
有什么方法可以完成前滚吗?
答案 0 :(得分:1)
这样做的正确方法是:
使用B
实用程序从源计算机上的TSM服务器中提取日志文件,然后将它们复制到目标计算机。
在计算机上安装TSM客户端并将其配置为充当主服务器,以便它可以检索日志文件。 (这有点复杂)。
这些选项中的任何一个都可以让您恢复到任何时间点。
如果这些都不是一个选项,并且只将数据库还原到备份完成的时间点,则还有一个选项:
在db2adutl
命令中,包含RESTORE DATABASE
选项:DB2将在执行还原时将备份映像中包含的日志文件解压缩到指定目录中。
然后,您可以使用以下路径执行前滚到结束备份:
logtarget /path/to/write/files