online/offline 表空间和数据文件需谨慎!

1、不要想把表空间备份,然后删除再restore回来。因为删除时控制文件里不再包含表空间的信息,RMAN备份信息放在控制文件的话,也一块儿没了。RMAN backup tablespace后,drop tablespace 无法再Restore回来,必须restore database(上一次的全备)。

210.2alter tablespace drop datafile 不一定有效。已经alter database datafile 72 offline drop的,不能再用。

SQL> alter database datafile '/u01/oradata/t03.dbf' offline;

SQL> alter tablespace test drop datafile '/u01/oradata/t03.dbf';

alter tablespace test drop datafile '/u01/oradata/t03.dbf'

*

ERROR at line 1:

ORA-03264: cannot drop offline datafile of locally managed tablespace

且在DataGuard里要打完Patch才能用。见ningoo的这篇http://www.ningoo.net/html/category/database/page/3

3、如果表空间有offlinedatafile,表空间不能置为readonly

4、把含offline datafile的表空间offline,表空间无法再online,除非有历史归档。

[@more@]Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4

itpub上的一个案例:

http://www.itpub.net/viewthread.php?tid=1014590&extra=&page=1

表空间有4个文件,有3个有数据,有1个是没有数据的,很久以前是offline drop的。不小心按了表空间立即脱机,即alter tablespace test offline immediate.

sql>shutdown immediate;
sql>startup mount
sql>alter database datafile '/data/a001.dbf' online;
sql>alter database datafile '/data/a002.dbf' online;
sql>alter database datafile '/data/a003.dbf' online;

以上都没问题,但第4个文件就不行,提示要恢复

sql>recover datafile 121;

ORA-00289: suggestion : /arch/1_2123.dbf
ORA-00280: change 1974069278 for thread 1 is in sequence #2123


Specify log: {=suggested | filename | AUTO | CANCEL}
(这里不管选 什么都出错,因为根本就没有那个文件)

数据暂时可以正常启动,就是这个表空间的数据不能访问了。

分析:

主要是因为是用了offline immediate将表空间脱机,所以这样的脱机方式是不等Oracle对任何数据文件做检查。所以当Online时,当联机表空间时就必须需要介质恢复。否则就是脱机。

sql>alter database datafile 121 offline drop;

sql>alter tablespace a001 online;

*

ERROR at line 1:

ORA-01113: file 121 needs media recovery

ORA-01110: data file 121: '/data/b_001.dbf'

没有办法把tablespace online,先用dba_extents或dba_segments查表在哪个数据文件,然后用aul这样的工具抽取表数据吧,还有极端的方法就是通过bbeddul修改该文件的scn号,使的在online时,oracle不恢复该数据文件。

Restrictions for Dropping Datafiles

The following are restrictions for dropping datafiles and tempfiles:

The database must be open.

If a datafile is not empty, it cannot be dropped

If you must remove a datafile that is not empty and that cannot be made empty by

dropping schema objects, you must drop the tablespace that contains the datafile.

You cannot drop the first or only datafile in a tablespace.

This means that DROP DATAFILE cannot be used with a bigfile tablespace.

You cannot drop datafiles in a read-only tablespace.

You cannot drop datafiles in the SYSTEM tablespace.

If a datafile in a locally managed tablespace is offline, it cannot be dropped.

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

转载于:http://blog.itpub.net/668365/viewspace-1027874/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值