接我发的上一个帖的话题,我用RMAN做了如下备份:
RMAN>  run {backup full format='/home/oracle/db_%d_%s_%p_%t' database;} 启动 backup 于 22-10月-08 
使用通道 ORA_DISK_1 
通道 ORA_DISK_1: 启动全部数据文件备份集 
通道 ORA_DISK_1: 正在指定备份集中的数据文件 
输入数据文件 fno=00006 name=/oradata/app/oracle/spdb/NEWAPAS.dbf 
输入数据文件 fno=00005 name=/oradata/app/oracle/spdb/APASUSER.dbf 
输入数据文件 fno=00001 name=/oradata/app/oracle/spdb/system01.dbf 
输入数据文件 fno=00003 name=/oradata/app/oracle/spdb/sysaux01.dbf 
输入数据文件 fno=00007 name=/oradata/app/oracle/spdb/MONITOR.dbf 
输入数据文件 fno=00002 name=/oradata/app/oracle/spdb/undotbs01.dbf 
输入数据文件 fno=00009 name=/oradata/app/oracle/spdb/LWMONITOR.dbf 
输入数据文件 fno=00004 name=/oradata/app/oracle/spdb/users01.dbf 
输入数据文件 fno=00008 name=/oradata/app/oracle/spdb/MONITORUSER.dbf 
通道 ORA_DISK_1: 正在启动段 1 于 22-10月-08 
通道 ORA_DISK_1: 已完成段 1 于 22-10月-08 
段句柄=/home/oracle/db_SPDB_21_1_668783627 标记=TAG20081022T131347 注释=NONE 
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:25 
通道 ORA_DISK_1: 启动全部数据文件备份集 
通道 ORA_DISK_1: 正在指定备份集中的数据文件 
备份集中包括当前控制文件 
在备份集中包含当前的 SPFILE 
通道 ORA_DISK_1: 正在启动段 1 于 22-10月-08 
通道 ORA_DISK_1: 已完成段 1 于 22-10月-08 
段句柄=/home/oracle/db_SPDB_22_1_668783712 标记=TAG20081022T131347 注释=NONE 
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02 
完成 backup 于 22-10月-08 想用备份得到的文件来恢复数据库,请问脚本该怎么写?RMAN的资料很多,可大都看不大懂。哪位老师能详细教我一下?谢谢!

解决方案 »

  1.   

    如果是完全恢复,我在mount状态下
    run{
      Restore database;
      recover database;
      alter database open;
    }不完全恢复:run{
      set until scn ********;
      restore database;
      recover database;
      alter database open resetlogs;
    }
      

  2.   

    你是备份了整个数据库。那么恢复就是恢复整个数据库了。
    先进入到Rman下面后,
    run{
    allocate channel c1 type disk;
    restore database;
    sql "alter database mount";
    recover database;
    sql "alter database open resetlogs";
    release channel c1;
    }
    小提示:
    如果数据库多的话,你的Rman这个用户最好做到一台独立的服务器上,别的数据库都与之同步一下。
    我当时就犯了这个错误,把Rman这个用户建立到其本机上了。另外:你搜一下Oracle RMAN 快速入门指南这篇文章,讲得很明了。
      

  3.   

    恢复时出现如下错误,请问是什么原因呢?RMAN> run {
    2> restore database;
    3> sql "alter database mount";
    4> recover database;
    5> sql "alter database open resetlogs";
    6> }启动 restore 于 23-10月-08
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: sid=156 devtype=DISK通道 ORA_DISK_1: 正在开始恢复数据文件备份集
    通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
    正将数据文件00001恢复到/oradata/app/oracle/spdb/system01.dbf
    正将数据文件00002恢复到/oradata/app/oracle/spdb/undotbs01.dbf
    正将数据文件00003恢复到/oradata/app/oracle/spdb/sysaux01.dbf
    正将数据文件00004恢复到/oradata/app/oracle/spdb/users01.dbf
    正将数据文件00005恢复到/oradata/app/oracle/spdb/APASUSER.dbf
    正将数据文件00006恢复到/oradata/app/oracle/spdb/NEWAPAS.dbf
    正将数据文件00007恢复到/oradata/app/oracle/spdb/MONITOR.dbf
    正将数据文件00008恢复到/oradata/app/oracle/spdb/MONITORUSER.dbf
    正将数据文件00009恢复到/oradata/app/oracle/spdb/LWMONITOR.dbf
    通道 ORA_DISK_1: 正在读取备份段 /opt/app/oracle/product/10.2.0/db_1/dbs/db_SPDB_23_1_668788513
    通道 ORA_DISK_1: 已恢复备份段 1
    段句柄 = /opt/app/oracle/product/10.2.0/db_1/dbs/db_SPDB_23_1_668788513 标记 = TAG20081022T143512
    通道 ORA_DISK_1: 恢复完成, 用时: 00:07:35
    完成 restore 于 23-10月-08sql 语句: alter database mount
    MAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03009: sql 命令 (default 通道上, 在 10/23/2008 08:59:27 上) 失败
    RMAN-11003: 在分析/执行 SQL 语句期间失败: alter database mount
    ORA-00205: 标识控制文件时出错, 有关详细信息, 请查看预警日志
      

  4.   


    Rman>shutdown;
    Rman>startup mount;
    rman>run{
      restore database;
      recover database;
      alter database open;
    }