OS:

Oracle Linux Server release 5.7

DB:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

首先创建yoon数据库

SQL> create tablespace yoon datafile '/u01/oracle/oradata/yoon/yoon01.dbf' size 50m;

Tablespace created.

SQL> create user yoon identified by yoon default tablespace yoon;

User created.

SQL> grant dba to yoon;

Grant succeeded.

SQL> create table yoon.yoon as select * from scott.emp;

Table created.

在操作中误删除数据文件yoon01.dbf

rm -rf yoon01.dbf

select ts#,file#,name,bytes,status from v$datafile;

ps -ef | grep dbw | grep -v grep

cd /proc/..../fd

一、在线恢复:

[oracle@b28-122 yoon]$ rm -rf yoon01.dbf

[oracle@b28-122 yoon]$ ps -ef |grep dbw |grep -v grep
oracle 17417 1 0 00:51 ? 00:00:00 ora_dbw0_yoon

[oracle@b28-122 yoon]$ cd /proc/17417/fd

[oracle@b28-122 fd]$ cp 267 /u01/oracle/oradata/yoon/newyoon01.dbf

SQL> alter database datafile 6 offline;

Database altered.

SQL> alter database rename file '/u01/oracle/oradata/yoon/yoon01.dbf' to '/u01/oracle/oradata/yoon/newyoon01.dbf';

Database altered.

SQL> recover datafile 6;
Media recovery complete.

SQL> alter database datafile 6 online;

Database altered.

二、离线恢复

rm -rf yoon01.dbf

ps -ef | grep dbw | grep -v grep

cp /proc/.../fd/... /u01/oracle/oradata/yoon/yoon01.dbf

shutdown immediate

startup

recover database;

alter database open;

[oracle@b28-122 yoon]$ rm -rf yoon01.dbf

[oracle@b28-122 yoon]$ ps -ef | grep dbw | grep -v grep
oracle 18743 1 0 01:03 ? 00:00:00 ora_dbw0_yoon

[oracle@b28-122 yoon]$ cd /proc/18743/fd

[oracle@b28-122 fd]$ cp 265 /u01/oracle/oradata/yoon/yoon01.dbf

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

Total System Global Area 3340451840 bytes
Fixed Size 2232960 bytes
Variable Size 2432699776 bytes
Database Buffers 889192448 bytes
Redo Buffers 16326656 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: '/u01/oracle/oradata/yoon/yoon01.dbf'

SQL> recover database;
Media recovery complete.

SQL> alter database open;

Database altered.

SQL> select * from yoon.yoon;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ------------------------------ --------------------------- ---------- ------------------ ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7788 SCOTT ANALYST 7566 19-APR-87 3000 20
7839 KING PRESIDENT 17-NOV-81 5000 10
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876 ADAMS CLERK 7788 23-MAY-87 1100 20
7900 JAMES CLERK 7698 03-DEC-81 950 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

oracle11g 数据文件误删恢复(无备份)的更多相关文章

  1. RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复

    1.归档模式有备份,丢失数据文件的恢复归档模式有备份,不管丢失什么数据文件,直接在RMAN下RESTOER--->RECOVER--->OPEN即可. RMAN> STARUP MO ...

  2. [20171225]没有备份数据文件的恢复.txt

    [20171225]没有备份数据文件的恢复.txt --//别人问的问题,增加了数据文件没有备份,如何恢复,实际上很简单,因为当前控制文件有记录建立时间只要从建立数据文件开始的--//归档日志都存在恢 ...

  3. linux 下文件误删恢复

    linux 下文件误删恢复 0x01 事件背景 某天晚上写代码的时候,本来想删除当前目录下一个叫xxx的文件夹 rm -rdf ./xxx/*, 结果光顾着和人说话,一不留神手贱把命令敲成了rm -r ...

  4. 非系统数据文件损坏,rman备份恢复

    实验前提:已经做好备份. SQL> col file_name for a50select file_id,file_name from dba_data_files; FILE_ID FILE ...

  5. 使用RMAN对数据文件进行恢复

    (1)备份数据库 在使用RMAN进行数据库恢复之前,先用RMAN进行全库备份 [oracle@redhat6 ~]$ rman target / Recovery Manager: Release : ...

  6. Oracle 【IT实验室】数据库备份与恢复之:如何对Oracle数据库文件进行恢复与备份

    任何数据库在长期使用过程中,都会存在一定的安全隐患.对于数据库管理员来说不能仅寄希望于计算机操作系统的安全运行,而是要建立一整套的数据库备份与恢复机制.当数据库发生故障后,希望能重新建立一个完整的数据 ...

  7. RMAN数据库恢复之丢失数据文件的恢复

    删除某一数据文件:SQL> HOST del D:\app\Administrator\oradata\orcl\USERS01.dbf 启动数据库,提示丢失数据文件4,此时数据库处理MOUNT ...

  8. 误删除innodb ibdata数据文件-之恢复

    今天在群里看到有人说不熟悉innodb把ibdata(数据文件)和ib_logfile(事务日志)文件误删除了.不知道怎么解决.当时我也不知道怎么办.后来查阅相关资料.终找到解决方法.其实恢复也挺简单 ...

  9. docker 下mysql 和postgresql 数据库的搭建以及数据文件的迁移和备份

    service docker start - docker 启动 service docker stop - docker 关闭 1.docker 镜像创建—使用的默认镜像有数据卷 docker pu ...

随机推荐

  1. 获取oracle 里的表名与字段

    --数据库表名 SELECT distinct A.OBJECT_NAME as TAB_NAME,B.comments as DESCR FROM USER_OBJECTS A , USER_TAB ...

  2. Rational Functional Tester 对象文件(rftdef)合并

    Rational Functional Tester (RFT) 是一款集成在Eclipse上的自动化测试工具.而自动化测试最麻烦的维护部分,一大部分也是指的是对象库文件的管理维护. 之前的项目里,经 ...

  3. 一目了然c++虚基类!

    #include <IOSTREAM.H> //基类 class CBase ...{ protected: int a; public: CBase(int na) ...{ a=na; ...

  4. USACO Section 3.3 游戏 A Game

    OJ:http://www.luogu.org/problem/show?pid=2734 #include<iostream> #include<cstring> using ...

  5. 解决ScrollView下嵌套ListView、GridView显示不全的问题

    /** * 自定义gridview,解决ListView中嵌套gridview显示不正常的问题(1行半) * @author wangyx * @version 1.0.0 2012-9-14 */ ...

  6. extern “C”原理,用法以及使用场景-2016.01.05

    1 问题提出 在编程过程中,经常发现如下用法: #ifndef _FILE_NAME_H_ #define _FILE_NAME_H_ #ifdef __cplusplus extern " ...

  7. JQ改变URL

    看到搜索按钮可以把网址提供到URL里面 $('#search_submit').click(function(){ var keywords = $('#keywords').val(); locat ...

  8. leetcode 8

    string类型转换为int类型,需要考虑不同的转换情况. “   04”  转换结果   4: “   4   43”  转换结果  4: “a@12 ”   转换结果    0: “12a”   ...

  9. SQL笔记-第一章,数据库入门

    DBMS的分类DB2.Oracle.Microsoft SQL Server.Sybase SQLServer.Informix.MySQL数据库的结构元素库 database表 table列 col ...

  10. FTP操作

    using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Net ...