做系统管理的都是这样,难免会误删文件,某天要是把某个Oracle数据文件删除,那该如何恢复呢?(这里数据库是OPEN的,并且未关闭)

建立测试表空间

创建测试用户

插入测试数据

删除数据文件

恢复数据库文件

建立测试表空间

SQL> select name from v$datafile;

NAME

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

/opt/oracle/oradata/member/system01.dbf

/opt/oracle/oradata/member/sysaux01.dbf

/opt/oracle/oradata/member/undotbs01.dbf

/opt/oracle/oradata/member/users01.dbf

SQL> create tablespace test datafile '/opt/oracle/oradata/member/test01.dbf' size 10m;

Tablespace created.

SQL> select name from v$datafile;

NAME

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

/opt/oracle/oradata/member/system01.dbf

/opt/oracle/oradata/member/sysaux01.dbf

/opt/oracle/oradata/member/undotbs01.dbf

/opt/oracle/oradata/member/users01.dbf

/opt/oracle/oradata/member/test01.dbf

2.创建测试账户

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

SQL> grant connect,resource to test;

3.插入测试数据

SQL> conn test/test

SQL> create table t1(id int);

SQL> insert into t1 values(1);

SQL> select * from t1;

ID

----------

1

4.删除数据文件

[oracle@db2 ~]$ rm -f /opt/oracle/oradata/member/test01.dbf

[oracle@db2 ~]$ sqlplus test/test

SQL> create table t2 as select * from t1;

create table t2 as select * from t1

*

ERROR at line 1:

ORA-01116: error in opening database file 5

ORA-01110: data file 5: '/opt/oracle/oradata/member/test01.dbf'

ORA-27041: unable to open file

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

Additional information: 3

SQL> select table_name,tablespace_name from user_tables;

TABLE_NAME                     TABLESPACE_NAME

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

T1                             TEST

数据文件被删除了,这怎么办呢?这个时候千万别重启数据库,否则数据就丢失了

5.数据文件恢复

[oracle@db2 ~]$ ps -ef |grep dbw0

oracle    3309     1  0 12:07 ?        00:00:00 ora_dbw0_member

oracle    6217  5105  0 15:29 pts/0    00:00:00 grep dbw0

#找到ora_dbw0_SID的进程号3309

[oracle@db2 ~]$ cd /proc/3309/fd

#以上3309就是进程号,然后执行ls -al查看文件的链接

可以看到文件27就是被删除的文件

[oracle@db2 fd]$ cp 27 /opt/oracle/oradata/member/test01.dbf

查看test表空间状态

SQL> select name,status from v$datafile;

NAME                      STATUS

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

/opt/oracle/oradata/member/system01.dbf    SYSTEM

/opt/oracle/oradata/member/sysaux01.dbf    ONLINE

/opt/oracle/oradata/member/undotbs01.dbf    ONLINE

/opt/oracle/oradata/member/users01.dbf    ONLINE

/opt/oracle/oradata/member/test01.dbf    ONLINE

下线test01表文件

SQL> alter database datafile '/opt/oracle/oradata/member/test01.dbf' offline;

SQL> recover datafile '/opt/oracle/oradata/member/test01.dbf';

Media recovery complete.

SQL> alter database datafile '/opt/oracle/oradata/member/test01.dbf' online;

Database altered.

#以上就成功恢复了,若是出现

SQL> recover datafile '/opt/oracle/oradata/member/test01.dbf';

ORA-00283: recovery session canceled due to errors

ORA-01110: data file 5: '/opt/oracle/oradata/member/test01.dbf'

ORA-01157: cannot identify/lock data file 5 - see DBWR trace file

ORA-01110: data file 5: '/opt/oracle/oradata/member/test01.dbf'

则有可能是/opt/oracle/oradata/member/test01.dbf文件的权限问题引起,在root用户下

[root@db2 ~]# chown -R oracle.oinstall /opt/oracle/oradata/member/test01.dbf

再recover datafile '/opt/oracle/oradata/member/test01.dbf'

实验完成后,删除测试用户及测试表空间

SQL> drop user test cascade;

SQL> drop tablespace test INCLUDING CONTENTS AND DATAFILES;

oracle物理文件删除如何恢复,Oracle数据文件物理删除后的恢复相关推荐

  1. oracle 11g 从rman全备中恢复控制文件,拥有RMAN全备(缺少后增文件),丢失全部数据文件,控制文件的恢复...

    1.做一个RMAN的全备 E:\oracle\rman_scripts>rman catalog target 恢复管理器: Release 10.2.0.1.0 - Production on ...

  2. 案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l

    通过使用Oracle DUL工具提取损坏磁盘里的数据库文件中的表及lob字段中内容 在有次8i的库恢复中,因为硬盘损坏导致几个表出现很多诡异性坏块,尝试使用dul对其进行挖掘数据,当时使用dul 9 ...

  3. 模拟断电oracle数据不一致,Oracle数据库案例整理-Oracle系统运行时故障-断电导致数据文件状态变为RECOVER...

    1.1       现象描述 异常断电,数据库数据文件的状态由ONLINE变为RECOVER.系统显示如下信息: SQL> select file_name ,tablespace_name , ...

  4. oracle dul 扫描磁盘,案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l...

    天萃荷净 通过使用Oracle DUL工具提取损坏磁盘里的数据库文件中的表及lob字段中内容 在有次8i的库恢复中,因为硬盘损坏导致几个表出现很多诡异性坏块,尝试使用dul对其进行挖掘数据,当时使用d ...

  5. oracle rac 主库,oracle11gRAC+DG主库增加数据文件

    oracle11gRAC+DG主库增加数据文件 oracle11gRAC+DG主库增加数据文件 # 环境 操作系统 $ uname -a Linux jinhu-db02 2.6.32-696.el6 ...

  6. 在可编辑表格EditorGrid中,我选择一行已输入的数据,点击删除按钮,该行数据将被删除,然后当我点击表单提交按钮时,已经被删除的那一行数据仍然被插入数据库中...

    为什么80%的码农都做不了架构师?>>>    问题描述:在可编辑表格中,我选择一行已输入的数据,点击删除按钮,该行数据将被删除,然后当我点击表单提交按钮时,已经被删除的那一行数据仍 ...

  7. imap服务器收缓存pst文件夹,Outlook 转移OST数据文件 IMAP账户

    问题 windows8系统,装了Outlook2013,占用了C盘大约10G空间,主要都是数据文件(OST文件)占用的.希望能够把数据文件从C盘移至其他盘.并且账户是IMAP账户,不是Exchange ...

  8. Oracle 查看表空间名称及大小和删除表空间及数据文件方法

    --1.查看表空间的名称及大小  SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size  FROM dba_ta ...

  9. Oracle数据库恢复--通过数据文件进行恢复

    在实际项目运维中,遇到服务器oracle数据库存储硬盘坏了,只留下了数据文件,其控制文件和参数文件都丢失了,如何进行数据库恢复呢. 1.安装一个与要恢复的数据库相同实例,其db_name,sid,字符 ...

  10. oracle 之删除表空间及数据文件方法

    -删除空的表空间,但是不包含物理文件 drop tablespace tablespace_name; --删除非空表空间,但是不包含物理文件 drop tablespace tablespace_n ...

最新文章

  1. matlab绘制圆,且求解两个圆的交点坐标
  2. 【bzoj3105】新Nim游戏
  3. 迁移.net framework 工程到.net core
  4. android 实例源码解释,Android Handler 原理分析及实例代码
  5. 阿里云服务器18个数据中心测试IP地址以及测试方法
  6. 清闲逛论坛,发个我们团队常用的开发资源整理,跟兄弟们共享
  7. sose会议级别_【2017年整理】计算机领域EI和SCI收录期刊、影响因子及国际会议.doc...
  8. 微信公众号问题:{errcode:40125,errmsg:invalid appsecret, view more at http:\/\/t.cn\/LOEdzVq, hints: [ ...
  9. Scratch编程与数学:会编程的孩子是怎样解奥数题的?
  10. dnf超时空漩涡副本路线流程图_DNF超时空漩涡怎么打 队伍配置攻坚路线兵营boss攻略...
  11. C++ 计算球体体积
  12. MySQL的文本导入load data local
  13. VS2010编译静态链接MFC的OCX遇到的问题:nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 已经在 LIBCMTD.lib(dllm
  14. 大数据分析师的沟通技巧
  15. linux忘了用户名和密码_Linux 服务器忘记用户名密码的找回办法总结linux操作系统 -电脑资料...
  16. 常见的开源许可证比较BSDamp;Ap…
  17. 小熊肝了十个小时,搞出一本 go 语言精进之路
  18. cocos2dx 3.4 lua加密 setXXTEAKeyAndSign
  19. 基于Ant Design和jQuery UI的表单设计器
  20. linux中扫描仪驱动程序,VueScan For Linux通用扫描仪驱动下载_VueScan For Linux通用扫描仪驱动官方下载-太平洋下载中心...

热门文章

  1. 回复英文审稿人意见常用格式
  2. 双卡版本不插卡的情况下状态栏中只显示了一个信号图标,而不是两个信号图标,如何修改为2个图标
  3. Sharestation 工作站GPU虚拟化,实现共享GPU办公
  4. 计算机文档里的圆圈,请问在WORD文档里怎样插入数字上的圆点?
  5. CODING 研发管理系统上线全球加速,助力企业跨区域协作
  6. 康巴丝(compas)某Wi-Fi万年历无法自动校时的问题
  7. 复旦教授报告400多个安卓漏洞,历时16个月谷歌终于修复,此前曾立flag
  8. 服务器30M带宽能承受多少人同时请求?
  9. 大数据时代从繁乱冗杂中精准提取核心文本信息 × Python Tkinter 生成词云图
  10. 参考文献怎么找?3分钟找到1000篇论文参考文献!