当使用如下语法移动或重建一个lob分区对象,将报错:
SQL> alter table SHOW_LOB_STORAGE move lob(DDD) store as (tablespace PARTFORLOB03);
ORA-14511: cannot perform operation on a partitioned object
 
正确的语法如下:
alter table <table name> move partition <table partition name> <table partition tablespace_name> lob (<lob column name>) store as <optional lob partition name> (tablespace <lob tablespace name>);
alter table <table name> move partition <table partition name> <table partition tablespace_name> lob (<lob column name>) store as (tablespace <lob tablespace name>);
 
实验如下:
1、创建表空间
create tablespace part_01 datafile '+DATADG' size 30M;
create tablespace part_02 datafile '+DATADG' size 30M;
create tablespace part_03 datafile '+DATADG' size 30M;
create tablespace lob_01 datafile '+DATADG' size 30M;
create tablespace lob_02 datafile '+DATADG' size 30M;
create tablespace lob_03 datafile '+DATADG' size 30M;
2、创建lob表分区
create table t (aaa number(5), bbb varchar2(10), ccc number(5), ddd clob ) partition by range(aaa) (
partition p1 values less than (50) tablespace part_01 lob (ddd) store as (tablespace lob_01),
partition p2 values less than (100) tablespace part_02 lob (ddd) store as (tablespace lob_02),
partition p3 values less than (maxvalue) tablespace part_03 lob (ddd) store as (tablespace lob_03));
insert into t values (11,'a',111,'clob_a');
insert into t values (51,'b',222,'clob_b');
insert into t values (101,'c',333,'clob_c');
commit;
 3、查看lob分区信息
set pagesize 180
col segment_name format a25
col segment_type format a16
col tablespace_name format a13
col partition_name format a15
select segment_name, segment_type, tablespace_name, partition_name from user_segments order by segment_name, partition_name;
select partition_name, lob_partition_name, tablespace_name from user_lob_partitions where table_name = 'T';
select table_name,def_tablespace_name from user_part_tables;
select table_name,column_name,lob_name,lob_index_name from user_part_lobs;
select table_name,partition_name,tablespace_name from user_tab_partitions where table_name='T';
4、move或重建lob分区对象
1)只迁移表分区P2中的lob对象到表空间lob_03
alter table t move partition P2 lob(DDD) store as (tablespace lob_03);
2)迁移表分区P1中lob对象到表空间lob_03,且重命名lob对象名称
alter table t move partition P1 lob(DDD) store as SYS_LOB_P227_111 (tablespace lob_03);  
3)迁移表分区P3中的lob对象到表空间 lob_01中,且表分区P3的表空间迁移到表空间 part_02
alter table t move partition P3 tablespace part_02 lob(DDD) store as (tablespace lob_01);
4)如果增加新的分区,还会使用用户或表默认使用的表空间,需修改分区表的表空间attribute
alter table t modify default attributes tablespace part_new; 
select def_tablespace_name from user_part_tables where table_name='T';

注意:
1、move分区表的lob对象,不应该去查user_lobs视图,而是应该去查user_lob_partitions视图。
2、move包含有blob对象的分区表到新的表空间情形:
---将表分区、lob对象全move到单独一个新表空间tbs_new中,语法类似如下:
alter table t move partition p_1 tablespace tbs_new
lob (lob1) store as (tablespace tbs_new ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION 0 NOCACHE )
lob (lob2) store as (tablespace tbs_new ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION 0 NOCACHE );
......
alter table t move partition p_n tablespace tbs_new
lob (lob1) store as (tablespace tbs_new ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION 0 NOCACHE )
lob (lob2) store as (tablespace tbs_new ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION 0 NOCACHE );
---如果将每个表分区、每个lob对象分别存储不同的表空间,则如下:
alter table t move partition p_1 tablespace tbs_1_1
lob (lob1) STORE as (tablespace tbs_2_1 ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION 0 NOCACHE )
lob (lob2) store as (tablespace tbs_3_1 ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION 0 NOCACHE );
......
alter table t move partition p_n tablespace tbs_1_n
lob (lob1) STORE as (tablespace tbs_2_n ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION 0 NOCACHE )
lob (lob2) store as (tablespace tbs_3_n ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION 0 NOCACHE );
3、新的分区(如interval的自动生成的新分区)还是会使用原来的(move前)表空间,需要修改分区表的默认存储表空间的属性:
alter table t modify default attributes tablespace tbs_new;
select def_tablespace_name from user_part_tables where table_name='T';
此时,今后生成的新分区才会去新的表空间,而不是老的表空间。

move或rebuild lob分区对象的更多相关文章

  1. How To Move Or Rebuild A Lob Partition

    How To Move Or Rebuild A Lob Partition [ID 761388.1]             改动时间 29-JUN-2010     类型 HOWTO     状 ...

  2. [转帖]Oracle数据库lob大对象数据类型字段总结,值得收藏

    Oracle数据库lob大对象数据类型字段总结,值得收藏 原创 波波说运维 2019-07-11 00:02:00 https://www.toutiao.com/i67108943269703357 ...

  3. JavaEE JDBC 读写LOB大对象

    JDBC 读写LOB大对象 @author ixenos LOB 除了数字.字符串和日期之外,许多数据库还可以存储大对象,例如图片或其他数据, 在SQL中,二进制(字节型)大对象称为BLOB,字符型大 ...

  4. ORACLE DBA_OBJECTS视图中OBJECT_TYPE为LOB的对象查看

    在ORACLE数据库中,DBA_OBJECTS视图中OBJECT_TYPE为LOB的对象是什么东西呢?其实OBJECT_TYPE为LOB就是大对象(LOB),它指那些用来存储大量数据的数据库字段.下面 ...

  5. Oracle LOB 大对象处理

    LOB类型列主要是用来存储大量数据的数据库字段,最大可以存储4G字节的非结构化数据. 一.LOB数据类型分类 1.按存储数据的类型分: ①字符类型:   CLOB:存储大量 单字节 字符数据.   N ...

  6. LOB对象在数据泵导出、导入后查询对象数量发现丢失

    问题描述:问题:源库的某个Schema使用数据泵Expdp元数据整体导出,在目标库导入且成功后,逻辑验证用户对象,发现缺失.分析查询后,缺失的对象,都是LOB类型(并不是所有的LOB都无法导入,是大部 ...

  7. std::move 移动对象资源

    场景: C++ 标准库使用比如vector::push_back 等这类函数时,会对参数的对象进行复制,连数据也会复制.这就会造成对象内存的额外创建, 本来原意是想把参数push_back进去就行了. ...

  8. 柯南君 :Oracle 分区技术 之 怎样支撑大数据操作?

    前段时间.看了罗女士( 资深技术顾问 - Oracle 中国 顾问咨询部)关于<大批量数据处理技术的演讲>视频.感觉受益良多,结合多年的知识积累,柯南君给大家分享一下: 交流内容: 一.O ...

  9. Oracle表空间迁移Move Tablespace

    move一个表到另外一个表空间时,索引不会跟着一起move,而且会失效.(LOB类型例外) move分为: *普通表move *分区表move *LONG,LOB大字段类型move来进行测试和说明. ...

随机推荐

  1. 安装PyCharm

    安装包下载 本文以CentOS上PyCharm安装为例来介绍,安装包的下载地址:https://www.jetbrains.com/pycharm/download/ 官网提供了windows,mac ...

  2. 表单时间和定时器this的指向

    1.针对表单的 form 表单  input 输入框 select 下拉列表  textarea 文本域 type 类型 radio 单选框 checkbox 多选框 password 密码框 but ...

  3. 协程与Epoll的配合

    想快速了解协程与网络调用的原来么,那么请赶紧关闭本页,因为下面都是在扯淡. 这几天是端午假期,第一天大算照着网上一大堆基于ucontext来写协程的文章自己也写一个简单的协程实现.于是第一天我就开始动 ...

  4. C# SqlBulkCopy类批量导入 测试

    一.功能说明 1.可以选择,只导入部分列,或者导入全部列. 2.导入速度的确比一般sql要快. 3.不用写sql语句 ----------------------------------------- ...

  5. 获取请求的ip工具类

    package com.example.util; import javax.servlet.http.HttpServletRequest; /** * get remote msg * 获取访问的 ...

  6. Linux 安装 tomcat

    创建目录 cd /usr mkdir tomcat cd tomcat 上传 tomcat rz.ftp 或者 wget 都可以 解压 tar -xzvf apache-tomcat-8.0.53.t ...

  7. kali linux源大全

    输入leafpad /etc/apt/sources.list进入        #官方源 deb http://http.kali.org/kali kali main non-free contr ...

  8. 解决Unable to load native-hadoop library for your platform

    使用hadoop fs相应命令时候总是出现 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your plat ...

  9. @Autowired注解与@resource注解的区别(十分详细)

    背景: 今天下班路上看到一个大货车,于是想到了装配,然后脑海里跳出了一个注解@Autowired(自动装配),于是又想到最近工作项目用的都是@Resource注解来进行装配.于是本着学什么东西都要一钻 ...

  10. Python数据类型转换函数

    数据类型转换函数 函 数 作 用 int(x) 将 x 转换成整数类型 float(x) 将 x 转换成浮点数类型 complex(real[,imag]) 创建一个复数 str(x) 将 x 转换为 ...