Exchange partition提供了一种方式,让你在表与表或分区与分区之间迁移数据。注意不是将表转换成分区或非分区的形式,而仅仅仅是迁移表中数
 据(互相迁移),因为其号称是採用了更改数据字典的方式,因此效率最高( 差点儿不涉及io操作)。

Exchange partition适用于全部分区格式,你能够将数据从分区表迁移到非分区表。也能够从非分区表迁移至分区表。
     这就给批量更新分区表的数据提供了一个非常不错的思路,这里我便做一次普通表与分区表数据交换的实验。

注意:分区表不能直接与分区表交换所以
假设对换分区表。用普通表过渡
假设对换普通表,用分区表过渡
索引必须是LOCAL INDEX,不能是GLOBAL INDEX

1.创建測试表空间
create tablespace tbs1 datafile '/oracle_data/szdb/tbs1_01.dbf' size 10m autoextend on;
create tablespace tbs2 datafile  '/oracle_data/szdb/tbs2_01.dbf' size 10m autoextend on;

2.创建測试表
drop table t_temp purge;
drop table t_part_list purge;
create table t_temp as select 1 id, t.owner,t.OBJECT_NAME,t.OBJECT_ID,t.OBJECT_TYPE from dba_objects t;
create table t_part_list (id number,owner varchar2(20),object_name varchar2(40),object_id number,object_type varchar2(20))
partition by list (id)
(partition p1 values(1) tablespace tbs1,
 partition p2 values(2) tablespace tbs2
);
 3.查看表数据
SQL> select count(*) from t_part_list;
 
COUNT(*)
---------
          0
SQL> select count(*) from t_temp;
 
  COUNT(*)
----------
    80905
4.交换数据
alter table t_part_list exchange partition p1 with table  t_temp;

alter table t_part_list exchange partition p1 with table  t_temp without validation;--不再验证数据有效性

5.查看表数据
        SQL> select count(*) from t_part_list;
 
COUNT(*)
----------       
80905
SQL> select count(*) from t_part_list partition(p1);
 
  COUNT(*)
----------
    80905
SQL> select count(*) from t_temp;
 
  COUNT(*)
----------
     0
6.注意
在将未分区表的数据迁移到分区表中时。可能出现ora-14099的错误。尽管能够用without validation去解决,可是此时进入分区表的数据可能不符合分区规则。
所以without validation一定要慎用。
   涉及交换的两表之间表结构必须一致,除非附加with validation子句;
   假设是从非分区表向分区表做交换。非分区表中的数据必须符合分区表中指定分区的规则,除非附加without validation子句;
   假设从分区表向分区表做交换,被交换的分区的数据必须符合分区规则,除非附加without validation子句;
      Global索引或涉及到数据修改了的global索引分区会被置为unusable,除非附加update indexes子句。

  提示:一旦附加了without validation子句。则表示不再验证数据有效性,因此指定该子句时务必谨慎。

oracle exchange partition 測试相关推荐

  1. 删除online日志測试及ora-600 [4194]错误的处理

    今天做了一个关于破坏online日志的恢复測试,主要三个场景: 測试1:正常关闭数据库后删除非当前日志 測试2:正常关库后.删除在线日志文件 測试3:非正常关闭数据库.并删除当前在线日志文件 我的測试 ...

  2. Oracle 左外连接的一些測试

    为了更加深入左外连接,我们做一些測试,外连接的写法有几种形式,我们能够通过10053跟踪到终于SQL转换的形式. --初始化数据 create table A (   id number,   age ...

  3. linux mysql 卸载,安装,測试全过程

    Mysql卸载 yum remove mysql mysql-server mysql-libs compat-mysql51 rm -rf /var/lib/mysql rm /etc/my.cnf ...

  4. Linux 性能測试工具

    Linux 性能測试工具 linux performance 查看系统配置 查看CPU信息 lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64- ...

  5. 第4代白盒測试方法介绍--理论篇

    关键词: 白盒測试 第4代 測试方法 4GWM 在线測试 持续測试 灰盒 脚本驱动 脚本桩 摘  要: 本文是第4代白盒測试方法的理论介绍,描写叙述3个关键领域内9项关键特征的概念与固有特征.同一时候 ...

  6. ORACLE 分区表 PARTITION table

    1.1 分区表PARTITION table 在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能. 1.1.1 分区表的建立: 某公司的每年产生巨大的销售记录,DBA向公司建议 ...

  7. Oracle分区(Partition)

    项目中用到的partition,总结整理一下相关知识.(网上采集,如有侵权,请及时联系.)   一.Oracle分区简介 ORACLE的分区是一种处理超大型表.索引等的技术.分区是一种"分而 ...

  8. oracle _hash partition,深入解析partition-hash分区

    依据惯例,先看官网对hash partition的解释 Hash partitioning enables easy partitioning of data that does not lend i ...

  9. 软件安全性能測试(转载)

    近来,在我负责的公司某软件产品的最后測试工作,经常被问到这样一个问题:在做測试过程中,我们的软件产品在安全性方面考虑了多少?应该怎样測评一个软件究竟有多安全? 这个软件因为涉及客户商业上重要的信息资料 ...

最新文章

  1. 数据结构和算法:(3)3.2.2单链表的整表删除
  2. 关于对J2EE几点误解和错误认识的澄清
  3. 【转】rails 遇到 Could not find a JavaScript runtime execjs错误(ubuntu)
  4. Flutter RichText支持自定义文本溢出效果
  5. android Java BASE64编码和解码二:图片的编码和解码
  6. python pdb 调试
  7. php正则匹配js中变量_Postgresql 中的 正则表达式 模式匹配
  8. yii2的分页和ajax分页
  9. android9 system_server 访问sd卡_Leez学院丨手把手教你栗子板Android9固件编译
  10. QNAP 修复 NAS 备份应用中的严重漏洞
  11. linux 修改密码和端口号_WINDOWS/LINUX系统修改管理员密码方法
  12. VGG16和VGG19介绍
  13. java----正则表达式
  14. Vue Cli脚手架安装与使用
  15. 资源分享|免费注册申请永久的eu.org顶级域名创建属于自己的域名,再也不用给博客域名续费了!...
  16. java手机游戏吸血鬼_Java 吸血鬼数字
  17. 苹果xr配置_定了!苹果发布会9月11日
  18. bboss kafka组件使用介绍
  19. java 匹配任意字符_正则表达式匹配任意字符(包括换行符)
  20. 关于深度学习的基本知识(面试常见问题)

热门文章

  1. 安卓代码迁移:Make.exe: *** [***.o]Error 1
  2. 前端开发API及规范
  3. 《C++代码设计与重用》——1.7 参考文献和相关资料
  4. 基于OSSIM的漏洞***测试视频教程
  5. Javascript简介
  6. mySQL教程 第5章 插入 更新与删除数据
  7. IBM HTTP Server Websphere Plugin
  8. SQL语句大全(2)
  9. 解决升级 Office 2010 之后 Outlook 提示“无法打开 Microsoft Outlook”
  10. Wine cannot find the ncurses library (libncurses.so.5)