Oracle資料檔案占用空間釋放resize

2022-07-02 18:18:11 字數 963 閱讀 1119

oracle資料檔案占用空間釋放resize

當oracle資料庫的資料占用空間較大,而其中儲存的資料並未佔據如此大的空間時,原因可能為使用者刪除了一些資料,但是資料檔案大小並不會自動縮小。此時如果想要縮小資料檔案的大小,可以採用如下的方式。

一、使用如下語句,查詢可以釋放空間的資料檔案:

select a.file#,

a.name,

a.bytes / 1024 / 1024 currentmb,

ceil(hwm * a.block_size) / 1024 / 1024 resizeto,

(a.bytes - hwm * a.block_size) / 1024 / 1024 releasemb,

'alter database datafile ''' || a.name || ''' resize ' ||

ceil(hwm * a.block_size) / 1024 / 1024 || 'm;' resizecmd

from v$datafile a,

(select file_id, max(block_id + blocks - 1) hwm

from dba_extents

group by file_id) b

where a.file# = b.file_id(+)

and (a.bytes - hwm * a.block_size) >0

and rownum < 10

檢視其中屬於system表空間的資料檔案,進行resize操作即可。

二、找出需要resize的資料檔案resize語句,並執行

執行報錯,原因為重置資料檔案大小需要設定為整數。

調整resize尺寸為16gb,16384mb;

三、檢視釋放後的磁碟空間

resize成功,system檔案大小縮減為16gb,root磁碟剩餘空間大大增加,增加到了19.6gb,使用率降低到了78%。

oracle表空間和資料檔案

size medium 表空間是資料庫的邏輯組成部分,在物理上講,資料庫資料存放在資料檔案中,從邏輯上講,資料庫則是存放在表空間中,表空間由乙個或者多個資料檔案組成,表空間由段構成,而段又由區構成,而區又由塊構成。表空間從邏輯上組織資料庫的資料,資料庫邏輯上是由乙個或者多個表空間組成,表空間有以下作...

oracle中表空間和資料檔案

表空間是資料庫的邏輯組成部分。從物理上講,資料庫資料存放在資料檔案中 從邏輯上講,資料庫則是存放在表空間中,表空間由乙個或多個資料檔案組成。資料庫的邏輯結構 介紹 oracle中邏輯結構包括表空間 段 區和塊。說明一下資料庫由表空間構成,而表空間又是由段構成,而段又是由區構成,而區又是由oracle...

Oracle表空間與資料檔案

1.oracle資料庫邏輯結構包含哪些東西?1 表空間 a.乙個oracle資料庫邏輯上分為更小的邏輯區域叫做表空間 b.乙個表空間同時只屬於乙個資料庫 c.每個表空間由乙個或多個系統檔案組成,叫做資料檔案datafile d.乙個表空間可以有1個或多個段組成 e.當資料庫執行時表空間可以是onli...