RMAN恢复drop purge的表

@ORA12C>  alter session set nls_date_format=‘yyyy-mm-dd hh24:mi:ss‘;
Session altered.
[email protected]> create table  t_0920 as select * from dba_objects;
Table created.
[email protected]> select count(*) from t_0920;
  COUNT(*)
-----------------
     91691
1 row selected.
[email protected]> select sysdate from dual;
SYSDATE
-------------------
2015-09-20 14:17:49
1 row selected.
[email protected]> drop table t_0920 purge;
Table dropped.
[email protected]> desc t_0920;
ERROR:
ORA-04043: object t_0920 does not exist
[email protected]> create table t_09201 as select * from dba_objects;
Table created.
[email protected]> select count(*) from t_09201;
  COUNT(*)
-----------------
     91691
1 row selected.
[email protected]> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
[email protected]> startup mount;
ORACLE instance started.
Total System Global Area  729808896 bytes
Fixed Size      2928680 bytes
Variable Size    570429400 bytes
Database Buffers   150994944 bytes
Redo Buffers      5455872 bytes
Database mounted.

现在需要把t_0920表恢复过来:

run{
sql "alter session set nls_date_format=‘‘yyyy-mm-dd hh24:mi:ss‘‘";
set until time ‘2015-09-20 14:17:49‘;
restore database;
recover database;
6> }
using target database control file instead of recovery catalog
sql statement: alter session set nls_date_format=‘‘yyyy-mm-dd hh24:mi:ss‘‘
executing command: SET until clause
Starting restore at 20-SEP-15
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=355 device type=DISK
creating datafile file number=2 name=/u01/app/oracle/oradata/ORA12C/t2.dbf
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/ORA12C/system01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/ORA12C/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/ORA12C/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/ORA12C/example01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/ORA12C/users01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/ORA12C/backupset/2015_09_20/o1_mf_nnndf_TAG20150920T120820_bzwd9ntd_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/ORA12C/backupset/2015_09_20/o1_mf_nnndf_TAG20150920T120820_bzwd9ntd_.bkp tag=TAG20150920T120820
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:01:56
Finished restore at 20-SEP-15
Starting recover at 20-SEP-15
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 18 is already on disk as file /u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_18_bzwh058r_.arc
archived log for thread 1 with sequence 19 is already on disk as file /u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_19_bzwhh50d_.arc
archived log for thread 1 with sequence 20 is already on disk as file /u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_20_bzwhzsts_.arc
archived log for thread 1 with sequence 1 is already on disk as file /u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_1_bzwmprks_.arc
archived log file name=/u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_18_bzwh058r_.arc thread=1 sequence=18
archived log file name=/u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_19_bzwhh50d_.arc thread=1 sequence=19
archived log file name=/u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_20_bzwhzsts_.arc thread=1 sequence=20
archived log file name=/u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_1_bzwm5k1c_.arc thread=1 sequence=1
archived log file name=/u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_1_bzwmprks_.arc thread=1 sequence=1
media recovery complete, elapsed time: 00:00:07
Finished recover at 20-SEP-15
RMAN> alter database open resetlogs;
Statement processed

验证:t_0920 表已经恢复了,t_09201表不存在了。

[email protected]> select count(*) from t_0920;
  COUNT(*)
-----------------
     91691
1 row selected.
[email protected]> select count(*) from t_09201;
select count(*) from t_09201
                     *
ERROR at line 1:
ORA-00942: table or view does not exist
时间: 2024-10-02 01:19:05

RMAN恢复drop purge的表的相关文章

Oracle中恢复drop掉的表中的数据

今天同事不小心把生产上的一张表直接drop掉了,没有做备份,哥们慌的一匹,来找我这个小白来帮忙解决,于是心血来潮简单总结一下. 其实在oralce中,用drop删掉一张表,其实不会真正的删除,只是把表放到了回收站中,可以通过flashback命令来恢复drop掉的表. 例如: 1.创建一张表,删除:再创建一张同名表,字段不同,再删除 在 select original_name,dropscn from recyclebin时候,两个表的dropscn是不同的,在利用闪回恢复时 flashbac

Oracle恢复drop误删除的表

一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询被删除的表 select * from recyclebin 2.执行表的恢复 flashback table tbName to before drop; 这里的tbName代表你要恢复的表的名称.二.表数据恢复 对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复,一般步骤有: 1.先从flashback_

恢复drop后的表空间

SQL> alter database backup controlfile to '/home/oracle/con.ctl'; #备份控制文件 Database altered. #删除后会记录到当前的控制文件中,恢复的时候不可以使用当前的控制文件 SQL> drop tablespace tbs10 including contents and datafiles; SQL> drop tablespace tbs11 including contents and datafile

案例:Oracle dul数据挖掘 没有备份情况下非常规恢复drop删除的数据表

通过Oracle dul工具在没有备份情况下进行非常规恢复,找出drop删除的Oracle数据表中的数据进行恢复 dul对被drop对象进行恢复,需要提供两个信息1.被删除表所属表空间(非必须)2.被删除表结构(必须) 1.Oracle数据库中模拟删除表 --创建测试表 SQL> create table t_dul_drop tablespace czum 2 as 3 select * from dba_tables; Table created. --备份被删除表数据,便于比较和提供测试表

Oracle中Drop,Delete,Truancate表恢复

Oracle中Drop,delete,truancate表恢复 oracle中,常常会由于一些失误导致表的删除,以下是我写的一些表恢复的方法. 闪回模式得满足条件(启用闪回区和启用归档): 1.检查是否启动了flash recovery area show parameter db_recovery_file 2.检查是否启用了归档 archive log list; (一)Drop表的恢复 如果按照平时删除表的方法:(Drop table tablename;)的话.表不会立即被删除,而是存放

[网络课摘抄]8.4 rman恢复误删除的一张表(不完全恢复)

恢复误删除的一张表可以使用很多方法,如日志挖掘.闪回等,rman恢复(不完全恢复)肯定不是最好的,也不建议用, 现在我们只是演示一下这种恢复. 1 RMAN备份数据库 2创建测试表 3查看此时的SCN并删除表 4恢复数据测试表 5验证测试表是否恢复过来

Oracle 11g单实例RMAN恢复到Oracle 11g RAC

一.环境说明 操作系统版本: RHEL 6.5 x64 1. 源数据库服务器 Oracle版本: Oracle 11g 11.2.0.4 64位(单机)Oracle_SID: orcl db_name   : orcl 背景:一台生产oracle10g(10.2.0.5)数据库计划迁移到Oracle 11.2.0.4.0 RAC.1) 先oracle10g(10.2.0.5)升级到Oracle 11.2.0.4(过程略)2)再Oracle 11.2.0.4单实例迁移到Oracle 11.2.0.

自定义“ORA-20010: 不能DROP/TRUNCATE该表”的错误

oracle更新数据提示自定义"ORA-20010: 不能DROP/TRUNCATE该表"的错误 java.sql.BatchUpdateException: ORA-00604: error occurred at recursive SQL level 2 ORA-20010: 不能DROP/TRUNCATE该表. ORA-06512: at line 12 org.springframework.jdbc.UncategorizedSQLException: Hibernate

RMAN恢复案例之--不完全恢复错误案例

RMAN恢复案例之--不完全恢复错误案例 RMAN恢复案例: 不完全恢复,由于在先前的数据文件备份有误,导致恢复失败. [[email protected] ~]$ rman target / Recovery Manager: Release 11.2.0.1.0 - Production on Sat Sep 20 15:54:25 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserve