在Sybase的Syslogs中我怎么确定Secondary Truncation Point?
How Do I Determine The Secondary Truncation Point In The Sybase Syslogs ? (Doc ID 1059402.1)
适用
Oracle GoldenGate - Version 9.0.0.0 and later
Information in this document applies to any platform.
目标
TRANLOGOPTIONS 的TRUNCATEMIN 选项有替代者么?
解决方案
TRANLOGOPTIONS 的TRUNCATEMIN 选项已不再有效,它被用来定义时间延迟,以分钟计算,在log file中设置secondary truncation point
存在一个TRUNCPOINTOFF 选项,当在执行checkpoint时,该选项防止抽取进程移动secondary truncation point。当测试抽取同样的数据集时,该选项是有意义的,因为它确保了truncate point不会移动。
当前的secondary truncation point的位置可以用Sybase命令dbcc gettrunc获得。
为了设置secondary truncation point,请执行Sybase命令dbcc settrunc ('ltm', valid)
如果抽取进程长时间处于abend并且客户不希望log被填满,可以通过执行下面的命令让secondary truncation point手工向前(译者注:向最近的时间)移动,但是log中的数据会丢失,当重启抽取进程时,抽取进程会遇到数据丢失的问题。
代码语言:javascript复制dbcc settrunc('ltm','pageid',<pagenumber>)
如果你需要完全释放secondary truncation point,比如,当你从你的系统中移除掉OGG环境之后,你需要发出下面的命令,假设不存在为了复制而需要logfile的任何程序或者应用:
代码语言:javascript复制dbcc settrunc ('ltm','ignore')
有关dbcc settrunc 的细节,请参考Sybase手册
当你登录isql,请确保ogg抽取进程连接的库和你登录的库是同一个。
抽取进程使用环境变量$DSQUERY来确定哪一个database instance被连接。为了在抽取进程的report文件中显示环境变量,你需要将如下参数放在SOURCEDB参数的上面
GETENV (DSQUERY)
如果没有正确使用环境变量,请使用SETENV设置成正确的值。