【臨時表空間】11g中使用 SHRINK方法縮小臨時表空間和臨時檔案
曾經介紹過的常規縮小臨時表空間的方法,請參考如下文章。
《【實驗】重建臨時表空間解決臨時表空間過大問題》
http://space.itpub.net/519536/viewspace-607567
《【實驗】RESIZE方法解決臨時表空間過大問題》
http://space.itpub.net/519536/viewspace-610138
11g中針對臨時表空間過大的問題推出了SHRINK方法,使用這種方法可以非常便捷的自動化完成縮小臨時表空間或臨時檔案的目的。
1.系統當前的臨時表空間的使用情況
sys@11gR2> col name for a44
sys@11gR2> select file#,name,bytes/1024/1024 MB from v$tempfile;
FILE# NAME MB
---------- -------------------------------------------- ----------
1 /oracle/ora11gR2/oradata/secooler/temp01.dbf 51.9921875
sys@11gR2> select * from dba_temp_free_space;
TABLESPACE_NAME TABLESPACE_SIZE ALLOCATED_SPACE FREE_SPACE
-------------------- --------------- --------------- ----------
TEMP 54517760 54517760 53477376
dba_temp_free_space檢視是11g中新增加的檢視,使用這個檢視可以很方便的得到臨時表空間的使用情況。
關於這個新檢視的參考資訊:
2.使用臨時表空間的SHRINK方法縮小臨時表空間的大小
雖然上面顯示出來臨時表空間只有50M,我們依然可以使用SHRINK方法對臨時表空間進行收縮。
sys@11gR2> alter tablespace temp shrink space;
Tablespace altered.
sys@11gR2> select file#,name,bytes/1024/1024 MB from v$tempfile;
FILE# NAME MB
---------- -------------------------------------------- ----------
1 /oracle/ora11gR2/oradata/secooler/temp01.dbf 1.9921875
sys@11gR2> select * from dba_temp_free_space;
TABLESPACE_NAME TABLESPACE_SIZE ALLOCATED_SPACE FREE_SPACE
-------------------- --------------- --------------- ----------
TEMP 2088960 1040384 1048576
收縮效果明顯,在該臨時表空間未被使用的前提下,我們收縮後空間不到2MB。
3.收縮表空間中具體的臨時檔案
SHRINK同樣可以作用到具體的臨時檔案,方法如下:
1)模擬臨時檔案大小為100M
sys@11gR2> alter database tempfile '/oracle/ora11gR2/oradata/secooler/temp01.dbf' resize 100m;
Database altered.
sys@11gR2> select file#,name,bytes/1024/1024 MB from v$tempfile;
FILE# NAME MB
---------- -------------------------------------------- ----------
1 /oracle/ora11gR2/oradata/secooler/temp01.dbf 100
2)針對具體的臨時檔案進行收縮
sys@11gR2> alter tablespace temp shrink tempfile '/oracle/ora11gR2/oradata/secooler/temp01.dbf' keep 10m;
Tablespace altered.
3)驗證收縮結果
sys@11gR2> select file#,name,bytes/1024/1024 MB from v$tempfile;
FILE# NAME MB
---------- -------------------------------------------- ----------
1 /oracle/ora11gR2/oradata/secooler/temp01.dbf 10.9921875
已經成功按照我們的想法完成臨時檔案收縮的目的。
4.小結
Oracle 11g使用SHRINK方法可以很便利的完成表空間或臨時檔案的收縮任務。
充分驗證了一個規律:但凡不便的維護操作,Oracle都會人性化的在某個版本中進行改進。
Good luck.
secooler
10.05.15
-- The End --
《【實驗】重建臨時表空間解決臨時表空間過大問題》
http://space.itpub.net/519536/viewspace-607567
《【實驗】RESIZE方法解決臨時表空間過大問題》
http://space.itpub.net/519536/viewspace-610138
11g中針對臨時表空間過大的問題推出了SHRINK方法,使用這種方法可以非常便捷的自動化完成縮小臨時表空間或臨時檔案的目的。
1.系統當前的臨時表空間的使用情況
sys@11gR2> col name for a44
sys@11gR2> select file#,name,bytes/1024/1024 MB from v$tempfile;
FILE# NAME MB
---------- -------------------------------------------- ----------
1 /oracle/ora11gR2/oradata/secooler/temp01.dbf 51.9921875
sys@11gR2> select * from dba_temp_free_space;
TABLESPACE_NAME TABLESPACE_SIZE ALLOCATED_SPACE FREE_SPACE
-------------------- --------------- --------------- ----------
TEMP 54517760 54517760 53477376
dba_temp_free_space檢視是11g中新增加的檢視,使用這個檢視可以很方便的得到臨時表空間的使用情況。
關於這個新檢視的參考資訊:
2.使用臨時表空間的SHRINK方法縮小臨時表空間的大小
雖然上面顯示出來臨時表空間只有50M,我們依然可以使用SHRINK方法對臨時表空間進行收縮。
sys@11gR2> alter tablespace temp shrink space;
Tablespace altered.
sys@11gR2> select file#,name,bytes/1024/1024 MB from v$tempfile;
FILE# NAME MB
---------- -------------------------------------------- ----------
1 /oracle/ora11gR2/oradata/secooler/temp01.dbf 1.9921875
sys@11gR2> select * from dba_temp_free_space;
TABLESPACE_NAME TABLESPACE_SIZE ALLOCATED_SPACE FREE_SPACE
-------------------- --------------- --------------- ----------
TEMP 2088960 1040384 1048576
收縮效果明顯,在該臨時表空間未被使用的前提下,我們收縮後空間不到2MB。
3.收縮表空間中具體的臨時檔案
SHRINK同樣可以作用到具體的臨時檔案,方法如下:
1)模擬臨時檔案大小為100M
sys@11gR2> alter database tempfile '/oracle/ora11gR2/oradata/secooler/temp01.dbf' resize 100m;
Database altered.
sys@11gR2> select file#,name,bytes/1024/1024 MB from v$tempfile;
FILE# NAME MB
---------- -------------------------------------------- ----------
1 /oracle/ora11gR2/oradata/secooler/temp01.dbf 100
2)針對具體的臨時檔案進行收縮
sys@11gR2> alter tablespace temp shrink tempfile '/oracle/ora11gR2/oradata/secooler/temp01.dbf' keep 10m;
Tablespace altered.
3)驗證收縮結果
sys@11gR2> select file#,name,bytes/1024/1024 MB from v$tempfile;
FILE# NAME MB
---------- -------------------------------------------- ----------
1 /oracle/ora11gR2/oradata/secooler/temp01.dbf 10.9921875
已經成功按照我們的想法完成臨時檔案收縮的目的。
4.小結
Oracle 11g使用SHRINK方法可以很便利的完成表空間或臨時檔案的收縮任務。
充分驗證了一個規律:但凡不便的維護操作,Oracle都會人性化的在某個版本中進行改進。
Good luck.
secooler
10.05.15
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-662833/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【臨時表空間】11g中使用 SHRINK方法縮小臨時表空間和臨時檔案(續)
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- 批量處理時臨時增加回滾表空間臨時表空間檔案
- oracle 臨時表空間Oracle
- oracle臨時表空間Oracle
- 【儲存管理】建立臨時表空間組、建立臨時表空間組及使用
- 臨時表空間的建立、刪除,設定預設臨時表空間
- Oracle 臨時表空間概念Oracle
- oracle臨時表空間組Oracle
- oracle的臨時表空間Oracle
- Oracle Temp 臨時表空間Oracle
- mysql臨時表,臨時表空間,ibtmp1表空間暴增原因初探MySql
- 【臨時表空間組】臨時表空間組的建立、維護及應用
- 【實驗】重建臨時表空間解決臨時表空間過大問題
- oracle之臨時表空間的收縮Oracle
- ORACLE 11g臨時表空間收縮的功能Oracle
- oracle清理和重建臨時表空間Oracle
- oracle 表空間,臨時表空間使用率查詢Oracle
- oracle 11g線上收回臨預設臨時表空間Oracle
- oracle臨時表空間相關Oracle
- MySQL InnoDB臨時表空間配置MySql
- Oracle TEMP臨時表空間概念Oracle
- Oracle 臨時表空間的概念Oracle
- 臨時表空間操作總結
- ORACLE臨時表空間總結Oracle
- oracle 重建臨時表空間 tempfileOracle
- 刪掉Oracle臨時表空間Oracle
- ORACLE臨時表空間的清理Oracle
- 臨時表空間和回滾表空間使用率查詢
- Oracle效能優化:收縮臨時表空間Oracle優化
- 臨時表空間的空間使用情況查詢
- Oracle 11g 新特性 -- 臨時表空間收縮(轉)(Oracle
- MySQL 5.7 新特性 共享臨時表空間及臨時表改進MySql
- 移動資料檔案、系統表空間檔案、臨時表空間檔案
- Oracle修改預設表空間和預設臨時表空間Oracle
- Oracle 11g中Temp臨時表空間、檔案的新特性Oracle
- oracle11g 查詢臨時表空間的使用率和正在使用臨時表空間的使用者Oracle
- Oracle Temp臨時表空間處理Oracle