ITPUB??ì3
ITPUB论坛 » Oracle数据库管理 » 表空间恢复

标题: 表空间恢复
离线 jianhuadong
老会员



精华贴数 0
个人空间 0
技术积分 1044 (1717)
社区积分 0 (141152)
注册日期 2004-8-23
论坛徽章:0
      
      

发表于 2006-1-19 17:45 
表空间恢复

误删除一个表空间后,能否用删除表空间以后的控制文件来恢复到删除之前的状态?nocatalog模式。


只看该作者    顶部
离线 flyonnet
老会员


精华贴数 0
个人空间 0
技术积分 856 (2153)
社区积分 35 (5674)
注册日期 2001-12-11
论坛徽章:1
授权会员     
      

发表于 2006-1-19 18:22 
不行。


只看该作者    顶部
离线 jianhuadong
老会员



精华贴数 0
个人空间 0
技术积分 1044 (1717)
社区积分 0 (141152)
注册日期 2004-8-23
论坛徽章:0
      
      

发表于 2006-1-20 11:08 
为何不行?那删除表而不是表空间呢?


只看该作者    顶部
离线 rwq_
笨笨


精华贴数 0
个人空间 0
技术积分 6586 (191)
社区积分 2241 (532)
注册日期 2001-10-9
论坛徽章:16
会员2007贡献徽章ITPUB新首页上线纪念徽章    
      

发表于 2006-1-20 11:25 
进行不完全恢复。


__________________
山外有山,天外有天做事,先做人我的简单的BLOG
只看该作者    顶部
离线 jianhuadong
老会员



精华贴数 0
个人空间 0
技术积分 1044 (1717)
社区积分 0 (141152)
注册日期 2004-8-23
论坛徽章:0
      
      

发表于 2006-1-20 13:38 
是进行不完全恢复,我的问题是恢复的时候是否可以当前的已经删除了表空间的控制文件!


只看该作者    顶部
离线 tlczwyj
初级会员



精华贴数 0
个人空间 0
技术积分 10 (82751)
社区积分 0 (117690)
注册日期 2004-6-14
论坛徽章:0
      
      

发表于 2006-1-20 13:56 
如果你的归档还在,而且这个表空间是在启用归档后建立的,有恢复的可能


__________________
########################不积跬眇,无以至千里。
只看该作者    顶部
离线 jianhuadong
老会员



精华贴数 0
个人空间 0
技术积分 1044 (1717)
社区积分 0 (141152)
注册日期 2004-8-23
论坛徽章:0
      
      

发表于 2006-1-20 14:08 
当然是在归档模式下,而且有删除表空间前的备份,要不然就不用讨论了。


只看该作者    顶部
离线 jianhuadong
老会员



精华贴数 0
个人空间 0
技术积分 1044 (1717)
社区积分 0 (141152)
注册日期 2004-8-23
论坛徽章:0
      
      

发表于 2006-1-20 14:09 
当然是在归档模式下,而且有删除表空间前的RMAN备份,要不然就不用讨论了。


只看该作者    顶部
离线 chj733
八神苍月


精华贴数 0
个人空间 0
技术积分 1862 (864)
社区积分 94 (3489)
注册日期 2004-12-8
论坛徽章:3
参与2007年甲骨文全球大会(中国上海)纪念会员2006贡献徽章授权会员   
      

发表于 2006-1-20 15:05 
思路:
当前控制文件里面已经不存在被删除的表空间的任何信息,如果直接进行不完全恢复,
由于CF中没有记录,不管你有没有备份这个表空间,ORACLE的恢复进程都不会叼你这个TBS

我开始认同tlczwyj的说法,利用日志信息前滚到创建表空间的一刻,这样会在CF中产生对应的文件信息(可能名称是乱码),
然后create as一次,产生文件,然后应用后续的日志,直到删除TBS的前一刻,但测试后发现在cf中始终产生不了对应的文件信息

SQL> create tablespace mytestspace datafile 'D:\ORACLE_BASE\datafiles\mytestspace.dbf' size 20M;

Tablespace created.

SQL> CREATE TABLE MYTEST (ROW_ID INT) TABLESPACE mytestspace;

Table created.

SQL> INSERT INTO MYTEST VALUES(1);

1 row created.

SQL> COMMIT;

Commit complete.

SQL> SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
2006-01-20 14:15:01 --建立时间

2006-01-20 14:16:14 --恢复时间点


SQL> SHUTDOWN;
Database closed.
Database dismounted.
ORACLE instance shut down.

--备份所有数据文件
SQL> STARTUP;
ORACLE instance started.

Total System Global Area  529604068 bytes
Fixed Size                   454116 bytes
Variable Size             520093696 bytes
Database Buffers            8388608 bytes
Redo Buffers                 667648 bytes
Database mounted.
Database opened.

--创建新表空间
SQL> create tablespace mytestspace datafile 'D:\ORACLE_BASE\datafiles\mytestspac
e.dbf' size 20M;

Tablespace created.

SQL> ALTER SYSTEM CHECKPOINT;

System altered.

--记录创建TBS的完成时间
SQL> SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

TO_CHAR(SYSDATE,'YYYY-MM-DDHH
---------------------------------------------------------------------------
2006-01-20 14:15:01

--产生数据
SQL> CREATE TABLE MYTEST (ROW_ID INT) TABLESPACE mytestspace;

Table created.

SQL> INSERT INTO MYTEST VALUES(1);

1 row created.

SQL> commit;

Commit complete.

SQL> ALTER SYSTEM CHECKPOINT;

System altered.


--最终要恢复的时间点
SQL> SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

TO_CHAR(SYSDATE,'YYYY-MM-DDHH
---------------------------------------------------------------------------
2006-01-20 14:16:14


--删除表空间
SQL> DROP TABLESPACE MYTESTSPACE INCLUDING CONTENTS AND DATAFILES;

Tablespace dropped.

SQL> shutdown abort;
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
--将备份文件COPY回来

C:\Documents and Settings\luochun.BSCY>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on Fri Jan 20 14:17:44 2006

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup mount
ORACLE instance started.

Total System Global Area  529604068 bytes
Fixed Size                   454116 bytes
Variable Size             520093696 bytes
Database Buffers            8388608 bytes
Redo Buffers                 667648 bytes
Database mounted.
SQL> recover database until time '2006-01-20 14:15:01';
Media recovery complete.
SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------

D:\ORACLE_BASE\DATAFILES\SYSTEM01.DBF
D:\ORACLE_BASE\DATAFILES\UNDOTBS.DBF
D:\ORACLE_BASE\DATAFILES\MYSPACE.DBF
D:\ORACLE_BASE\DATAFILES\MYAUTO.DBF


SQL> recover database until time '2006-01-20 14:15:01';
Media recovery complete.
SQL>  select name from v$datafile;

NAME
--------------------------------------------------------------------------------

D:\ORACLE_BASE\DATAFILES\SYSTEM01.DBF
D:\ORACLE_BASE\DATAFILES\UNDOTBS.DBF
D:\ORACLE_BASE\DATAFILES\MYSPACE.DBF
D:\ORACLE_BASE\DATAFILES\MYAUTO.DBF

SQL>
这样后续部分就没法进行了,大家有什么意见,欢迎拍砖!!!!!


__________________
MY BLOG | 个人音乐绣Mail:chj733@Gmail.comMSN:chj633@Gmail.com
只看该作者    顶部
在线/呼叫 d.c.b.a
人生积极一点好


精华贴数 6
个人空间 0
技术积分 13981 (79)
社区积分 1356 (753)
注册日期 2004-2-19
论坛徽章:21
现任管理团队成员Heart of PUBITPUB北京九华山庄2008年会纪念徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章会员2007贡献徽章
ITPUB新首页上线纪念徽章     

发表于 2006-1-20 15:40 
用以前备份的文件重建控制文件, 这时原来的文件应当回来了

然后应当可以恢复的.


__________________

专业Oracle/Shareplex技术支持服务, 管理, 培训, 调优, 备份, 恢复!

个人主页: 订阅AnySQL | AnySQL | dbatools | AUL Step by Step | OracleSOS.com
联系方法: MSN: anysql©live.com, Skype: anysql, QQ: 37223884
只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问