oracle exchange partition 測试
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 測试的更多相关文章
- 删除online日志測试及ora-600 [4194]错误的处理
今天做了一个关于破坏online日志的恢复測试,主要三个场景: 測试1:正常关闭数据库后删除非当前日志 測试2:正常关库后.删除在线日志文件 測试3:非正常关闭数据库.并删除当前在线日志文件 我的測试 ...
- Oracle RAC cache fusion原理測试
Oracle RAC cache fusion是RAC最核心的工作机制.他把全部实例的SGA虚拟成一个大的SGA区,每当不同的实例请求同样的数据块,这个数据块就须要在实例间进行传递. 那究竟什么时候传 ...
- Oracle Enterprise Linux 64-bit 下Oracle11g的监听配置改动及測试步骤
測试环境:Oracle Enterprise Linux 64-bit (5.8版本号) + Oracle 11g 64位 相关说明: Oracle11g64位软件的安装位置为/u01/app/ora ...
- 測试oracle 11g cluster 中OLR的重要性
測试oracle 11g cluster 中OLR的重要性 called an Oracle Local Registry (OLR): each node in a cluster has a ...
- oracle capability i/o(压力測试数据库serveri/o性能)
今天是2014-04-21,今天简单仅仅说明一下怎么影响重做数据的一个因素,那就是i/o吞吐量,oracle的介质恢复依赖于i/o,假设i/o存在瓶颈,那么势必会影响备库的介质恢复. 那么i/o st ...
- 从linux telnet到exchange邮件server来測试发送邮件
我们在Linux下,能够通过telnet邮件server的25port(一般smtp邮件server都是这个),来測试是否能发送邮件. 前提是先得把DNS配好,或者/etc/hosts文件制定好邮件s ...
- Oracle 左外连接的一些測试
为了更加深入左外连接,我们做一些測试,外连接的写法有几种形式,我们能够通过10053跟踪到终于SQL转换的形式. --初始化数据 create table A ( id number, age ...
- Oracle 复制随意表一行的SQL语句(測试Ok)
測试了非常久,网上说的方法非常多,事实上都是错误的.正确的写法: declare cursor rowAll is select * from tb_news where 1=1; row1 tb_n ...
- hibernate 单元測试框架
hibernate在写数据库配置文件时很的不确定,必须进行必要的測试保证数据库结构的正确性.所以能够应用junit进行測试. 使用junit很easy,eclipse仅仅须要右键项目新建一个junit ...
随机推荐
- 【LeetCode】Longest Substring Without Repeating Characters(无重复字符的最长子串)
这道题是LeetCode里的第3道题. 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: ...
- tomcat 服务不支持 chkconfig 以及其他服务不能添加到开机启动时的操作
在安装完tomcat后想添加的开机自启动的操作,但是报错tomcat 服务不支持 chkconfig,后来在 /etc/init.d/tomcat中的#!/bin/bash后添加上#chkconfi ...
- struts ValueStack 详解
一.ValueStack 1.ValueStack是一个接口,在struts2中使用OGNL(Object-Graph Navigation Language)表达式实际上是使用 ...
- "二进制" 转化为 "十六进制
//"二进制" 转化为 "十六进制" void To_string(uint8 *dest,char * src,uint8 length) { uint8 * ...
- HDU 1811 Rank of Tetris(并查集按秩合并+拓扑排序)
Rank of Tetris Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- 现代互联网的TCP拥塞控制(CC)算法评谈
动机 写这篇文章本质上的动机是因为前天发了一个朋友圈,见最后的写在最后,但实际上,我早就想总结总结TCP拥塞控制算法点点滴滴了,上周总结了一张图,这周接着那些,写点文字. 前些天,Linux中国微信公 ...
- redux使用需要注意的地方
1. react和redux没有直接联系,当react需要结合redux使用的时候,需要引入 react-redux ,该插件提供了connet等方法使得react可以注入redux属性. 2. re ...
- 转:Java 动态代理的内部实现机制(大体意思正确,写的还行的一篇文章)
转:Java动态绑定的内部实现机制 JAVA虚拟机调用一个类方法时,它会基于对象引用的类型(通常在编译时可知)来选择所调用的方法.相反,当虚拟机调用一个实例方法时,它会基于对象实际 的类型(只能在运行 ...
- Apache Commons 工具集介绍
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. 组件 功能介绍 BeanUtils 提供了对于 ...
- Java学习路线-基础篇!
下面以黑马程序员Java学院的学习路线为例,进行一次史无前例的剖析,我会采取连载的形式,细致的讲解零基础的人怎么学习Java.先看下Java在基础阶段的知识点路线图. 内容多吗?不要被吓到了,知识点剖 ...