1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

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

SQL>selectcount(*)fromldy.t1; 
COUNT(*) 
605136 
SQL>colsegment_namefora20 
SQL>coltablespace_namefora20 
SQL>selectsegment_name,tablespace_name,bytes/1024/1024mbfromdba_segmentswhereowner='LDY'; 
SEGMENT_NAMETABLESPACE_NAMEMB 
T1LDY23 

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

SQL>startup

Oracle例程已经启动。

TotalSystemGlobalArea612368384bytes 
FixedSize1250428bytes 
VariableSize230689668bytes 
DatabaseBuffers373293056bytes 
RedoBuffers7135232bytes 

数据库装载完毕。

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

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

此时数据库为mount状态。

SQL>selectopen_modefromv$database; 
OPEN_MODE 
MOUNTED 

增加回该数据文件。

SQL>alterdatabasecreatedatafile'E:\ORACLE\ORADATA\LDY01.DBF';

数据库已更改。

介质恢复。

SQL>recoverdatafile6;

完成介质恢复。

数据库打开,正常查询。

SQL>alterdatabaseopen;

数据库已更改。

SQL>selectcount(*)fromldy.t1; 
COUNT(*) 
605136 

本文来源:1818IP

本文地址:https://www.1818ip.com/post/11040.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。