oracle数据库掉电恢复

2019-04-14 17:53发布

虚拟机启动的时候复制了一份,然后用复制出来那个启动发现数据库无法启动,相当于服务器掉电。恢复步骤如下: 1,先是ORA-01172: recovery of thread 1 stuck at block 272 of file 3
ORA-01151: use media recovery to recover block, restore backup if needed
SQL> select file#,name from v$datafile;
 
     FILE# NAME
---------- --------------------------------------------------------------------------------
         1 /u01/oracle/oradata/orcl/system01.dbf
         2 /u01/oracle/oradata/orcl/sysaux01.dbf
         3 /u01/oracle/oradata/orcl/undotbs01.dbf
         4 /u01/oracle/oradata/orcl/users01.dbf
         5 /u01/oracle/oradata/orcl/crmtbs01.dbf
         6 /u01/oracle/oradata/orcl/crmtbs02.dbf
         7 /u01/oracle/oradata/orcl/comptbs01.dbf
         8 /u01/oracle/oradata/orcl/crmidxtbs01.dbf
         9 /u01/oracle/oradata/orcl/crmidxtbs02.dbf
        10 /u01/oracle/oradata/orcl/compidxtbs01.dbf

10 rows selected. 


recover一下试试,按照提示是3文件出问题了,即undotbs01.dbf:
SQL> recover datafile 3;
Media recovery complete.

再次启库:
SQL> alter database open; 2,又报错:ORA-03113: end-of-file on communication channel。估计还是undo文件损坏 startup mount;

alter system set undo_management=manual scope=spfile;

shutdown immediate;

startup;
成功启动。哈哈,高兴跳起来,接下来开启应用程序发现白美了。
3,开启应用程序,又报ORA-01552: 非系统表空间 'USERS' 不能使用系统回退段 故障分析:UNDO表空间数据文件受损,导致执行更新操作失败。
 
故障修复:C:Documents and SettingsAdministrator>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 9月 20 17:26:38 2012
Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> create undo tablespace "UNDOTBS02" datafile 'D:oracleproduct10.2.0oradatazjportUNDOTBS02.DBF' size 128m reuse autoextend on next 10m maxsize 2048m;
表空间已创建。

SQL> alter system set undo_tablespace=UNDOTBS02  scope=spfile;
系统已更改。

SQL> alter system set undo_management=auto scope=spfile;
系统已更改。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。 
SQL> startup;
ORACLE 例程已经启动。
数据库装载完毕。
数据库已经打开。

SQL> DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;
表空间已删除。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。