关于分区表的move操作还是很值得深究的一个问题。如果分区表中含有lob字段,难度还会加大。 对于普通的表而言,做move操作室理所

关于分区表的move操作还是很值得深究的一个问题。如果分区表中含有lob字段,难度还会加大。

对于普通的表而言,做move操作室理所当然,Oracle提供的方式很直接快捷。当然了这个命令也不是高可用的范畴。但是对于数据重组还是很方便快捷的。

一般来说,如果尝试对分区表进行move操作,会得到如下的错误警告。

SQL> alter table charge move tablespace large_data;

alter table charge move tablespace large_data

*

ERROR at line 1:

ORA-14511: cannot perform operation on a partitioned object

这个时候可以使用如下的sql语句生成动态sql来做partition级别的move操作。

比如对下面3个大表,如下的sql就可以生成成百上千条语句来完成partition级别的move操作。

select 'alter table '||table_name||' move partition '||partition_name||' tablespace large_data;' from user_tab_partitions where table_name in ('CHARGE','MEMO','CHARGE_REL')

如果表中含有lob字段,可能会碰到如下的问题

alter table memo move partition xxxx tablespace large_data;

*

ERROR at line 1:

ORA-01658: unable to create INITIAL extent for segment in tablespace DATAS01

碰到这种问题,一般有以下的几种原因,一种需要查看quota的情况,是否在对应的表空间中含有足够的quota

一种就是查看表空间的存储情况,是否有足够的空间。

如果空间有限,而且有的分区没有数据,可以开启延迟加载的方式。启用deferred_segment

expdp/impdp

使用数据泵是一种很好的选择,可以很方便的进行数据结构的dump到处,然后在导入的时候直接做remap_tablespace,这个功能是exp/imp所无法企及的。

推荐使用impdp的remap功能。

perl/shell

当然了,可以利用exp+imp+shell/perl的方式来解析dump文件

可以参考如下的博文。

里面详细讨论了解析dump文件的一些细节。

dbms_metadata.get_ddl

如果源shema可以随时访问到,在条件允许的时候可以直接通过dbms_metadata来生成对应的创建语句,可以在此基础上进行表空间的重新手工mapping。

这个过程看似简单,其实还要考虑很多的细节。分区的分区太多,很容易就超过最大字符长度了,需要自己把握控制。

exchange partition

这种方式可能风险有些大,不过在某些情况下也是一种方案,可以通过exchange partition的形式来完成表空间的重新映射。

使用普通表来和分区做一个交换。

不过以上的方法都不太适合高可用的情况,,不过downtime的时间也是需要考虑的,需要最大程度的减少操作时间,毕竟使用分区表的环境中,数据都是很大的,这个也需要大家斟酌。表空间的变更是目的,但是数据的重组就牵扯了数据的导出,导入之类的工作,大道至简,但是细节太多,还是需要多加注意。

浅谈Oracle分区表之范围分区

Oracle分区表迁移

Oracle分区表使用实例

Oracle分区表 (Partition Table) 的创建及管理

本文永久更新链接地址:

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

oracle move不能操作分区,关于Oracle分区表的move操作相关推荐

  1. Oracle 10.2 概念 第一章 Oracle介绍

    Oracle 概念(Oracle 10.2) 1.Oracle介绍 本章提供了针对Oracle数据库服务器的概述,包含以下主题 l Oracle数据库体系结构 l Oracle数据库特点 l Orac ...

  2. oracle move不能操作分区,Oracle分区表的move操作

    对于普通的表而言,做move操作室理所当然,oracle提供的方式很直接快捷.当然了这个命令也不是高可用的范畴.但是对于数据重组还是很方便快捷的. 一般来说,如果尝试对分区表进行move操作,会得到如 ...

  3. oracle删除建分区索引,Oracle分区表之创建维护分区表索引的详细步骤

    分区索引分为本地(local index)索引和全局索引(global index).局部索引比全局索引容易管理, 而全局索引比较快.与索引有关的表:dba_part_indexes 分区索引的概要统 ...

  4. oracle 增加间隔分区,oracle分区表之间隔分区(oracle 11g) - 漫兮网

    范围分区允许用户根据分区键列值的范围创建分区.下面是一个按范围分区表的示例: create table sales6 ( sales_id number, sales_dt date ) partit ...

  5. oracle 表分区 date,ORACLE分区表的使用和管理

    1创建和使用分区表 Oracle分区表分为四类:范围分区表:列表分区表:哈希分区表:组合分区表 范围分区表 创建一个按字段数据范围分区的表,分区置于指定的不同表空间中 示例代码: --为各个分区准备独 ...

  6. oracle分区备份,oracle分区表备份,只还原1个分区

    oracle分区表备份,只还原1个分区 2016-06-06 oracle分区表备份,只还原1个分区,使用statistics=none,也就是不导出统计信息. alter table ANONYMO ...

  7. oracle 分区表进行shrink操作

    [背景]公司业务系统的数据增长很快,需要进行定期进行归档,其中有些数据用分区表进行存储,归档完之后释放了大量的空间,之前已经有文档介绍普通表进行shrink操作的步骤,本文档记录对分区表和复合分区表进 ...

  8. Oracle海量数据优化-01分区的渊源

    思维导图 概述 DELETE与系统资源 delete 操作消耗的资源 truncate 和 drop 操作消耗的资源 DML操作会随着数据量的增加消耗的资源也会相应的增加 DELETE与释放空间 思维 ...

  9. oracle根据分区移动,Oracle 12c 在线移动分区和部分分区read only

    在Oracle12c当中可以在线移动分区.这里我们先随便建一个分区表,来试验这个新特性. SQL> select TABLE_NAME,PARTITION_NAME,COMPRESS_FOR,R ...

最新文章

  1. Chem. Sci. | SyntaLinker: 基于Transformer神经网络的片段连接生成器
  2. python词云代码简单_Python 简单实现标签词云
  3. CAP与Base理论
  4. 大数据 java 代码示例_功能Java示例 第7部分–将失败也视为数据
  5. hibernate批量查询_使用Hibernate批量获取
  6. XCode8 App上传AppStore更新
  7. Docker 容器资源管理,你真的学会了吗?
  8. Android 通过开源框架AsyncHttpClient进行get和post请求
  9. 排序系统 c语言程序设计,c语言程序设计(排序算法).doc
  10. 大数据对医学发展有什么影响
  11. Android-JNI开发系列《八》CMakeLists.txt语法使用
  12. J2EE 快速开发框架 Wabacus 3.3 版功能列表
  13. Atitit Spring事务配置不起作用可能出现的问题: .是否是数据库引擎设置不对造成的【笔者就遇到了这个问题,由于笔者使用的是mysql数据,但是在创建表的时候引擎默认(mysql中引擎默认为
  14. 股票分析软件 php,哪个股票分析软件最好用?
  15. 生物信息学在线服务器,48个实用的生信在线工具强烈推荐,不看是你的损失!...
  16. 大学python教材实验七字典与集合答案_Python中的字典与集合
  17. oracle数据投毒,Oracle Database Server ‘TNS Listener’远程数据投毒漏洞(CVE-2012-1675)的解决方案...
  18. js 不用onload的loding
  19. 25篇经典机器学习论文的分类
  20. 关于adb指令安装卸载apk的几个常用命令

热门文章

  1. LISP excel 冻结拆分_[转载]Visual LISP与Excel电子表格
  2. hfds下的文件导入hive表格
  3. 与技术无关,但却值得码农们好好读一读的怪书:禅与摩托车维修艺术
  4. java.lang.RuntimeException: com.google.inject.CreationException: Unable to create injector异常
  5. IPHONE手机知识大全(中)
  6. 光敏电阻规格型号的含义解读研究总结
  7. C++ primer plus 第六章课后习题
  8. 食饵捕食者模matlab,食饵捕食者模型
  9. 西门子PLC 冷启动、暖启动、热启动的一种通俗解释
  10. 广州大学数据库实验三——数据库系统设计综合实验