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子句。则表示不再验证数据有效性,因此指定该子句时务必谨慎。

时间: 2024-12-19 19:25:47

oracle exchange partition 測试的相关文章

oracle exchange partition 测试

Exchange partition提供了一种方式,让你在表与表或分区与分区之间迁移数据,注意不是将表转换成分区或非分区的形式,而仅只是迁移表中数 据(互相迁移),由于其号称是采用了更改数据字典的方式,因此效率最高( 几乎不涉及io操作).Exchange partition适用于所有分区格式,你可以将数据从分区表迁移到非分区表,也可以从非分区表迁移至分区表. 这就给批量更新分区表的数据提供了一个很不错的思路,这里我便做一次普通表与分区表数据交换的实验. 注意:分区表不能直接与分区表交换所以 如

Oracle RAC cache fusion原理測试

Oracle RAC cache fusion是RAC最核心的工作机制.他把全部实例的SGA虚拟成一个大的SGA区,每当不同的实例请求同样的数据块,这个数据块就须要在实例间进行传递. 那究竟什么时候传递呢? 假设RAC有4个节点,当中的一个节点运行了一条SQL是全表扫描一张表,这个时候这个节点把这张表的数据载入到缓存:     方式1 :其它的节点假设须要同样的数据块会取第一个节点的数据,那是须要的时候取. 方式2 :还是第一个节点推送.   实验设定: 1.清空4个节点的share pool和

Oracle Enterprise Linux 64-bit 下Oracle11g的监听配置改动及測试步骤

測试环境:Oracle Enterprise Linux 64-bit (5.8版本号) + Oracle 11g 64位 相关说明: Oracle11g64位软件的安装位置为/u01/app/oracle/product/11.2.0/dbhome_1 ,数据库名为默认的orcl,Linux虚拟机的IP设置为192.168.1.121 一.改动listener.ora文件内容 命令:[[email protected] ~]$ vi /u01/app/oracle/product/11.2.0

Oracle 左外连接的一些測试

为了更加深入左外连接,我们做一些測试,外连接的写法有几种形式,我们能够通过10053跟踪到终于SQL转换的形式. --初始化数据 create table A ( id number, age number ); create table b ( id number, age number ); insert into A values(1,10); insert into A values(2,20); insert into A values(3,30); insert into B val

从linux telnet到exchange邮件server来測试发送邮件

我们在Linux下,能够通过telnet邮件server的25port(一般smtp邮件server都是这个),来測试是否能发送邮件. 前提是先得把DNS配好,或者/etc/hosts文件制定好邮件server域名所相应的IP地址. 下面红色的都是要输入的. [[email protected] ~]# telnet mail.xxx.com 25 Trying 10.10.1.127... Connected to mail.dji.com (10.10.1.127). Escape char

using the easy connect naming method 简单连接測试

一直都不明确sqlnet.ora中的NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)是什么意思.今天看到一篇文档,就是登陆选用的方式.做一个測试: tnsnames.ora  10.10.32.119 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.32.119)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME =

LINPACK測试

1简单介绍 LINPACK是线性系统软件包(Linear system package) 的缩写. Linpack如今在国际上已经成为最流行的用于測试高性能计算机系统浮点性能的benchmark.通过利用高性能计算机.用高斯消元法求解一元N次稠密线性代数方程组的測试.评价高性能计算机的浮点性能. Linpack測试包含三类,Linpack100.Linpack1000和HPL. Linpack100求解规模为100阶的稠密线性代数方程组.它仅仅同意採用编译优化选项进行优化.不得更改代码,甚至代码

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

Mysql卸载 yum remove mysql mysql-server mysql-libs compat-mysql51 rm -rf /var/lib/mysql rm /etc/my.cnf 查看是否还有mysql软件: rpm -qa|grep mysql 有的话继续删除 Mysql安装 1>若本地没有安装包 能够考虑使用yum命令进行下载 # yum -y install mysql-server # yum -y install php-mysql 2>安装后,MySQL自己主

单元測试和白盒測试相关总结

一.  软件測试方法 1.        软件測试方法包含:白盒測试(White  Box  Testing).黑盒測试(Black  Box Testing).灰盒測试.静态測试.动态測试. 2.        白盒測试:是一种測试用例设计方法.在这里盒子指的是被測试的软件,白盒.顾名思义即盒子是可视的,你能够清晰盒子内部的东西以及里面是怎样运作的.因此白盒測试须要你对系统内部的结构和工作原理有一个清晰的了解,并且基于这个知识来设计你的用例. 白盒測试技术一般可被分为静态分析和动态分析两类技术