【故障處理】ORA-19809錯誤處理
【故障處理】ORA-19809錯誤處理
1 BLOG文件結構圖
2 前言部分
2.1 導讀和注意事項
各位技術愛好者,看完本文後,你可以掌握如下的技能,也可以學到一些其它你所不知道的知識,~O(∩_∩)O~:
① ORA-19809: limit exceeded for recovery files錯誤的處理方法
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 07/26/2016 17:35:35
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 68157440 bytes disk space from 4385144832 limit
② 閃回恢復區佔用大小的查詢
Tips:
① 本文在ITpub(http://blog.itpub.net/26736162)、部落格園(http://www.cnblogs.com/lhrbest)和微信公眾號(xiaomaimiaolhr)有同步更新
② 文章中用到的所有程式碼,相關軟體,相關資料請前往小麥苗的雲盤下載(http://blog.itpub.net/26736162/viewspace-1624453/)
③ 若文章程式碼格式有錯亂,推薦使用搜狗、360或QQ瀏覽器,也可以下載pdf格式的文件來檢視,pdf文件下載地址:http://blog.itpub.net/26736162/viewspace-1624453/
④ 本篇BLOG中命令的輸出部分需要特別關注的地方我都用灰色背景和粉紅色字型來表示,比如下邊的例子中,thread 1的最大歸檔日誌號為33,thread 2的最大歸檔日誌號為43是需要特別關注的地方;而命令一般使用黃色背景和紅色字型標注;對程式碼或程式碼輸出部分的注釋一般採用藍色字型表示。
本文如有錯誤或不完善的地方請大家多多指正,ITPUB留言或QQ皆可,您的批評指正是我寫作的最大動力。
3 故障分析及解決過程
3.1 故障環境介紹
專案 |
source db |
db 型別 |
RAC |
db version |
11.2.0.4 |
db 儲存 |
ASM |
OS版本及kernel版本 |
AIX 64位 6.1.0.0 |
3.2 故障發生現象及報錯資訊
rman執行0級全備的時候報錯:
3.3 故障分析及解決過程
看著這個錯誤聽陌生的,之前沒有遇到過,oerr看一下解釋:
由oerr的解釋可以看出該錯誤是由於閃回恢復區大小引數DB_RECOVERY_FILE_DEST設定過小導致的,下邊我們來修復該錯誤:
4 故障處理總結
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 68157440 bytes disk space from 4385144832 limit
ORA-19809錯誤是由於閃回恢復區設定過小導致,只需要修改引數db_recovery_file_dest_size設定為更大的值即可解決問題,要想更深入分析該問題就得分析閃回恢復區裡存放了哪些內容。
5 如何檢視閃回恢復區大小的佔用情況
我們從健康檢查的指令碼可以看出:
點選連線可以跳轉到相應的部分:
資料庫閃回空間使用情況
● 資料庫閃回空間總體使用情況
NAME |
LIMIT |
USED_GB |
USED% |
RECLAIM |
NUMBER_OF_FILES |
+DATA |
10G |
5.953G |
59.531% |
4.154G |
144 |
[]
● 資料庫閃回空間詳細使用情況
FILE_TYPE |
USED_GB |
PERCENT_SPACE_USED |
PERCENT_SPACE_RECLAIMABLE |
RECLAIM_GB |
NUMBER_OF_FILES |
ARCHIVED LOG |
4.185 |
41.85 |
41.46 |
4.146 |
138 |
BACKUP PIECE |
1.619 |
16.19 |
.08 |
.008 |
3 |
CONTROL FILE |
0 |
0 |
0 |
0 |
0 |
FLASHBACK LOG |
0 |
0 |
0 |
0 |
0 |
FOREIGN ARCHIVED LOG |
0 |
0 |
0 |
0 |
0 |
IMAGE COPY |
0 |
0 |
0 |
0 |
0 |
REDO LOG |
.149 |
1.49 |
0 |
0 |
3 |
Total: |
5.953 |
59.53 |
41.54 |
4.154 |
144 |
[]
可以看出,閃回空間目前是10G,使用了將近60%,共144個檔案,每種檔案的佔用情況參考如上的表格,可以看出主要是歸檔檔案和備份集佔用空間比較大。
有關健康檢查報告中的用到的指令碼如下:
閃回恢復區總大小:
SELECT NAME,
round(space_limit / 1024 / 1024 / 1024, 3) "LIMIT_GB",
round(space_used / 1024 / 1024 / 1024, 3) "USED_GB",
round(space_used / space_limit * 100, 3) "USED%",
round(space_reclaimable / 1024 / 1024 / 1024, 3) "RECLAIM_GB",
number_of_files
FROM v$recovery_file_dest v
WHERE v.SPACE_LIMIT<>0;
閃回恢復區詳細使用大小:
SELECT nvl(frau.file_type,'<font color="#990000"><b>Total:</font>') file_type,
sum(round(frau.percent_space_used / 100 * rfd.space_limit / 1024 / 1024 / 1024,3)) USED_GB,
sum(frau.percent_space_used) percent_space_used,
sum(frau.percent_space_reclaimable) percent_space_reclaimable,
sum(round(frau.percent_space_reclaimable / 100 * rfd.space_limit / 1024 / 1024 / 1024,3)) RECLAIM_GB,
sum(frau.number_of_files) number_of_files
FROM v$flash_recovery_area_usage frau,
v$recovery_file_dest rfd
GROUP BY ROLLUP(file_type)
;
6 用到的SQL集合
0級全備:backup incremental level 0 database;
oerr檢視錯誤:oerr rman 3009 、oerr ora 19809
設定閃回恢復區的大小:alter system set db_recovery_file_dest_size=10G sid='*';
------閃回恢復區總大小:
SELECT NAME,
round(space_limit / 1024 / 1024 / 1024, 3) "LIMIT_GB",
round(space_used / 1024 / 1024 / 1024, 3) "USED_GB",
round(space_used / space_limit * 100, 3) "USED%",
round(space_reclaimable / 1024 / 1024 / 1024, 3) "RECLAIM_GB",
number_of_files
FROM v$recovery_file_dest v
WHERE v.SPACE_LIMIT<>0;
-----閃回恢復區詳細使用大小:
SELECT nvl(frau.file_type,'<font color="#990000"><b>Total:</font>') file_type,
sum(round(frau.percent_space_used / 100 * rfd.space_limit / 1024 / 1024 / 1024,3)) USED_GB,
sum(frau.percent_space_used) percent_space_used,
sum(frau.percent_space_reclaimable) percent_space_reclaimable,
sum(round(frau.percent_space_reclaimable / 100 * rfd.space_limit / 1024 / 1024 / 1024,3)) RECLAIM_GB,
sum(frau.number_of_files) number_of_files
FROM v$flash_recovery_area_usage frau,
v$recovery_file_dest rfd
GROUP BY ROLLUP(file_type)
;
About Me
..........................................................................................................................................................................................................
v 本文作者:小麥苗,只專注於資料庫的技術,更注重技術的運用
v 本文在ITpub(http://blog.itpub.net/26736162)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新
v QQ群:230161599 微信群:私聊
v 本文地址:http://blog.itpub.net/26736162/viewspace-2122820/
v 本文pdf版: (提取碼:ed9b)
v 小麥苗分享的其它資料:http://blog.itpub.net/26736162/viewspace-1624453/
v 聯絡我請加QQ好友(642808185),註明新增緣由
v 於 2016-08-01 15:00~ 2016-08-01 19:00 在中行完成
v 【版權所有,文章允許轉載,但須以連結方式註明源地址,否則追究法律責任】
..........................................................................................................................................................................................................
長按識別二維碼或微信客戶端掃描下邊的二維碼來關注小麥苗的微信公眾號:xiaomaimiaolhr,學習最實用的資料庫技術。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2122820/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【故障處理】CRS-1153錯誤處理
- 【故障處理】ORA-12162 錯誤的處理
- 錯誤處理
- ORA-01591錯誤故障處理
- PHP錯誤處理和異常處理PHP
- PHP 錯誤處理PHP
- php錯誤處理PHP
- Go 錯誤處理Go
- Swift錯誤處理Swift
- Zabbix錯誤處理
- mysqldump錯誤處理MySql
- 錯誤處理:如何通過 error、deferred、panic 等處理錯誤?Error
- 轉載ORA-01591錯誤故障處理
- go的錯誤處理Go
- Python錯誤處理Python
- Python錯誤處理和異常處理(二)Python
- 【故障處理】一次RAC故障處理過程
- MongoDB故障處理MongoDB
- 轉載ORA-01591錯誤故障處理(ji)
- 異常錯誤資訊處理
- PHP 核心特性 - 錯誤處理PHP
- 常用模組 PHP 錯誤處理PHP
- laravel9 錯誤處理Laravel
- 淺談前端錯誤處理前端
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- 15-錯誤處理(Error)Error
- 學習Rust 錯誤處理Rust
- axios 的錯誤處理iOS
- Go語言之錯誤處理Go
- GOLANG錯誤處理最佳方案Golang
- Objective-C:錯誤處理Object
- javascript之處理Ajax錯誤JavaScript
- 搭建dataguard時,錯誤處理
- Oracle錯誤處理思路(一)Oracle
- COM的錯誤處理 (轉)
- 使用PHP錯誤處理 (轉)PHP
- openGauss 處理錯誤表