溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle數(shù)據(jù)庫高水位釋放——LOB字段空間釋放

發(fā)布時間:2020-08-09 00:56:50 來源:ITPUB博客 閱讀:407 作者:Z少校 欄目:關(guān)系型數(shù)據(jù)庫

在Oracle數(shù)據(jù)庫中表隨著數(shù)據(jù)增長,所占磁盤容量也會增長,當(dāng)表中數(shù)據(jù)不再需要時,對表進(jìn)行delete操作,表中代表所占空間的標(biāo)志-高水位,不會隨著數(shù)據(jù)刪除而下降,高水位沒有變化,即使刪除了數(shù)據(jù)庫,表所占空間大小仍然不變,因此,如果要釋放空間,就需要對表進(jìn)行如下處理:

一、如果表所在的表空間是段空間自動管理(即ASSM),可對表進(jìn)行shink操作,來釋放空閑數(shù)據(jù)塊,降低高水位,shink操作可不用暫停所有業(yè)務(wù):

查看表空間是否是段空間自動管理(ASSM)可以通過視圖dba_tablespaces查看。

命令:

select tablespace_name,segment_space_manegement from dba_tablespaces;

如果segment_space_manegement的值不是AUTO,表示表空間不是ASSM,則不能進(jìn)行shink操作,只能對表進(jìn)行move的操作。

具體對表進(jìn)行shrink操作方法,可參考:http://blog.itpub.net/30484956/viewspace-2678181/

二、釋放高水位也可以對表進(jìn)行move操作,進(jìn)行move操作時需要停止一切業(yè)務(wù)。但是對表進(jìn)行move操作后,表上的索引和約束會全部失效,需要進(jìn)行rebuild重建。

move操作的命令:

alter table table_name move;table_name----所要釋放空間的表的名字

三、 表的move和shink操作只針對表中的普通字段,對于所含的LOB數(shù)據(jù)類型的列需要進(jìn)行單獨(dú)操作。

釋放LOB字段所占空間的命令:

alter table table_name move lob(lobsegment_name) stoge as tablespace_name;table_name----含有l(wèi)ob字段的表名
lobsegment_name----l表中是LOB數(shù)據(jù)類型的列名
tablespace_name----lob字段存放的原表空間

含有l(wèi)ob字段的表中每個lob字段都需要進(jìn)行move操作,存儲的表空間也是原來創(chuàng)建表的時候所指定lob字段存放的表空間。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI