oracle 分割槽表move和包含分割槽表的lob move
建立含有lob欄位的表時,oracle會自動為lob欄位建立兩個單獨的segment,一個用來存放lob資料,另一個用來存放lob索引,並且它們都會儲存在對應表指定的表空間中。但是當我們用alter table tb_name move tablespace tbs_name;對錶做表空間之間遷移時只能遷移非lob欄位以外的segment,而如果要在移動表資料同時移動lob相關欄位,就必需用如下的含有特殊引數據的文句來完成:
alter table tb_name move tablespace tbs_name lob (column_lob1,column_lob2) store as(tablespace tbs_name);
表包含lob欄位,需要收回空間,首先move表,move表,move完表後lob的空間並不會釋放,還需要針對lob欄位進行move。
非分割槽表lob的move:
alter table T_SEND_LOG move lob(MESSAGE) store as (tablespace DATALOB);
分割槽表lob的move:
alter table T_SEND_LOG move partition p2018 lob(MESSAGE) store as (tablespace DATALOB);
分割槽表move:
alter table T_SEND_LOG move partition p2018;
注意:move表後記得rebuild索引。
批次生成語句參考:
針對表空間:
select 'alter table ' || a.owner || '.' || a.table_name || ' move lob(' ||
a.COLUMN_NAME || ') store as (tablespace DATALOB);'
from dba_lobs a, DBA_SEGMENTS b
where a.owner in ('APP')
and a.OWNER = b.OWNER
and a.SEGMENT_NAME = b.SEGMENT_NAME
and b.TABLESPACE_NAME != 'PACSLOB';
針對表:
select 'alter table ' || a.owner || '.' || a.table_name || ' move lob(' ||
a.COLUMN_NAME || ') store as (tablespace DATALOB);'
from dba_lobs a, DBA_SEGMENTS b
where a.owner in ('APP')
and a.OWNER = b.OWNER
and a.SEGMENT_NAME = b.SEGMENT_NAME
and a.TABLE_NAME = 'T_SEND_LOG';
======================= =======================
ORA-14511: cannot perform operation on a partitioned object
解決:如下的sql就可以生成成百上千條語句來完成partition級別的move操作
select 'alter table ' || table_name || ' move partition ' || partition_name ||' tablespace users;'
from dba_tab_partitions
where table_name in('&table_name') and table_owner='&table_owner';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2638118/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於分割槽表的move操作
- 【實驗】【PARTITION】RANGE分割槽表移動表分割槽(Move Partition)
- oracle分割槽表和分割槽表exchangeOracle
- oracle分割槽表和非分割槽表exchangeOracle
- Oracle分割槽表及分割槽索引Oracle索引
- Oracle 表分割槽Oracle
- oracle分割槽表Oracle
- oracle表分割槽Oracle
- Oracle 分割槽表Oracle
- [oracle] expdp 匯出分割槽表的分割槽Oracle
- 簡單ORACLE分割槽表、分割槽索引Oracle索引
- 學習筆記】分割槽表和分割槽索引——新增表分割槽(二)筆記索引
- Oracle 12C 新特性之move (非分割槽表)table onlineOracle
- 【學習筆記】分割槽表和分割槽索引——分割槽表的其他管理(三)筆記索引
- 範圍分割槽表和INTERVAL分割槽表對於SPLIT分割槽的區別
- oracle實用sql(14)--查詢分割槽表的分割槽列和子分割槽列OracleSQL
- Oracle分割槽表基礎運維-06分割槽表索引Oracle運維索引
- Oracle 建立分割槽表Oracle
- ORACLE分割槽表管理Oracle
- 全面學習分割槽表及分割槽索引(8)--增加和收縮表分割槽索引
- 全面學習分割槽表及分割槽索引(13)--分隔表分割槽索引
- Oracle分割槽表基礎運維-07增加分割槽(3列表分割槽)Oracle運維
- Oracle 分割槽表的建立Oracle
- Oracle分割槽表的使用Oracle
- Oracle分割槽表的管理Oracle
- 如何查詢分割槽表的分割槽及子分割槽
- Oracle帶區域性分割槽索引的分割槽表刪除舊分割槽新增新分割槽Oracle索引
- ORACLE分割槽表的使用和管理Oracle
- 深入學習Oracle分割槽表及分割槽索引Oracle索引
- 全面認識oracle分割槽表及分割槽索引Oracle索引
- rebuild分割槽表分割槽索引的方法Rebuild索引
- 全面學習分割槽表及分割槽索引(15)--修改表分割槽屬性和模板索引
- INTERVAL分割槽表鎖分割槽操作
- Oracle分割槽表基礎運維-01分割槽表分類Oracle運維
- Oracle分割槽表基礎運維-04列表分割槽Oracle運維
- 全面學習分割槽表及分割槽索引(9)--刪除表分割槽索引
- 全面學習分割槽表及分割槽索引(11)--合併表分割槽索引
- 全面學習分割槽表及分割槽索引(12)--修改list表分割槽索引