Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2896183
  • 博文数量: 599
  • 博客积分: 16398
  • 博客等级: 上将
  • 技术积分: 6875
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-30 12:04
个人简介

WINDOWS下的程序员出身,偶尔也写一些linux平台下小程序, 后转行数据库行业,专注于ORACLE和DB2的运维和优化。 同时也是ios移动开发者。欢迎志同道合的朋友一起研究技术。 数据库技术交流群:58308065,23618606

文章分类

全部博文(599)

文章存档

2014年(12)

2013年(56)

2012年(199)

2011年(105)

2010年(128)

2009年(99)

分类: Oracle

2012-12-26 10:55:44

今天有同事问到如何移动一个LOB索引到其他表空间。

LOB索引的特殊性使得REBUILD是不可行的。

要移动LOB索引到其他表空间,需要将相应的LOB对象移动到其他表空间。

SQL> CREATE TABLE TEST(ID INT,NAME VARCHAR2(20),CONTENTS CLOB);

表已创建。

SQL> ALTER INDEX "SYS_IL0000052966C00003$$" REBUILD;
ALTER INDEX "SYS_IL0000052966C00003$$" REBUILD
*
第 1 行出现错误:
ORA-02327: 无法以数据类型 LOB 的表达式创建索引

SQL> COL TABLESPACE_NAME FORMAT A20
SQL> COL INDEX_NAME FORMAT A30
SQL> SELECT INDEX_NAME,TABLESPACE_NAME FROM USER_INDEXES WHERE INDEX_TYPE='LOB';


INDEX_NAME                     TABLESPACE_NAME
------------------------------ --------------------
SYS_IL0000052966C00003$$       USERS


SQL> ALTER TABLE TEST MOVE LOB(CONTENTS) STORE AS (TABLESPACE SYSTEM);

表已更改。

SQL> SELECT INDEX_NAME,TABLESPACE_NAME FROM USER_INDEXES WHERE INDEX_TYPE='LOB';


INDEX_NAME                     TABLESPACE_NAME
------------------------------ --------------------
SYS_IL0000052966C00003$$       SYSTEM








阅读(8133) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~