system表空间离线损坏修复
-------------------------------------------------模拟system表空间离线损坏--------------------------------
SQL> create table sys.strom (a number) tablespace system;
Table created.
SQL> alter system switch logfile;
System altered.
SQL> insert into sys.strom values(1);
1 row created.
SQL> alter system switch logfile;
System altered.
SQL> commit;
Commit complete.
SQL> insert into sys.strom values(22);
1 row created.
SQL> alter system switch logfile;
System altered.
SQL> commit;
Commit complete.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> !
[oracle@station strom_oradata]$ rm -rf /u01/app/oracle/oradata/ORCL/datafile/*system*                 ---删除system表空间
[oracle@station strom_oradata]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jun 8 15:20:15 2012
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area  281018368 bytes
Fixed Size                  2020192 bytes
Variable Size             155192480 bytes
Database Buffers          121634816 bytes
Redo Buffers                2170880 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1:
'/u01/app/oracle/oradata/ORCL/datafile/o1_mf_system_7x4lym26_.dbf'

SQL> !
-------------------------------------------------模拟system表空间离线损坏--------------------------------
-------------------------------------------------system表空间离线损坏修复--------------------------------
[oracle@station strom_oradata]$ cp -rp *system* /u01/app/oracle/oradata/ORCL/datafile/                 ----把老的system表空间考到datafile目录
[oracle@station strom_oradata]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jun 8 15:21:31 2012
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn /as sysdba
Connected.
SQL> recover tablespace system;
ORA-00279: change 993108 generated at 06/08/2012 15:01:43 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2012_06_08/o1_mf_1_44_%u_.ar
c
ORA-00280: change 993108 for thread 1 is in sequence #44

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
Log applied.
Media recovery complete.
SQL> alter database open;
Database altered.
SQL> select * from  sys.strom;
         A
----------
         1
        22

-------------------------------------------------system表空间离线损坏修复--------------------------------
SQL>