检查数据文件的位置如下:

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/u01/app/Oracle/oradata/marven/system01.dbf

/u01/app/oracle/oradata/marven/undotbs1.dbf

/u01/app/oracle/oradata/marven/sysaux01.dbf

/u01/app/oracle/oradata/marven/users01.dbf

/u01/app/oracle/oradata/marven/marven01.dbf

在操作系统上删除数据文件

SQL> !rm /u01/app/oracle/oradata/marven/*.dbf

创建表发生报错

SQL> create table test2 as select * from dba_tables;

create table test2 as select * from dba_tables

*

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-01116: error in opening database file 1

ORA-01110: data file 1: '/u01/app/oracle/oradata/marven/system01.dbf'

ORA-27041: unable to open file

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

SQL> !

这个时候千万不要关闭实例,检查进程dbwr进程的PID:

[oracle@hpserver2 dbs]$ ps -ef|grep dbw

oracle    9451     1  0 17:08 ?        00:00:00 ora_dbw0_marven

[oracle@hpserver2 dbs]$ cd /proc/9451[oracle@hpserver2 ~]$ cd /proc/9451/fd

[oracle@hpserver2 fd]$ ls -lrt

total 0

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 9 -> /u01/app/oracle/product/10.2.0/db_1/dbs/hc_marven.dat

l-wx------ 1 oracle oinstall 64 Jan 30 17:18 8 -> /u01/app/oracle/admin/marven/bdump/alert_marven.log

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 7 -> /u01/app/oracle/product/10.2.0/db_1/dbs/lkinstmarven (deleted)

l-wx------ 1 oracle oinstall 64 Jan 30 17:18 6 -> /u01/app/oracle/admin/marven/bdump/alert_marven.log

l-wx------ 1 oracle oinstall 64 Jan 30 17:18 5 -> /u01/app/oracle/admin/marven/udump/marven_ora_9443.trc

lr-x------ 1 oracle oinstall 64 Jan 30 17:18 4 -> /dev/null

lr-x------ 1 oracle oinstall 64 Jan 30 17:18 3 -> /dev/null

lr-x------ 1 oracle oinstall 64 Jan 30 17:18 24 -> /u01/app/oracle/product/10.2.0/db_1/rdbms/mesg/oraus.msb

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 23 -> /u01/app/oracle/oradata/marven/temp02.dbf (deleted)

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 22 -> /u01/app/oracle/oradata/marven/marven01.dbf (deleted)

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 21 -> /u01/app/oracle/oradata/marven/users01.dbf (deleted)

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 20 -> /u01/app/oracle/oradata/marven/sysaux01.dbf (deleted)

lr-x------ 1 oracle oinstall 64 Jan 30 17:18 2 -> /dev/null

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 19 -> /u01/app/oracle/oradata/marven/undotbs1.dbf (deleted)

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 18 -> /u01/app/oracle/oradata/marven/system01.dbf (deleted)

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 17 -> /u01/app/oracle/oradata/marven/control03.ctl

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 16 -> /u01/app/oracle/oradata/marven/control02.ctl

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 15 -> /u01/app/oracle/oradata/marven/control01.ctl

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 14 -> /u01/app/oracle/product/10.2.0/db_1/dbs/lkMARVEN

lrwx------ 1 oracle oinstall 64 Jan 30 17:18 13 -> /u01/app/oracle/product/10.2.0/db_1/dbs/hc_marven.dat

lr-x------ 1 oracle oinstall 64 Jan 30 17:18 12 -> /dev/zero

lr-x------ 1 oracle oinstall 64 Jan 30 17:18 11 -> /u01/app/oracle/product/10.2.0/db_1/rdbms/mesg/oraus.msb

lr-x------ 1 oracle oinstall 64 Jan 30 17:18 10 -> /dev/zero

lr-x------ 1 oracle oinstall 64 Jan 30 17:18 1 -> /dev/null

lr-x------ 1 oracle oinstall 64 Jan 30 17:18 0 -> /dev/null

将数据文件复制回去

[oracle@hpserver2 fd]$ cp 23 /u01/app/oracle/oradata/marven/temp02.dbf

[oracle@hpserver2 fd]$ cp 22 /u01/app/oracle/oradata/marven/marven01.dbf

[oracle@hpserver2 fd]$ cp 21 /u01/app/oracle/oradata/marven/users01.dbf

[oracle@hpserver2 fd]$ cp 20 /u01/app/oracle/oradata/marven/sysaux01.dbf

[oracle@hpserver2 fd]$ cp 19 /u01/app/oracle/oradata/marven/undotbs1.dbf

[oracle@hpserver2 fd]$ cp 18 /u01/app/oracle/oradata/marven/system01.dbf

将实例关闭后做介质恢复:

SQL> shutdown immediate

ORA-03113: end-of-file on communication channel

SQL> SQL> conn /as sysdba

Connected to an idle instance.

SQL> shutdown abort

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

Total System Global Area 1610612736 bytes

Fixed Size                  2084296 bytes

Variable Size             385876536 bytes

Database Buffers         1207959552 bytes

Redo Buffers               14692352 bytes

Database mounted.

SQL> recover database;

Media recovery complete.

数据库可以正常打开额,当然由于我这测试库几乎无事务,所以不用太多的复制操作即可完成

SQL> alter database open;

Database altered.

linux oracle删除恢复数据恢复,Linux下Oracle误删除数据文件恢复操作相关推荐

  1. linux 误删除mysql表能恢复吗_Linux下Oracle误删除数据文件恢复操作

    检查数据文件的位置如下: SQLgt; select name from v$datafile; NAME----------------------------------------------- ...

  2. linux 误删除mysql表能恢复吗,Linux中误删除数据文件和归档日志的恢复方法

    误删除前,归档日志2个,用户数据4480064条 复制代码 代码如下: [oracle@station90 datafile]$ sqlplus /nolog SQL> conn hr/hr C ...

  3. Oracle入门(十二I)之误删除数据的恢复方法

    转载自 oracle误删除数据的恢复方法 今天主要以oracle数据库为例,介绍关于表中数据删除的解决办法.(不考虑全库备份和利用归档日志) 删除表中数据有三种方法: ·delete(删除一条记录) ...

  4. oracle怎么恢复删除数据库数据库文件,Oracle只有数据文件恢复数据库

    Oracle只有数据文件恢复数据库 恢复前准备工作 1备份数据文件,文件路径为%ORACLE_NOME%/oradata/xxxx(xxxx为数据库实例) 2备份ORACLE安装路径下的D:\app\ ...

  5. oracle数据库备份恢复后乱码,RMAN做数据文件恢复后,查询表中数据出现乱码

    今天在学习RMAN恢复数据库时,恢复后的数据库查询表出现乱码: 1:完全备份数据库 MAN>backup database format 'd:\orabackup\%u.bak'; 启动 ba ...

  6. php删除sql server 2008,MSSQL_SQL Server2008 数据库误删除数据的恢复方法分享,SQL Server中误删除数据的恢复本 - phpStudy...

    SQL Server2008 数据库误删除数据的恢复方法分享 SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的 ...

  7. 误操作删除数据文件恢复案例讨论

    一.实验说明: 本文转载EYGLE的<数据安全警示录>中的一个案例,也有在itpub上发表过http://www.itpub.net/thread-1721724-1-1.html,在这里 ...

  8. 拥有所有归档文件,但没有备份情况下的数据文件恢复

    前提条件 1.      归档模式下. 2.      数据文件在当前控制文件之后创建. 否则会报ORA-01178错误. ORA-01178: file 5 created before last ...

  9. linux的子进程和父进程,[Linux进程]在父进程和子进程中分别对文件进行操作

    [Linux进程]在父进程和子进程中分别对文件进行操作 发布时间:2020-04-10 19:36:49 来源:51CTO 阅读:917 作者:银河星君 /*子进程和父进程同时对一个文件进行写操作导致 ...

最新文章

  1. 人工智能与经济生产力:期待进化,而不是革命
  2. 大爷去取钱,银行把取款办成存款,大爷拒绝还钱,大家怎么看?
  3. python csv文件读取行列_使用Numpy读取CSV文件,并进行行列删除的操作方法
  4. python 进程池_python进程池
  5. TP引用样式表和js文件及验证码
  6. Equation漏洞混淆利用分析总结(下)
  7. 高并发下的 HashMap 为什么会死循环
  8. 价值98元的千神资源网模板
  9. 3章.Linux主机规划和磁盘分区
  10. SICP:Building Abstractions with Data
  11. php 页面执行时长
  12. rt-thread驱动篇(07)---STM32F429单片机SD卡驱动添加
  13. 删除word中自己插入的单行、双行线
  14. 基于 Vue 技术栈的微前端方案实践
  15. [verilog] 八位比较器
  16. 20 行代码编写一个简单的端口扫描器
  17. EndNote X9使用教程
  18. MATLAB NAR时间序列神经网络两种预测方法
  19. 全国各省手机号测试用例
  20. 快速排序的时间复杂度与空间复杂度

热门文章

  1. oracle 结果集已耗尽_java.sql.SQLException: 结果集已耗尽
  2. make找不到linux内核函数,linux内核make menuconfig出错
  3. js post中文乱码 php,AJAX之POST数据中文乱码如何解决
  4. 错误代码0x800f0950怎么解决_解决win10安装net framework 3.5失败(错误代码 0x800F0950)...
  5. php 栈实现历史记录后退,栈:如何实现浏览器的前进和后退功能
  6. c++-add two numbers 两个链表相加
  7. JConsole的使用手册 JDK1.5(转)
  8. 測试新浪微博@小冰 为代码机器人的一些方法
  9. Android权限Uri.parse总结
  10. Event Organization Site - To be published on 4th August