• Oracle-11g 回缩表高水位


    回缩表高水位的意义:

    所有的 Oracle 段都有一个在段内容纳数据的上线,即高水位线(high water mark)。HWM 是一个标记,很像水库的丽水最高水位,即使表内数据全部删除,HWM 也还是为原值。也就是说,这条高水位线在日常的增删操作中只会上涨,不会下跌。
     
    回缩表高水位方法:
    1.SHRINK 方法
    该方式可在线执行,原理参见《Oracle-11g 中 SHRINK 详解》,步骤如下。
    (1).检查对象所在表空间是否为 ASSM 模式
    SQL> SELECT tablespace_name, segment_space_management
    FROM dba_tablespaces;
    (2).启用表的行移动功能
    SQL> ALTER TABLE table_name ENABLE ROW MOVEMENT;
    其中,table_name 代表回缩表名。
    (3).压缩并反碎片化表
    SQL> ALTER TABLE table_name SHRINK SPACE COMPACT;
    其中,table_name 代表回缩表名。注意:使用 COMPACT 子句,可以在对系统影响较小的情况下,先进行数据移动压缩。
    (4).待业务非高峰期,回缩表高水位
    SQL> ALTER TABLE table_name SHRINK SPACE;
    其中,table_name 代表回缩表名。
    (5).禁用表的行移动功能(可选)
    SQL> ALTER TABLE table_name DISABLE ROW MOVEMENT;
    其中,table_name 代表回缩表名。
    (6).更新表统计信息
    2.MOVE 方法
    MOVE 的方法不可在线执行。
    (1).移动表
    SQL> ALTER TABLE table_name MOVE;
    注意:MOVE 后不带表空间,将在原表空间移动表。
    (2).查询失效索引
    SQL> SELECT index_name,table_name,tablespace_name,status 
    FROM dba_indexes 
    WHERE owner='&table_owner
    AND table_name='&table_name
    AND status<>'VALID';
    其中,table_owner 代表表所属用户,table_name 代表回缩表名。
    (3).重建索引
    SQL> ALTER INDEX index_name REBUILD;
    其中,index_name 为索引名称。
    (4).验证重建情况
    SQL> SELECT index_name,table_name,tablespace_name,status 
    FROM dba_indexes 
    WHERE owner='&table_owner
    AND table_name='&table_name
    AND status<>'VALID';
    (5).更新表统计信息
    其中,table_owner 代表表所属用户,table_name 代表回缩表名。
    3.TRUNCATE 方法
    TRUNCATE 方法不可在线执行,且不适合大数据量的执行(数据会插)。
    (1).创建保存数据的临时表
    SQL> CREATE TABLE table_temp_name AS SELECT * FROM table_name;
    其中,table_temp_name 代表临时表名,table_name 代表回缩表名。
    (2).截断表
    SQL> TRUNCATE TABLE table_name;
    其中,table_name 代表回缩表名。
    (3).会插数据
    SQL> INSERT INTO table_name SELECT * FROM table_temp_name;
    其中,table_temp_name 代表临时表名,table_name 代表回缩表名。
    (4).更新表统计信息
  • 相关阅读:
    MAUI预览版发布 (.NET 6 Preview2)
    ASP.NET Core 基础系列(6)(中间件)
    ASP.NET Core 基础系列(5)(appSetting)
    ASP.NET Core 基础系列(4)(Startup)
    ASP.NET Core 基础系列(3)(启动设置)
    ASP.NET Core 基础系列(2)(托管模型)
    ASP.NET Core 基础系列(1)(Main方法)
    Android开发学习之路-PopupWindow和仿QQ左滑删除
    部分病毒进程任务管理器终止不怎么办
    intellij idea 历史版本下载地址
  • 原文地址:https://www.cnblogs.com/autopenguin/p/7059032.html
Copyright © 2020-2023  润新知