一次ORA-01548錯誤的處理
背景:客戶生產系統資料庫因為斷電導致資料庫啟來後臺ALERT中出現大量undo needs recovery報錯
作業系統版本:AIX 5.3
資料庫版本: 10.0.2.3 RAC+ASM
問題:
後臺ALERT中出現大量undo needs recovery報錯,但是資料還能正常啟動
處理步驟:
1. 首先我想到的就是查詢資料字典:
SQL> select file#,name,status from v$datafile;
結果: undotbs1 表空間的狀態是recover.
2.建立了新的回滾表空間undotbs2,刪除原來undo表空間
SQL> drop tablespace undotbs1;
drop tablespace undotbs1
*
ERROR at line 1:
ORA-01548: active rollback segment '_SYSSMU10$' found, terminate dropping tablespace
4. 檢視系統回滾段的情況
SELECT segment_name,tablespace_name,owner,status FROM dba_rollback_segs;
結果:_SYSSMU10 的狀態是 "NEED RECOVERY"
5. 使用隱含引數_CORRUPTED_ROLLBACK_SEGMENTS.
1) 建立pfile檔案,create pfile='initliferpt.ora' from spfile;
2) 修改init.ora 檔案,加上:
*.SPFILE='+DGROUP1/liferpt/spfileliferpt.ora'
_CORRUPTED_ROLLBACK_SEGMENTS =(_SYSSMU10$)
undo_management=manual
undo_retention=10800
undo_tablespace=UNDOTBS
6. 關閉資料庫
7. 重新開啟資料庫
startup pfile='initliferpt.ora';
8. 刪除已經不用的undotbs1
drop tablespace undotbs1 including contents and datafiles
9. 關閉instance,重新啟動例項
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21605631/viewspace-715560/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一次scheduler錯誤的處理
- 錯誤處理
- go的錯誤處理Go
- 一次ORA-00257錯誤的處理過程
- PHP 錯誤處理PHP
- php錯誤處理PHP
- Go 錯誤處理Go
- Swift錯誤處理Swift
- Zabbix錯誤處理
- mysqldump錯誤處理MySql
- 記一次ora-04030錯誤的處理過程
- axios 的錯誤處理iOS
- COM的錯誤處理 (轉)
- 錯誤處理:如何通過 error、deferred、panic 等處理錯誤?Error
- PHP錯誤處理和異常處理PHP
- Python錯誤處理Python
- 請教 Element 的錯誤處理
- Restful API 中的錯誤處理RESTAPI
- 【譯】RxJava 中的錯誤處理RxJava
- grpc中的錯誤處理RPC
- JavaScript的錯誤簡易處理JavaScript
- 【故障處理】ORA-12162 錯誤的處理
- 一次BTREE索引遇到ORA-08102錯誤的處理索引
- 前端的水平線,錯誤處理和除錯前端除錯
- 異常錯誤資訊處理
- PHP 核心特性 - 錯誤處理PHP
- 常用模組 PHP 錯誤處理PHP
- laravel9 錯誤處理Laravel
- 淺談前端錯誤處理前端
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- 15-錯誤處理(Error)Error
- 學習Rust 錯誤處理Rust
- Go語言之錯誤處理Go
- GOLANG錯誤處理最佳方案Golang
- Objective-C:錯誤處理Object
- javascript之處理Ajax錯誤JavaScript
- 搭建dataguard時,錯誤處理