ITPUB论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
更多
查看: 7811|回复: 46

表空间恢复 [复制链接]

注册会员

老会员

精华贴数
0
技术积分
1106
社区积分
0
注册时间
2004-8-23
论坛徽章:
0
发表于 2006-1-19 17:45:54 |显示全部楼层
误删除一个表空间后,能否用删除表空间以后的控制文件来恢复到删除之前的状态?nocatalog模式。

注册会员

老会员

精华贴数
0
技术积分
858
社区积分
35
注册时间
2001-12-11
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
发表于 2006-1-19 18:22:41 |显示全部楼层
不行。

使用道具 举报

注册会员

老会员

精华贴数
0
技术积分
1106
社区积分
0
注册时间
2004-8-23
论坛徽章:
0
发表于 2006-1-20 11:08:17 |显示全部楼层
为何不行?那删除表而不是表空间呢?

使用道具 举报

注册会员

笨笨

精华贴数
0
技术积分
6611
社区积分
2254
注册时间
2001-10-9
论坛徽章:
17
会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442010新春纪念徽章
日期:2010-03-01 11:20:05
发表于 2006-1-20 11:25:22 |显示全部楼层
进行不完全恢复。

使用道具 举报

注册会员

老会员

精华贴数
0
技术积分
1106
社区积分
0
注册时间
2004-8-23
论坛徽章:
0
发表于 2006-1-20 13:38:57 |显示全部楼层
是进行不完全恢复,我的问题是恢复的时候是否可以当前的已经删除了表空间的控制文件!

使用道具 举报

注册会员

初级会员

精华贴数
0
技术积分
12
社区积分
0
注册时间
2004-6-14
论坛徽章:
0
发表于 2006-1-20 13:56:16 |显示全部楼层
如果你的归档还在,而且这个表空间是在启用归档后建立的,有恢复的可能

使用道具 举报

注册会员

老会员

精华贴数
0
技术积分
1106
社区积分
0
注册时间
2004-8-23
论坛徽章:
0
发表于 2006-1-20 14:08:58 |显示全部楼层
当然是在归档模式下,而且有删除表空间前的备份,要不然就不用讨论了。

使用道具 举报

注册会员

老会员

精华贴数
0
技术积分
1106
社区积分
0
注册时间
2004-8-23
论坛徽章:
0
发表于 2006-1-20 14:09:10 |显示全部楼层
当然是在归档模式下,而且有删除表空间前的RMAN备份,要不然就不用讨论了。

使用道具 举报

注册会员

八神

精华贴数
0
技术积分
1864
社区积分
101
注册时间
2004-12-8
论坛徽章:
3
授权会员
日期:2005-11-28 16:52:07会员2006贡献徽章
日期:2006-04-17 13:46:34参与2007年甲骨文全球大会(中国上海)纪念
日期:2007-08-06 15:19:01
发表于 2006-1-20 15:05:04 |显示全部楼层
思路:
当前控制文件里面已经不存在被删除的表空间的任何信息,如果直接进行不完全恢复,
由于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>
这样后续部分就没法进行了,大家有什么意见,欢迎拍砖!!!!!

使用道具 举报

版主

人生积极一点好

精华贴数
7
技术积分
15669
社区积分
1384
注册时间
2004-2-19
论坛徽章:
32
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:022010数据库技术大会纪念徽章
日期:2010-05-13 10:04:282010年世界杯参赛球队:南非
日期:2010-07-03 19:32:292011新春纪念徽章
日期:2011-01-25 15:41:012011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:082010年世界杯参赛球队:斯洛文尼亚
日期:2010-04-19 22:39:482010新春纪念徽章
日期:2010-03-01 11:06:22参与2007年甲骨文全球大会(中国上海)纪念
日期:2007-08-06 15:19:01
发表于 2006-1-20 15:40:47 |显示全部楼层
用以前备份的文件重建控制文件, 这时原来的文件应当回来了

然后应当可以恢复的.

使用道具 举报

相关内容推荐
您需要登录后才可以回帖 登录 | 注册

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 邮箱 虎吧 老博客 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
回顶部