[20111227]Alter database datafile offline drop后的恢复.txt


1.准备测试:
CREATE TABLESPACE tools DATAFILE
  '/u01/app/oracle11g/oradata/test/tools01.dbf' SIZE 64M AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED
LOGGING
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;


2.在表空间上建立表:
ALTER USER SCOTT QUOTA UNLIMITED ON TOOLS;
create table t1 tablespace tools as select rownum id,'test' name from dual connect by level <=10000;

3.备份:
RMAN> report schema;

using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name TEST

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    710      SYSTEM               ***     /u01/app/oracle11g/oradata/test/system01.dbf
2    720      SYSAUX               ***     /u01/app/oracle11g/oradata/test/sysaux01.dbf
3    85       UNDOTBS1             ***     /u01/app/oracle11g/oradata/test/undotbs01.dbf
4    11       USERS                ***     /u01/app/oracle11g/oradata/test/users01.dbf
5    100      EXAMPLE              ***     /u01/app/oracle11g/oradata/test/example01.dbf
6    64       RMAN                 ***     /u01/app/oracle11g/oradata/test/rman01.dbf
7    64       TOOLS                ***     /u01/app/oracle11g/oradata/test/tools01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    29       TEMP                 32767       /u01/app/oracle11g/oradata/test/temp01.dbf

RMAN> backup datafile 7;

Starting backup at 2011-12-27 15:30:02
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=13 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00007 name=/u01/app/oracle11g/oradata/test/tools01.dbf
channel ORA_DISK_1: starting piece 1 at 2011-12-27 15:30:03
channel ORA_DISK_1: finished piece 1 at 2011-12-27 15:30:04
piece handle=/u01/app/oracle11g/flash_recovery_area/TEST/backupset/2011_12_27/o1_mf_nnndf_TAG20111227T153002_7hlwzv9o_.bkp tag=TAG20111227T153002 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2011-12-27 15:30:04


4. 开始测试:
SQL> alter database datafile 7 offline drop;
Database altered.

--假设现在发现干错了,需要恢复,如何操作呢?
RMAN> restore datafile 7;

Starting restore at 2011-12-27 15:33:13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=13 device type=DISK

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 00007 to /u01/app/oracle11g/oradata/test/tools01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle11g/flash_recovery_area/TEST/backupset/2011_12_27/o1_mf_nnndf_TAG20111227T153002_7hlwzv9o_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle11g/flash_recovery_area/TEST/backupset/2011_12_27/o1_mf_nnndf_TAG20111227T153002_7hlwzv9o_.bkp tag=TAG20111227T153002
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
Finished restore at 2011-12-27 15:33:17

RMAN> recover datafile 7;
Starting recover at 2011-12-27 15:33:48
using channel ORA_DISK_1

starting media recovery
media recovery complete, elapsed time: 00:00:00

Finished recover at 2011-12-27 15:33:49

RMAN> sql 'alter database datafile 7 online ';

sql statement: alter database datafile 7 online


5.测试数据是否丢失:

15:35:48 SQL> select count(*) from scott.t1;

  COUNT(*)
----------
     10000

OK,一切正常。一直以为出现这种情况要进行不完成恢复,实际情况不需要。

6.重复测试,改用:
DROP TABLESPACE TOOLS INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

实际上这样就不行了。
RMAN> recover datafile 7;
Starting recover at 2011-12-27 15:38:52
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=13 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 12/27/2011 15:38:53
RMAN-20201: datafile not found in the recovery catalog
RMAN-06010: error while looking up datafile: 7




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-714008/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/267265/viewspace-714008/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值