解决方案 »

  1.   

    没有动手做过,你可以试验一下 。 
    1. 在新机器上用dbca 创建 orclnew的数据库
    2.停止orclnew中数据库服务,把orclnew 中的 控制文件,日志文件,数据文件全删掉
    3.拷贝你冷备份的文件到orclnew中
    3.重建控制文件,应用数据文件和日志文件。 
    4.启动。 
    只是我不知道数据文件里面有没有记录oracle的oracle_sid信息, 如果有的话,估计上面就不成功了。 
      

  2.   

    不知道你是windows还是linux,不过大概的原理相同.
    大概就是修改参数文件,重建控制文件,然后启动就可以了.
    以下是以linux为例:
    PCA:用来准备的数据库服务器
    PCB:将还原的数据库服务器
    --PCA
    1.在sqlplus 下create pfile from spile;产生参数文件,
    修改参数文件名的为initorclnew.ora,
    打开initorclnew.ora,除了db_name=orcl不改,其它所以的orcl替换成orclnew
    加入*.db_unique_name=orclnew这行.
    2.在sqlplus下alter database backup controlfile to trace;产生重建控制文件的代码.
    3.复制 initorclnew.ora到PCB的$ORACLE_HOME/dbs
    复制数据文件到跟踪控制文件中指定的目录
    --PCB
    打开 initorclnew.ora,根据参数中的路径,新建没有的文件夹
    然后ORACLE_SID=orclnew
    sqlplus / as sysdba
    startup nomount;
    CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  ARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 3
        MAXDATAFILES 100
        MAXINSTANCES 8
        MAXLOGHISTORY 292
    LOGFILE
      GROUP 1 '/u02/oradata/orclnew/redo01.log'  SIZE 50M,
      GROUP 2 '/u02/oradata/orclnew/redo02.log'  SIZE 50M,
      GROUP 3 '/u02/oradata/orclnew/redo03.log'  SIZE 50M
    -- STANDBY LOGFILE
    DATAFILE
      '/u02/oradata/orclnew/system01.dbf',
      '/u02/oradata/orclnew/undotbs01.dbf',
      '/u02/oradata/orclnew/sysaux01.dbf',
      '/u02/oradata/orclnew/users01.dbf',
      '/u02/oradata/orclnew/example01.dbf'
    CHARACTER SET ZHS16GBK
    ;
    alter database open;
    就可以了.
      

  3.   


    这样重建建立的数据库不是 orcl?
      

  4.   


    这样重建建立的数据库不是 orcl?
    db_name还是 oracl, 但是只要sid改为orclnew就可以保证两个数据库放在一台了.因为在参数文件中有加
    *.db_unique_name=orclnew.
    用户连接也是指定sid或service_name,根db_name无关的
      

  5.   

    两个实例共存只要区分好sid就可以了。而且修改很简单,只要将对应的参数文件名称、环境变量、密码文件改名即可
    你这里的rman还原除了修改sid以外,还涉及到路径的转换,以免和原实例的数据文件冲突建议你将新机器上的orcl数据库的实例名改成orclnew,并将目录改名,然后再还原orcl库。操作会简单得多