3.2.7.2 (分区表enable)—(非分区表diable keep index)—exchange--exchange

解释:

首先:分区表primary key是enable的,非分区表primary key是disable的;

其次:交换分区且包括including indexes;

然后:再次交换分区包括including indexes;

SQL> alter table t_no_par disable constraint ind_t_no_par keep index;

表已更改。

--此时将非分区表的primary key diable掉,然后指定keep index

SQL> select INDEX_NAME,PARTITION_NAME,STATUS from User_Ind_Partitions where INDEX_name='IND_T_PAR_RANGE';

INDEX_NAMEPARTITION_NAMESTATUS

------------------------------ ------------------------------ --------

IND_T_PAR_RANGEP_T_PAR_RANGE_0USABLE

IND_T_PAR_RANGEP_T_PAR_RANGE_1USABLE

SQL> SELECT index_name,index_type,status FROM USER_INDEXES WHERE index_NAME in ('IND_T_NO_PAR');

INDEX_NAMEINDEX_TYPESTATUS

------------------------------ --------------------------- --------

IND_T_NO_PARNORMALVALID

--索引仍然有效

SQL> select constraint_name,constraint_type,status,validated from User_Constraints where constraint_name in ('IND_T_NO_PAR','IND_T_PAR_RANGE');

CONSTRAINT_NAMEC STATUSVALIDATED

------------------------------ - -------- -------------

IND_T_PAR_RANGEP ENABLEDVALIDATED

IND_T_NO_PARP DISABLED NOT VALIDATED

--约束已经disable了,且not validated

SQL> select * from t_no_par;

未选定行

SQL> select * from t_par_range;

TIMEIDCITY_IDVALUE1 VALUE2

-------------- ---------- ---------- ---------- ----------

01-3月-111101 a

01-4月-112202 b

SQL> alter table t_par_range exchange partition p_t_par_range_0 with table t_no_par including indexes;

表已更改。

--将分区表与非分区表做第一次交换,注意执行此命令前,各自约束和索引的状态

SQL> SELECT index_name,index_type,status FROM USER_INDEXES WHERE index_NAME in ('IND_T_NO_PAR');

INDEX_NAMEINDEX_TYPESTATUS

------------------------------ --------------------------- --------

IND_T_NO_PARNORMALVALID

SQL> select INDEX_NAME,PARTITION_NAME,STATUS from User_Ind_Partitions where INDEX_name='IND_T_PAR_RANGE';

INDEX_NAMEPARTITION_NAMESTATUS

------------------------------ ------------------------------ --------

IND_T_PAR_RANGEP_T_PAR_RANGE_0USABLE

IND_T_PAR_RANGEP_T_PAR_RANGE_1USABLE

--交换之后,各自约束和索引的状态

SQL> select * from t_no_par;

TIMEIDCITY_IDVALUE1 VALUE2

-------------- ---------- ---------- ---------- ----------

01-3月-111101 a

SQL> select * from t_par_range;

TIMEID CITY_IDVALUE1 VALUE2

-------------- ---------- ---------- ---------- ----------

01-4月-112202 b

SQL> select constraint_name,constraint_type,status,validated from User_Constraints where constraint_name in ('IND_T_NO_PAR','IND_T_PAR_RANGE');

CONSTRAINT_NAMEC STATUSVALIDATED

------------------------------ - -------- -------------

IND_T_PAR_RANGEP ENABLEDVALIDATED

IND_T_NO_PARP DISABLED NOT VALIDATED

SQL> select * from t_no_par;

TIMEIDCITY_IDVALUE1 VALUE2

-------------- ---------- ---------- ---------- ----------

01-3月-111101 a

SQL> select * from t_par_range;

TIMEIDCITY_IDVALUE1 VALUE2

-------------- ---------- ---------- ---------- ----------

01-4月-112202 b

SQL> alter table t_par_range exchange partition p_t_par_range_0 with table t_no_par including indexes;

alter table t_par_range exchange partition p_t_par_range_0 with table t_no_par including indexes

*

第1行出现错误:

ORA-14097: ALTER TABLE EXCHANGE PARTITION中的列类型或大小不匹配

--再想将刚交换到非分区表的数据交换回去,已经不可能了

SQL> alter table t_par_range exchange partition p_t_par_range_0 with table t_no_par including indexes;

alter table t_par_range exchange partition p_t_par_range_0 with table t_no_par including indexes

*

第1行出现错误:

ORA-14097: ALTER TABLE EXCHANGE PARTITION中的列类型或大小不匹配

SQL> select * from t_no_par;

TIMEIDCITY_IDVALUE1 VALUE2

-------------- ---------- ---------- ---------- ----------

01-3月-111101 a

SQL> select * from t_par_range;

TIMEIDCITY_IDVALUE1 VALUE2

-------------- ---------- ---------- ---------- ----------

01-4月-112202 b

SQL> alter table t_par_range exchange partition p_t_par_range_0 with table t_no_par ;

alter table t_par_range exchange partition p_t_par_range_0 with table t_no_par

*

第1行出现错误:

ORA-14097: ALTER TABLE EXCHANGE PARTITION中的列类型或大小不匹配

SQL> alter table t_par_range exchange partition p_t_par_range_0 with table t_no_par without validation;

alter table t_par_range exchange partition p_t_par_range_0 with table t_no_par without validation

*

第1行出现错误:

ORA-14097: ALTER TABLE EXCHANGE PARTITION中的列类型或大小不匹配

--注意到,无论使用何种添加选项手段,都已经不行了

SQL> alter table t_no_par enable constraint ind_t_no_par;

表已更改。

SQL> alter table t_par_range exchange partition p_t_par_range_0 with table t_no_par including indexes;

表已更改。

--而一旦再次enable非分区表的primary key约束,又可以做数据交换了

SQL> select * from t_no_par;

未选定行

SQL> select * from t_par_range;

TIMEIDCITY_IDVALUE1 VALUE2

-------------- ---------- ---------- ---------- ----------

01-3月-111101 a

01-4月-112202 b

oracle 10g分区表,oracle10g--11gR2分区表汇总四相关推荐

  1. suse 11 oracle 10g,suse11+oracle10g安装

    运行Vitualbox,启动已经安装好的Suse Enterprise 11 第一件事我要把oracle11g软件给那过去.之前的文章我会采用filezilla去传输,现在我用的是局域网共享. 启动s ...

  2. oracle 10g rac数据库,oracle 10g rac安装报错集锦

    oracle 10g rac安装报错汇总 删除crs 1.      停止资源:关闭crs资源:crsctl stop resources 关闭crs:       crsctl stop crs 2 ...

  3. Oracle 10g rac + ASM数据迁移(替换ASM中的磁盘,用新存储替换旧存储)

    一.环境介绍 Redhat 5.8 Oracle 10g rac + ASM 目前数据库是一套Oracle 10g rac环境,使用的是ASM,ASM的存储空间来自多台存储设备,包括:XP12000. ...

  4. oracle10g索引不生效,oracle 10g分区表索引失效测试

    一.测试环境 SQL> select * from v$version; BANNER ----------------------------------------------------- ...

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

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

  6. oracle 10g 分区管理,Oracle 10g分区表的自动维护

    Oracle 10g分区表不支持自动化管理,一般都要手动创建分区,手动删除.今天给大家带来了一个自动化管理表空间的脚本. 本脚本主要由3个部分组成:sys_ConfigTable.sql.sys_pr ...

  7. oracle数据泵导入分区表,Oracle 10g 数据泵分区表的导出

    Oracle 10g中数据泵支持本地导出/导入分区表的分区,但是NET_LINK不支持分区表的分区.以下为导出部分实验,导入与导出相识. 本地导出: C:\Users\xionglang>exp ...

  8. 【SQL开发实战技巧】系列(四十七):Oracle12C常用新特性☞非分区表在线转分区表online clause(不停业务+索引有效)

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  9. oracle非分区表,转分区表

    本文原出处: http://blog.csdn.net/tianlesoftware/archive/2009/10/23/4717318.aspx 将普通表转换成分区表有4种方法: 1. Expor ...

最新文章

  1. windows XP系统Stop c0000218 unknown hard error 蓝屏故障的解决方法
  2. C#把TextBox.Text的几万条数据按数据格式导出Excel报错:Insufficient memory to continue the execution of the program.
  3. NEFU 560 半数集
  4. com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
  5. .NET6发布了Preview2,这点超越过去10年!
  6. springboot配置跨mapper.xml的全局变量
  7. signal.h-----信号函数
  8. Oracle 11g 数据恢复 数据误删除后的恢复 0、执行 select log_mode from v$database;查看是否为归档模式 1、确定删除时间和被删除的表 04-23,GR
  9. IIS Express配置多站点同时运行
  10. 升级Xcode8后需要添加的一些权限
  11. NYOJ题目71-独木舟上的旅行(贪心)
  12. SQL优化常用方法51
  13. 实验三 大数据可视化工具—ECharts
  14. 未来电子服务领域信用系统的架构和发展趋势预测
  15. 自然辩证法与计算机科学与技术,自然辩证法与计算机科学技术.pdf
  16. 小程序使用腾讯视频插件及插件未授权使用
  17. 物联网定位系统:GPS、WiFi、基站、RFID…
  18. c语言大学教程答案pdf,C++大学教程(第九版) 保罗·戴特尔(Paul Deitel)等著 完整中文pdf扫描版[197MB]...
  19. Elementui蓝色阴影边框相关问题的解决方案
  20. Word论文写作公式居中、编号右对齐设置

热门文章

  1. 阿里前端开源的一些产品
  2. 不要解决:如何将JavaScript集合与目标相匹配
  3. java的getshape()_JAVA(Swing)中的镜像形状
  4. ubuntu18.04安裝搜狗輸入法
  5. matlab入门4-mdlInitializeSizes解析
  6. C#中关于updatePanel与freeTextBox不兼容的问题 当页面刷子新后,ftb不能输入内容的解决办法
  7. Request获取url各种信息的方法
  8. 以flash翻页方式展现图片的实现
  9. 取出客户端卸载CKEditor中的内容,放入数据库中的方案
  10. Python《wallpaper abyss壁纸》