truncate MLOG$

转载 2007年09月14日 17:12:00
转自:http://xsb.itpub.net/post/419/50466

Doc ID: Note:69432.1
Subject: CAN AN INDEX BE CREATED ON MLOG$ (SNAPSHOT LOG)?
Type: BULLETIN
Status: PUBLISHED
 

Can an index be created on MLOG$ (SNAPSHOT LOG)?
================================================

You have noticed that your fast refreshes are becoming slower and slower and
less efficient as time goes on. You want to add an index on the MLOG$ snapshot
log table to speed up the refreshes and to prevent a Full Table Scan on the
snapshot log.

First of all, the answer is NOT to add an index on the snapshot log table.
Oracle has to do a full table scan on the snapshot log so that it can read all
the rows that it needs to refresh for a particular snapshot. Besides, all SQL
statements generated by the refresh operation is hardcoded in the kernel.

What may be causing the performance degradation is that your snapshot log's
High Water Mark (HWM) may be wastefully high. The snapshot log table grows at
peak times, but never shrinks once the refresh is done. Therefore, during a
fast refresh of the snapshot, Oracle will read the snapshot log using full
table scan all the way to the HWM.

The answer to speeding up the performance of the snapshot refresh is to reset
the HWM. The only way to do this is to truncate the snapshot log or recreate
it.

Once your snapshot log is purged (meaning all snapshots have already refreshed
against that master table), then issue a truncate on it.

i.e. SQL> truncate table mlog$_EMP;

This will reset the HWM without affecting any of your snapshot's fast refreshes.

If you choose to RECREATE your snapshot log, you will have to follow up by
performing a COMPLETE refresh on all the affected snapshots.
 

android 开发常用日志Log类及头条号 / 达人科技的MLog 介绍

android 开发常用日志类 //java日志类 System.out.println("普通日志Info"); System.err.println("错误日志Info"); ...
  • caizhigui
  • caizhigui
  • 2016年06月28日 10:31
  • 465

oracle数据库中truncate表后如何快速恢复

在生产中,极有可能遇到不小心truncate表的情况,truncate表后不会产生日志记录和回滚段空间的使用,不能用闪回恢复。尤其是在没有任何备份的情况下所以恢复起来相当麻烦,虽然在有备份的情况下是可...
  • tchic
  • tchic
  • 2016年09月12日 12:40
  • 7812

分区truncate操作的介绍

① 马上回收空间:   alter table table_name truncate partition partition_name drop storage;   ② 同时维护全局索引: ...
  • enenwenwen
  • enenwenwen
  • 2014年06月09日 11:33
  • 3081

ORACLE 给用户授权truncate table 的实现方案

1,对其它用户下的表执行trundate table操作开发说在用dwetl下执行调用shop用户下的表的时候提示没有权限操作,google了查了下,发现oracle账户没法直接赋予对某个表的trun...
  • mchdba
  • mchdba
  • 2017年05月05日 16:43
  • 2723

Linux服务器编程之:truncate()函数+案例说明

1.依赖头文件 #include #include 2.函数定义: int truncate(const char *path,off_t length); int ftruncate(int fd,...
  • toto1297488504
  • toto1297488504
  • 2014年09月14日 19:03
  • 2109

分区索引truncate某个分区,分区索引不失效

SQL> select owner,index_name,index_type,partitioned,status from dba_indexes where table_name='TEST...
  • zhaoyangjian724
  • zhaoyangjian724
  • 2014年10月21日 14:21
  • 888

Oracle数据库中truncate命令和delete命令的区别

Oracle数据库中truncate命令和delete命令的区别 首先讲一下,truncate命令: 语法:TRUNCATE  TABLE  table; 表格里的数据被清空,存储空间被...
  • vevenlcf
  • vevenlcf
  • 2015年02月11日 11:35
  • 1028

一条TRUNCATE命令所带来的严重后果

上午有同事让我帮他删除数据,因为他用DELETE删除时很慢,就把删除语句发给我了:DELETE FROM cjcl.cj_cj_tbjd where bgq = ‘201309MM’我一看,这条语句所...
  • jiaping0424
  • jiaping0424
  • 2017年11月30日 10:29
  • 71

数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较(举例说明)

转载来自: 数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较(举例说明)   数据库删除语句的分别介绍: Delete:用于删除表中的行(注:可以...
  • shehun11
  • shehun11
  • 2014年10月24日 11:20
  • 1279

Truncate Table 会不会释放索引

转载:http://lanmh.javaeye.com/blog/752372     drop   table dt_test_tab; create table dt_test_tab (...
  • it_taojingzhan
  • it_taojingzhan
  • 2015年11月24日 15:45
  • 1087
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:truncate MLOG$
举报原因:
原因补充:

(最多只允许输入30个字)