undo表空間故障處理

csbin發表於2014-01-02

問題描述:
ORA-00376: file 175 cannot be read at this time
ORA-01110: data file 175: '/database4/oradata/undotbs02.dbf'
資料庫無法啟動

解決辦法:
startup mount
----------------------------------------------------------------------------
-- 一、準備工作
----------------------------------------------------------------------------
select * from v$tablespace;

-- 檢視錶空間對應的回滾段,在mount狀態下無法執行。
select segment_name, segment_id, status from dba_rollback_segs where tablespace_name='UNDOTBS1';

create pfile from spfile
-- pfile在$ORACLE_HOME/dbs目錄下
----------------------------------------------------------------------------
-- 二、開始處理
----------------------------------------------------------------------------
-- 1、調整pfile,然後重啟資料庫,建立回滾段表空間
vi initbjgpnms.ora
*.undo_management='MANUAL'
*.undo_tablespace='SYSTEM'

startup pfile='/opt/ora9/oracle/product/9.2.1/dbs/initbjgpnms.ora';


drop tablespace UNDOTBS1 including contents and datafiles;
-- 這時會提示哪個回滾段正在使用,不能刪除。(不能刪除的回滾段,在初始化參_OFFLINE_ROLLBACK_SEGMENTS)設定。


-- 建立新的回滾表空間
create undo tablespace undotbs datafile
  '/database4/oradata/undo01.dbf' size 500m autoextend on next 100m maxsize 30720m;

-- 2、調整pfile, 新增回滾段, 如果有多個用逗號分隔, 然後啟動資料庫
shutdown immediate

vi initbjgpnms.ora
*.undo_management='MANUAL'
*._OFFLINE_ROLLBACK_SEGMENTS=(_SYSSMU1$)
*.undo_tablespace='undotbs'


startup pfile='/opt/ora9/oracle/product/9.2.1/dbs/initbjgpnms.ora';

drop rollback segment "_SYSSMU1$";
drop tablespace undotbs1 including contents and datafiles;


-- 3、調整pfile, 新增回滾段, 然後重啟資料庫
shutdown immediate
vi initbjgpnms.ora
*.undo_management='AUTO'
*.undo_tablespace='undotbs'


startup pfile='/opt/ora9/oracle/product/9.2.1/dbs/initbjgpnms.ora';
create spfile from pfile='/opt/ora9/oracle/product/9.2.1/dbs/initbjgpnms.ora'


-- 4、重啟資料庫,問題解決。
shutdown immediate
startup

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/720091/viewspace-1066352/,如需轉載,請註明出處,否則將追究法律責任。

相關文章