Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1078971
  • 博文数量: 1647
  • 博客积分: 80000
  • 博客等级: 元帅
  • 技术积分: 9980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 15:15
文章分类

全部博文(1647)

文章存档

2011年(1)

2008年(1646)

我的朋友

分类:

2008-10-28 17:44:24

    使用如下语法:ALTER TABLE MOVE TABLESPACE LOB () STORE AS (TABLESPACE );

    其中STORE AS 修改LOB segment段名字的方法,我在817.3的中没有效果;而且还导致表也被Moved(注意中ROWID的改变).

    当分区包括LOB时候,语法稍有不同;

    alter table move partition lob () store as ( tablespace )

    具体参考

SQL> CREATE TABLE lobtab (
recid NUMBER(5),
lobcol CLOB )
LOB (lobcol) STORE AS (TABLESPACE USERS)
TABLESPACE USERS; 2 3 4 5

Table created.

SQL> desc lobtab
Name Null? Type
----------------------------------------- -------- ----------
RECID NUMBER(5)
LOBCOL CLOB

SQL> select index_name, tablespace_name,index_type from user_indexes where table_name = 'LOBTAB';

INDEX_NAME TABLESPACE_NAME
------------------------------ ------------------------------
INDEX_TYPE
---------------------------
SYS_IL0000119374C00002$$ USERS
LOB

LOB Index必须和LOB Segment在一个表空间中。察看有用的*_lobs视图

SQL> select table_name,column_name,segment_name,index_name from user_lobs;

LOBTAB LOBCOL
SYS_LOB0000119374C00002$$ SYS_IL0000119374C00002$$

SQL> select rowid from lobtab;

ROWID
------------------
AAAdJRACiAAAACqAAA 《---目前表纪录的rowid

    移动LOB Segment

SQL> ALTER TABLE lobtab MOVE LOB (lobcol) STORE AS lobseg (TABLESPACE TOOLS);

Table altered.

SQL> select rowid from lobtab;

ROWID
------------------
AAAdKeACjAAAABqAAA <---rowid改变;虽然表的表空间没有变,但表确实也被move了。

SQL> select index_name, tablespace_name,index_type from user_indexes where table_name = 'LOBTAB';

INDEX_NAME TABLESPACE_NAME
------------------------------ ------------------------------
INDEX_TYPE
---------------------------
SYS_IL0000119374C00002$$ TOOLS
LOB

    没有发现LOBSEG,看来语法没有起作用。

SQL> SELECT segment_name, segment_type, tablespace_name FROM user_segments where segment_name IN ('LOBTAB', 'LOBSEG');

SEGMENT_NAME
--------------------------------------------------------------------------------
SEGMENT_TYPE TABLESPACE_NAME
------------------ ------------------------------
LOBTAB
TABLE USERS

SQL> select table_name,column_name,segment_name,index_name from user_lobs;

LOBTAB LOBCOL
SYS_LOB0000119374C00002$$ SYS_IL0000119374C00002$$

【责编:Amy】

--------------------next---------------------

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