9i是装在D盘的,重装操作系统后,又重装了9i
请问如何将原来的数据库恢复回来?

解决方案 »

  1.   

    9i原是装在D盘的,重装操作系统C盘后,又重装了9i
    请问如何将原来的数据库恢复回来?(原来D盘的9i还在,现在重新覆盖安装了一次)
      

  2.   

    9i原是装在D盘的,重装操作系统C盘后,又重装了9i
    请问如何将原来的数据库恢复回来?(原来D盘的9i还在,现在重新覆盖安装了一次)
      

  3.   

    转贴:
    1、连接目标数据库,对目标数据库做全库备份D:\ORACLE\BIN>rman恢复管理器: 版本9.2.0.5.0 - ProductionCopyright (c) 1995, 2002, Oracle Corporation. All rights reserved.RMAN> connect catalog rman/rman@187连接到恢复目录数据库RMAN> connect target /连接到目标数据库: ENCORE (DBID=3146513770)
    RMAN> run
    2> {allocate channel d1 type disk maxpiecesize = 500m;
    3> backup full database
    4> format 'E:\rmanbak\db_%d_%s_%p_%t';
    5> release channel d1;
    6> }分配的通道: d1
    通道 d1: sid=16 devtype=DISK启动 backup 于 2004-06-28 21:03:31
    通道 d1: 正在启动 full 数据文件备份集
    通道 d1: 正在指定备份集中的数据文件
    在备份集中包含当前的 SPFILE
    备份集中包括当前控制文件
    输入数据文件 fno=00001 name=D:\ORACLE\ORADATA\ENCORE\SYSTEM01.DBF
    输入数据文件 fno=00002 name=D:\ORACLE\ORADATA\ENCORE\UNDOTBS01.DBF
    输入数据文件 fno=00005 name=D:\ORACLE\ORADATA\ENCORE\EXAMPLE01.DBF
    输入数据文件 fno=00008 name=D:\ORACLE\ORADATA\ENCORE\TOOLS01.DBF
    输入数据文件 fno=00010 name=D:\ORACLE\ORADATA\ENCORE\XDB01.DBF
    输入数据文件 fno=00006 name=D:\ORACLE\ORADATA\ENCORE\INDX01.DBF
    输入数据文件 fno=00009 name=D:\ORACLE\ORADATA\ENCORE\USERS01.DBF
    输入数据文件 fno=00003 name=D:\ORACLE\ORADATA\ENCORE\CWMLITE01.DBF
    输入数据文件 fno=00004 name=D:\ORACLE\ORADATA\ENCORE\DRSYS01.DBF
    输入数据文件 fno=00007 name=D:\ORACLE\ORADATA\ENCORE\ODM01.DBF
    通道 d1: 正在启动段 1 于 2004-06-28 21:03:37
    通道 d1: 已完成段 1 于 2004-06-28 21:05:02
    段 handle=E:\RMANBAK\DB_ENCORE_1_1_530053412 comment=NONE
    通道 d1: 正在启动段 2 于 2004-06-28 21:05:02
    通道 d1: 已完成段 2 于 2004-06-28 21:06:07
    段 handle=E:\RMANBAK\DB_ENCORE_1_2_530053412 comment=NONE
    通道 d1: 备份集已完成, 经过时间:00:02:35
    完成 backup 于 2004-06-28 21:06:07释放的通道: d1RMAN>2、备份目标数据库的参数文件SQL> create pfile from spfile;文件已创建SQL>3、--将目标数据库的参数文件(第2步创建)拷贝到克隆机器上,修改相应的参数(主要是实例名和
    数据库名,和bdump、udump、cdump 等后台进程的跟踪文件存放的路径,本文中,克隆数据库
    的实例名为 CLONE,数据库名为 CLONE_DB),然后在克隆机器上创建实例D:\oracle\bin>oradim -new -sid clone -PFILE D:\ORACLE\database\INITCLONE.ORA -INTPWD SYS1D:\oracle\bin>
    4、--修改克隆数据库的监听器,增加对克隆数据库的监听(第3段)SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = D:\ORACLE)
    (PROGRAM = extproc)
    )
    (SID_DESC =
    (GLOBAL_DBNAME = ORACLE)
    (ORACLE_HOME = D:\ORACLE)
    (SID_NAME = ORACLE92)
    )
    (SID_DESC =
    (GLOBAL_DBNAME = clone_db)
    (ORACLE_HOME = D:\ORACLE)
    (SID_NAME = clone)
    )
    )5、修改RMAN机器上的TNSNAMES.ORA文件,增加此连接串,保证RMAN使用此连接串能够连接到
    克隆数据库的实例CLONE =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.194)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = CLONE_DB)
    )
    )5、将目标数据库的备份集拷贝到克隆数据库机器的同一位置,并启动克隆数据库(nomount 状态)6、由于第1步骤中没有备份日志,在使用RMAN> run
    2> {allocate auxiliary channel d1 type disk;
    3> set newname for datafile 1 to 'F:\CLONE\data\SYSTEM01.DBF';脚本克隆数据库时,出现 NO BACKUP COPY 之类的错误,
    之后补充备份目标数据库的日志,RMAN> run
    2> {allocate channel d1 type disk maxpiecesize = 500m;
    3> backup archivelog all
    4> format 'E:\rmanbak\log_%d_%s_%p_%t';
    5> release channel d1;
    6> }分配的通道: d1
    通道 d1: sid=11 devtype=DISK启动 backup 于 2004-06-28 21:42:18
    当前日志已存档
    通道 d1: 正在启动存档日志备份集
    通道 d1: 正在指定备份集中的存档日志
    输入存档日志线程 =1 序列 =107 记录 ID=107 时间戳=528371132
    输入存档日志线程 =1 序列 =108 记录 ID=108 时间戳=530053839
    输入存档日志线程 =1 序列 =109 记录 ID=109 时间戳=530054855
    输入存档日志线程 =1 序列 =110 记录 ID=110 时间戳=530055437
    输入存档日志线程 =1 序列 =111 记录 ID=111 时间戳=530055540
    输入存档日志线程 =1 序列 =112 记录 ID=112 时间戳=530055739
    通道 d1: 正在启动段 1 于 2004-06-28 21:42:23
    通道 d1: 已完成段 1 于 2004-06-28 21:42:26
    段 handle=E:\RMANBAK\LOG_ENCORE_2_1_530055742 comment=NONE
    通道 d1: 备份集已完成, 经过时间:00:00:04
    完成 backup 于 2004-06-28 21:42:26释放的通道: d1
    7、将日志备份集拷贝到克隆机器的同一目录后,回到RMAN处,连接辅助(克隆)数据库,
    执行脚本,剩下的RMAN自己会做
    RMAN> connect auxiliary sys/sys1@clone已连接到备用数据库: CLONE_DB (未安装)RMAN> run
    2> {allocate auxiliary channel d1 type disk;
    3> set newname for datafile 1 to 'F:\CLONE\data\SYSTEM01.DBF';
    4> set newname for datafile 2 to 'F:\CLONE\data\UNDOTBS01.DBF';
    5> set newname for datafile 3 to 'F:\CLONE\data\CWMLITE01.DBF';
    6> set newname for datafile 4 to 'F:\CLONE\data\DRSYS01.DBF';
    7> set newname for datafile 5 to 'F:\CLONE\data\EXAMPLE01.DBF';
    8> set newname for datafile 6 to 'F:\CLONE\data\INDX01.DBF';
    9> set newname for datafile 7 to 'F:\CLONE\data\ODM01.DBF';
    10> set newname for datafile 8 to 'F:\CLONE\data\TOOLS01.DBF';
    11> set newname for datafile 9 to 'F:\CLONE\data\USERS01.DBF';
    12> set newname for datafile 10 to 'F:\CLONE\data\XDB01.DBF';
    13> DUPLICATE TARGET DATABASE TO CLONE_DB
    14> LOGFILE
    15> GROUP 1 ('F:\clone\data\REDO01.DBF') SIZE 10M,
    16> GROUP 2 ('F:\clone\data\REDO02.DBF') SIZE 10M,
    17> GROUP 3 ('F:\clone\data\REDO03.DBF') SIZE 10M;
    18> }分配的通道: d1
    通道 d1: sid=8 devtype=DISK正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME启动 Duplicate Db 于 2004-06-28 21:43:51正在打印存储的脚本: Memory Script
    {
    set until scn 261688166;
    set newname for datafile 1 to
    "F:\CLONE\DATA\SYSTEM01.DBF";
    set newname for datafile 2 to
    "F:\CLONE\DATA\UNDOTBS01.DBF";
    set newname for datafile 3 to
    "F:\CLONE\DATA\CWMLITE01.DBF";
    set newname for datafile 4 to
    "F:\CLONE\DATA\DRSYS01.DBF";
    set newname for datafile 5 to
    "F:\CLONE\DATA\EXAMPLE01.DBF";
    set newname for datafile 6 to
    "F:\CLONE\DATA\INDX01.DBF";
    set newname for datafile 7 to
    "F:\CLONE\DATA\ODM01.DBF";
    set newname for datafile 8 to
    "F:\CLONE\DATA\TOOLS01.DBF";
    set newname for datafile 9 to
    "F:\CLONE\DATA\USERS01.DBF";
    set newname for datafile 10 to
    "F:\CLONE\DATA\XDB01.DBF";
    restore
    check readonly
    clone database
    ;
    }
    正在执行脚本: Memory Script正在执行命令: SET until clause正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME
      

  4.   

    启动 restore 于 2004-06-28 21:43:54通道 d1: 正在开始恢复数据文件备份集
    通道 d1: 正在指定从备份集恢复的数据文件
    正将数据文件00001恢复到F:\CLONE\DATA\SYSTEM01.DBF
    正将数据文件00002恢复到F:\CLONE\DATA\UNDOTBS01.DBF
    正将数据文件00003恢复到F:\CLONE\DATA\CWMLITE01.DBF
    正将数据文件00004恢复到F:\CLONE\DATA\DRSYS01.DBF
    正将数据文件00005恢复到F:\CLONE\DATA\EXAMPLE01.DBF
    正将数据文件00006恢复到F:\CLONE\DATA\INDX01.DBF
    正将数据文件00007恢复到F:\CLONE\DATA\ODM01.DBF
    正将数据文件00008恢复到F:\CLONE\DATA\TOOLS01.DBF
    正将数据文件00009恢复到F:\CLONE\DATA\USERS01.DBF
    正将数据文件00010恢复到F:\CLONE\DATA\XDB01.DBF
    通道 d1: 已恢复备份段 1
    段 handle=E:\RMANBAK\DB_ENCORE_1_1_530053412 tag=TAG20040628T210331 params=NULL
    通道 d1: 已恢复备份段 2
    段 handle=E:\RMANBAK\DB_ENCORE_1_2_530053412 tag=TAG20040628T210331 params=NULL
    通道 d1: 恢复完成
    完成 restore 于 2004-06-28 21:46:35
    sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "CLONE_DB" RESETLOGS ARCHIVELOG
    MAXLOGFILES 50
    MAXLOGMEMBERS 5
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 226
    LOGFILE
    GROUP 1 ( 'F:\clone\data\REDO01.DBF' ) SIZE 10485760 ,
    GROUP 2 ( 'F:\clone\data\REDO02.DBF' ) SIZE 10485760 ,
    GROUP 3 ( 'F:\clone\data\REDO03.DBF' ) SIZE 10485760
    DATAFILE
    'F:\CLONE\DATA\SYSTEM01.DBF'
    CHARACTER SET ZHS16GBK
    正在打印存储的脚本: Memory Script
    {
    switch clone datafile all;
    }
    正在执行脚本: Memory Script数据文件 2 已转换成数据文件副本
    输入数据文件副本 recid=1 stamp=530056505 文件名=F:\CLONE\DATA\UNDOTBS01.DBF
    数据文件 3 已转换成数据文件副本
    输入数据文件副本 recid=2 stamp=530056505 文件名=F:\CLONE\DATA\CWMLITE01.DBF
    数据文件 4 已转换成数据文件副本
    输入数据文件副本 recid=3 stamp=530056505 文件名=F:\CLONE\DATA\DRSYS01.DBF
    数据文件 5 已转换成数据文件副本
    输入数据文件副本 recid=4 stamp=530056505 文件名=F:\CLONE\DATA\EXAMPLE01.DBF
    数据文件 6 已转换成数据文件副本
    输入数据文件副本 recid=5 stamp=530056505 文件名=F:\CLONE\DATA\INDX01.DBF
    数据文件 7 已转换成数据文件副本
    输入数据文件副本 recid=6 stamp=530056505 文件名=F:\CLONE\DATA\ODM01.DBF
    数据文件 8 已转换成数据文件副本
    输入数据文件副本 recid=7 stamp=530056505 文件名=F:\CLONE\DATA\TOOLS01.DBF
    数据文件 9 已转换成数据文件副本
    输入数据文件副本 recid=8 stamp=530056505 文件名=F:\CLONE\DATA\USERS01.DBF
    数据文件 10 已转换成数据文件副本
    输入数据文件副本 recid=9 stamp=530056505 文件名=F:\CLONE\DATA\XDB01.DBF正在打印存储的脚本: Memory Script
    {
    set until scn 261688166;
    recover
    clone database
    delete archivelog
    ;
    }
    正在执行脚本: Memory Script正在执行命令: SET until clause启动 recover 于 2004-06-28 21:46:37正在开始介质的恢复通道 d1: 正在启动到默认目标的存档日志恢复
    通道 d1: 正在恢复存档日志
    存档日志线程 =1 序列=108
    通道 d1: 正在恢复存档日志
    存档日志线程 =1 序列=109
    通道 d1: 正在恢复存档日志
    存档日志线程 =1 序列=110
    通道 d1: 正在恢复存档日志
    存档日志线程 =1 序列=111
    通道 d1: 正在恢复存档日志
    存档日志线程 =1 序列=112
    通道 d1: 已恢复备份段 1
    段 handle=E:\RMANBAK\LOG_ENCORE_2_1_530055742 tag=TAG20040628T214221 params=NULL
    通道 d1: 恢复完成
    存档日志文件名 =F:\CLONE\LOG\ARC00108.001 线程 =1 序列 =108
    通道 clone_default: 正在删除存档日志
    存档日志文件名 =F:\CLONE\LOG\ARC00108.001 记录 ID=3 时间戳 =530056510
    存档日志文件名 =F:\CLONE\LOG\ARC00109.001 线程 =1 序列 =109
    通道 clone_default: 正在删除存档日志
    存档日志文件名 =F:\CLONE\LOG\ARC00109.001 记录 ID=4 时间戳 =530056510
    存档日志文件名 =F:\CLONE\LOG\ARC00110.001 线程 =1 序列 =110
    通道 clone_default: 正在删除存档日志
    存档日志文件名 =F:\CLONE\LOG\ARC00110.001 记录 ID=5 时间戳 =530056510
    存档日志文件名 =F:\CLONE\LOG\ARC00111.001 线程 =1 序列 =111
    通道 clone_default: 正在删除存档日志
    存档日志文件名 =F:\CLONE\LOG\ARC00111.001 记录 ID=2 时间戳 =530056510
    存档日志文件名 =F:\CLONE\LOG\ARC00112.001 线程 =1 序列 =112
    通道 clone_default: 正在删除存档日志
    存档日志文件名 =F:\CLONE\LOG\ARC00112.001 记录 ID=1 时间戳 =530056510
    完成介质的恢复
    完成 recover 于 2004-06-28 21:46:47正在打印存储的脚本: Memory Script
    {
    shutdown clone;
    startup clone nomount ;
    }
    正在执行脚本: Memory Script数据库已卸载
    Oracle 例程已关闭
      

  5.   


    已连接到备用数据库 (未启动)
    Oracle 例程已启动系统全局区域总计 319889436 字节Fixed Size 454684 字节
    Variable Size 109051904 字节
    Database Buffers 209715200 字节
    Redo Buffers 667648 字节
    sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "CLONE_DB" RESETLOGS ARCHIVELOG
    MAXLOGFILES 50
    MAXLOGMEMBERS 5
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 226
    LOGFILE
    GROUP 1 ( 'F:\clone\data\REDO01.DBF' ) SIZE 10485760 ,
    GROUP 2 ( 'F:\clone\data\REDO02.DBF' ) SIZE 10485760 ,
    GROUP 3 ( 'F:\clone\data\REDO03.DBF' ) SIZE 10485760
    DATAFILE
    'F:\CLONE\DATA\SYSTEM01.DBF'
    CHARACTER SET ZHS16GBK
    正在打印存储的脚本: Memory Script
    {
    catalog clone datafilecopy "F:\CLONE\DATA\UNDOTBS01.DBF";
    catalog clone datafilecopy "F:\CLONE\DATA\CWMLITE01.DBF";
    catalog clone datafilecopy "F:\CLONE\DATA\DRSYS01.DBF";
    catalog clone datafilecopy "F:\CLONE\DATA\EXAMPLE01.DBF";
    catalog clone datafilecopy "F:\CLONE\DATA\INDX01.DBF";
    catalog clone datafilecopy "F:\CLONE\DATA\ODM01.DBF";
    catalog clone datafilecopy "F:\CLONE\DATA\TOOLS01.DBF";
    catalog clone datafilecopy "F:\CLONE\DATA\USERS01.DBF";
    catalog clone datafilecopy "F:\CLONE\DATA\XDB01.DBF";
    switch clone datafile all;
    }
    正在执行脚本: Memory Script已将数据文件副本列入目录
    数据文件副本 filename=F:\CLONE\DATA\UNDOTBS01.DBF recid=1 stamp=530056530已将数据文件副本列入目录
    数据文件副本 filename=F:\CLONE\DATA\CWMLITE01.DBF recid=2 stamp=530056530已将数据文件副本列入目录
    数据文件副本 filename=F:\CLONE\DATA\DRSYS01.DBF recid=3 stamp=530056531已将数据文件副本列入目录
    数据文件副本 filename=F:\CLONE\DATA\EXAMPLE01.DBF recid=4 stamp=530056531已将数据文件副本列入目录
    数据文件副本 filename=F:\CLONE\DATA\INDX01.DBF recid=5 stamp=530056531已将数据文件副本列入目录
    数据文件副本 filename=F:\CLONE\DATA\ODM01.DBF recid=6 stamp=530056531已将数据文件副本列入目录
    数据文件副本 filename=F:\CLONE\DATA\TOOLS01.DBF recid=7 stamp=530056532已将数据文件副本列入目录
    数据文件副本 filename=F:\CLONE\DATA\USERS01.DBF recid=8 stamp=530056532已将数据文件副本列入目录
    数据文件副本 filename=F:\CLONE\DATA\XDB01.DBF recid=9 stamp=530056532数据文件 2 已转换成数据文件副本
    输入数据文件副本 recid=1 stamp=530056530 文件名=F:\CLONE\DATA\UNDOTBS01.DBF
    数据文件 3 已转换成数据文件副本
    输入数据文件副本 recid=2 stamp=530056530 文件名=F:\CLONE\DATA\CWMLITE01.DBF
    数据文件 4 已转换成数据文件副本
    输入数据文件副本 recid=3 stamp=530056531 文件名=F:\CLONE\DATA\DRSYS01.DBF
    数据文件 5 已转换成数据文件副本
    输入数据文件副本 recid=4 stamp=530056531 文件名=F:\CLONE\DATA\EXAMPLE01.DBF
    数据文件 6 已转换成数据文件副本
    输入数据文件副本 recid=5 stamp=530056531 文件名=F:\CLONE\DATA\INDX01.DBF
    数据文件 7 已转换成数据文件副本
    输入数据文件副本 recid=6 stamp=530056531 文件名=F:\CLONE\DATA\ODM01.DBF
    数据文件 8 已转换成数据文件副本
    输入数据文件副本 recid=7 stamp=530056532 文件名=F:\CLONE\DATA\TOOLS01.DBF
    数据文件 9 已转换成数据文件副本
    输入数据文件副本 recid=8 stamp=530056532 文件名=F:\CLONE\DATA\USERS01.DBF
    数据文件 10 已转换成数据文件副本
    输入数据文件副本 recid=9 stamp=530056532 文件名=F:\CLONE\DATA\XDB01.DBF正在打印存储的脚本: Memory Script
    {
    Alter clone database open resetlogs;
    }
    正在执行脚本: Memory Script数据库已打开RMAN>--执行此步骤需要注意:避免连接克隆数据库,否则,RMAN将无法正常关闭克隆数据库
    (shutdown clone),剩下的步骤无法继续执行。8、测试克隆数据库D:\oracle\bin>sqlplusSQL*Plus: Release 9.2.0.5.0 - Production on Mon Jun 28 22:01:46 2004Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.Enter user-name: sys/sys1@clone as sysdbaConnected to:
    Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
    With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.5.0 - ProductionSQL> select status from v$instance;STATUS
    ------------
    OPENSQL> archive log list;
    Database log mode Archive Mode
    Automatic archival Enabled
    Archive destination F:\CLONE\log
    Oldest online log sequence 0
    Next log sequence to archive 1
    Current log sequence 1
    SQL>