昨天一早到公司,有同事就提醒说是装Timesten的服务器的磁盘空间满了,首先看到的是timesten生成了N多core文件,400多M一个,当时下意识就把core文件删掉了,看了一下日志,有很多提示分配空间错误的。 到了中午,那个同事又告诉我空间又不够了,我查了一下core文件,没有core文件,用du查了一下,在timesten的日志目录下,有900多个日 志文件,照理根据配置,timesten10分钟做一次checkpoint,做完后会把相关的日志删掉的啊,有幸在抓虾上看到了下面这篇文章(实在不好 一下,可能是抓虾编辑过了,找不到原出处)<o:p></o:p>
最近碰到一个比较少见的一个问题,就是由于某种原因导致TimesTen的日志无法自动删除,导致在磁盘上有大量的日志累积,磁盘的使用空间有被耗尽的危险。通过仔细排查相关的TimesTen 系统日志等相关信息,并没有发现异常情形。通过ttlogholds命令才发现有一个长的事务因为某种原因一直未提交,从而导致了日志的无法自动删除。解决过程如下:<o:p></o:p>
- 通过ttlogholds查看相关信息<o:p></o:p>
<!---->2. <!---->Command> call ttlogholds; < 41, 231442592, Replication , AHOCSRB1:_ORACLE > < 41, 231442592, Replication , AHOCSRB2:DATA > < 41, 231442592, Long-Running Transaction , 138.1089 > < 121, 30922688, Checkpoint , DATA.ds0 > < 121, 84106376, Checkpoint , DATA.ds1 > 5 rows found.<o:p></o:p>
发现第3行存在一个长的事务(Long-Running Transaction),事务号为138.1089 ,导致了从41号日志之后无法删除。<o:p></o:p>
- 通过ttxactadmin查看该事务详细情形<o:p></o:p>
<!---->4. <!---->ttxactadmin <DSN><o:p></o:p>
Program File Name: ****** 2730 0×6000000000080020 138.1089 Active Database 0×01312d0001312d00 IX HashedKey -6667089929831852570 X ODS30.TB_BIL_ACCT_BALANCE_LIMIT Row 0×000000001b<st1:chmetcnv tcsc="0" hasspace="False" sourcevalue="8306" numbertype="1" negative="False" w:st="on" unitname="F">8306f</st1:chmetcnv>0 Xn ODS30.TB_BIL_ACCT_BALANCE_LIMIT Command 6455310528 S <o:p></o:p>
发现在目前的活动事务中确实存在这个事务。<o:p></o:p>
- 回滚该事务<o:p></o:p>
ttxactadmin -xactIdRollback <xid> <DSN><o:p></o:p>
通过上述命令回滚该事务。<o:p></o:p>
之后不久当checkpoint被触发后,就可以看到日志被自动清除了。当然也可以手工强制checkpoint( call ttckpt;) 。<o:p></o:p>
从这个问题的表现来看,个人认为应用中出现异常的可能性较大。一种可能性是应用中有个长的事务忘记提交,导致日志一直被Block在那里。<o:p></o:p>
|
<o:p> </o:p>
于是,我进行了如下操作<o:p></o:p>
- 通过ttlogholds查看相关信息<o:p></o:p>
Command> call ttlogholds;<o:p></o:p>
发现日志号2被两个xlasample的程序挂着了,估计是同事做测试的时候出现的一些异常。<o:p></o:p>
- 通过xladeletebookmark查看相关信息<o:p></o:p>
Command> xladeletebookmark;<o:p></o:p>
显示出来这两个xla的相关情况,用这个命令把它们清除掉<o:p></o:p>
- 通过ttCkpt手工做checkpoint<o:p></o:p>
Command> call ttCkpt;<o:p></o:p>
等做完了,一看日志已经正常了。<o:p></o:p>
<o:p> </o:p>
总结,TimesTen出现日志挂起,不能删除的情况在实际生产环境中是一个很危险的事情,如果出现大量的同步操作,会产生大量的日志,这些日志如果不及时checkpoint清除掉的话,会很快把磁盘空间消耗掉。
由于使用的时间不多,从目前了解到的情况来看,一般都是先用ttlogholds看是什么原因导致日志不能清楚,然后挂起日志的原因进行针对性的处理
分享到:
相关推荐
但是,与所有技术一样,TimesTen也可能会遇到运行故障或性能瓶颈。为了帮助用户诊断和解决这些问题,TimesTen提供了TraceMon工具,这个工具能够详细跟踪TimesTen内部的执行过程。 TraceMon工具作为一个底层的Debug...
- **微日志(MicroLogging)**:为了保持事务的一致性和持久性,TimesTen引入了微日志机制,只记录修改前后的数据差异,而非整个数据行,从而降低了日志记录的开销。 - **数据分区**:TimesTen支持数据的水平和垂直...
Oracle TimesTen是一款高性能的内存数据库系统,主要用于需要实时处理大量数据的应用场景,尤其在电信、金融等对数据读取速度有极高要求的行业中得到广泛应用。TimesTen是Oracle公司的产品,它设计的目标是提供亚...
10. **维护与升级**:包括定期的数据库维护任务,如日志清理、空间管理,以及如何升级到新版本的TimesTen。 11. **案例研究与最佳实践**:通过实际应用示例来理解TimesTen如何在不同行业中提高性能,以及推荐的操作...
Oracle TimesTen In-Memory Database是Oracle公司提供的一款高性能、低延迟的内存数据库系统,主要用于实时事务处理和数据仓库应用。本教程将引导你逐步完成在Linux环境下的TimesTen服务器安装过程。 首先,为了...
Oracle TimesTen是一款高性能的内存数据库系统,主要用于实时应用,它能提供极快的数据存取速度。...正确地执行这些步骤,将确保Timesten能在服务器环境中高效且稳定地运行,为实时应用提供强大的数据处理能力。
Oracle Timesten内存数据库自动数据清理机制探究.pdf
9. **数据压缩**:为了更高效地利用内存,TimesTen支持数据压缩,可以在不牺牲性能的情况下存储更多的数据。 10. **备份与恢复**:TimesTen提供了多种备份和恢复策略,包括在线备份、点对点恢复等,确保在系统故障...
这通常涉及运行`ttStart`命令和检查TimesTen的日志文件。 总结来说,安装Oracle TimesTen In-Memory Database涉及创建用户组和用户,传输安装包,创建必要目录,运行安装脚本,并进行环境配置。遵循这些步骤,初学...
在TimesTen数据库的场景下,SNMP主要用于实时监控系统的健康状况,及时发现并报告潜在的故障。 #### SNMP陷阱 SNMP陷阱是SNMP协议的一个重要组成部分,它允许网络设备主动向网络管理系统发送警报信息。在TimesTen...
TimesTen是一款由甲骨文公司开发的高性能、内存中的列式数据库,它为需要实时分析和事务处理的应用程序提供了极高的性能。 ### 一、前期准备工作 在开始安装TimesTen之前,需要进行一些必要的系统配置: 1. 创建...
TIMESTEN是Oracle公司的一款高性能、实时的内存数据库系统,特别适合于处理对速度和响应时间有极高要求的应用场景。这款数据库产品起源于1992年惠普实验室的研究项目,专注于电信网络应用的内存数据库技术。1996年,...
它的主要特点是数据存取速度极快,能够处理大量并发事务,适用于交易处理、数据分析和流数据处理等场景。以下是如何设置Oracle Timesten的详细步骤和相关知识点: 1. **系统需求**:在开始安装前,你需要确认你的...
Timesten是Oracle公司推出的一种高性能、低延迟的内存数据库系统,专为需要实时数据处理的应用场景设计。这份手册以PDF格式提供,旨在帮助Java开发者充分利用Timesten的优势,提升应用的性能和响应速度。 一、...
TimesTen是Oracle公司的一款高性能内存数据库产品,专为需要实时数据处理和极致性能的场景设计。它在内存中存储数据,从而实现了高速数据访问,是交易处理、电信、金融等领域的理想选择。 ### TimesTen的历史与发展...
通过上述配置,Timesten不仅能够保持高性能的事务处理能力,还能够有效地避免单点故障问题,确保系统的稳定性和可靠性。Timesten的复制技术为用户提供了一个灵活、可扩展的解决方案,可以在不同的业务场景下实现高...
Oracle的TimesTen是一款高效、内存中的数据库系统,主要用于实时应用,如在线交易处理(OLTP)和大数据分析。它的设计目标是提供极低的延迟和高吞吐量,以满足那些对速度有极端要求的业务场景。TimesTen的SQL语法在...