登录  /  注册

无归档,无备份,rm误删除所有数据文件恢复(四)

php中文网
发布: 2016-06-07 17:37:22
原创
695人浏览过

恢复的原理,请查看关于该恢复主题的第一篇博文:http://fly1116.blog.51cto.com/8301004/1337681恢复过程使用的fly.sh脚本,及其他脚本的简..

     恢复的原理,请查看关于该恢复主题的第一篇博文:

      恢复过程使用的fly.sh脚本,及其他脚本的简要介绍,请看关于该恢复主题的第二篇博文:

      在数据库非归档状态,没有任何的备份情况下,通过操作系统命令rm,误删除了所有数据文件,要如何恢复呢
      1、数据库版本11.1.0.7.0和数据库处于非归档状态

SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production PL/SQL Release 11.1.0.7.0 - Production CORE 11.1.0.7.0 Production TNS for Linux: Version 11.1.0.7.0 - Production NLSRTL Version 11.1.0.7.0 - Production SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination /archivelog Oldest online log sequence 45 Current log sequence 47 SQL>

     2、在fly用户下创建fly表,表记录为:2256800

SQL> conn fly/fly Connected. SQL> create table fly as select * from dba_objects; Table created. SQL> insert into fly select * from fly; 70525 rows created. SQL> / 141050 rows created. SQL> / 282100 rows created. SQL> / 564200 rows created. SQL> / 1128400 rows created. SQL> commit; Commit complete. SQL> select count(*) from fly; COUNT(*) ---------- 2256800

   3、查看所有数据文件,以及删除所有数据文件

oracle@fly007:~> cat fly.sh #!/bin/bash rman target sys/oracle/dev/null crosscheck archivelog all; delete noprompt expired archivelog all; quit EOF if [ -f fly_datafile.sh ];then rm fly_datafile.sh fi sqlplus /nolog cat fly.sql set echo on col file_name format a80 col name format a100 set linesize 200 select file_name from dba_data_files; select name from v$archived_log where name is not null; set echo off set heading off set newpage none set feedback off set termout off set trimspool on spool fly_datafile.sh select 'rm'||' '||file_name from dba_data_files; select 'rm'||' '||name from v$archived_log where name is not null; spool off quit oracle@fly007:~> ./fly.sh SQL*Plus: Release 11.1.0.7.0 - Production on Mon Dec 9 21:11:29 2013 Copyright (c) 1982, 2008, Oracle. All rights reserved. SQL> Connected. SQL> SQL> col file_name format a80 SQL> col name format a100 SQL> set linesize 200 SQL> select file_name from dba_data_files; FILE_NAME -------------------------------------------------------------------------------- /home/oracle/oradata/fly/datafiles/fly01.dbf /home/oracle/oradata/APPLE/datafile/users02.dbf /home/oracle/oradata/APPLE/datafile/o1_mf_users_8mfvsbdd_.dbf /home/oracle/oradata/APPLE/datafile/o1_mf_undotbs1_8mfvsbbx_.dbf /home/oracle/oradata/APPLE/datafile/o1_mf_sysaux_8mfvsb9t_.dbf /home/oracle/oradata/APPLE/datafile/o1_mf_system_8mfvsb5r_.dbf /home/oracle/oradata/APPLE/datafile/o1_mf_example_8mfvwlmk_.dbf /home/oracle/oradata/APPLE/datafile/example02.dbf /home/oracle/oradata/APPLE/datafile/example03.dbf /home/oracle/oradata/APPLE/datafile/example04.dbf /home/oracle/oradata/APPLE/datafile/example05.dbf /home/oracle/oradata/APPLE/datafile/system03.dbf /home/oracle/oradata/APPLE/datafile/sysaux03.dbf 13 rows selected. SQL> select name from v$archived_log where name is not null; no rows selected SQL> set echo off Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production With the Partitioning, Oracle Label Security, OLAP, Data Mining, Oracle Database Vault and Real Application Testing options oracle@fly007:~> cat fly_datafile.sh rm /home/oracle/oradata/fly/datafiles/fly01.dbf rm /home/oracle/oradata/APPLE/datafile/users02.dbf rm /home/oracle/oradata/APPLE/datafile/o1_mf_users_8mfvsbdd_.dbf rm /home/oracle/oradata/APPLE/datafile/o1_mf_undotbs1_8mfvsbbx_.dbf rm /home/oracle/oradata/APPLE/datafile/o1_mf_sysaux_8mfvsb9t_.dbf rm /home/oracle/oradata/APPLE/datafile/o1_mf_system_8mfvsb5r_.dbf rm /home/oracle/oradata/APPLE/datafile/o1_mf_example_8mfvwlmk_.dbf rm /home/oracle/oradata/APPLE/datafile/example02.dbf rm /home/oracle/oradata/APPLE/datafile/example03.dbf rm /home/oracle/oradata/APPLE/datafile/example04.dbf rm /home/oracle/oradata/APPLE/datafile/example05.dbf rm /home/oracle/oradata/APPLE/datafile/system03.dbf rm /home/oracle/oradata/APPLE/datafile/sysaux03.dbf oracle@fly007:~> ./fly_datafile.sh oracle@fly007:~>

    4、fly用户创建表报错

oracle@fly007:~> sqlplus /nolog SQL*Plus: Release 11.1.0.7.0 - Production on Mon Dec 9 21:11:52 2013 Copyright (c) 1982, 2008, Oracle. All rights reserved. SQL> conn sys/oracle as sysdba Connected. SQL> conn fly/fly Connected. SQL> create table fly008 as select * from dba_objects; create table fly008 as select * from dba_objects * ERROR at line 1: ORA-01116: error in opening database file 7 ORA-01110: data file 7: '/home/oracle/oradata/fly/datafiles/fly01.dbf' ORA-27041: unable to open file Linux-x86_64 Error: 2: No such file or directory Additional information: 3
智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号