阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle普通表转换成分区表的操作

391次阅读
没有评论

共计 1953 个字符,预计需要花费 5 分钟才能阅读完成。

【前言】Oracle 官方建议当表的大小大于 2GB 的时候就使用分区表进行管理,分区表相对于小的表管理和性能上都有很大的优势,本文档暂时不介绍具体的优势,主要介绍几种普通表转换成分区表的方法;

【方法概述】oracle 官方给了以下四种操作的方法:

 A)  Export/import method(导入导出)

 B)  Insert with a subquery method(插入子查询的方法)

 C)  Partition exchange method(交换分区法)

 D)  DBMS_REDEFINITION(在线重定义)

这些方法的思路都是创建一个新的分区表,然后把旧表的数据转移到新表上面,接着转移相应的依赖关系,最后进行表的重命名,把新表和旧表 rename。
其中 A、B、C 这三种方法都会影响到系统的正常使用,本文档不做详细的介绍,本文档主要介绍 D 方法,这种方法是目前普遍在进行普通表转换成分区表的方法。

【在线重定义进行分区表的操作】整个操作的思路如下,以 SCOTT 下的 EMP 表为例
1. 先确认下表能不能进行分区
基于主键的确认
BEGIN

DBMS_REDEFINITION.CAN_REDEF_TABLE(‘SOCTT’,’EMP’,DBMS_REDEFINITION.CONS_USE_PK);

END;

/
PL/SQL procedure successfully completed. 显示的是没有问题的

2. 进行临时表的创建,以 DEPTNO 作为分区的选项
CREATE TABLE SCOTT.EMP_1
(
  EMPNONUMBER(4),
  ENAMEVARCHAR2(10 BYTE),
  JOBVARCHAR2(9 BYTE),
  MGRNUMBER(4),
  HIREDATEDATE,
  SALNUMBER(7,2),
  COMMNUMBER(7,2),
  DEPTNONUMBER(2)
)
PARTITION BY RANGE (DEPTNO)
(
  PARTITION EMP_A1 VALUES LESS THAN (20),
  PARTITION EMP_A2 VALUES LESS THAN (30),
  PARTITION EMP_A3 VALUES LESS THAN (40),
  PARTITION EMP_A4 VALUES LESS THAN (50),
  PARTITION EMP_A5 VALUES LESS THAN (60)
      )

3. 开始执行数据的迁移
EXEC DBMS_REDEFINITION.START_REDEF_TABLE(‘SCOTT’, ‘EMP’, ‘EMP_1’);

4. 如果表的数据很多,3 步的时候可能会很长,这期间系统可能会继续对表 EMP 进行写入或者更新数据,那么可以执行以下的语句,这样在执行最后一步的时候可以避免长时间的锁定(该过程可选可不选)
BEGIN
  DBMS_REDEFINITION.SYNC_INTERIM_TABLE(‘SCOTT’, ‘EMP’, ‘EMP_1’);
END;
/

5. 进行权限对象的迁移
DECLARE
num_errors PLS_INTEGER;
BEGIN
DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS(‘SCOTT’, ‘EMP’,’EMP_1′,
DBMS_REDEFINITION.CONS_ORIG_PARAMS, TRUE, TRUE, TRUE, TRUE, num_errors);
END;
/

6. 查询相关错误,在操作之前先检查,查询 DBA_REDEFINITION_ERRORS 试图查询错误:
select object_name, base_table_name, ddl_txt from  DBA_REDEFINITION_ERRORS;

7. 结束整个重定义
BEGIN
DBMS_REDEFINITION.FINISH_REDEF_TABLE(‘scott’, ’emp’, ’emp_1′);
END;
/

【总结】做过一个大小 2.3GB,总行数 360 万行的表,整个过程大概花了 56 秒的时间,整个过程还是相当快的。建议具体的生产环境的执行需要经过严格测试后执行,测试的过程中大概就能知道整个过程的执行时间长度。

 另如果再执行的过程中发生错误,可以通过以下语句结束整个过程:
 
BEGIN
 DBMS_REDEFINITION.ABORT_REDEF_TABLE(uname => ‘SCOTT’,
 orig_table => ‘EMP’,
 int_table => ‘EMP_1’
 );
 END;

更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137167.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1953字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7962648
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
升级自动部署更新SSL证书系统、申请godaddy的APIKEY

升级自动部署更新SSL证书系统、申请godaddy的APIKEY

升级自动部署更新 SSL 证书系统、申请 godaddy 的 APIKEY 公司之前花钱购买的 ssl 证书快...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...