经过了2天的折腾终于能简单的使用RMAN进行备份和恢复了(不报错了)
这里真的很感谢welyngj 帮我解惑
现在对RMAN的工作原理还不是明白,我说一下我的理解,请大家告诉我对不对
现在我的库是这样的
sid=yang是本身的database,也是备份的对象
sid=rmantest是为rman准备的database
进行完备份完 yang里的数据全部复制到了rmantest中,只有一个不同 就是yang中多了一个RMAN_TS.ORA文件,其余都一样我先从yang中删除了3个dbf文件,手动删的,没用命令。然后进行恢复
进行恢复时
RMAN>restore database;然后所有文件就被复制到了yang里。这里我是直观的观察文件夹里的内容,被删掉的3个dbf文件果然又重新出现了。
这里我不太明白 rmantest这个库,到底有没有实质性的作用,能否用一个文件夹代替呢?因为从始至终,备份到恢复的整个过程中,我并没有去开启这个rmantest这个库。只是在前期配置rman的时候,我是在这个库(sid=rmantest)里进行的。
所以我不太明白rmantest这个库到底在这个过程中起到了什么作用,如果它确实必不可少的话,如果我要备份多个数据库,能否都用一个rmantest库作为备份文件的储存库呢?希望高手能理解我想表达的意思

解决方案 »

  1.   

    因为从始至终,备份到恢复的整个过程中,我并没有去开启这个rmantest这个库?是吗??楼主是怎样连接到rman的?
    在连接到catalog database的命令中:
     rman TARGET SYS/oracle@yang CATALOG rman/rman@rmantest红色字体表示应用到了。
    The recovery catalog contains information about RMAN operations, including:    * Datafile and archived redo log backup sets and backup pieces
        * Datafile copies
        * Archived redo logs and their copies
        * Tablespaces and datafiles on the target database
        * Stored scripts, which are named user-created sequences of RMAN commands
        * Persistent RMAN configuration settings
    如果目标数据库和catalog db是同一个数据库的话,那么catalog db的数据也会丢失,甚至instance无法启动,上次的试验失败,就是这个原因。
    一个catalog database可以注册多个target database.
      

  2.   

    我不太明白 rmantest这个库
    ==============================
    我猜你这数据库应该是 catalog 数据库。
    oracle 的备份信息可以保存在两个地方,控制文件和 catalog 数据库。catalog 数据库是专门为保存备份信息
    建立的数据库。如果你不想建立这样的数据库,可是指定 RMAN 的 nocatalog 参数。
      

  3.   


    补充一下,如果是非catelog,rman的信息将会在目标数据库的control文件里出现,
    所以如果目标库是nomount的状态的话,你是rman还是可以连上,但是由于nomount状态,controlfile的信息还是没有load到实例里的,所以你这时在RMAN里show all看到的信息,和目标数据库mount以后看到的信息是不一样的。