undo表空間出現壞塊導致資料庫重啟問題解決
作業系統:AIX5.3
資料庫版本:10.2.0.4.12
一、11月27日 11:40到11月28日 6:00做undo資料檔案轉儲,命令如下:
run {
allocate channel c1 type 'sbt_tape';
allocate channel c2 type 'sbt_tape';
allocate channel c3 type 'sbt_tape';
allocate channel c4 type 'sbt_tape';
set newname for datafile 714 to '+YYJC/dwth/undotbs1.761n';
set newname for datafile 559 to '+YYJC/dwth/undotbs1.606n';
set newname for datafile 683 to '+YYJC/dwth/undotbs1.728n';
set newname for datafile 678 to '+YYJC/dwth/undotbs1.723n';
set newname for datafile 222 to '+YYJC/dwth/undotbs1.283n';
restore datafile 714;
restore datafile 559;
restore datafile 683;
restore datafile 678;
restore datafile 222;
switch datafile 714;
switch datafile 559;
switch datafile 683;
switch datafile 678;
switch datafile 222;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
嘗試做資料檔案恢復,發現需要應用的歸檔日誌太多,耗費時間較長,故終止操作。
二、11月28日 10:00到11月28日11點對仍然有問題的undo段進行刪除操作,具體步驟如下:
1、確定需要恢復的回滾段
select * from dba_rollback_segs where status='NEEDS RECOVERY';
2、關閉資料庫監聽,防止新會話產生
srvctl stop listener -n ods1
srvctl stop listener -n ods2
3、殺掉現有會話
ps -ef|grep DWTH|grep LOCAL=NO|awk '{print $2}'|xargs kill -9
4、備份引數檔案
create pfile='/tmp/initDWTH1_20161128.ora' from spfile;
5、修改備份檔案,跳過需要回滾的回滾段
vi /tmp/initDWTH1_20161128.ora
*.undo_management=manual
*._corrupted_rollback_segments=('_SYSSMU27$','_SYSSMU46$')
6、關閉資料庫,用修改過的pfile以限制會話連線方式啟動資料庫
shutdown immediate
startup restrict open pfile='/tmp/initDWTH1_20161128.ora';
7、刪除回滾段資訊
drop rollback segment
SQL>drop rollback segment "_SYSSMU27$";
SQL>drop rollback segment "_SYSSMU46$";
8、以原有的預設的spfile啟動資料庫
shutdown immediate;
srvctl start database -d DWTH
資料庫版本:10.2.0.4.12
一、11月27日 11:40到11月28日 6:00做undo資料檔案轉儲,命令如下:
run {
allocate channel c1 type 'sbt_tape';
allocate channel c2 type 'sbt_tape';
allocate channel c3 type 'sbt_tape';
allocate channel c4 type 'sbt_tape';
set newname for datafile 714 to '+YYJC/dwth/undotbs1.761n';
set newname for datafile 559 to '+YYJC/dwth/undotbs1.606n';
set newname for datafile 683 to '+YYJC/dwth/undotbs1.728n';
set newname for datafile 678 to '+YYJC/dwth/undotbs1.723n';
set newname for datafile 222 to '+YYJC/dwth/undotbs1.283n';
restore datafile 714;
restore datafile 559;
restore datafile 683;
restore datafile 678;
restore datafile 222;
switch datafile 714;
switch datafile 559;
switch datafile 683;
switch datafile 678;
switch datafile 222;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
嘗試做資料檔案恢復,發現需要應用的歸檔日誌太多,耗費時間較長,故終止操作。
二、11月28日 10:00到11月28日11點對仍然有問題的undo段進行刪除操作,具體步驟如下:
1、確定需要恢復的回滾段
select * from dba_rollback_segs where status='NEEDS RECOVERY';
2、關閉資料庫監聽,防止新會話產生
srvctl stop listener -n ods1
srvctl stop listener -n ods2
3、殺掉現有會話
ps -ef|grep DWTH|grep LOCAL=NO|awk '{print $2}'|xargs kill -9
4、備份引數檔案
create pfile='/tmp/initDWTH1_20161128.ora' from spfile;
5、修改備份檔案,跳過需要回滾的回滾段
vi /tmp/initDWTH1_20161128.ora
*.undo_management=manual
*._corrupted_rollback_segments=('_SYSSMU27$','_SYSSMU46$')
6、關閉資料庫,用修改過的pfile以限制會話連線方式啟動資料庫
shutdown immediate
startup restrict open pfile='/tmp/initDWTH1_20161128.ora';
7、刪除回滾段資訊
drop rollback segment
SQL>drop rollback segment "_SYSSMU27$";
SQL>drop rollback segment "_SYSSMU46$";
8、以原有的預設的spfile啟動資料庫
shutdown immediate;
srvctl start database -d DWTH
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29802484/viewspace-2129575/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- UNDO表空間損壞導致資料庫無法OPEN資料庫
- [oracle]undo表空間出錯,導致資料庫例項無法開啟Oracle資料庫
- 【UNDO】使用重建UNDO表空間方法解決UNDO表空間過大問題
- 改變資料庫undo表空間資料庫
- undo壞塊引起資料庫無法啟動資料庫
- UNDO表空間不足解決方法
- 資料庫損壞解決:資料庫已損壞,無法分配空間資料庫
- oracle 普通表空間資料檔案壞塊Oracle
- MySQL 磁碟空間滿導致表空間相關資料檔案損壞故障處理MySql
- UNDO表空間損壞的處理
- AWR資料導致SYSAUX表空間一直增長的問題UX
- undo表空間出現問題的幾種情況與處理
- 資料庫檔案壞塊損壞導致開啟時報錯的恢復方法資料庫
- 更改資料庫預設臨時表空間出現的小問題資料庫
- 記一次undo表空間資料塊恢復
- undo表空間資源緊張的解決方案
- 臨時表空間資料檔案損壞的解決
- undo表空間不能回收的解決方法
- Oracle undo表空間爆滿的解決Oracle
- DNS導致資料庫登入緩慢的問題解決DNS資料庫
- 回滾段表空間資料檔案損壞解決方法
- oracle的還原表空間UNDO寫滿磁碟空間,解決該問題的具體步驟Oracle
- undo表空間滿導致的ogg discard檔案寫滿
- 11g資料庫出現壞塊資料庫
- undo表空間損壞的處理過程
- UNDO 表空間檔案損壞的恢復
- 解決memory_target設定過小導致不能啟動資料庫的問題資料庫
- undo表空間使用率過高解決
- 資料庫壞塊解決案例一則資料庫
- ASM空間爆滿導致資料庫掛起ASM資料庫
- oracle壞塊問題的解決Oracle
- Oracle表空間切換路徑,解決硬碟滿導致的ORA-01653問題Oracle硬碟
- Flash Recovery Area空間不足導致資料庫不能開啟或hang住資料庫
- UNDO表空間損壞,爆滿,ORA-600[4194]/[4193]錯誤解決
- 一次ORACLE資料庫undo壞塊處理Oracle資料庫
- MySQL 5.6因為OOM導致資料庫重啟MySqlOOM資料庫
- 歸檔問題導致的資料庫無法啟動資料庫
- ORACLE 中undo表空間爆滿的解決方法Oracle