oracle下实现恢复一个丢失的数据文件的代码_oracle

如果您目前拥有一个冷备份,但是缺少了其中的一个数据文件,但你目前存在所有的归档,如果您要恢复数据文件,可以参考以下的示例:  

复制代码 代码如下:

[oracle@jumper eygle]$ sqlplus "/ as sysdba" 

SQL*Plus: Release 9.2.0.4.0 - Production on Sun Aug 20 01:22:50 2006 

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved. 

Connected to an idle instance. 

SQL> startup mount 
ORACLE instance started. 

Total System Global Area  252777592 bytes 
Fixed Size                   451704 bytes 
Variable Size             134217728 bytes 
Database Buffers          117440512 bytes 
Redo Buffers                 667648 bytes 
Database mounted. 

SQL> alter database open; 
alter database open 

ERROR at line 1: 
ORA-01157: cannot identify/lock data file 3 - see DBWR trace file 
ORA-01110: data file 3: '/opt/oracle/oradata/eygle/eygle02.dbf' 

SQL> alter database create datafile 3 as '/opt/oracle/oradata/eygle/eygle02.dbf'; 

Database altered. 

SQL> select name from v$datafile; 

NAME 
------------------------------------------------------- 
/opt/oracle/oradata/eygle/system01.dbf 
/opt/oracle/oradata/eygle/undotbs01.dbf 
/opt/oracle/oradata/eygle/eygle02.dbf 
/opt/oracle/oradata/eygle/eygle01.dbf 

SQL> alter database open; 
alter database open 

ERROR at line 1: 
ORA-01113: file 3 needs media recovery 
ORA-01110: data file 3: '/opt/oracle/oradata/eygle/eygle02.dbf' 

SQL> recover datafile 3; 
Media recovery complete. 
SQL> alter database open; 

Database altered. 

SQL> 

 

时间: 2024-10-27 01:01:35

oracle下实现恢复一个丢失的数据文件的代码_oracle的相关文章

在open状态下恢复丢失的数据文件

    在open状态下恢复丢失的数据文件,这个实验比较简单,要注意数据库必须1)数据库必须是归档状态2)数据库在数据文件丢失前做过全备份 .次实验模拟test.dbf 意外丢失. 一 实验前的准备.建立一个名为yang的表,插入数据,并提交.归档日志. SQL> conn system/yang as sysdba已连接.SQL> create table yang (num number) tablespace test; 表已创建. SQL> insert into yang va

oracle中alter database create datafile 导致数据文件丢失恢复

alter database create datafile导致原始数据文件丢失 有客户一个小系统找我们恢复,通过Oracle Database Recovery Check 检测之后我们红框部分发现一奇怪现象 1.文件头fuzzy为NO,不符合数据库异常crash常识,也和其他文件该状态不匹配 2.文件的创建时间,scn均和checkpoint时间,scn一致(也就是说该文件是创建之后就checkpoint,然后就没有其他操作) 3.文件开始应用的归档为5,110和其他数据文件要求的3115相

oracle手工完全恢复(二) 介质失败,丢失大部分数据文件

案例1:recover database (介质失败,丢失大部分数据文件) 解决方法:需要做介质恢复,先restore丢失的数据文件,然后recover database,起库. (1)模拟环境 05:45:49 SQL> select * from test; ID ---------- 1 2 3 05:45:52 SQL> insert into test values (4); 1 row created. 05:46:01 SQL> commit; Commit complet

在open状态下恢复未备份的数据文件

        此文讲述如何恢复未备份的数据文件,在归档日志模式,如果dba增加了新的数据文件,当没有备份新的数据文件,那么该文件出现损坏时,可以恢复该数据文件.前提是 从建立新的数据文件到丢失为止的所有归档日志必须全部存在. 一 模拟实验环境.在数据文件test 里建立t1表 并插入数据,提交,归档日志文件. SQL> create table t(num number) tablespace test; 表已创建. SQL> insert into t values(1); 已创建 1 行

仅仅丢失一个普通用户数据文件的恢复A(联机恢复)

(例如,丢失D:\BACKUPDB\USERS01.DBF) 准备工作, 通过下面的工作,如果完全恢复,应该可以看到: insert into test1 values(2); SQL> conn lunar/lunar SQL> select * from tab; TESTBACKUP3 TABLE SQL> create table test1 (a number); SQL> insert into test1 values(1); SQL> alter system

用Oracle闪回功能恢复偶然丢失的数据

[导读]本文提出了闪回功能的原理,描述了利用Oracle 9i或Oracle 10g的闪回功能进行恢复偶然丢失数据的方法. 前言 人为的错误是数据库系统失败的重要原因之一,根据调查约40%的系统问题是操作失误或者用户错误引起的,这些人为的错误又特别难以避免.传统上当发生数据丢失.数据错误问题时,解决的主要方法就是数据的导入/导出.备份/恢复技术.这些方法都需要发生数据错误之前有一个正确的备份,才能进行恢复.恢复时不取决于错误程度,而只取决于备份/恢复策略.这种方法既耗时又使数据库系统不能提供服务

恢复Hyper-V虚拟机丢失的数据文件过程

简介: 由于MD3200存储中虚拟机的数据文件丢失,导致整个Hyper-V服务瘫痪,虚拟机无法使用,故障环境为Windows Server 2012服务器,系统中部署了Hyper-V虚拟机环境,虚拟机的硬盘文件和配置文件放在朝阳区某托管中心托管的DELL MD3200存储中(注:硬盘600G4,4T1).MD3200存储是由4块600G硬盘组成的阵列,用作存储虚拟机的数据文件.单块4T硬盘用作虚拟机数据文件的备份. 故障: 由于MD3200存储中虚拟机的数据文件丢失,导致整个Hyper-V服务瘫

oracle手工完全恢复(六)将数据文件恢复到新的位置

案例5:将数据文件恢复到新的位置 1.模拟环境 SQL> create table lxtb01(id int) tablespace lx01; SQL> insert into lxtb01 values(1); 1 row created. SQL> insert into lxtb01 values(2); 1 row created. SQL> select * from lxtb01; ID ---------- 1 2 SQL> commit; Commit c

rman恢复案例——丢失全部控制文件的恢复

恢复|控制 1.1. 丢失全部控制文件的恢复1.1.1.    模拟控制文件丢失RMAN> shutdown abort;   Oracle 例程已关闭   RMAN> host;   Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp.   C:\>del D:\oracle92\test1\CONTROL*.CTL   C:\>dir D:\oracle92\test1\CONTROL*.CT