oracle 回收表空間的資料檔案大小
今天發現系統空間使用率達到100%,zabbix老是報警,沒辦法在資料庫中將歷史資料刪除了一些,但是表空間仍然沒有降低,並未回收,磁碟空間還是100%。
[oracle@node data]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 296G 89G 192G 32% /
tmpfs 59G 228K 59G 1% /dev/shm
/dev/sda1 200M 260K 200M 1% /boot/efi
/dev/sda4 4.0T 3.8T 39G 100% /u01
解決如下:
檢視錶空間的使用情況:
select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",
round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by ((a.bytes-b.bytes)/a.bytes) desc
回收表空間資料檔案
select 'alter database datafile '''||a.file_name||''' resize ' ||round(a.filesize - (a.filesize - c.hwmsize-100) *0.8)||'M;', a.filesize, c.hwmsize from ( select file_id,file_name,round(bytes/1024/1024) filesize from dba_data_files ) a, ( select file_id,round(max(block_id)*8/1024) HWMsize from dba_extents group by file_id) c where a.file_id = c.file_id and a.filesize - c.hwmsize > 100
執行回收reize資料檔案的sql
alter database datafile '/u01/app/oradata/orcl/etl01.dbf' resize 3549042M;
[oracle@node data]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 296G 89G 192G 32% /
tmpfs 59G 228K 59G 1% /dev/shm
/dev/sda1 200M 260K 200M 1% /boot/efi
/dev/sda4 4.0T 3.6T 203G 95% /u01
系統磁碟空間下降。
[oracle@node data]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 296G 89G 192G 32% /
tmpfs 59G 228K 59G 1% /dev/shm
/dev/sda1 200M 260K 200M 1% /boot/efi
/dev/sda4 4.0T 3.8T 39G 100% /u01
解決如下:
檢視錶空間的使用情況:
select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",
round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by ((a.bytes-b.bytes)/a.bytes) desc
回收表空間資料檔案
select 'alter database datafile '''||a.file_name||''' resize ' ||round(a.filesize - (a.filesize - c.hwmsize-100) *0.8)||'M;', a.filesize, c.hwmsize from ( select file_id,file_name,round(bytes/1024/1024) filesize from dba_data_files ) a, ( select file_id,round(max(block_id)*8/1024) HWMsize from dba_extents group by file_id) c where a.file_id = c.file_id and a.filesize - c.hwmsize > 100
執行回收reize資料檔案的sql
alter database datafile '/u01/app/oradata/orcl/etl01.dbf' resize 3549042M;
[oracle@node data]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 296G 89G 192G 32% /
tmpfs 59G 228K 59G 1% /dev/shm
/dev/sda1 200M 260K 200M 1% /boot/efi
/dev/sda4 4.0T 3.6T 203G 95% /u01
系統磁碟空間下降。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30345407/viewspace-2122335/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫表空間的資料檔案大小上限。Oracle資料庫
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- 表空間中有資料也可以壓縮表空間(資料檔案)大小
- 如何檢視Oracle資料庫表空間大小(空閒、已使用),是否要增加表空間的資料檔案...Oracle資料庫
- Oracle 表空間與資料檔案Oracle
- oracle 資料檔案表空間管理Oracle
- oracle 表空間 資料檔案 筆記Oracle筆記
- Oracle 表空間資料檔案遷移Oracle
- Oracle 表空間回收Oracle
- oracle誤刪除表空間的資料檔案Oracle
- oracle 普通表空間資料檔案壞塊Oracle
- 誤刪oracle資料庫表空間檔案Oracle資料庫
- 移動資料檔案、系統表空間檔案、臨時表空間檔案
- ORACLE表空間、資料檔案離線問題Oracle
- oracle基礎管理——表空間和資料檔案Oracle
- (個人)Oracle 表空間資料檔案遷移(轉)Oracle
- 表空間和資料檔案的管理
- 資料檔案,表空間的移動
- 表空間新增資料檔案的疑惑
- Oracle案例11——Oracle表空間資料庫檔案收縮Oracle資料庫
- Oracle 表空間增加檔案Oracle
- Delete大量資料後,回收表空間delete
- 表空間和資料檔案管理
- MySQL innodb共享表空間新增表空間資料檔案方法MySql
- 【學習日記】oracle之表空間、資料檔案、控制檔案Oracle
- Oracle 查詢各個 “表空間/資料檔案” 的空間使用比情況Oracle
- oracle rac on aix 下為表空間增加資料檔案OracleAI
- oracle刪除(釋放)資料檔案/表空間流程Oracle
- 表空間&資料檔案和控制檔案(zt)
- Oracle 資料檔案回收Oracle
- 錯誤新增表空間的資料檔案
- oracle 表空間下資料檔案遷移的三種方法Oracle
- Oracle根據表名查詢表空間及資料檔案的地址Oracle
- 表空間資料檔案故障處理
- 線上遷移表空間資料檔案
- oracle 小議如何從表空間 刪除 資料檔案Oracle
- 如何獲取 PostgreSQL 資料庫中的表大小、資料庫大小、索引大小、模式大小、表空間大小、列大小SQL資料庫索引模式
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle