ITPub博客

首页 > 数据库 > Oracle > 9i undo文件丢失的处理。

9i undo文件丢失的处理。

原创 Oracle 作者:diashad 时间:2014-10-08 08:23:49 1 删除 编辑
9i如果有备份,
拷贝回来 recover 以下就可以了

没有备份的话  如下。
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area  101784276 bytes
Fixed Size                   453332 bytes
Variable Size              75497472 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes

SQL> alter database datafile 'C:\ORACLE\ORADATA\TESTDB\UNDOTBS01.DBF' offline;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> select US#,NAME,ts#,STATUS$,FLAGS from undo$ where STATUS$ <> 3;

       US# NAME                                  TS#    STATUS$      FLAGS
---------- ------------------------------ ---------- ---------- ----------
         1 _SYSSMU1$                               1          2
         2 _SYSSMU2$                               1          2
         3 _SYSSMU3$                               1          2
         4 _SYSSMU4$                               1          2
         5 _SYSSMU5$                               1          2
         6 _SYSSMU6$                               1          2
         7 _SYSSMU7$                               1          2
         8 _SYSSMU8$                               1          2
         9 _SYSSMU9$                               1          2
        10 _SYSSMU10$                              1          2
        11 _SYSSMU11$                              1          5


SQL> select count(*) from arch;  --这里表是不能读取一致性了
select count(*) from arch
                     *
ERROR 位于第 1 行:
ORA-00376: ???????? 2
ORA-01110: ???? 2: 'C:\ORACLE\ORADATA\TESTDB\UNDOTBS01.DBF'


SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>

编辑INITtestdb_undo.ORA'
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
_allow_resetlogs_corruption=true
_corrupted_rollback_segments=(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU11$) 
_offline_rollback_segments=true



SQL> startup pfile='C:\oracle\ora92\database\INITtestdb_undo.ORA';
ORACLE 例程已经启动。

Total System Global Area  101784276 bytes
Fixed Size                   453332 bytes
Variable Size              75497472 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes


SQL> alter database open;

数据库已更改。

SQL> select count(*) from arch;

  COUNT(*)
----------
    104822


再创建新的undo表空间
drop 坏的undo tablespace

最好做一个整库的导出,并导入到新系统

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/203348/viewspace-1291302/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 热备份之恢复UNDO
请登录后发表评论 登录
全部评论

注册时间:2011-08-08

  • 博文量
    86
  • 访问量
    472948