龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle表空间中的实际数据文件丢失的恢复

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
以下的文章主要介绍的是 Oracle 表空间的实际数据文件丢失的恢复,我们假设Oracle数据库其处于归档模式。我们在数据库里重建一个Oracle表空间,一共有3个相关的数据文件。各10M,表空

以下的文章主要介绍的是Oracle表空间的实际数据文件丢失的恢复,我们假设Oracle数据库其处于归档模式。我们在数据库里重建一个Oracle表空间,一共有3个相关的数据文件。各10M,表空间内有一张23M的表。

  1. SQL> select count(*) from ldy.t1;  
  2. COUNT(*)  
  3. 605136  
  4. SQL> col segment_name for a20  
  5. SQL> col tablespace_name for a20  
  6. SQL> select segment_name,tablespace_name,bytes/1024/1024 mb from dba_segments where owner='LDY';  
  7. SEGMENT_NAME TABLESPACE_NAME MB  
  8. T1 LDY 23  

关闭数据库,将Oracle表空间的其中一个数据文件删除,启动后报错:

  1. SQL> startup 

Oracle例程已经启动。

  1. Total System Global Area 612368384 bytes  
  2. Fixed Size 1250428 bytes  
  3. Variable Size 230689668 bytes  
  4. Database Buffers 373293056 bytes  
  5. Redo Buffers 7135232 bytes  

数据库装载完毕。

ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 6: 'E:\ORACLE\ORADATA\LDY01.DBF'

此时数据库为mount状态。

  1. SQL> select open_mode from v$database;  
  2. OPEN_MODE  
  3. MOUNTED  

增加回该数据文件。

  1. SQL>alter database create datafile 'E:\ORACLE\ORADATA\LDY01.DBF'; 

数据库已更改。

介质恢复。

  1. SQL>recover datafile 6; 

完成介质恢复。

数据库打开,正常查询。

  1. SQL> alter database open; 

数据库已更改。

  1. SQL> select count(*) from ldy.t1;  
  2. COUNT(*)  
  3. 605136   

以上的相关内容就是对@Oracle表空间的数据文件丢失的恢复的介绍,望你能有所收获。

精彩图集

赞助商链接