亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle表空間數據庫文件收縮案例解析

2024-08-29 14:01:06
字體:
來源:轉載
供稿:網友

我們經常會遇到數據庫磁盤空間爆滿的問題,或由于歸檔日志突增、或由于數據文件過多、大導致磁盤使用緊俏。這里主要說的場景是磁盤空間本身很大,但表空間對應的數據文件初始化的時候就直接頂滿了磁盤空間,導致經常收到磁盤空間滿的報警。

一、錯誤信息

告警內容如下:

【發現異?!康禺a客儲系統數據庫Oracle_192.168.xx.xx,192.168.xx.xx,數據庫customer,連接錯誤,0 ORA-00257: archiver error. Connect internal only, until freed.

【發生時間】2018.07.04 09:12:21

二、錯誤原因

上述錯誤一看大致就知道是由于磁盤空間不足,導致歸檔無法完成所致,我們只需要清理足夠的磁盤空間即可。但在磁盤清理的時候發現磁盤空間本身可清理的不多,被很多很大的數據文件占用,而實際使用的segment大小總共不足400G,磁盤空間本身1T,所以我們可以通過收縮數據文件的方式回收磁盤空間。

數據文件初始化方式:

1.我們創建表空間一般有兩種方式初始化其數據文件,即指定初始大小為32G(很大的值)或指定初始大小為100M(很小的值)然后通過自動擴展方式慢慢按需增長。

2.第一種初始數據文件方法壞處就是開始不管你用不用到那么大,都會占用這么大的磁盤空間(這種數據遷移的時候可以使用)。第二種初始化方法按需增長,比較好的監控實際使用磁盤空間,所以推薦初始值很小,使用自動擴展慢慢增長的方式。

三、處理步驟

1.查看磁盤空間大小

2.查看數據庫表空間大小

#!/bin/bashsqlplus -S /nolog  <<EOFconn /as sysdba;set echo off heading on underline on;column inst_num heading "Inst Num" new_value inst_num format 99999;column inst_name heading "Instance" new_value inst_name format a12;column db_name  heading "DB Name"  new_value db_name  format a12;column dbid   heading "DB Id"   new_value dbid   format 9999999999 just c;promptprompt Current Instanceprompt ~~~~~~~~~~~~~~~~select d.dbid      dbid   , d.name      db_name   , i.instance_number inst_num   , i.instance_name  inst_name from v/$database d,    v/$instance i;set term on feedback off lines 130 pagesize 999 tab off trims oncolumn MB format 999,999,999 heading "Total MB"column free format 9,999,999 heading "Free MB"column used format 99,999,999 heading "Used MB"column Largest format 999,999 heading "LrgstMB"column tablespace_name format a20 heading "Tablespace"column status format a3 truncatedcolumn max_extents format 99999999999 heading "MaxExt"col extent_management      for a1 trunc  head "M"col allocation_type       for a1 trunc  head "A"col Ext_Size for a4 trunc head "Init"column pfree format a3 trunc heading "%Fr"break on reportcompute sum of MB on reportcompute sum of free on reportcompute sum of used on reportselect  d.tablespace_name,  decode(d.status,   'ONLINE', 'OLN',  'READ ONLY', 'R/O',  d.status) status, d.extent_management,  decode(d.allocation_type,  'USER','',  d.allocation_type) allocation_type, (case   when initial_extent < 1048576   then lpad(round(initial_extent/1024,0),3)||'K'   else lpad(round(initial_extent/1024/1024,0),3)||'M'  end) Ext_Size, NVL (a.bytes / 1024 / 1024, 0) MB, NVL (f.bytes / 1024 / 1024, 0) free,  (NVL (a.bytes / 1024 / 1024, 0) - NVL (f.bytes / 1024 / 1024, 0)) used, NVL (l.large / 1024 / 1024, 0) largest,  d.MAX_EXTENTS , lpad(round((f.bytes/a.bytes)*100,0),3) pfree, (case when round(f.bytes/a.bytes*100,0) >= 20 then ' ' else '*' end) alrtFROM sys.dba_tablespaces d, (SELECT  tablespace_name, SUM(bytes) bytes  FROM dba_data_files  GROUP BY tablespace_name) a, (SELECT  tablespace_name, SUM(bytes) bytes  FROM dba_free_space  GROUP BY tablespace_name) f, (SELECT  tablespace_name, MAX(bytes) large  FROM dba_free_space  GROUP BY tablespace_name) lWHERE d.tablespace_name = a.tablespace_name(+) AND d.tablespace_name = f.tablespace_name(+) AND d.tablespace_name = l.tablespace_name(+) AND NOT (d.extent_management LIKE 'LOCAL' AND d.contents LIKE 'TEMPORARY')UNION ALLselect  d.tablespace_name,  decode(d.status,   'ONLINE', 'OLN',  'READ ONLY', 'R/O',  d.status) status, d.extent_management,  decode(d.allocation_type,  'UNIFORM','U',  'SYSTEM','A',  'USER','',  d.allocation_type) allocation_type, (case   when initial_extent < 1048576   then lpad(round(initial_extent/1024,0),3)||'K'   else lpad(round(initial_extent/1024/1024,0),3)||'M'  end) Ext_Size, NVL (a.bytes / 1024 / 1024, 0) MB, (NVL (a.bytes / 1024 / 1024, 0) - NVL (t.bytes / 1024 / 1024, 0)) free, NVL (t.bytes / 1024 / 1024, 0) used,  NVL (l.large / 1024 / 1024, 0) largest,  d.MAX_EXTENTS , lpad(round(nvl(((a.bytes-t.bytes)/NVL(a.bytes,0))*100,100),0),3) pfree, (case when nvl(round(((a.bytes-t.bytes)/NVL(a.bytes,0))*100,0),100) >= 20 then ' ' else '*' end) alrtFROM sys.dba_tablespaces d, (SELECT  tablespace_name, SUM(bytes) bytes  FROM dba_temp_files  GROUP BY tablespace_name order by tablespace_name) a, (SELECT  tablespace_name, SUM(bytes_used ) bytes  FROM v/$temp_extent_pool  GROUP BY tablespace_name) t, (SELECT  tablespace_name, MAX(bytes_cached) large  FROM v/$temp_extent_pool  GROUP BY tablespace_name order by tablespace_name) lWHERE d.tablespace_name = a.tablespace_name(+) AND d.tablespace_name = t.tablespace_name(+) AND d.tablespace_name = l.tablespace_name(+) AND d.extent_management LIKE 'LOCAL' AND d.contents LIKE 'TEMPORARY' ORDER by 1/promptexitEOF

3.查詢可直接收縮表空間數據文件

這里查看的是可以直接收縮的數據文件大小,比如最開始初始化的數據文件為32G,在數據文件高水位以下的為20G,那么可直接回收的為12G。

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 *block_size)>0;

4.直接收縮數據文件

alter database datafile '/oracle/oradata/bi/data01.dbf' resize 1548M;

5.再次查看磁盤空間,已釋放很多,可手動完成歸檔測試。

四、總結

針對oracle的數據文件收縮(磁盤空間收縮),我們一般可通過當前磁盤空間查看(df -h)——>執行可直接收縮的查詢命令和收縮命令——>執行大表高水位收縮——>執行表空間高水位收縮(降低文件高水位線)——>再次執行直接回收表空間數據文件命令

直接收縮數據文件的方式參考本文上述步驟即可完成。

那么如何降低表空間的數據文件高水位,進而完成表空間數據文件回收呢?

1.查看大于10G的數據文件

select file_name,file_id,tablespace_name,(bytes/1024/1024/1024) file_size_gb from dba_data_files where (bytes/1024/1024/1024) >10 order by file_id;

2.查看大于10G的數據文件對應的數據塊信息

select file_id,max(block_id+blocks-1) HWM,block_id       from dba_extents       where file_id =14       group by file_id,block_id       order by hwm desc ;

3.查看大表對應的數據塊信息

##查看大表select file_name,file_id,tablespace_name,(bytes/1024/1024/1024) file_size_gb from dba_data_files where (bytes/1024/1024/1024) >10 order by file_id;##查看大表對應的塊 select owner,segment_name,file_id,block_id,blocks from dba_extents where segment_name='TABLE_NAME';

4.降低表的高水位

alter table table_name move;alter index idx_name rebuild;

5.查看數據文件對應的最大的block_id

SELECT MAX(block_id)     FROM dba_extents     WHERE tablespace_name = 'TABLESPACE_NAME'; 

6.執行數據文件收縮

(block_id+blocks-1)數據文件的HWMalter database datafile '/oracle/oradata/bi/data01.dbf' resize xxxM;

總結

以上所述是小編給大家介紹的Oracle表空間數據庫文件收縮案例解析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美黄色片视频| 91热福利电影| 亚洲国产第一页| 亚洲欧美日韩精品久久奇米色影视| 色偷偷av一区二区三区乱| 久久精品在线视频| 亚洲精品电影久久久| 国产精品美女www爽爽爽视频| 成人国产精品免费视频| 欧美最顶级丰满的aⅴ艳星| 欧美中文在线观看国产| 亚洲成人xxx| 性色av香蕉一区二区| 日韩女优在线播放| 26uuu日韩精品一区二区| 国产亚洲美女精品久久久| 懂色aⅴ精品一区二区三区蜜月| 91久久精品国产91久久| 欧美天天综合色影久久精品| 久久综合电影一区| 亚洲片av在线| 国产精品r级在线| 日韩av影片在线观看| 日韩欧美综合在线视频| 国产欧美婷婷中文| 日本久久久a级免费| 正在播放欧美一区| 欧美在线视频观看| 国产精品免费小视频| 亚洲第一级黄色片| 欧美国产精品日韩| 欧美一区在线直播| 麻豆国产精品va在线观看不卡| 久久综合色88| 欧美亚洲国产视频小说| 亚洲影院色无极综合| 国产视频在线观看一区二区| 大桥未久av一区二区三区| 欧美视频中文在线看| 青草青草久热精品视频在线观看| 97在线视频免费播放| 国产精品揄拍500视频| 日韩在线视频观看正片免费网站| 国产精品三级久久久久久电影| 日韩精品在线视频美女| 久久久999精品| 欧美成在线观看| 国产精品va在线播放我和闺蜜| 国产精品毛片a∨一区二区三区|国| 亚洲欧美成人精品| 日韩中文字幕在线观看| 亚洲精品国偷自产在线99热| 国产精品扒开腿做爽爽爽男男| 国产午夜精品美女视频明星a级| 久久五月天综合| 欧美一级电影免费在线观看| 精品视频在线播放色网色视频| 亚洲人成电影在线| 中文字幕视频在线免费欧美日韩综合在线看| 欧美亚洲日本网站| 日韩精品极品毛片系列视频| 97精品视频在线观看| 久久精品精品电影网| 国产精品扒开腿做爽爽爽视频| 国产精品亚洲综合天堂夜夜| 国产精品丝袜久久久久久不卡| 欧美激情免费视频| 亚洲午夜激情免费视频| 成人免费观看a| 国内外成人免费激情在线视频| 亚洲欧美一区二区三区在线| 亚洲视频网站在线观看| 91日本在线视频| 亚洲国产一区二区三区在线观看| 91精品久久久久久久久久久久久久| 亚洲社区在线观看| 韩国三级电影久久久久久| 日韩电影第一页| 色综合久久久888| 久久夜色精品国产| 日韩av网址在线| 精品视频在线播放| 亚洲成人精品视频| 国产精品视频网址| 日韩电影中文 亚洲精品乱码| 欧美色欧美亚洲高清在线视频| 国产日韩欧美综合| 亚洲xxxx做受欧美| 一区二区福利视频| 国产午夜精品视频| 日韩欧美视频一区二区三区| 日本19禁啪啪免费观看www| 亚洲乱码国产乱码精品精天堂| 欧美国产日韩免费| 视频直播国产精品| 精品视频偷偷看在线观看| 97色在线观看| 欧美日韩国产页| 91牛牛免费视频| 在线视频日本亚洲性| 高清视频欧美一级| 精品自拍视频在线观看| 国产精品扒开腿做爽爽爽的视频| 久久久999精品| 亚洲尤物视频网| 国产在线久久久| 韩国视频理论视频久久| 久久视频在线看| 中国日韩欧美久久久久久久久| 亚洲缚视频在线观看| 国产成人拍精品视频午夜网站| 欧美情侣性视频| 欧美福利视频在线| 亚洲第一综合天堂另类专| 97精品国产91久久久久久| 成人自拍性视频| 海角国产乱辈乱精品视频| 欧美做受高潮电影o| 日韩av电影免费观看高清| 国产99久久精品一区二区永久免费| 久久亚洲精品国产亚洲老地址| 538国产精品一区二区在线| 国产成人精品久久亚洲高清不卡| 亚洲欧美国产视频| 一本一道久久a久久精品逆3p| 国产精品免费久久久久久| 国产精品69av| 国产视频精品久久久| 欧美国产日韩一区二区在线观看| 亚洲国产精品一区二区三区| 国内精品久久影院| 精品久久久久久中文字幕一区奶水| 成人欧美一区二区三区在线| 亚洲国产91精品在线观看| 欧美性猛交xxxx乱大交| 国产成人一区二区| 国产欧美在线看| 美女久久久久久久| 欧美在线播放视频| 视频在线一区二区| 日本精品性网站在线观看| 国产成人综合av| 久久99久久99精品中文字幕| 欧美性猛交视频| 国产视频精品自拍| 欧美人在线观看| 亚洲аv电影天堂网| 97久久精品人人澡人人爽缅北| 欧美一级视频免费在线观看| 日韩欧美综合在线视频| 欧美高清不卡在线| 欧美激情欧美狂野欧美精品| 欧美精品做受xxx性少妇| 欧美日韩亚洲成人| 日韩成人在线视频观看| 成人www视频在线观看| 最近中文字幕2019免费| 国产suv精品一区二区三区88区| 亚洲色图13p| 亚洲福利在线看| 欧美猛交ⅹxxx乱大交视频| 精品露脸国产偷人在视频| 国产免费一区二区三区在线观看| 91视频国产一区|