DATAFILE SHRINK 釋放系統空間
DATAFILE SHRINK釋放系統空間
寄語:datafile Shrink來釋放系統空間。下面是一些指令碼,希望對大家有所幫助。
##環境##
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for IBM/AIX RISC System/6000: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
##檢視datafile resize 最小值 (Smallest Size Poss.)##
Script for MAX-Shrink:-
set verify off
column file_name format a50 word_wrapped
column smallest format 999,990 heading "Smallest|Size|Poss."
column currsize format 999,990 heading "Current|Size"
column savings format 999,990 heading "Poss.|Savings"
break on report
compute sum of savings on report
column value new_val blksize
select value from v$parameter where name = 'db_block_size';
/
select file_name,
ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) smallest,
ceil( blocks*&&blksize/1024/1024) currsize,
ceil( blocks*&&blksize/1024/1024) -
ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) savings
from dba_data_files a,
( select file_id, max(block_id+blocks-1) hwm
from dba_extents
group by file_id ) b
where a.file_id = b.file_id(+) order by savings desc
/
Smallest
Size Current Poss.
FILE_NAME Poss. Size Savings
-------------------------------------------------- -------- -------- --------
+DATA/ggdb/datafile/bigfile_pgs_data_index.dbf 1 153,600 153,599
+DATA/ggdb/datafile/bigfile_dm_data_index.dbf 1 51,200 51,199
+DATA/ggdb/datafile/pgs_data_tbs_10 23,900 32,704 8,804
+DATA/ggdb/datafile/pgs_data_tbs_08 26,298 32,704 6,406
##檢視datafile HWM和datafile tablespace_name##
column cmd format a75 word_wrapped
select 'alter database datafile '''||file_name||''' resize ' ||
ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) || 'm;' cmd
from dba_data_files a,
( select file_id, max(block_id+blocks-1) hwm
from dba_extents
group by file_id ) b
where a.file_id = b.file_id(+)
and ceil( blocks*&&blksize/1024/1024) -
ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) > 0
/
TABLESPACE_NAME FILE_NAME FILE_SIZE HWM CAN_SAVE
--------------- -------------------------------------------------- --------- ------ --------
BBMC_pgs_TEST +DATA/ggdb/datafile/BBMC_pgs_test01.dbf 346 346 0
BBMC_pgs_TEST +DATA/ggdb/datafile/BBMC_pgs_test02.dbf 329 329 0
BIONE_DATA +DATA/ggdb/datafile/bione_data_01.dbf 200 5 195
cmdc_DATA_TBS +DATA/ggdb/datafile/cmdc_data_tbs_01.dbf 32760 32561 199
##批量生成datafile resize語句##
column cmd format a75 word_wrapped
select 'alter database datafile '''||file_name||''' resize ' ||
ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) || 'm;' cmd
from dba_data_files a,
( select file_id, max(block_id+blocks-1) hwm
from dba_extents
group by file_id ) b
where a.file_id = b.file_id(+)
and ceil( blocks*&&blksize/1024/1024) -
ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) > 0
/
CMD
---------------------------------------------------------------------------
alter database datafile '+DATA/ggdb/datafile/pgs_data_tbs_16.dbf' resize 25661m;
alter database datafile '+DATA/ggdb/datafile/pgs_data_tbs_08' resize 26298m;
alter database datafile '+DATA/ggdb/datafile/pgs_data_tbs_01.dbf' resize 29565m;
alter database datafile '+DATA/ggdb/datafile/pgs_data_tbs_10.dbf' resize 32703m;
總結:DBA維護當中,多多使用指令碼來提升效率。
本文參考:
How to SHRINK or Reduce the datafile size by finding the HWM (文件 ID 1600774.1)
http://blog.chinaunix.net/uid-42518-id-2404799.html
########################################################################################
版權所有,文章允許轉載,但必須以連結方式註明源地址,否則追究法律責任!【QQ交流群:53993419】
QQ:14040928
本文連結: http://blog.itpub.net/26442936/viewspace-1975163/
########################################################################################
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26442936/viewspace-1975163/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何釋放Mac空間?釋放Mac系統空間小技巧Mac
- Oracle move和shrink釋放高水位空間Oracle
- oracle 釋放undo空間Oracle
- delete不釋放表空間delete
- shrink收縮檔案空間
- lsof |grep deleted 釋放磁碟空間delete
- 禪道 - 儲存空間釋放
- Oracle 10g Shrink Table - Shrink Space 收縮空間Oracle 10g
- Oracle資料庫高水位釋放——LOB欄位空間釋放Oracle資料庫
- SQLServer如何釋放tempdb臨時表空間SQLServer
- set unused 是否會釋放儲存空間
- win10系統通過清理“系統還原和卷影複製”釋放磁碟空間的方法Win10
- win10系統透過清理“系統還原和卷影複製”釋放磁碟空間的方法Win10
- 表空間監控(二)datafile size detailAI
- RM刪除檔案空間釋放詳解
- Linux檔案刪除空間未釋放Linux
- hpux刪除檔案後空間不釋放UX
- Oracle 整理表碎片、釋放表的空間Oracle
- Oracle 釋放過度使用的Undo表空間Oracle
- OS 刪除temp表空間 而磁碟空間未釋放的解決方案
- Win10電腦如何使用自帶工具安全清理C盤釋放系統盤空間Win10
- Linux下資料檔案刪除檔案系統空間不釋放的問題Linux
- 截斷表後空間不釋放的原因分析
- Mysql 刪除資料後為釋放物理空間MySql
- Linux 刪除檔案後空間不釋放Linux
- Linux rm掉檔案空間不釋放原因Linux
- 表空間(資料檔案shrink)收縮示例
- win10怎麼釋放空間_win10釋放磁碟空間的方法Win10
- oracle 系統表空間Oracle
- oracle刪除(釋放)資料檔案/表空間流程Oracle
- 【Oracle】oracle tablespace&datafile -- oracle表空間 分享[轉]Oracle
- drop表空間以及對應的資料檔案後空間不釋放的問題
- Mysql InnoDB刪除資料後釋放磁碟空間的方法MySql
- App Cleaner & Uninstaller:釋放Mac空間,輕鬆管理應用APPMac
- Sqlserver delete表部分資料釋放資料檔案空間SQLServerdelete
- MongoDB Drop集合不釋放磁碟空間的解決辦法MongoDB
- 360 Quake網路空間測繪系統重磅釋出,全面升維網路空間“全息測繪”
- 解決linux下刪除檔案或oracle表空間後空間不釋放的問題LinuxOracle