Oracle GoldenGate For SQL Server 未提交事务导致MSSQL日志不截断

使用Oracle GoldenGate 将sql Server 表数据同步到Oracle 中。


偶尔检查MSsql日志使用情况,发现日志越来越大,17GB了。(之前没怎么注意)

DBCC sqlperf(logspace)
go


再看看日志处于什么状态:

SELECT name,recovery_model_desc,log_reuse_wait_desc,is_auto_shrink_on,is_cdc_enabled
FROM sys.databases
go


发现日志一直处于活动事务中,即日志中应该还有一个长的事务没有提交。


看看当前有哪些会话有打开的事务(执行多几遍,确认有3个没关闭的连接和事务)

select spid,blocked,waittime,waittype,waitresource,p.dbid,cpu,physical_io,memusage,open_tran,status,login_time,last_batch,hostname,program_name,hostprocess,loginame,cmd,text
from master.dbo.sysprocesses p cross apply sys.dm_exec_sql_text(p.sql_handle) s
where open_tran <> 0
go

这3个连接并非当前请求,status='sleeping' ,cmd = ‘AWAITING COMMAND’,open_tran > 0 ,这表明客户端连接已经中断了,但是数据库中仍然保留该连接,而客户端中断时没有正确处理事务的提交或回滚情况,导致数据库中事务仍然在打开中。对于spid = 51 和spid=97 的,看到最后批处理执行时间已经很多天之前了,主要是数据仓库来查询数据的,这连接也没什么用了,可以直接 kill 掉。 对于spid = 95 的,为GoldenGate 数据库用户执行的,也是一直在执行的,但不应该一直保留着。


pid = 95 的连接,重启ogg 的复制进程,如图:



重启完后,在查看日志,事务日志使用率变为了 0.35%,这时就等着收缩吧!

相关文章

数据库版本:11.2.0.4 RAC(1)问题现象从EM里面可以看到,在23号早上8:45~8:55时,数据库等待会话暴增...
(一)问题背景最近在对一个大约200万行数据的表查看执行计划时,发现存在异常,理论上应该返回100多万...
(一)删除备份--DELETE命令用于删除RMAN备份记录及相应的物理文件。当使用RMAN执行备份操作时,会在RM...
(1)DRA介绍 数据恢复顾问(Data Recovery Advise)是一个诊断和修复数据库的工具,DRA能够修复数据文...
RMAN(Recovery Manager)是Oracle恢复管理器的简称,是集数据库备份(backup)、修复(restore)和恢复...
(1)备份对象 可以使用RMAN进行的备份对象如下: --整个数据库:备份所有的数据文件和控制文件; --数...