清理oracle库30亿的表后,释放删除空间

1.创建中间表

请以HADES_COD.HDS_COD_BUSI_DETAIL为模板,
手动创建中间表:HADES_COD.HDS_COD_BUSI_DETAIL_1
以及它的constraint约束
示例:

-- Create table
create table HADES_COD.HDS_COD_BUSI_DETAIL_1
(
  id                            NUMBER not null,
  wo_code                       VARCHAR2(100),
  order_code                    VARCHAR2(100),
  arrv_address                  VARCHAR2(200),
  ...
  adjust_orig_wo_code           VARCHAR2(100),
  arrv_month_verf_corp_name     VARCHAR2(200)
)
tablespace NNC_DATA01
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 256K
    next 256K
    minextents 1
    maxextents unlimited
    pctincrease 0
  );

-- Create/Recreate primary, unique and foreign key constraints 
alter table HADES_COD.HDS_COD_BUSI_DETAIL_1
  add constraint P_HDS_COD_BUSI_DETAIL primary key (ID)
  using index 
  tablespace NNC_INDEX01
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 256K
    next 256K
    minextents 1
    maxextents unlimited
    pctincrease 0
  );

2.验证是否支持在线重定义

exec dbms_redefinition.can_redef_table('HADES_COD','HDS_COD_BUSI_DETAIL');

3.映射字段类型,启动重定义进程

begin 
dbms_redefinition.start_redef_table 
(
uname      => 'HADES_COD',
orig_table => 'HDS_COD_BUSI_DETAIL',
int_table  => 'HDS_COD_BUSI_DETAIL_1'
);
end;
/

4.异步同步数据

begin 
dbms_redefinition.sync_interim_table 
(
uname      => 'HADES_COD',
orig_table => 'HDS_COD_BUSI_DETAIL',
int_table  => 'HDS_COD_BUSI_DETAIL_1'
);
end;
/

5.完成在线重定义

begin 
dbms_redefinition.finish_redef_table 
(
uname      => 'HADES_COD',
orig_table => 'HDS_COD_BUSI_DETAIL',
int_table  => 'HDS_COD_BUSI_DETAIL_1'
);
end;
/

6.(可选项)取消在线重定义

【仅供执行报错的时候,取消任务使用】
begin 
dbms_redefinition.abort_redef_table 
(
uname      => 'HADES_COD',
orig_table => 'HDS_COD_BUSI_DETAIL',
int_table  => 'HDS_COD_BUSI_DETAIL_1'
);
end;
/

7.收集统计信息

exec dbms_stats.GATHER_TABLE_STATS(ownname => 'HADES_COD',tabname => 'HDS_COD_BUSI_DETAIL',CASCADE => true,degree => 35);

8.创建索引

按原表的索引情况,自行创建其他索引(通过online parallel 4并行创建索引)
如:
create unique index HADES_COD.HDS_COD_BUSI_DETAIL_01 on HADES_COD.HDS_COD_BUSI_DETAIL (WO_CODE)
online parallel 4
  tablespace NNC_INDEX01
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 256K
    next 256K
    minextents 1
    maxextents unlimited
    pctincrease 0
  );

9.清理中间表

drop table HADES_COD.HDS_COD_BUSI_DETAIL_1 purge;

此种方式为在线重定义表的形式来释放已删除的空间,影响范围小、速度快,单表删除3亿的数据后,3~4小时即可完成全部的释放动作。

另外一种释放的方式为:

alter table HADES_COD.HDS_COD_BUSI_DETAILenable row movement nologging parallel 4;
alter table HADES_COD.HDS_COD_BUSI_DETAILshrink space COMPACT;
alter table HADES_COD.HDS_COD_BUSI_DETAILshrink space cascade;
alter table HADES_COD.HDS_COD_BUSI_DETAILdisable row movement noparallel logging;

此种方式较上面的方式要慢很多,开始运行后,只能傻等,大概需要20个小时的时间。

相关推荐

  1. 清理oracle30亿释放删除空间

    2023-12-10 19:48:03       30 阅读
  2. Oracledelete空间释放

    2023-12-10 19:48:03       37 阅读
  3. ORACLE释放空间空闲数据文件

    2023-12-10 19:48:03       33 阅读
  4. oracle 删除空间

    2023-12-10 19:48:03       12 阅读
  5. oracle删除空间和用户命令

    2023-12-10 19:48:03       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-10 19:48:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-10 19:48:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-10 19:48:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-10 19:48:03       20 阅读

热门阅读

  1. MySQL、Oracle笔记

    2023-12-10 19:48:03       31 阅读
  2. vue中滚轮缩放事件

    2023-12-10 19:48:03       36 阅读
  3. axios封装、二次封装

    2023-12-10 19:48:03       43 阅读
  4. 网络视频服务器的作用是什么?

    2023-12-10 19:48:03       42 阅读
  5. TCP聊天

    TCP聊天

    2023-12-10 19:48:03      30 阅读
  6. STM32用flash保存参数实现平衡擦写的一种方法

    2023-12-10 19:48:03       31 阅读
  7. 三元组的快速转置(数据结构实训)

    2023-12-10 19:48:03       31 阅读
  8. MyBatis-xml版本

    2023-12-10 19:48:03       43 阅读
  9. RabbitMQ安装在Linux系统详细教程

    2023-12-10 19:48:03       40 阅读
  10. OD机考真题搜集:宜居星球改造计划

    2023-12-10 19:48:03       40 阅读
  11. [ES]ElasticSearch强转日期的时区问题

    2023-12-10 19:48:03       34 阅读
  12. ubuntu源配置文件/etc/apt/sources.list不存在

    2023-12-10 19:48:03       44 阅读
  13. uniapp小程序分享为灰色

    2023-12-10 19:48:03       33 阅读