移动一个带有lob字段的表到另外一个表空间
2009-08-20 16:59
495 查看
[align=left]很多人都知道在建立含有lob字段的表时,Oracle会自动为lob字段建立两个单独的segment,一个用来存放数据,另一个用来存放索引,并且它们都会存储在对应表指定的表空间中。但是当我们用alter table tb_name move tablespace tbs_name;来对表做空间迁移时只能移动非lob字段以外的数据,而如果需要同时移动lob相关字段的数据,就必需用如下的含有特殊参数据的语句来完成。 [/align]
[align=left]alter table tb_name move tablespace tbs_name [/align]
[align=left]lob (col_lob1,col_lob2) store as(tablesapce tbs_name);[/align]
[align=left]下面是一个具体的示例: [/align]
[align=left]Connected to Oracle8i Enterprise Edition Release 8.1.7.0.0 [/align]
[align=left]Connected as scott[/align]
[align=left] [/align]
[align=left]SQL> desc test_blob;[/align]
[align=left]Name Type Nullable Default Comments [/align]
[align=left]--------- ------------ -------- ------- -------- [/align]
[align=left]FILE_NAME VARCHAR2(25) Y [/align]
[align=left]FILE_BIN BLOB Y [/align]
[align=left]FILE_BIN2 BLOB Y [/align]
[align=left] [/align]
[align=left]SQL> [/align]
[align=left]SQL> select t.segment_name, t.segment_type, t.tablespace_name[/align]
[align=left] 2 from sys.user_segments t[/align]
[align=left] 3 where t.segment_name like 'SYS_%'[/align]
[align=left] 4 /[/align]
[align=left] [/align]
[align=left]SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME[/align]
[align=left]------------------------ - ---------------- --------------[/align]
[align=left]SYS_IL0000025842C00003$$ LOBINDEX SYSTEM[/align]
[align=left]SYS_IL0000025842C00002$$ LOBINDEX SYSTEM[/align]
[align=left]SYS_LOB0000025842C00002$$ LOBSEGMENT SYSTEM[/align]
[align=left]SYS_LOB0000025842C00003$$ LOBSEGMENT SYSTEM[/align]
[align=left] [/align]
[align=left]6 rows selected[/align]
[align=left] [/align]
[align=left]SQL> alter table test_blob move tablespace tools;[/align]
[align=left] [/align]
[align=left]Table altered[/align]
[align=left] [/align]
[align=left]SQL> [/align]
[align=left]SQL> select t.segment_name, t.segment_type, t.tablespace_name[/align]
[align=left] 2 from sys.user_segments t[/align]
[align=left] 3 where t.segment_name like 'SYS_%'[/align]
[align=left] 4 /[/align]
[align=left] [/align]
[align=left]SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME[/align]
[align=left]------------------------- ---------------- --------------[/align]
[align=left]SYS_IL0000025842C00003$$ LOBINDEX SYSTEM[/align]
[align=left]SYS_IL0000025842C00002$$ LOBINDEX SYSTEM[/align]
[align=left]SYS_LOB0000025842C00002$$ LOBSEGMENT SYSTEM[/align]
[align=left]SYS_LOB0000025842C00003$$ LOBSEGMENT SYSTEM[/align]
[align=left] [/align]
[align=left]6 rows selected[/align]
[align=left] [/align]
[align=left]SQL> select t.segment_name, t.segment_type, t.tablespace_name[/align]
[align=left] 2 from sys.user_segments t[/align]
[align=left] 3 where t.segment_name like 'TEST_BLOB';[/align]
[align=left] [/align]
[align=left]SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME[/align]
[align=left]------------------------ ------------- -----------------[/align]
[align=left]TEST_BLOB TABLE TOOLS[/align]
[align=left] [/align]
[align=left]SQL> alter table test_blob move tablespace SYSTEM;[/align]
[align=left] [/align]
[align=left]Table altered[/align]
[align=left] [/align]
[align=left]SQL> ALTER TABLE test_blob MOVE[/align]
[align=left] 2 TABLESPACE tools[/align]
[align=left] 3 LOB (FILE_BIN,FILE_BIN2) STORE AS[/align]
[align=left] 4 (TABLESPACE tools);[/align]
[align=left] [/align]
[align=left]Table altered[/align]
[align=left] [/align]
[align=left]SQL> select t.segment_name, t.segment_type, t.tablespace_name[/align]
[align=left] 2 from sys.user_segments t[/align]
[align=left] 3 where t.segment_name like 'SYS_%';[/align]
[align=left] [/align]
[align=left]SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME[/align]
[align=left]--------------------------- ------------------ ------------------------[/align]
[align=left]SYS_IL0000025842C00003$$ LOBINDEX TOOLS[/align]
[align=left]SYS_IL0000025842C00002$$ LOBINDEX TOOLS[/align]
[align=left]SYS_LOB0000025842C00002$$ LOBSEGMENT TOOLS[/align]
[align=left]SYS_LOB0000025842C00003$$ LOBSEGMENT TOOLS[/align]
[align=left] [/align]
[align=left]6 rows selected[/align]
[align=left]alter table tb_name move tablespace tbs_name [/align]
[align=left]lob (col_lob1,col_lob2) store as(tablesapce tbs_name);[/align]
[align=left]下面是一个具体的示例: [/align]
[align=left]Connected to Oracle8i Enterprise Edition Release 8.1.7.0.0 [/align]
[align=left]Connected as scott[/align]
[align=left] [/align]
[align=left]SQL> desc test_blob;[/align]
[align=left]Name Type Nullable Default Comments [/align]
[align=left]--------- ------------ -------- ------- -------- [/align]
[align=left]FILE_NAME VARCHAR2(25) Y [/align]
[align=left]FILE_BIN BLOB Y [/align]
[align=left]FILE_BIN2 BLOB Y [/align]
[align=left] [/align]
[align=left]SQL> [/align]
[align=left]SQL> select t.segment_name, t.segment_type, t.tablespace_name[/align]
[align=left] 2 from sys.user_segments t[/align]
[align=left] 3 where t.segment_name like 'SYS_%'[/align]
[align=left] 4 /[/align]
[align=left] [/align]
[align=left]SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME[/align]
[align=left]------------------------ - ---------------- --------------[/align]
[align=left]SYS_IL0000025842C00003$$ LOBINDEX SYSTEM[/align]
[align=left]SYS_IL0000025842C00002$$ LOBINDEX SYSTEM[/align]
[align=left]SYS_LOB0000025842C00002$$ LOBSEGMENT SYSTEM[/align]
[align=left]SYS_LOB0000025842C00003$$ LOBSEGMENT SYSTEM[/align]
[align=left] [/align]
[align=left]6 rows selected[/align]
[align=left] [/align]
[align=left]SQL> alter table test_blob move tablespace tools;[/align]
[align=left] [/align]
[align=left]Table altered[/align]
[align=left] [/align]
[align=left]SQL> [/align]
[align=left]SQL> select t.segment_name, t.segment_type, t.tablespace_name[/align]
[align=left] 2 from sys.user_segments t[/align]
[align=left] 3 where t.segment_name like 'SYS_%'[/align]
[align=left] 4 /[/align]
[align=left] [/align]
[align=left]SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME[/align]
[align=left]------------------------- ---------------- --------------[/align]
[align=left]SYS_IL0000025842C00003$$ LOBINDEX SYSTEM[/align]
[align=left]SYS_IL0000025842C00002$$ LOBINDEX SYSTEM[/align]
[align=left]SYS_LOB0000025842C00002$$ LOBSEGMENT SYSTEM[/align]
[align=left]SYS_LOB0000025842C00003$$ LOBSEGMENT SYSTEM[/align]
[align=left] [/align]
[align=left]6 rows selected[/align]
[align=left] [/align]
[align=left]SQL> select t.segment_name, t.segment_type, t.tablespace_name[/align]
[align=left] 2 from sys.user_segments t[/align]
[align=left] 3 where t.segment_name like 'TEST_BLOB';[/align]
[align=left] [/align]
[align=left]SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME[/align]
[align=left]------------------------ ------------- -----------------[/align]
[align=left]TEST_BLOB TABLE TOOLS[/align]
[align=left] [/align]
[align=left]SQL> alter table test_blob move tablespace SYSTEM;[/align]
[align=left] [/align]
[align=left]Table altered[/align]
[align=left] [/align]
[align=left]SQL> ALTER TABLE test_blob MOVE[/align]
[align=left] 2 TABLESPACE tools[/align]
[align=left] 3 LOB (FILE_BIN,FILE_BIN2) STORE AS[/align]
[align=left] 4 (TABLESPACE tools);[/align]
[align=left] [/align]
[align=left]Table altered[/align]
[align=left] [/align]
[align=left]SQL> select t.segment_name, t.segment_type, t.tablespace_name[/align]
[align=left] 2 from sys.user_segments t[/align]
[align=left] 3 where t.segment_name like 'SYS_%';[/align]
[align=left] [/align]
[align=left]SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME[/align]
[align=left]--------------------------- ------------------ ------------------------[/align]
[align=left]SYS_IL0000025842C00003$$ LOBINDEX TOOLS[/align]
[align=left]SYS_IL0000025842C00002$$ LOBINDEX TOOLS[/align]
[align=left]SYS_LOB0000025842C00002$$ LOBSEGMENT TOOLS[/align]
[align=left]SYS_LOB0000025842C00003$$ LOBSEGMENT TOOLS[/align]
[align=left] [/align]
[align=left]6 rows selected[/align]
相关文章推荐
- 如何移动一个带有lob字段的表到另外一个表空间
- 移动表到另外一个表空间
- 移动LOB字段至新表空间
- 查询Oracle 数据库中带有lob字段的某一个表的大小
- 移动 表、表分区、LOB字段、索引、分区索引 到另一表空间!
- 如何将一个Excel文件中的sheet移动到另外一个Excel?
- INFORMIX如何通过TRIGGER实现复制同一个表的一个字段到另外一个字段
- MySQL 将查询结果,加入一个自定义固定值字段,插入另外一张表
- DB2删除完数据之后,如何释放LOB字段占用的空间
- mysql 如何将一个数据库中某个表中某个字段导入另外一个数据库里指定表里
- SharePoint2013输入的值传移动到给另外一个列表里面
- Lob字段数据删除,对应空间变化测试
- 使用前向声明 另外一个命名空间中的类
- sql查询语句 --------一个表中的字段对应另外一个表中的两个字段的查询语句
- 七牛---将空间资源复制到另外一个空间详解
- LOB字段存放在指定表空间 清理CLOB字段及压缩CLOB空间
- mysql update from 关联更新 从一个表字段 到另外一个表字段
- sql 查询一个表信息 条件为该表一个字段大于对应(必须该表相对应的Id)另外一个表的总数
- 如何获得另外一个应用程序中的控件句柄。 - 日志 - tomore - 问友源码空间
- linux下移动一个文件夹下所有内容到另外一个文件夹