首頁  >  文章  >  資料庫  >  oracle怎麼轉移表的表空間

oracle怎麼轉移表的表空間

WBOY
WBOY原創
2022-05-26 10:07:565517瀏覽

oracle中,可利用「alter table」語句轉移表的表空間,該語句可修改表的數據,與「move tablespace」配合使用就可移動表的表空間,語法為「alter table表名move tablespace 新的表空間」。

oracle怎麼轉移表的表空間

本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。

oracle怎麼轉移表的表空間

轉移表的表空間語法如下:

將表table_name 移到新的new_tbsp表空間 

#
alter table  table_name move tablespace new_tbsp;

oracle怎麼轉移表的表空間

產生指定tbsp_name表空間下的【所有表】產生移動new_tbsp表空間SQL語句

select 'alter table '|| table_name|| ' move tablespace new_tbsp;' from user_tables where tablespace_name = 'tbsp_name'

#擴充功能:轉移不同的表空間

移動【索引】所在表格空間:

如將索引index_name 移到新的new_tbsp表空間(LOB資料類型的欄位需如下第3類處理)

alter index index_name rebuild tablespace new_tbsp;

--產生指定user_name使用者下的【所有索引】產生移動new_tbsp表空間SQL語句

select 'alter index '||index_name||' rebuild tablespace new_tbsp;' from user_indexes where table_owner = 'user_name'

移動【二進位流欄位】資料儲存表空間,如將表table_name中的二進位流欄位col_name移動到new_tbsp表空間

alter table table_name move tablespace new_tbsp  lob (col_name) store as  (tablespace new_tbsp);

--產生指定表table_name中為CLOB類型的欄位的移動到new_tbsp 表空間SQL語句

select 'alter table '|| table_name||' move tablespace new_tbsp lob ('|| column_name||' ) store as  (tablespace new_tbsp);'  from user_tab_columns 
where  data_type='CLOB' and table_name='table_name'

oracle怎麼轉移表的表空間

oracle怎麼轉移表的表空間

#推薦教學:《Oracle影片教學

以上是oracle怎麼轉移表的表空間的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn