Oracle分區(qū)表的move操作

關(guān)于分區(qū)表的move操作還是很值得深究的一個問題。如果分區(qū)表中含有l(wèi)ob字段,難度還會加大。
對于普通的表而言,做move操作室理所當(dāng)然,oracle提供的方式很直接快捷。當(dāng)然了這個命令也不是高可用的范疇。但是對于數(shù)據(jù)重組還是很方便快捷的。


站在用戶的角度思考問題,與客戶深入溝通,找到尼金平網(wǎng)站設(shè)計與尼金平網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋尼金平地區(qū)。

一般來說,如果嘗試對分區(qū)表進(jìn)行move操作,會得到如下的錯誤警告。
SQL> alter table charge move tablespace large_data;
alter table charge move tablespace large_data
            *
ERROR at line 1:
ORA-14511: cannot perform operation on a partitioned object

 
這個時候可以使用如下的sql語句生成動態(tài)sql來做partition級別的move操作。
比如對下面3個大表,如下的sql就可以生成成百上千條語句來完成partition級別的move操作。

select 'alter table '||table_name||' move partition '||partition_name||' tablespace large_data;' from user_tab_partitions where table_name in ('CHARGE','MEMO','CHARGE_REL')

如果表中含有l(wèi)ob字段,可能會碰到如下的問題

alter table memo move partition xxxx tablespace large_data;

           *
ERROR at line 1:
ORA-01658: unable to create INITIAL extent for segment in tablespace DATAS01

 碰到這種問題,一般有以下的幾種原因,一種需要查看quota的情況,是否在對應(yīng)的表空間中含有足夠的quota
一種就是查看表空間的存儲情況,是否有足夠的空間。
如果空間有限,而且有的分區(qū)沒有數(shù)據(jù),可以開啟延遲加載的方式。啟用deferred_segment


expdp/impdp
使用數(shù)據(jù)泵是一種很好的選擇,可以很方便的進(jìn)行數(shù)據(jù)結(jié)構(gòu)的dump到處,然后在導(dǎo)入的時候直接做remap_tablespace,這個功能是exp/imp所無法企及的。
推薦使用impdp的remap功能。

perl/shell
當(dāng)然了,可以利用exp+imp+shell/perl的方式來解析dump文件
可以參考如下的博文。
http://blog.itpub.net/23718752/viewspace-1160404/
里面詳細(xì)討論了解析dump文件的一些細(xì)節(jié)。

dbms_metadata.get_ddl
如果源shema可以隨時訪問到,在條件允許的時候可以直接通過dbms_metadata來生成對應(yīng)的創(chuàng)建語句,可以在此基礎(chǔ)上進(jìn)行表空間的重新手工mapping。
這個過程看似簡單,其實(shí)還要考慮很多的細(xì)節(jié)。分區(qū)的分區(qū)太多,很容易就超過最大字符長度了,需要自己把握控制。


exchange partition
這種方式可能風(fēng)險有些大,不過在某些情況下也是一種方案,可以通過exchange partition的形式來完成表空間的重新映射。
使用普通表來和分區(qū)做一個交換。

不過以上的方法都不太適合高可用的情況,不過downtime的時間也是需要考慮的,需要最大程度的減少操作時間,畢竟使用分區(qū)表的環(huán)境中,數(shù)據(jù)都是很大的,這個也需要大家斟酌。表空間的變更是目的,但是數(shù)據(jù)的重組就牽扯了數(shù)據(jù)的導(dǎo)出,導(dǎo)入之類的工作,大道至簡,但是細(xì)節(jié)太多,還是需要多加注意。

From:http://blog.itpub.net/23718752/viewspace-1266689/

分享文章:Oracle分區(qū)表的move操作
本文鏈接:http://muchs.cn/article34/jepcpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、響應(yīng)式網(wǎng)站、品牌網(wǎng)站制作、定制開發(fā)、面包屑導(dǎo)航、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計