ORACLE解决高水位线问题

--方法一.

创新互联长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为兴业企业提供专业的成都网站建设、成都网站设计,兴业网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

ALTER  TABLE  table_name MOVE ;--对表重建

ANALYZE  TABLE  table_name COMPUTE  STATISTICS ;--统计分析

--方法二.  

ALTER TABLE  table_name ENABLE ROW MOVEMENT;--激活行迁移

ALTER TABLE  table_name SHRINK SPACE;--激活表收缩

ANALYZE  TABLE  table_name COMPUTE  STATISTICS ;--统计分析

弊端:如果是分区表,激活后,表数据会因为更新分区字段更新磁盘物理位置(ROWID);

方法三:

CREATE TABLE table_name_1 AS SELECT  *  FROM  table_name;

TRUNCATE TABLE table_name;

INSERT INTO table_name SELECT * FROM table_name_1;

弊端:麻烦,耗时

方法四:

新建一个临时表,把数据复制到临时表,然后把源表drop掉,再把临时表重新命名为源表的名字。

弊端,主键.索引等依托于此表的对象需要重建

校验方法:

通过分析比对表块删除数据前后占用变化.

SELECT num_rows ,blocks, empty_blocks  FROM dba_tables WHERE owner='SDBMGR' AND table_name ='TABLE_NAME';


当前标题:ORACLE解决高水位线问题
文章出自:http://ybzwz.com/article/jphhii.html