ITPub博客

首页 > 数据库 > Oracle > 使用RMAN备份集和过时的控制文件进行数据库的恢复(2/2)

使用RMAN备份集和过时的控制文件进行数据库的恢复(2/2)

原创 Oracle 作者:djb1008 时间:2010-09-20 09:26:55 0 删除 编辑

<接使用RMAN备份集和过时的控制文件进行数据库的恢复(1/2),网址:http://djb1008.itpub.net/post/42280/505466>

3.2.12 查询最新的数据库SCN号

然后我们查询一下最新的数据库的SCN 和数据文件的SCN,都是最新的SCN,而且具有相同值。

SQL> select ts#,file#,name,checkpoint_change#,sysdate from v$datafile order by ts#,file#

FILE# NAME CHECKPOINT_CHANGE# SYSDATE

---------- ------------------------------ ------------------ -------------------

1 C:ORADATAAIDUSYSTEM01.DBF 1224188 2006-06-23 16:18:46

2 C:ORADATAAIDUUNDOTBS01.DBF 1224188 2006-06-23 16:18:46

3 C:ORADATAAIDUSYSAUX01.DBF 1224188 2006-06-23 16:18:46

4 C:ORADATAAIDUUSERS01.DBF 1224188 2006-06-23 16:18:46

SQL> select sysdate,dbid,db_unique_name,checkpoint_change# from v$database;

DBID DB_UNIQUE_NAME CHECKPOINT_CHANGE#

------------------- ---------- ------------------------------ ------------------

2006-06-23 16:31:40 451307475 aidu 1224188

我们看到RMAN 全备份前,后的数据都成功的恢复,试验是成功的.

3.2.13 手工维护临时表空间

查看是否已经存在临时表空间

[@more@]

SQL> select tablespace_name,status,contents from dba_tablespaces;

TABLESPACE_NAME STATUS CONTENTS

------------------------------ --------- ---------

SYSTEM ONLINE PERMANENT

UNDOTBS1 ONLINE UNDO

SYSAUX ONLINE PERMANENT

TEMP ONLINE TEMPORARY

USERS ONLINE PERMANENT

不同版本的ORACLE在处理TEMP 表空间有不同的方法,10.2以后,系统发现不存在临时表空间,将会自动建立,但不自动为临时表空间设定文件,需要手工增加;如果为临时表空间增加了临时文件(TEMPFILE),如果用户不小心删除了临时表空间的文件,数据库将在重新启动时自动按照数据字典定义,自动生成新的控制文件(删除几个,就自动生成几个)。

为临时表空间增加临时文件

SQL>ALTER TABLESPACE TEMP ADD TEMPFILE 'C:oradataaiduTEMP01.DBF' SIZE 20M;

旧版本中手工增加临时表空间

SQL>CREATE TEMPORARY TABLESPACE TEMP TEMPFILE ‘C:ORADATAAIDUTEMP01.DBF’ SIZE 20M;

SQL>ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP;

  1. 试验总结

  1. 尽量使用RMAN进行数据库备份,同时打开控制文件的自动备份。
  2. RMAN备份集应该同时保存到不同的存储介质上。
  3. 本次试验幸运的是有一个旧的控制文件,可以用于RMAN恢复文件、SQLPLUS重新创建控制文件。如果没有的话或者旧的控制文件备份后数据库的结构发生了变化,将只能够通过修改生成控制文件的模板来创建新的控制文件,如果对数据库的结构不熟悉,将会给恢复工作带来很大的困难,所以强烈建议当数据库结构发生改变时,应及时备份控制文件。
  4. 本次试验没有检验REDO 数据的丢失,应该可以加进来测试一下。
  5. 本试验可以作为只有RMAN备份集,数据库的文件全部丢失(包括控制文件)的情况下进行数据库的恢复工作的指导,恢复的关键是要将RMAN与SQLPLUS组合起来进行恢复,有比较大的难度,需要操作者具有一定的数据库知识,并对数据库的结构有较清楚的理解。

  1. 附件:C:TEMPCREATE_CONTROLFILE.TXT:

CREATE CONTROLFILE REUSE DATABASE "AIDU" RESETLOGS ARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 (

'C:ORADATAAIDUREDO01.LOG',

'C:ORADATAAIDUREDO01B.LOG'

) SIZE 10M,

GROUP 2 (

'C:ORADATAAIDUREDO02.ORA',

'C:ORADATAAIDUREDO02B.ORA'

) SIZE 10M,

GROUP 3 (

'C:ORADATAAIDUREDO03.LOG',

'C:ORADATAAIDUREDO03B.LOG'

) SIZE 10M

-- STANDBY LOGFILE

DATAFILE

'C:ORADATAAIDUSYSTEM01.DBF',

'C:ORADATAAIDUUNDOTBS01.DBF',

'C:ORADATAAIDUSYSAUX01.DBF',

'C:ORADATAAIDUUSERS01.DBF'

CHARACTER SET ZHS16GBK;

备注:

如果REDO LOG文件存在,则使用NORESETLOGS。

如果REDO LOG文件不存在,则使用RESETLOGS,创建控制文件时,不检查REDO LOG 文件是否存在。在数据库打开时,自动生成全新的空的REDO LOG文件。

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

请登录后发表评论 登录
全部评论

注册时间:2010-07-27

  • 博文量
    175
  • 访问量
    778881