在进行数据同步时,需要先把表的结构进行备份,然后在还原。。
备份结果如下:
   RMAN>backup tablespace james;
恢复结果如下:
   RMAN>SQL "ALTER TABLESPACE USERS OFFLINE";
   RMAN>RUN {
                SET UNTIL SCN=XXXX;
                RESTORE TABLESPACE james;
                RECOVER TABLESPACE james;
            }
   RMAN>SQL "ALTER TABLESPACE USERS ONLINE";
   RMAN>alter database open resetlogs;XXXX为select CURRENT_SCN from v$database;当前的日志序列号;我将表空间james中以james用户创建表jay,首先进行备份,备份完毕后将表jay删除后,但是我恢复时却不能执行“alter database open resetlogs”不能将序列日志重置,导致恢复不成功,请问各位高手是什么原因,错在哪里,请指点,谢谢。

解决方案 »

  1.   

    表空间丢失:
    1. sql "alter tablespace users offline";//如果文件不存在,则用 sql "alter tablespace users offline immeidate";
    2. restore tablespace users;
    3. recover tablespace users; //与online redolog file 信息一致
    4. sql "alter tablespace users online";RMAN 备份与恢复 实例 
    http://blog.csdn.net/tianlesoftware/archive/2009/10/20/4699320.aspx
      

  2.   

    不完全恢复不能针对单个的tablespace, 只能针对整个数据库
      

  3.   

    备份如下:
       RMAN>backup tablespace james; 
    恢复如下:
        RMAN>sql "alter tablespace users offline
       RMAN>restore tablespace users; 
       RMAN>recover tablespace users; //与online redolog file 信息一致 
        RMAN>sql "alter tablespace users online"; 就是这样吗?
      

  4.   

    请问一下楼主,我现在只是某个表丢失,并不是丢失DBF的文件,也可以采用恢复表空间的形式恢复表的相关信息吗
      

  5.   

    当然不可以啦。你可以使用auxiliary库来进行时间点的恢复。并跳过无须恢复的ts
      

  6.   

    你的恢复思路不对,如果你做不完全恢复,必须要所有的表空间scn一制才可以,10g之前不能单独的某个表空间做不完全恢复,如果你用的是oracle 10g那么可以考虑使用DBPITR进行单独表空间不完全恢复.
    另外,只是删除一个表做恢复测试,首选是看能否闪回,如果不能才能考虑不完全恢复.
    建议楼主先弄清楚思路,思路不对,你的操作自然就不对!