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

以下的文章主要介绍的是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表空间的数据文件丢失的恢复的介绍,望你能有所收获。

【编辑推荐】

  1. Oracle存储过程中如何准确的实现分页
  2. Oracle数据库与FoxPro数据如何转换
  3. Oracle数据库中如何用GROUPING SETS进行分组自定义
  4. 用Oracle SQL语句来实现进制间的相互转换
  5. Oracle数据库中null的具体使用方案

本文标题:Oracle表空间中的实际数据文件丢失的恢复
当前链接:http://www.shufengxianlan.com/qtweb/news27/437727.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联