http://blog.itpub.net/29487349/viewspace-2143418/ 這邊文章說了怎么收縮表空間,那么有的時(shí)候會出現(xiàn)以下情況,也就是我們查詢表空間空間空閑很多,但執(zhí)行該文章中查詢可以resize的空間卻很小,這是為什么呢? 好,下面我們來看一看。
實(shí)例,Oracle11.2.0.4 for redhat6.7 x64
查詢表空間使用狀況
-
TABLESPACE_NAME TOTAL FREE % Free
-
------------------------- ---------- ---------- ----------
-
SYSAUX 520 27 5
-
SYSTEM 750 9 1
-
TEST 200 111 56 --- TEST表空間剩余111M(測試,使用數(shù)據(jù)較?。?br />
-
UNDOTBS1 75 1 1
-
USERS 76.25 3 4
執(zhí)行 查詢可以resize的大小
-
Smallest
-
Size Current Poss.
-
FILE_NAME Poss. Size Savings
-
-------------------------------------------------- -------- -------- --------
-
/backup/oradata/mytest/test01.dbf 161 200 39
-
--------
-
sum 39 也就是該數(shù)據(jù)文件可以釋放39M,那么這什么怎么回事呢
我們通過以下語句看看:
-
SQL> select owner ownr, segment_name name,PARTITION_NAME, segment_type type, extent_id exid, file_id fiid, block_id blid, blocks blks
-
2 from dba_extents
-
3 where tablespace_name ='TEST'
-
4 order by block_id
-
5 /
-
………………………………
-
-
SCOTT OBJPART_ID INDEX 21 5 4352 128
-
SCOTT OBJPART_ID INDEX 22 5 4480 128
-
SCOTT OBJPART_ID INDEX 23 5 4608 128
-
SCOTT OBJPART_ID INDEX 24 5 4736 128
-
SCOTT OBJPART_ID INDEX 25 5 4864 128
-
SCOTT OBJPART_ID INDEX 26 5 5120 128
-
SCOTT OBJ_PART P20141231 TABLE PA 0 5 9600 1,024
-
SCOTT OBJ_PART P20141231 TABLE PA 1 5 10624 1,024
-
SCOTT OBJ_PART P20141231 TABLE PA 2 5 19584 432 --查出 該分區(qū)表block_id比較大,也就是占據(jù)數(shù)據(jù)文件的位置最尾端(相對其他數(shù)據(jù)塊))
那么我們可以通過move table方式降低該分區(qū)表的位置,也就移動到考前點(diǎn)的位置,此處請注意關(guān)于分區(qū)表相關(guān)的表、索引情況,請根據(jù)業(yè)務(wù)、數(shù)據(jù)庫來做判斷
執(zhí)行下面命令:
-
SQL> alter table scott.obj_part MODIFY PARTITION p20141231 shrink space; 該命令并沒有降低數(shù)據(jù)文件中block_id大小,字面來理解,它只是負(fù)責(zé)收縮,降低該分區(qū)表的高水位。 該命令無需重建索引
-
-
Table altered.
-
-
-
-
SQL> alter table scott.obj_part move partition p20141231 tablespace test; --move 移至,移到表空間最前面的空閑block中,需要重建索引
-
-
Table altered.
再次查看表空間resize情況
-
SCOTT OBJPART_ID INDEX 23 5 4608 128
-
SCOTT OBJPART_ID INDEX 24 5 4736 128
-
SCOTT OBJPART_ID INDEX 25 5 4864 128
-
SCOTT OBJPART_ID INDEX 26 5 5120 128
-
SCOTT OBJ_PART P20141231 TABLE PA 0 5 5248 1,024
-
SCOTT OBJ_PART P20141231 TABLE PA 1 5 6272 1,024
-
SCOTT OBJ_PART P20141231 TABLE PA 2 5 7296 1,024 --位置已前移
-
-
-
SQL> select file_name,
-
2 ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) smallest,
-
3 ceil( blocks*&&blksize/1024/1024) currsize,
-
4 ceil( blocks*&&blksize/1024/1024) -
-
5 ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) savings
-
6 from dba_data_files a,
-
7 ( select file_id, max(block_id+blocks-1) hwm
-
8 from dba_extents where tablespace_name='TEST'
-
9 group by file_id ) b
-
10 where a.file_id = b.file_id(+) and tablespace_name='TEST';
-
-
Smallest
-
Size Current Poss.
-
FILE_NAME Poss. Size Savings
-
-------------------------------------------------- -------- -------- --------
-
/backup/oradata/mytest/test01.dbf 65 200 135
-
--------
-
sum 135 --剩余空間變大
再次執(zhí)行相關(guān)alter …… resize操作即可。 當(dāng)執(zhí)行表、索引相關(guān)move、rebuild時(shí),請了解業(yè)務(wù)及相關(guān)結(jié)構(gòu),任何操作都有風(fēng)險(xiǎn),注意備份及操作規(guī)范。
當(dāng)前題目:【TABLESPACE】怎么去降低數(shù)據(jù)文件的高水位呢(BLOCK_ID)
分享鏈接:http://www.rwnh.cn/article38/jgpesp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、域名注冊、App設(shè)計(jì)、用戶體驗(yàn)、網(wǎng)站設(shè)計(jì)公司、服務(wù)器托管
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源:
創(chuàng)新互聯(lián)