如果system 表空间的文件丢失,假设有备份的情况,可以恢复。数据库需要设置为mount 状态,然后restore/recover datafile
模拟实验:SQL> select name from v $ datafile;NAME-------------------------------------------------------------------- ------------------------------/u01/app/oracle/oradata/ORA11204/datafile/o1_mf_system_9grvc6rn_.dbf/u01/app/oracle/oradata/ORA11204/datafile/o1_mf_sysaux_9grvc6st_.dbf/u01/app/oracle/oradata/ORA11204/datafile/o1_mf_undotbs1_9grvc6t7_.dbf/u01/app/oracle/oradata/ORA11204/datafile/o1_mf_users_9grvc6tr_.dbf/u01/app/oracle/oradata/ORA11204/datafile/o1_mf_example_9grvht2m_.dbf/home/oracle/data5.dbf6 rows were selected.[oracle @ db 11204 ~] $ rman target /Recovery Manager: Release 11.2.0.4.0 - Production on Friday September 22 10:51:37 2017Copyright (c) 1982, 2011, Oracle and / or its affiliates. All rights reserved.Target database: Connected to ORA 11204 (database ID = 1382856929)RMAN> backup database plus archivelog;SQL> shu immediate$ mv /u01/app/oracle/oradata/ORA11204/datafile/o1_mf_system_9grvc6rn_.dbf /u01/app/oracle/oradata/ORA11204/datafile/o1_mf_system_9grvc6rn_.dbf.bakSQL> startup mount[oracle @ db 11204 ~] $ rman target /Recovery Manager: Release 11.2.0.4.0 - Production on Friday September 22 11: 00: 16 2017Copyright (c) 1982, 2011, Oracle and / or its affiliates. All rights reserved.Target · Database: Connected to ORA 11204 (DBID = 1382856929, not open)RMAN> restore datafile 1;restore started (start time: 17-09-22)I use the target database control file instead of the recovery catalogChannel: ORA_DISK_1 assignedChannel ORA_DISK_1: SID = 10 Device Type = DISKChannel ORA_DISK_1: Restoring the data file · backup set is startingChannel ORA_DISK_1: specifies the data file to be restored from the backup setChannel ORA_DISK_1: Restores data file 00001 to /u01/app/oracle/oradata/ORA11204/datafile/o1_mf_system_9grvc6rn_.dbfChannel ORA_DISK_1: Backup piece / u01 / app / oracle / fast_recovery_area / ORA11204 / backupset / 2017_09_22 / o1_mf_nnndf_TAG20170922T105151_dw8v5rbq_.bkpChannel ORA_DISK_ 1: Piece handle = / u 01 / app / oracle / fast_recovery_area / ORA 11204 / backupset / 2017 _ 09 _ 22 / o 1 _ mf _ nnndf _ TAG 20170922 T 105151 _ dw 8 v 5 rbq _. Bkp tag = TAG 20170922 T 105151Channel ORA_DISK_1: Backup piece 1 has been restoredChannel ORA_DISK_1: Restore complete. Elapsed time: 00: 01: 35restore completed (completion time: 17-09-22)RMAN>RMAN> recover datafile 1;recover started (start time: 17-09-22)Use of channel ORA_DISK_1Media recovery is startingMedia recovery is completed. Elapsed time: 00: 00: 01recover completed (completion time: 17-09-22)RMAN> exitRecovery Manager has completed.[oracle @ db 11204 ~] $