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>

(0)

相关推荐

  • oracle drop table(表)数据恢复方法

    复制代码 代码如下: --查看数据库回收站 select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin; --恢复  FLASHBACK TABLE 表名 TO BEFORE DROP; 此举 可以恢复表结构,同时 数据也恢复了 必须9i或10g以上版本支持,flashback无法恢复全文索引

  • Oracle误删除表数据后的数据恢复详解

    Oracle误删除表数据后的恢复详解   测试环境: SYSTEM:IBM AIX 5L                         Oracle Version:10gR2 1. undo_retention参数的查询与修改 使用show parameter undo命令查看当前的数据库参数undo_retention设置. 显示如下: SQL> show parameter undo NAME                                 TYPE        VAL

  • Oracle数据库的备份与恢复

    正在看的ORACLE教程是:Oracle数据库的备份与恢复. ---- 当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的故障(包括机器故障.介质故障.误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急.如果平时对数据库做了备份,那么此时恢复数据就显得很容易.由此可见,做好数据库的备份是多么的重要,下面笔者就以ORACLE7为例,来讲述一下数据库的备份和恢复.ORACLE 数据库有三种标准的备份方法,它们分别为导出/导入(EXPORT/IMPOR

  • Oracle数据库数据丢失恢复的几种方法总结

    根据oracle数据库的特点和提供的工具,主要方法有以下几种方法: 利用逻辑备份使用import工具丢失数据的表 利用物理备份来通过还原数据文件并进行不完全恢复 利用dbms_logmnr包从redo log文件中恢复 利用flashback特性恢复数据 前提 为了方便使用方法的介绍,上述恢复方法都将基于以下场景进行:系统管理员在前一天晚上11点用export对数据库做了全库逻辑备份,然后对所有数据文件进行了热备份.第二天上午10点,系统管理员在修改表TFUNDASSET的数据时,由于修改语句的

  • 优化Oracle停机时间及数据库恢复

    正在看的ORACLE教程是:优化Oracle停机时间及数据库恢复. 这里会讨论令Oracle停机时间最小化的步骤.各种形式的停机--计划的或者是非计划的--总是不断地发生,一个DBA应该有正确的备份策略,这样在数据库出现问题时就可以更快地恢复. 以下是假定的备份策略和数据库的运作条件 控制文件是镜像的 数据库运行在archivelog模式 每个星期都进行冷备份 每日都进行热备份 每日都进行一次全数据库导出 事件1:完整的数据库重构 在这种情形下,你可以使用全数据库导出或者冷热备份结合的方式来重构

  • 关于系统重装后Oracle数据库完全恢复的解决办法

    昨日,服务器一磁盘意外故障,c盘数据丢失,重新安装操作系统后,完全还原意外前的数据方法: 完全按照原配置(安装路径.实例名.用户名.密码)重新安装oracle后,将之前留下的oracle文件夹完全拷贝覆盖当前新安装的oracle,启动数据库管理器,数据库完好如初,数据毫发未损,包括之前的job都完全恢复,而且系统代码配置也完全不需要修改,非常省事.

  • ORACLE 数据库RMAN备份恢复

    机器A: select instance_name from v$instance; select name from v$database; select name from v$datafile; 查询日志模式: archive log list; shutdown immediate; startup mount; 把日志改为归档模式: alter database archivelog; alter database open; alter system archive log curr

  • Oracle数据库的备份及恢复策略研究

    正在看的ORACLE教程是:Oracle数据库的备份及恢复策略研究. 摘 要 恢复丢失的数据库文件在很大程度上取决于所采用的备份策略.本文从恢复的灵活性出发,对Oracle8数据库的备份及恢复策略进行了探讨,并给出了Windows 2000环境下使备份过程自动化的脚本文件的项目开发实例. 关键词 Oracle 数据库 备份 恢复 引言 随着信息系统在各种商务活动中重要性的不断增强,维护系统数据的可用性已成为当前一个十分重要的课题.为了有效地保持健康的信息系统,必须采取一定的措施防止在由介质.操作

  • oracle数据库创建备份与恢复脚本整理

    1:创建用户 复制代码 代码如下: create temporary tablespace user_temp tempfile 'D:\app\topwqp\oradata\orcl\user_temp.dbf' size 500m autoextend on next 50m maxsize 2048m extent management local; create tablespace ts_mydb logging datafile 'D:\app\topwqp\oradata\orcl

  • 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 right

  • Oracle使用fy_recover_data恢复truncate删除的数据

    目录 前言 1.创建测试表 2.truncate table pak_tab 3 编译fy_recover_data包 4.执行fy_recover_data包 5.把数据插回原表 6.校验数据 总结 前言 TRUNCATE不会逐个清除用户数据块上的数据,而仅仅重置数据字典和元数据块上的元数据(如存储段头和扩展段图).也就是说,此时,其基本数据并未被破坏,而是被系统回收.等待被重新分配. 如果我们已经有一套元数据及数据块,然后将被TRUNCATE的用户数据块的内容取代其用户数据块的内容,是否可以

  • rman恢复方案和oracle异机恢复

    注:①恢复的前提是已经做好备份②完全恢复数据库是数据库遇到故障,在恢复时候没有丢失任何已经提交事物数据的恢复不完全恢复数据库是数据库遇到故障,在恢复时候丢失部分数据的恢复③在linux下需要设置环境变量,即需要恢复的oracle数据库的实例名:export ORACLE_SID=orcl④当用resetlogs启动数据库时,应该要对数据库进行一次全备份 一.恢复方案1.丢失数据文件,进行完全恢复 复制代码 代码如下: RMAN>startup mount;RMAN>restore databa

  • 解决element ui select下拉框不回显数据问题的解决

    最近在做一个项目,项目的后端是地址: https://github.com/wangyuanjun008/wyj-springboot-security.git 前端地址是 https://github.com/wangyuanjun008/wyj-vue-security.git ,使用的前端语言是vue,使用webpack构建vue-cli全家桶 在项目中用到 el-select 时遇到一个问题,就是在编辑表单时,下拉框的不显示数据,前台代码如下: <el-select v-model=&quo

  • oracle 12c因误删pdb数据文件导致整个数据库打不开的解决方法

    前言 最近因为一位同事误删了某个插件数据库(PDB)的数据文件,结果整个数据库,包括容器数据库(CDB),以及其他插件数据库都用不了了.无奈...通过尝试各种方法最终解决了,觉着有必要将解决的过程分享出来,方法大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 方法如下: 1.用sys账号进入实例,可见容器数据库处于mounted状态:插在上面的所有PDB当然也都是mounted. sqlplus sys/pwd@orcl12c as sysdba; 2.试图打开CDB,提示有数据库文件未能

  • oracle冷备份恢复和oracle异机恢复使用方法

    一.冷备份1. 冷备份发生在数据库已经正常关闭的情况下,在进行冷备份之前通常要知道需要进行备份文件的名称以及路径 复制代码 代码如下: SQL>select name from v$datefile;SQL>select name from v$controlfile;SQL>select member from v$logfile; 2.冷备份所需备份的文件包括以下几种:所有数据文件.所有控制文件.所有联机REDO LOG 文件3.冷备份的步骤①正常关闭要备份的实例(instance)

  • 丢失的数据忘记备份的处理方法[图文]第1/2页

    环境描述: 某公司装了一台SQL Server数据库,为了保证数据库能够在出现故障时及时的修复,管理员做了备份操作,比如说完整备份+差异备份或者完整备份+事务日志备份,而且备份的时间是每隔6个小时做一次完整备份,在每天的1点.6点.12点.18点,6个小时之内是每隔1个小时做一次差异备份或事务日志备份,并且和计划任务结合在了一起. 假如现在存在这样一种场景,在2点40分左右,突然间数据库无缘无故损坏了,差异备份或事务日志备份在3点才会自动去做,那么如何将2点到2点40之间的数据恢复呢?这就需要通

  • InnoDB 类型MySql恢复表结构与数据

    前提:保存了需要恢复数据库的文件 .frm 和 .ibd 文件 条件:InnoDB 类型的 恢复表结构 1.新建一个数据库--新建一个表,表名和列数和需要恢复数据库相同 2.停止mysql服务器 service mysql stop , 3.在/usr/local/mysql/my.cnf 里面添加innodb_force_recovery = 6 4.将需要恢复的表.frm格式文件 覆盖/usr/local/mysql/data/数据库 下的.frm格式文件 5.启动mysql服务器 serv

  • 直接拷贝数据文件实现Oracle数据迁移

    背景介绍 由于机房服务器变更,需要将 Oracle 迁移到一台新服务器上去. 以下是环境说明: 原服务器地址: 192.168.1.15 新服务器地址: 192.168.1.18 操作系统:都是 CentOS 6.5 数据库版本: 都是 11.2.0.1 新服务器上安装和配置 Oracle 192.168.1.18 在新服务器(192.168.1.18)上安装了Oracle,为了保险,主机名.数据库实例名.安装目录都和原数据库保持一致.具体安装方法可参考:centos 6.5下安装oracle

随机推荐