1.非分区表转分区表

(1)--普通表

table T1
(
  OBJECT_ID   NUMBER not null,
  OBJECT_NAME VARCHAR2(128),
  OWNER       VARCHAR2(30),
  STATUS      VARCHAR2(7)

--分区表

create table PT1
(
  OBJECT_ID   NUMBER,
  OBJECT_NAME VARCHAR2(128),
  OWNER       VARCHAR2(30),
  STATUS      VARCHAR2(7)
)
partition by hash (OBJECT_ID)
(
  partition SYS_P105
    tablespace DATA
);

(2)-

SQL> select count(*) from t1;

COUNT(*)
----------
  29218402

SQL> select count(*) from pt1;

COUNT(*)
----------
0

(3)--在线检查是否符合分区的条件

SQL> EXEC DBMS_REDEFINITION.CAN_REDEF_TABLE(user, 'T1', DBMS_REDEFINITION.CONS_USE_PK);

(4)--开始在线定义SQL> EXEC DBMS_REDEFINITION.START_REDEF_TABLE(USER, 'T1','PT1');

执行完这个命令后可以看到后台变为(多了一份表的容量)

以及在当前schema表下可以看到多了两个表MLOG$_T1,RUPD$_T1;

SQL> select count(*) from t1;

COUNT(*)
----------
  29218402

Elapsed: 00:00:00.60
SQL> select count(*) from pt1;

COUNT(*)
----------
  29218402

(5)--在向t1表插入两行数据;

SQL> insert into t1
  2  select sequence1.nextval,object_name,owner,status from dba_objects
  3  where rownum<3;

2 rows created.

SQL> select count(*) from t1;

COUNT(*)
----------
  29218404

Elapsed: 00:00:00.60
SQL> select count(*) from pt1;

COUNT(*)
----------
  29218402

(5)执行两表数据同步--exec dbms_redefinition.sync_interim_table(USER, 'T1','PT1');

SQL> select count(*) from t1;

COUNT(*)
----------
  29218404

Elapsed: 00:00:00.60
SQL> select count(*) from pt1;

COUNT(*)
----------
  29218404

(6)结束--EXEC DBMS_REDEFINITION.FINISH_REDEF_TABLE(user,'T1','PT1');

再后台可以看到pt1与t1进行自动相互转换名字;

create table T1
(
  OBJECT_ID   NUMBER,
  OBJECT_NAME VARCHAR2(128),
  OWNER       VARCHAR2(30),
  STATUS      VARCHAR2(7)
)
partition by hash (OBJECT_ID)
(
  partition SYS_P105
    tablespace DATA
);

2--------------------------------------------------------------分区转非分区(exchange)------------------------------------------------------------

例子alter table pt1

exchange partition sys_p105 with table t1;--将t1的内容转化到PT1的单个分区sys_p105中

再次执行上面的命令,可将分区表的内容转回t1表;

注意:当出现分区表中有多个分区表含数据时

执行分区转分区按上面的命令会报错,这种 情况可以先将分区表进行coalesce到一个分区为止再进行转换;

ALTER TABLE pt1
COALESCE PARTITION

非分区表与分区表相互转换相关推荐

  1. oracle 分区表转换,Oracle 12.2之后ALTER TABLE .. MODIFY转换非分区表为分区表

    Oracle 12.2之后ALTER TABLE .. MODIFY转换非分区表为分区表 发布时间:2020-08-08 06:57:47 来源:ITPUB博客 阅读:77 作者:你好我是李白 说明 ...

  2. DM巧用分区交换将非分区表转换为分区表

    在实际业务中,随着时间推移,表的数据量越来越大,影响了业务的读写性能:而如果表在设计之初使用的是普通表,没有使用分区表,此时随着系统的减慢,则考虑将大表转化为分区表. 非区分表转换为分区表的方法有多种 ...

  3. oracle 10g分区表,oracle10g-11gR2 分区表汇总一

    在oracle10g(在10.2.0.4中测试)中:分区表共分为:range.list.hash,复合分区可以是:range-list.range-hash 测试之前先创建4个表空间tbs_1,tbs ...

  4. 14.PG分区表-传统分区表

    前言 一.PG分区表-传统分区表 pg10版本之前pg分区表一般通过继承加触发器方式实现,这种分区方式不能算是内置分区表,而且步骤非常繁琐. pg10版本一个重量级的新特性是支持内置分区表.pg10支 ...

  5. hive 创建分区表 删除分区表 插入分区表

    目录 创建分区表 插入分区表 删除分区表 创建分区表 CREATE TABLE IF NOT EXISTS test( a string,b string )PARTITIONED BY (c str ...

  6. 非分区表转换为分区表的三种方式

    创建测试环境 --创建非分区表 CREATE TABLE T_NOPARTITIONTAB( ID INT, NAME VARCHAR(20)); --插入测试数据 beginfor i in 1.. ...

  7. 6.3、分区表、分区表索引--Oracle模式对象

    分区: (1).一种分区技术,可以在创建表时应用分区技术,将数据以分区形式保存. (2).可以将巨型表或索引分割成相对较小的.可独立管理的部分. (3).表分区时必须为表中的每一条记录指定所属分区. ...

  8. oracle 10g分区表,oracle10g--11gR2分区表汇总四

    3.2.7.2 (分区表enable)-(非分区表diable keep index)-exchange--exchange 解释: 首先:分区表primary key是enable的,非分区表pri ...

  9. mysql8分区表_MySQL 分区表

    MySQL分区就是将一个表分解为多个更小的表.从逻辑上讲,只有一个表或一个索引,但在物理上这个表或者索引可能由多个物理分区组成.每个分区在物理上都是独立的.MySQL数据库分区类型:Range分区:行 ...

最新文章

  1. 采用TurboGate邮件网关防止企业邮箱被盗用
  2. 千万别只顾着代码不上厕所
  3. 差异备份、增量备份、完全备份的区别
  4. 解读金山网盾3.5 0day漏洞免疫技术
  5. oracle导入初始数据死机,Sqoop导入Oracle数据至hive卡死在hive.HiveImport: Connecting to jdbc:hive2不执行...
  6. “高仿版拼多多”宣告破产!曾一年收割1.3亿用户,如今自救失败负债16亿
  7. vue 入门环境搭建
  8. find命令使用方法
  9. jquery click()方法模拟点击事件对a标签不生效的解决办法
  10. 账龄分析表excel模板_老会计分享财务报表及EXCEL会计报表分析系统模板!收藏领取!...
  11. 解决永中集成office和opera的中文输入问题
  12. STM8S_007_片内FLASH和EEPROM编程
  13. python十进制转换_python 十进制转换成任意进制
  14. 计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)
  15. 手机计算机dj音乐,教你如何用手机制作电子音乐
  16. DB2怎么根据开始和结束时间算相隔天数
  17. MySQL 8.0 安装教程
  18. Linux实用的快捷键
  19. python3从零学习-5.3.2、复数库cmath
  20. jupyter kernel

热门文章

  1. 《创意特训营——30天超级灵感唤醒术》—第1章1.4节增加创意的数量
  2. java中的\t\r\n\b(Java转义字符)分别是什么?
  3. 一个前辈的大二到大三的书单
  4. 博图——自定义数据类型的妙用
  5. 从浏览器地址栏输入url到请求返回发生了什么(深问)
  6. 【HTML学习】表格相关(01)- 增强版
  7. 2022年数据中心产业发展将呈现三大新趋势
  8. 关于软考中级数据库的一些讨论
  9. 使用SpringBoot及Construct2的WebSocket制作联机游戏(二)
  10. 计算机基础——操作系统