/*****************************************************************原因:由于原导出数据库没有整理表空间其中主要包括两方面,一是用户产生太多的DELETE,致使表的高位线(HWM)在很高的位置,所以尽管数据量很小,但是占据的表空间很大,...
分类:
数据库 时间:
2016-01-17 20:07:51
阅读次数:
259
1.什么是高水位高水位是Oracle中使用和未使用空间中的边界线,也可以理解为数据文间和非数据文间的分界线,但是这里的数据文件指代的是存储过数据的数据文件,而非仅仅是数据表中有数据的数据文件。2.高水位对于检索的影响假设我们有个表有2百万行数据存储在几个区中,假如我们..
分类:
数据库 时间:
2016-01-07 18:35:53
阅读次数:
190
一、什么是水线(High Water Mark)?所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为"high water mark"或HWM。这个HWM是一个标记,用来说明已经有多少没有使用的数据块...
分类:
数据库 时间:
2015-06-12 09:48:04
阅读次数:
183
现场有一个外网的环境表空间严重不足,客户不想扩容,要清理一部分数据,都是大字段的blob. 表空间是1T,已经使用0.99T,删除2015年之前的blob后,通过附件的基础信息表查出还有200G的数据,不过表空间并没有释放(高水位线),这个时候有几种方式处理:
1. 新建一张表,把剩下的数据导入,不可行,没有这么大的空间了.
2. 用数据泵或用exp导出大字段,删除表后,然后导入.
3. 用...
分类:
数据库 时间:
2015-05-29 12:06:23
阅读次数:
223
在一个数据库使用下面SQL找出了一批需要降低高水位线的表,其中有几个表没有数据,于是我打算用TRUNCATE来降低高水位线HWM SELECT a.owner, a.segment_name, a.segment_type, a.tablespace_name, a.blocks "real blo...
分类:
其他好文 时间:
2015-04-16 19:16:03
阅读次数:
198
Insert语句加/*+APPEND*/ hint在循环中单条提交,由于/*+APPEND */ hint是在高水位线以上插入的特性,导致每提交一次,就会取一个新的block存放,高水位就上推一个block,以及/*+APPEND */ hint会给表加6级排它锁的特导,导致必须在commit后才能插入新的数据,大量单条/*+APPEND */插入,使得表急剧增大,除对insert本身造成性能影响之外,对以后的select、update、delete更是造成更巨大的影响。...
分类:
移动开发 时间:
2015-01-17 11:16:50
阅读次数:
199
今天查一张表的时候,查询表中某一特定类型的数据特别慢,但是查询全表特别快,也没找到原因,百度了一下下,可能感觉(很小的几率)是下面这个
四、Oracle表段中的高水位线HWM
在Oracle数据的存储中,可以把存储空间想象为一个水库,数据想象为水库中的水。水库中的水的位置有一条线叫做水位线,在Oracle中,这条线被称为高水位线(High-warter mark, HW...
分类:
数据库 时间:
2015-01-15 18:25:55
阅读次数:
194
Insert直接路径法这种方法不去查找已有块中的空间, 它直接从高水位之上开始插入数据. 直接使用的是 nologging模式, 记住默认情况下通过直接路径插入进行加载的表上的索引仍然是会产生undo 和 redo. 而表的数据因为 nologging 不会产生redo 和 undo , 仅仅是对数...
分类:
其他好文 时间:
2015-01-15 09:20:37
阅读次数:
180
Direct-path insert 方式的优点
(1)可以将insert数据跳过buffer_cahce,省掉了buffer block的格式化与DBWR操作,直接从PGA写入磁盘
(2)不检查表中现有的block是否有空闲空间,直接在表的高水位线(HWM)以上插入
(3)如果在数据库处于非归档模式下,或者是数据就处于归档模式,表级处于nologging状态下,只有少量的空间信息redo写入、不写入数据undo(因为要回滚时可以直接回退到高水线即可,而不需要针对insert生成delete的回滚记录),所...
分类:
其他好文 时间:
2015-01-11 21:44:58
阅读次数:
361
1概念理解由于对表空间进行频繁的DML操作,在空间的分配上势必会产生一些空间碎片影响系统效率。对磁盘碎片整理上可以使用的方法有重建表、move、shrink等。另一种情况是DELETE操作并不会回收HWM高水位线,ORACLE扫描表时依然是从第1个数据块扫描到HWM,当有新记录插入时,也是从HWM后...
分类:
其他好文 时间:
2015-01-10 19:43:28
阅读次数:
293