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