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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 普通表空間資料檔案壞塊Oracle
- MySQL 磁碟空間滿導致表空間相關資料檔案損壞故障處理MySql
- Oracle表空間切換路徑,解決硬碟滿導致的ORA-01653問題Oracle硬碟
- undo表空間使用率過高解決
- 一次ORACLE資料庫undo壞塊處理Oracle資料庫
- ASM空間爆滿導致資料庫掛起ASM資料庫
- undo表空間容量
- PostgreSQL資料庫toast表損壞解決SQL資料庫AST
- MySQL 5.6因為OOM導致資料庫重啟MySqlOOM資料庫
- Innodb:Undo 表空間巨大
- 更改undo表空間大小
- 刪除UNDO表空間並處理ORA-01548問題
- UNDO表空間空間回收及切換
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- 臨時表空間ORA-1652問題解決
- Oracle undo 表空間資料檔案丟失強制啟動資料庫(沒有未提交的事務)Oracle資料庫
- MySQL InnoDB Undo表空間配置MySql
- 18_深入解析Oracle undo原理(2)_undo表空間使用率100%問題處理Oracle
- 2.5.5 使用自動Undo管理: 建立 Undo 表空間
- Oracle sysman.mgmt_jobs導致資料庫自動重啟Oracle資料庫
- Oracle資料庫處理壞塊問題常用命令Oracle資料庫
- 如何處理Oracle資料庫中的壞塊問題(轉)Oracle資料庫
- 解決Mysql資料庫插入資料出現問號(?)的解決辦法MySql資料庫
- Laravel 安裝 voyager 出現的資料庫報錯問題解決Laravel資料庫
- 快速解決mongodb出現id重複問題MongoDB
- OracleDatabase——資料庫表空間dmp匯出與匯入OracleDatabase資料庫
- CAS導致的ABA問題及解決
- 【資料庫】解決Mysql資料庫提示innodb表不存在的問題!資料庫MySql
- 因壞道問題導致的硬碟故障如何進行資料恢復?硬碟資料恢復
- 案例:DG主庫未設定force logging導致備庫壞塊
- 【資料庫資料恢復】磁碟空間不足導致sql server錯誤的資料恢復資料庫資料恢復SQLServer
- ORACLE線上切換undo表空間Oracle
- 使用資料庫處理併發可能導致的問題資料庫
- 資料庫不使用悲觀鎖導致問題的一種復現方式資料庫
- 記一次 Mac 意外重啟導致的 Homestead 問題Mac
- mstar因裝置讀不到導致,待機重啟問題
- 【資料庫資料恢復】Oracle資料庫檔案出現壞塊報錯的資料恢復案例資料庫資料恢復Oracle
- Oracle切換undo表空間操作步驟Oracle
- MySQL UNDO表空間獨立和截斷MySql