Oracle数据库的undotbs01.dbf文件损坏,修复

http://www.xland.com.cn/article/74/77/0801/27851.htm 问题:Oracle数据库的undotbs01.dbf文件损坏? 解决方法如下: 首先,我们需要模拟这个错误,方法是将undotbs01.dbf移到其它目录下,然后再来进行修正,过程如下: SQL> startup ORACLE instance started. Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes Database mounted. ORA-01157: cannot identify/lock data file 2 - see DBWR trace file ORA-01110: data file 2: ''D:ORACLEORADATAORCLUNDOTBS01.DBF'' SQL> alter system set undo_management=''MANUAL'' scope=spfile; System altered. SQL> alter database datafile ''d:oracleoradataorclundotbs01.dbf'' offline drop ; Database altered. SQL> alter database open; Database altered. SQL> 现在,此数据库已经能正常启动,但是还是没有达到我们的要求,因为在Oracle9i以后的版本建议用undo表空间来代替回滚段,现在我们需要将其设置为undo表空间。 SQL> create undo tablespace undotbs2 datafile ' 'd:oracleoradataorclundotbs02.dbf'' size 100M; Tablespace created. SQL> select * from v $tablespace; TS# NAME INC ---------- ------------------------------ --- 3 CWMLITE YES 4 DRSYS YES 5 EXAMPLE YES 6 INDX YES 7 ODM YES 0 SYSTEM YES 8 TOOLS YES 1 UNDOTBS1 YES 9 USERS YES 10 XDB YES 2 TEMP YES TS# NAME INC ---------- ------------------------------ --- 11 UNDOTBS2 YES 12 rows selected. SQL> alter system set undo_management=''AUTO'' scope=spfile; System altered. SQL> alter system set undo_tablespace=''UNDOTBS2'' scope=spfile; System altered. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes Database mounted. Database opened. SQL> show parameter undo NAME TYPE VALUE ------------------------------------ ----------- ----- undo_management string AUTO undo_retention integer 10800 undo_suppress_errors boolean FALSE undo_tablespace string UNDOTBS2 SQL> 此时,数据库成功启动。
posted @ 2012-07-16 16:46  adodo1  Views(1442)  Comments(0Edit  收藏  举报