物理删除oracle数据文件的恢复

归档模式下测试:

一.open状态下物理删除数据文件,关闭情况恢复:

SQL> create tablespace test datafile ‘+DATA/mecbs/datafile/test01.dbf‘ size 10M;

Tablespace created.

SQL> conn scott/scott;

Connected.

SQL> conn /as sysdba

Connected.

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

User created.

SQL> grant connect,resource to test;

Grant succeeded.

SQL> conn test/test;

Connected.

SQL> conn /as sysdba

Connected.

SQL> grant dba to test;

Grant succeeded.

SQL> conn test/test

Connected.

SQL> create table t1 as select * from dba_objects where rownum<=1000;

Table created.

SQL> select table_name,tablespace_name from user_tables;

TABLE_NAME       TABLESPACE_NAME

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

T1       TEST

SQL> select file_name from dba_data_files;

FILE_NAME

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

+DATA/mecbs/datafile/users.259.862339391

+DATA/mecbs/datafile/undotbs1.258.862339391

+DATA/mecbs/datafile/sysaux.257.862339391

+DATA/mecbs/datafile/system.256.862339387

+DATA/mecbs/datafile/example.264.862339751

+DATA/mecbs/datafile/undotbs2.265.862341013

+DATA/mecbs/datafile/system01.dbf

+DATA/mecbs/datafile/crm01.dbf

+DATA/mecbs/datafile/test01.dbf

+DATA/mecbs/datafile/cross.dbf

+DATA/mecbs/datafile/aix_trans.dbf

11 rows selected.

ASMCMD [+data/mecbs/DATAFILE] > ls

AIX_TRANS.281.868377837

CRM.276.863565267

CROSSTBS.279.868372675

EXAMPLE.264.862339751

SYSAUX.257.862339391

SYSTEM.256.862339387

SYSTEM.275.863564943

TEST.278.868380831

UNDOTBS1.258.862339391

UNDOTBS2.265.862341013

USERS.259.862339391

aix_trans.dbf

crm01.dbf

cross.dbf

system01.dbf

test01.dbf

SQL> alter tablespace test offline;

Tablespace altered.

ASMCMD [+data/mecbs/DATAFILE] > rm -rf test01.dbf

ASMCMD [+data/mecbs/DATAFILE] >

SQL> select name,status from v$datafile;

NAME     STATUS

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

+DATA/mecbs/datafile/system.256.862339387     SYSTEM

+DATA/mecbs/datafile/sysaux.257.862339391     ONLINE

+DATA/mecbs/datafile/undotbs1.258.862339391     ONLINE

+DATA/mecbs/datafile/users.259.862339391     ONLINE

+DATA/mecbs/datafile/example.264.862339751     ONLINE

+DATA/mecbs/datafile/undotbs2.265.862341013     ONLINE

+DATA/mecbs/datafile/system01.dbf     SYSTEM

+DATA/mecbs/datafile/crm01.dbf     ONLINE

+DATA/mecbs/datafile/test01.dbf     OFFLINE

+DATA/mecbs/datafile/cross.dbf     ONLINE

+DATA/mecbs/datafile/aix_trans.dbf     ONLINE

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount;

ORACLE instance started.

Total System Global Area  484356096 bytes

Fixed Size    2254464 bytes

Variable Size  264243584 bytes

Database Buffers  209715200 bytes

Redo Buffers    8142848 bytes

Database mounted.

SQL> alter database create datafile ‘+DATA/mecbs/datafile/test01.dbf‘;

Database altered.

SQL> recover datafile ‘+DATA/mecbs/datafile/test01.dbf‘;

Media recovery complete.

SQL> alter database open;

Database altered.

SQL> select name,status from v$datafile;

NAME     STATUS

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

+DATA/mecbs/datafile/system.256.862339387     SYSTEM

+DATA/mecbs/datafile/sysaux.257.862339391     ONLINE

+DATA/mecbs/datafile/undotbs1.258.862339391     ONLINE

+DATA/mecbs/datafile/users.259.862339391     ONLINE

+DATA/mecbs/datafile/example.264.862339751     ONLINE

+DATA/mecbs/datafile/undotbs2.265.862341013     ONLINE

+DATA/mecbs/datafile/system01.dbf     SYSTEM

+DATA/mecbs/datafile/crm01.dbf     ONLINE

+DATA/mecbs/datafile/test01.dbf     OFFLINE

+DATA/mecbs/datafile/cross.dbf     ONLINE

+DATA/mecbs/datafile/aix_trans.dbf     ONLINE

11 rows selected.

SQL> alter tablespace test online;

Tablespace altered.

SQL> select name,status from v$datafile;

NAME     STATUS

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

+DATA/mecbs/datafile/system.256.862339387     SYSTEM

+DATA/mecbs/datafile/sysaux.257.862339391     ONLINE

+DATA/mecbs/datafile/undotbs1.258.862339391     ONLINE

+DATA/mecbs/datafile/users.259.862339391     ONLINE

+DATA/mecbs/datafile/example.264.862339751     ONLINE

+DATA/mecbs/datafile/undotbs2.265.862341013     ONLINE

+DATA/mecbs/datafile/system01.dbf     SYSTEM

+DATA/mecbs/datafile/crm01.dbf     ONLINE

+DATA/mecbs/datafile/test01.dbf     ONLINE

+DATA/mecbs/datafile/cross.dbf     ONLINE

+DATA/mecbs/datafile/aix_trans.dbf     ONLINE

11 rows selected.

SQL> conn test/test;

Connected.

SQL> select count(*) from t1;

COUNT(*)

----------

1000

时间: 2024-07-28 17:42:44

物理删除oracle数据文件的恢复的相关文章

Linux 平台下 误删 oracle 数据文件的恢复方法

1  问题描述 之前写过一篇删除oracle home目录的blog,参考: Linux 平台误删 home oracle 根目录的解决方法 http://blog.csdn.net/tianlesoftware/article/details/43794273 本篇是这边的引深,本来应该是年前整理的,拖到年后了. 模拟现状: 数据库在正常运行,误操作,直接rm 掉了数据文件. 测试环境: [[email protected] trace]$ cat /etc/redhat-release Re

误删 oracle 数据文件的恢复

虽然一再小心,但是还是发生人为误删除数据库文件.简单步骤,或许关键时刻可以帮大忙.   环境:CENTOS 6.5 模拟误操作: 数据库在正常运行,人工直接rm 掉了数据文件. --1.测试环境情况: $ cat /etc/redhat-release CentOS release 6.5 (Final) select file_name from dba_data_files; /u01/app/oracle/oradata/orcl/test.dbf $ sqlplus / as sysdb

oracle数据文件recover恢复过程

首先查询数据文件状态 select name,status,file# from v$datafile; 2.关闭数据库并停掉监听 shutdown immediate; 3.打开数据库 startup 4.把recover状态数据库离线 15 代表数据文件号 alter database datafile 15 offline; 5.恢复数据文件 recover datafile 15; 不出问题会提示恢复方式输入AUTO即可 6.恢复成功后,把数据文件在线 alter database da

Oracle数据文件物理删除后的恢复

做系统管理的都是这样,难免会误删文件,某天要是把某个Oracle数据文件删除,那该如何恢复呢?(这里数据库是OPEN的,并且未关闭) 建立测试表空间 创建测试用户 插入测试数据 删除数据文件 恢复数据库文件 建立测试表空间 SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /opt/oracle/oradat

Linux下Oracle 数据文件被物理误删除的恢复

#加深对Linux句柄的理解/紧急情况下Oracle的快速恢复 不同于从Oracle中drop掉数据文件,在某些情况下,可能会遇到数据库在运行时数据文件在操作系统级别被删除,而此时Oracle实例并未崩溃,仍然处于open状态.此时就要求尽量在最小的影响下最高效率地完成恢复.现将恢复过程整理出来,以备不时之需. <<过程模拟>> <STEP 1>模拟删除 [email protected] >select name from v$datafile; NAME --

【oracle】摸拟故障 - 数据文件丢失恢复,SCN的作用。

模拟数据文件丢失恢复,redolog.archivelog.controlfile文件未丢失的情况恢复. 1.  创建一个表空间.用户.分配权限.建表. a)   createtablespace HXW_WEN datafile'D:\ORACLE\ORADATA\HXW168\HXW_WEN_D01.DBF' size5M autoextendonnext1M maxsize20M; b)createuser wen identifiedby zerostudy defaulttablesp

Oracle dmp文件损坏恢复案例

前一段时间帮一个朋友的朋友恢复了一个损坏的dmp文件,大概100多个G,记录一下恢复过程并简单总结一下 一.描述 这个dmp文件是从一个Oracle 9i的数据库上exp出来的,在导入Oracle 11g版本的时候,可能会随机出现两类错误,如下 (1)dmp文件导入的时候,一直停留在某张表上不动,两三天都是这样,导入操作无法进行,如下 导入了                                                             0 行 . . 正在导入表    

oracle(数据文件)

--创建数据文件 create tablespace--创建表空间同时创建数据文件 create temporary tablespace --创建临时表空间的同时创建临时数据文件 alter tablespace...add datafile --向表空间添加数据文件 alter tablespace...add tempfile--向临时表空间添加数据文件 create database --创建数据库时创建数据文件 alter database...create datefile--数据氈

Oracle 数据文件误删除的不完全恢复

应用环境: 我的一个表被人不小心误删除了,这时候,我不可以把整个库都恢复回去,那样太麻烦了. 所以现在我就从新到一个新库,只将这一个数据文件拷贝过来恢复. 那我们Oracle在恢复文件的时候是不可以只恢复一部分数据文件的,因为oracle  要保证数据文件块头信息一致,所以如果我们要恢复部分文件的话,就得采取以下这种方法: 可以另起一个库,再把要恢复的数据文件拷贝过来,恢复.(当然不单单是该数据文件,还要包括system表空间,undo表空间) 1)另起一个库很简单,可以搞出参数文件,在参数文件