归档模式下恢复被删除的数据文件
2011-06-16 11:22
513 查看
--数据库处于归档模式
--要恢复的数据文件从创建到现在的归档日志都要在
--查询数据文件的创建时间
SQL> select file#,creation_time from v$datafile;
FILE# CREATION_TIME
---------- -----------------
1 20071015 10:09:07
2 20071015 10:09:13
3 20071015 12:01:05
4 20071015 10:09:27
5 20110613 17:45:10
--查看数据文件
SQL> col file_name format a40;
SQL> col tablespace_name format a10;
SQL> select file_name,tablespace_name,status from dba_data_files;
FILE_NAME TABLESPACE STATUS
---------------------------------------- ---------- ---------
D:/ORADATA/PRIMARY/USERS01.DBF USERS AVAILABLE
D:/ORADATA/PRIMARY/UNDOTBS01.DBF UNDOTBS1 AVAILABLE
D:/ORADATA/PRIMARY/SYSAUX01.DBF SYSAUX AVAILABLE
D:/ORADATA/PRIMARY/SYSTEM01.DBF SYSTEM AVAILABLE
D:/ORADATA/PRIMARY/ASPEN.DBF ASPEN AVAILABLE
--创建测试表 所属表空间为aspen
SQL> create table scott.aspen(i_date date) tablespace aspen;
表已创建。
SQL> insert into scott.aspen values(sysdate);
已创建 1 行。
SQL> commit;
提交完成。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
--在数据库shutdown时删除表空间aspen所对应的数据文件
SQL> host del D:/ORADATA/PRIMARY/ASPEN.DBF
SQL> startup mount;
--启动到mount状态不需要数据文件,所以到现在还没有报错
ORACLE 例程已经启动。
Total System Global Area 535662592 bytes
Fixed Size 1334380 bytes
Variable Size 209716116 bytes
Database Buffers 318767104 bytes
Redo Buffers 5844992 bytes
数据库装载完毕。
--打开数据库报错
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 5: 'D:/ORADATA/PRIMARY/ASPEN.DBF'
--创建一个新的文件 路径和文件名与被删除的数据文件一致
SQL> alter database create datafile 5 as 'D:/ORADATA/PRIMARY/ASPEN.DBF'
2 /
数据库已更改。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01113: 文件 5 需要介质恢复
ORA-01110: 数据文件 5: 'D:/ORADATA/PRIMARY/ASPEN.DBF'
SQL> recover datafile 5
ORA-00279: 更改 1136938 (在 06/13/2011 17:45:10 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:/APP/263370/FLASH_RECOVERY_AREA/PRIMARY/ARCHIVELOG/ARC00030_0753443662.001
ORA-00280: 更改 1136938 (用于线程 1) 在序列 #30 中
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
--输入auto 会自动恢复介质
auto
ORA-00279: 更改 1137025 (在 06/13/2011 17:45:34 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:/APP/263370/FLASH_RECOVERY_AREA/PRIMARY/ARCHIVELOG/ARC00031_0753443662.001
ORA-00280: 更改 1137025 (用于线程 1) 在序列 #31 中
...... 中间会有很多这样的提示
ORA-00279: 更改 1700804 (在 06/16/2011 08:20:44 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:/APP/263370/FLASH_RECOVERY_AREA/PRIMARY/ARCHIVELOG/ARC00063_0753443662.001
ORA-00280: 更改 1700804 (用于线程 1) 在序列 #63 中
已应用的日志。
完成介质恢复。
SQL> alter database open;
数据库已更改。
SQL> select * from scott.aspen;
I_DATE
--------------
16-6月 -11
SQL> alter session set nls_date_format='yyyymmdd hh24:mi:ss';
会话已更改。
SQL> select * from scott.aspen;
I_DATE
-----------------
20110616 10:43:39
SQL> select file_name,tablespace_name,status
2 from dba_data_files
3 /
FILE_NAME TABLESPACE STATUS
---------------------------------------- ---------- ---------
D:/ORADATA/PRIMARY/USERS01.DBF USERS AVAILABLE
D:/ORADATA/PRIMARY/UNDOTBS01.DBF UNDOTBS1 AVAILABLE
D:/ORADATA/PRIMARY/SYSAUX01.DBF SYSAUX AVAILABLE
D:/ORADATA/PRIMARY/SYSTEM01.DBF SYSTEM AVAILABLE
D:/ORADATA/PRIMARY/ASPEN.DBF ASPEN AVAILABLE
--要恢复的数据文件从创建到现在的归档日志都要在
--查询数据文件的创建时间
SQL> select file#,creation_time from v$datafile;
FILE# CREATION_TIME
---------- -----------------
1 20071015 10:09:07
2 20071015 10:09:13
3 20071015 12:01:05
4 20071015 10:09:27
5 20110613 17:45:10
--查看数据文件
SQL> col file_name format a40;
SQL> col tablespace_name format a10;
SQL> select file_name,tablespace_name,status from dba_data_files;
FILE_NAME TABLESPACE STATUS
---------------------------------------- ---------- ---------
D:/ORADATA/PRIMARY/USERS01.DBF USERS AVAILABLE
D:/ORADATA/PRIMARY/UNDOTBS01.DBF UNDOTBS1 AVAILABLE
D:/ORADATA/PRIMARY/SYSAUX01.DBF SYSAUX AVAILABLE
D:/ORADATA/PRIMARY/SYSTEM01.DBF SYSTEM AVAILABLE
D:/ORADATA/PRIMARY/ASPEN.DBF ASPEN AVAILABLE
--创建测试表 所属表空间为aspen
SQL> create table scott.aspen(i_date date) tablespace aspen;
表已创建。
SQL> insert into scott.aspen values(sysdate);
已创建 1 行。
SQL> commit;
提交完成。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
--在数据库shutdown时删除表空间aspen所对应的数据文件
SQL> host del D:/ORADATA/PRIMARY/ASPEN.DBF
SQL> startup mount;
--启动到mount状态不需要数据文件,所以到现在还没有报错
ORACLE 例程已经启动。
Total System Global Area 535662592 bytes
Fixed Size 1334380 bytes
Variable Size 209716116 bytes
Database Buffers 318767104 bytes
Redo Buffers 5844992 bytes
数据库装载完毕。
--打开数据库报错
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 5: 'D:/ORADATA/PRIMARY/ASPEN.DBF'
--创建一个新的文件 路径和文件名与被删除的数据文件一致
SQL> alter database create datafile 5 as 'D:/ORADATA/PRIMARY/ASPEN.DBF'
2 /
数据库已更改。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01113: 文件 5 需要介质恢复
ORA-01110: 数据文件 5: 'D:/ORADATA/PRIMARY/ASPEN.DBF'
SQL> recover datafile 5
ORA-00279: 更改 1136938 (在 06/13/2011 17:45:10 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:/APP/263370/FLASH_RECOVERY_AREA/PRIMARY/ARCHIVELOG/ARC00030_0753443662.001
ORA-00280: 更改 1136938 (用于线程 1) 在序列 #30 中
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
--输入auto 会自动恢复介质
auto
ORA-00279: 更改 1137025 (在 06/13/2011 17:45:34 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:/APP/263370/FLASH_RECOVERY_AREA/PRIMARY/ARCHIVELOG/ARC00031_0753443662.001
ORA-00280: 更改 1137025 (用于线程 1) 在序列 #31 中
...... 中间会有很多这样的提示
ORA-00279: 更改 1700804 (在 06/16/2011 08:20:44 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:/APP/263370/FLASH_RECOVERY_AREA/PRIMARY/ARCHIVELOG/ARC00063_0753443662.001
ORA-00280: 更改 1700804 (用于线程 1) 在序列 #63 中
已应用的日志。
完成介质恢复。
SQL> alter database open;
数据库已更改。
SQL> select * from scott.aspen;
I_DATE
--------------
16-6月 -11
SQL> alter session set nls_date_format='yyyymmdd hh24:mi:ss';
会话已更改。
SQL> select * from scott.aspen;
I_DATE
-----------------
20110616 10:43:39
SQL> select file_name,tablespace_name,status
2 from dba_data_files
3 /
FILE_NAME TABLESPACE STATUS
---------------------------------------- ---------- ---------
D:/ORADATA/PRIMARY/USERS01.DBF USERS AVAILABLE
D:/ORADATA/PRIMARY/UNDOTBS01.DBF UNDOTBS1 AVAILABLE
D:/ORADATA/PRIMARY/SYSAUX01.DBF SYSAUX AVAILABLE
D:/ORADATA/PRIMARY/SYSTEM01.DBF SYSTEM AVAILABLE
D:/ORADATA/PRIMARY/ASPEN.DBF ASPEN AVAILABLE
相关文章推荐
- rman实验之归档模式无备份,正常关机丢失数据文件的恢复
- 【恢复】非归档模式下因误删除数据文件导致数据库无法OPEN的故障处理
- 非归档模式下恢复利用offline drop命令误删除的数据文件
- 一个归档模式无备份丢失数据文件的恢复
- rman实验之归档模式有备份,正常关机丢失数据文件的恢复
- 非归档模式下恢复利用offline drop命令误删除的数据文件
- RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复
- 归档模式下有备份数据文件损坏的完全恢复-1
- ORACLE基础学习-RMAN应用--归档模式有备份,丢失数据文件恢复
- 归档模式下恢复没有备份的数据文件
- 归档模式下无备份数据文件损坏的完全恢复-2
- 非归档模式下恢复数据文件浅析
- 归档模式下,恢复没有备份的数据文件
- ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)
- Oracle恢复(三)------归档模式下恢复数据文件
- 利用 BBED 恢复非归档模式下 OFFLINE 数据文件
- 在归档模式下有备份,丢失数据文件的恢复
- Oracle 11g 数据恢复 数据误删除后的恢复 0、执行 select log_mode from v$database;查看是否为归档模式 1、确定删除时间和被删除的表 04-23,GR
- oracle数据文件被删除的恢复
- 未启用归档数据库非数据文件(spfile,control,redo,undo,temp)全丢失的恢复方法