冷备份,手动还原到新建实例

    技术2024-08-01  69

    本文以通过对其他数据库的冷备份,手动还原到新建MYTEST数据库为例:

    1.冷备份orcl数据库文件

    服务停止前执行下面的命令,对控制文件生成脚本进行备份。

    SQL>alter database backup controlfile to trace;

    在d:/oracle/product/10.2.0/admin/orcl/udump/下面找到最新的ora文件,之后要用到。

    停止orcl数据库的服务,将orcl的下列文件备份到其他目录

     

    D:/oracle/product/10.2.0/oradata/orcl/数据库文件(不用备份控制文件)

    D:/oracle/product/10.2.0/admin/orcl/pfile/初期化文件

     

    2.建相MYTEST数据库对应的目录

    D:/oracle/product/10.2.0/admin/MYTEST/adump

    D:/oracle/product/10.2.0/admin/MYTEST/bdump

    D:/oracle/product/10.2.0/admin/MYTEST/cdump

    D:/oracle/product/10.2.0/admin/MYTEST/pdump

    D:/oracle/product/10.2.0/admin/MYTEST/pfile

    D:/oracle/product/10.2.0/admin/MYTEST/udump

    D:/oracle/product/10.2.0/flash_recovery_area/MYTEST

    D:/oracle/product/10.2.0/oradata/MYTEST

    并将前面备份的数据库文件复制到D:/oracle/product/10.2.0/oradata/MYTEST。

     

    3. 之前备份的pfile文件,作相应修改(将orcl字样修改为MYTEST,含文件路径),并将文件保存到下面位置,文件名为init<SID>.ora。

    D:/oracle/product/10.2.0/db_1/database/initMYTEST.ora

    pfile或spfile相关内容:

    http://blog.csdn.net/jsjzzh/archive/2011/02/02/6171935.aspx

     

    4.手动建立密码文件(这是sys的密码)

    orapwd file=D:/oracle/product/10.2.0/db_1/database/PWDMYTEST.ora password=test entries=10

    密码文件相关内容:

    http://blog.csdn.net/jsjzzh/archive/2011/02/02/6171912.aspx

     

    5.通过oradim.exe命令,在服务里生成一个新实例MYTEST管理服务,启动方式为手动。

    D:/oracle/product/10.2.0/db_1/BIN/oradim -new -sid MYTEST -startmode manual

     

    6.启动数据库到nomount模式

    D:/>set ORACLE_SID=MYTEST

    D:/>sqlplus sys/test as sysdba

    SQL>startup nomount

     

    7.从建控制文件(关键步骤)

    在之前备份的控制文件生成脚本中取得控制文件做成命令,将原orcl改为MYTEST执行。

    SQL>CREATE CONTROLFILE REUSE DATABASE "MYTEST" NORESETLOGS  ARCHIVELOG

        MAXLOGFILES 16

        MAXLOGMEMBERS 3

        MAXDATAFILES 100

        MAXINSTANCES 8

        MAXLOGHISTORY 292

    LOGFILE

      GROUP 1 'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/REDO01.LOG'  SIZE 50M,

      GROUP 2 'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/REDO02.LOG'  SIZE 50M,

      GROUP 3 'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/REDO03.LOG'  SIZE 50M

    -- STANDBY LOGFILE

    DATAFILE

      'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/SYSTEM01.DBF',

      'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/UNDOTBS01.DBF',

      'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/SYSAUX01.DBF',

      'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/USERS01.DBF',

      'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/EXAMPLE01.DBF'

    CHARACTER SET JA16SJIS;

     

    ORA-01503: create controlfile

    ORA-01161: database name in file header does not match given name of

    ORA-01110: ………………………………………..

     

    因为是从建控制文件,不能使用REUSE选项,将REUSE修改为SET,NORESETLOGS修改为RESETLOGS再执行(SET DATABASE指定后可以变更数据库名,且必须指定RESETLOGS选项,忽视LOGFILE文件中的内容)。

    SQL>CREATE CONTROLFILE SET DATABASE "MYTEST" RESETLOGS  ARCHIVELOG

        MAXLOGFILES 16

        MAXLOGMEMBERS 3

        MAXDATAFILES 100

        MAXINSTANCES 8

        MAXLOGHISTORY 292

    LOGFILE

      GROUP 1 'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/REDO01.LOG'  SIZE 50M,

      GROUP 2 'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/REDO02.LOG'  SIZE 50M,

      GROUP 3 'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/REDO03.LOG'  SIZE 50M

    -- STANDBY LOGFILE

    DATAFILE

      'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/SYSTEM01.DBF',

      'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/UNDOTBS01.DBF',

      'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/SYSAUX01.DBF',

      'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/USERS01.DBF',

      'D:/ORACLE/PRODUCT/10.2.0/ORADATA/MYTEST/EXAMPLE01.DBF'

    CHARACTER SET JA16SJIS;

     

    成功!

     

     

    注意:本人是日文系统CHARACTER SET请根据实际情况修改。

     

     

    SQL>shutdown immediate

    SQL>startup mount

    SQL> alter database open

    ORA-01589: must use RESETLOGS or NORESETLOGS option for database open.

     

    SQL>alter database open resetlogs;

     

    成功!

    确认与orcl库内容是一致的。

     

    另外,通过oradim.exe命令建立新实例时,没有设定服务启动时实例也同时启动。可以使用startmode选项,如果希望随系统启动服务,使用srvcstart 选项

    oradim -edit -sid ORACLE_SID -startmode auto -srvcstart system

    最新回复(0)