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 左外连接的一些測试
为了更加深入左外连接,我们做一些測试,外连接的写法有几种形式,我们能够通过10053跟踪到终于SQL转换的形式. --初始化数据 create table A ( id number, age ...
- linux mysql 卸载,安装,測试全过程
Mysql卸载 yum remove mysql mysql-server mysql-libs compat-mysql51 rm -rf /var/lib/mysql rm /etc/my.cnf ...
- Linux 性能測试工具
Linux 性能測试工具 linux performance 查看系统配置 查看CPU信息 lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64- ...
- 第4代白盒測试方法介绍--理论篇
关键词: 白盒測试 第4代 測试方法 4GWM 在线測试 持续測试 灰盒 脚本驱动 脚本桩 摘 要: 本文是第4代白盒測试方法的理论介绍,描写叙述3个关键领域内9项关键特征的概念与固有特征.同一时候 ...
- ORACLE 分区表 PARTITION table
1.1 分区表PARTITION table 在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能. 1.1.1 分区表的建立: 某公司的每年产生巨大的销售记录,DBA向公司建议 ...
- Oracle分区(Partition)
项目中用到的partition,总结整理一下相关知识.(网上采集,如有侵权,请及时联系.) 一.Oracle分区简介 ORACLE的分区是一种处理超大型表.索引等的技术.分区是一种"分而 ...
- oracle _hash partition,深入解析partition-hash分区
依据惯例,先看官网对hash partition的解释 Hash partitioning enables easy partitioning of data that does not lend i ...
- 软件安全性能測试(转载)
近来,在我负责的公司某软件产品的最后測试工作,经常被问到这样一个问题:在做測试过程中,我们的软件产品在安全性方面考虑了多少?应该怎样測评一个软件究竟有多安全? 这个软件因为涉及客户商业上重要的信息资料 ...
最新文章
- 数据结构和算法:(3)3.2.2单链表的整表删除
- 关于对J2EE几点误解和错误认识的澄清
- 【转】rails 遇到 Could not find a JavaScript runtime execjs错误(ubuntu)
- Flutter RichText支持自定义文本溢出效果
- android Java BASE64编码和解码二:图片的编码和解码
- python pdb 调试
- php正则匹配js中变量_Postgresql 中的 正则表达式 模式匹配
- yii2的分页和ajax分页
- android9 system_server 访问sd卡_Leez学院丨手把手教你栗子板Android9固件编译
- QNAP 修复 NAS 备份应用中的严重漏洞
- linux 修改密码和端口号_WINDOWS/LINUX系统修改管理员密码方法
- VGG16和VGG19介绍
- java----正则表达式
- Vue Cli脚手架安装与使用
- 资源分享|免费注册申请永久的eu.org顶级域名创建属于自己的域名,再也不用给博客域名续费了!...
- java手机游戏吸血鬼_Java 吸血鬼数字
- 苹果xr配置_定了!苹果发布会9月11日
- bboss kafka组件使用介绍
- java 匹配任意字符_正则表达式匹配任意字符(包括换行符)
- 关于深度学习的基本知识(面试常见问题)
热门文章
- 安卓代码迁移:Make.exe: *** [***.o]Error 1
- 前端开发API及规范
- 《C++代码设计与重用》——1.7 参考文献和相关资料
- 基于OSSIM的漏洞***测试视频教程
- Javascript简介
- mySQL教程 第5章 插入 更新与删除数据
- IBM HTTP Server Websphere Plugin
- SQL语句大全(2)
- 解决升级 Office 2010 之后 Outlook 提示“无法打开 Microsoft Outlook”
- Wine cannot find the ncurses library (libncurses.so.5)