问题描述: 什么样的DB2工具可以从DB2恢复日志里获取日志序列号(LSN)用来以WARMNS模式启动Q Capture?
原因:当读日至时遇到问题。比如遇到 SQL2656N 和 SQL2650N错误。
解答:大多数情况下,你可以用ASN7109I信息里包含的LSN值来启动Q Capture.参考文档:
在极少数情况下,你可能需要从DB2日志里寻找LSN值。
如果你需要用WARMNS模式从已知LSN启动Q Capture, 可以用db2pdlog 功能。这个工具可以提供给定的DB2日志里开始LSN的真实记录piStartLSN。
你可以把日志发送给DB2支持来用这个工具获取有效的开始LSN.
你不能用db2flsn工具的-lsnrange选项或者db2pdlog的-lsnrange选项来获得piStartLSN.
piStartLSN是开始日志的序列号用来指定读取log的相应比特单元。这个值必须是实际的日志记录的开始。
关于更多的细节,请参看DB2信息中心的"db2ReadLogNoConn API - Read the database logs without a database connection"
只要你确定了LSN,你可以启动Q Capture:
asnqcap capture_server=server_name capture_schema=schema_name capture_path=path lsn=xxxx:xxxx:xxxx:xxxx:xxxx maxcmtseq=0000:0000:0000:0000:0000
其中 xxxx:xxxx:xxxx:xxxx:xxxx 是从db2日志获取的LSN 值。如果LSN 是12 个数字, 那么就在左边填充0。
例如,如果LSN是 2CEF:1ADE:9E0A 你可以启动QCapture
LSN=0000:0000: 2CEF:1ADE:9E0A