我目前正在RHEL5上使用OracleDatabase11g。我的数据库每天生成大量归档日志,即使数据库有少量更改(每天大约有500个事务)。我还检查了我的数据文件(用户表空间)的大小;它的大小每天增加大约20 my,但是归档日志每天生成5GB到10 5GB。
有人能告诉我这个问题的原因吗?是否有任何解决方案来检查它为什么会产生更多的存档?我怎样才能减少呢?
诚挚的问候,
萨里思
发布于 2010-03-02 09:23:25
正如另一个线程中所建议的那样,您可以使用LogMiner来发现记录了哪些事务:
http://www.oracle.com/technology/oramag/oracle/05-jul/o45dba.html
发布于 2010-03-05 14:56:13
UPDATE语句不一定会更改表或行的大小,但必须在重做中捕获,这就是驱动归档日志大小的因素。
未提交的事务--那些回滚的事务--不会对数据库进行永久更改,但仍然会生成重做。
表DML活动,它会导致索引被更新(应用程序做了很多DELETEing和INSERTing吗?)还会导致索引被更新,就像更改索引列的UPDATE语句一样。
简而言之,测量归档日志大小是一种变化活动的度量--增长是一个不同的、通常是不相关的度量。您可能希望做的是查询ALL_TAB_MODIFICATIONS,从写的角度准确地显示您的表自上次分析以来实际上是多么繁忙,就像在10g+中一样,所有表都会自动监视DML活动。
发布于 2010-03-02 15:48:07
物化视图刷新可以生成很多重做。这只是个想法。
https://serverfault.com/questions/118206
复制相似问题