如果备份的文件是dmp,那么重装oracle直接导入就可以了.
如果不是,那么重装oracle后,将现有日志文件覆盖新的日志文件,然后
SVRMGR> connect internal
SVRMGR> startup mount
SVRMGR> alter database open;
不知此种方法是否可以,可以试试

解决方案 »

  1.   

    pls reffer:如何克隆(复制)ORACLE数据库?
    环境:WINDOWS 2000 SERVER, ORACLE 9.20
    源数据库:ORA98
    目标数据库:CLNE本试验是在本机上克隆一个数据库,照此,可以在另外一台机器上完成数据库的克隆。
    STEP 1: 准备克隆数据库CLNE
    1、创建克隆数据库路径:SET ORACLE_SID=CLNE
    SET ORACLE_BASE = E:\ORACLE
    SET ORACLE_HOME=E:\ORACLE\ORA92
    SET ORACLE_DATA=E:\ORACLE\ORADATA\%ORACLE_SID%
    SET ORACLE_ADMIN=%ORACLE_BASE%\ADMIN\%ORACLE_SID%
    MD %ORACLE_ADMIN%
    MD %ORACLE_ADMIN%\PFILE
    MD %ORACLE_ADMIN%\BDUMP
    MD %ORACLE_ADMIN%\CDUMP
    MD %ORACLE_ADMIN%\UDUMP
    MD %ORACLE_ADMIN%\CREATE
    MD %ORACLE_DATA%
    MD %ORACLE_DATA%\ARCHIVE2、为克隆数据库建立参数文件COPY E:\ORACLE\ADMIN\ORA98\PFILE\initOra98.ora 
    E:\ORACLE\ADMIN\CLNE\PFILE\initCLNE.ora 编辑修改initCLNE.ORA
    将所有ORA98(源数据库名)替换为CLNE;3、为CLNE数据库创建新的数据库服务OracleServiceCLNE,使用的是CLNE内部口令。
    C:>oradim –new –sid CLNE –intpwd CLNE
    STEP 2:备份源数据库(冷备份)
    1、连接到源数据库,并关闭。
    C:>SQLPLUS /NOLOG
    SQL>CONN SYS/****@ORA98 AS SYSDBA
    SQL>SHUTDOWN2、将源数据库中的所有数据库文件拷贝到目标数据库对应路径
    COPY E:\ORACLE\ORADATA\ORA98\*.* E:\ORACLE\ORADATA\CLNE
    删除目标路径中的控制文件CONTROL01.CTL, CONTROL02.CTL, CONTROL03.CTL
    STEP 3生成控制文件脚本
    因为输入CREATE CONTROL 命令所需的全部文件需要一定的工作量,但有一条捷径可以方便地完成这个工作,可以让数据库产生创建一个新的控制文件所需的所有指令。C:>SQLPLUS /NOLOG
    SQL>CONN SYS/****@ORA98 AS SYSDBA
    SQL>ALTER DATABASE BACKUP CONTROLFILE TO TRACE RESETLOGS;运行上述命令,oracle服务器将会产生一个包含了创建控制文件所需的全部命令的文件,文件的位置由user_dum_dest初始化参数确定。SQL>SELECT value FROM v$parameter
    WHERE name = ‘user_dump_dest’;
    SQL>SHOW PARAMETER user_dump_dest;E:\ORACLE\ADMIN\ORA98\udump找到最近的类似于ora123.trc的跟踪文件,这里是E:\ORACLE\ADMIN\ORA98\udump \ora98_ora_2492.trc,将它拷贝到e:\oracle\admin\CLNE\create中新的文件名中:C:>COPY E:\ORACLE\ADMIN\ORA98\udump \ora98_ora_2492.trc
    E:\oracle\admin\CLNE\create\create_control.sql编辑修改这个文件:
    1) 删除脚本中的注视行;
    2) 将CREATE CONTROLFILE命令中的REUSE换成SET关键字;
    3) 将数据库名称ORA98都替换为CLNE;
    4) 将每个数据文件及重做日志文件的所在位置从E:\ORACLE\ORADATA\ORA98目录下换到E:\ORACLE\ORADATA\CLNE 目录下;完成以上修改后,文件看起来如下:STARTUP NOMOUNT
    CREATE CONTROLFILE set DATABASE "clne" RESETLOGS ARCHIVELOG
    MAXLOGFILES 50
    MAXLOGMEMBERS 5
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 226
    LOGFILE
    GROUP 1 'E:\ORACLE\ORADATA\clne\REDO01.LOG' SIZE 100M,
    GROUP 2 'E:\ORACLE\ORADATA\clne\REDO02.LOG' SIZE 100M,
    GROUP 3 'E:\ORACLE\ORADATA\clne\REDO03.LOG' SIZE 100M
    DATAFILE
    'E:\ORACLE\ORADATA\clne\SYSTEM01.DBF',
    'E:\ORACLE\ORADATA\clne\UNDOTBS01.DBF',
    'E:\ORACLE\ORADATA\clne\CWMLITE01.DBF',
    'E:\ORACLE\ORADATA\clne\DRSYS01.DBF',
    'E:\ORACLE\ORADATA\clne\EXAMPLE01.DBF',
    'E:\ORACLE\ORADATA\clne\INDX01.DBF',
    'E:\ORACLE\ORADATA\clne\ODM01.DBF',
    'E:\ORACLE\ORADATA\clne\TOOLS01.DBF',
    'E:\ORACLE\ORADATA\clne\USERS01.DBF',
    'E:\ORACLE\ORADATA\clne\XDB01.DBF',
    'E:\ORACLE\ORADATA\clne\PERFSTAT.DBF'
    CHARACTER SET ZHS16GBK
    STEP 4 运行控制文件脚本
    E:>CD \ORACLE\ADMIN\CLNE\CREATE
    E:>SQLPLUS /NOLOG
    SQL>CONNECT SYS/**** AS SYSDBA注意:运行下列脚本之前,一定要删除目标路径E:\ORACLE\ORADATA\CLNE中的原有控制文件CONTROL01.CTL, CONTROL02.CTL, CONTROL03.CTL,否则,会产生错误。SQL>@create_control.sql
    SQL>SHUTDOWN
    SQL>EXIT
    STEP 5 打开克隆数据库
    C:>SQLPLUS /NOLOG
    SQL>CONN SYS/**** AS SYSDBA
    SQL>STARTUP MOUNT
    SQL>ALTER DATABASE OPEN RESETLOGS成功打开,表示克隆成功。
      

  2.   

    lynx挺能钻研,偷懒的,强,