• RMAN


    OS:

    Oracle Linux Server release 5.7

    DB:

    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

    ① RMAN异机恢复的时候,db_name必须相同。如果想要改别的实例命,可以在RMAN恢复成功后,用 nid 命令修改。

    ② 恢复路径与源库不相同,在restore时用set指定新位置,并用switch logfile all 将信息更新到controlfile文件中

    准备工作:

    1、查看源库的DBID

    SQL> select name,dbid from v$database;

    NAME DBID
    --------------------------- ----------
    YOON 675362528

    SQL>

    2、将源库的初始化参数文件拷贝到目标服务器上

    3、将控制文件,数据文件,归档文件拷贝到目标服务器上

    步骤:

    1、准备工作准备好后,创建密码文件

    [oracle@yoon dbs]$ orapwd file=orapwyoon password=oracle

    2、检查拷贝过去的目录和文件的所属组和权限

    3、连接到RMAN

    [oracle@yoon dbs]$ rman target /

    Recovery Manager: Release 11.2.0.3.0 - Production on Tue Sep 17 14:33:27 2013

    Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

    connected to target database (not started)

    RMAN>

    4、恢复初始化参数文件

    RMAN> restore spfile to pfile '/u01/oracle/product/11.2.0/db_1/dbs/inityoon.ora' from '/u01/backup/c-675362528-20130915-02';

    Starting restore at 17-SEP-13
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=19 device type=DISK

    channel ORA_DISK_1: restoring spfile from AUTOBACKUP /u01/backup/c-675362528-20130915-02
    channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete
    Finished restore at 17-SEP-13

    RMAN>

    5、用pfile将目标库启动到nomount状态

    RMAN> startup nomount pfile='/u01/oracle/product/11.2.0/db_1/dbs/inityoon.ora';

    Oracle instance started

    Total System Global Area 1653518336 bytes

    Fixed Size 2228904 bytes
    Variable Size 956304728 bytes
    Database Buffers 687865856 bytes
    Redo Buffers 7118848 bytes

    RMAN>

    6、恢复控制文件

    RMAN> restore controlfile from '/u01/backup/c-675362528-20130915-02';

    Starting restore at 17-SEP-13
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=19 device type=DISK

    channel ORA_DISK_1: restoring control file
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
    output file name=/u01/oracle/oradata/yoon/control01.ctl
    output file name=/u01/oracle/fast_recovery_area/yoon/control02.ctl
    Finished restore at 17-SEP-13

    RMAN>

    7、将数据库启动到mount状态

    RMAN> alter database mount;

    database mounted
    released channel: ORA_DISK_1

    RMAN>

    8、restore数据库

    RMAN> restore database;

    Starting restore at 17-SEP-13
    Starting implicit crosscheck backup at 17-SEP-13
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=19 device type=DISK
    Crosschecked 1 objects
    Finished implicit crosscheck backup at 17-SEP-13

    Starting implicit crosscheck copy at 17-SEP-13
    using channel ORA_DISK_1
    Finished implicit crosscheck copy at 17-SEP-13

    searching for all files in the recovery area
    cataloging files...
    no files cataloged

    using channel ORA_DISK_1

    channel ORA_DISK_1: starting datafile backup set restore
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set
    channel ORA_DISK_1: restoring datafile 00001 to /u01/oracle/oradata/yoon/system01.dbf
    channel ORA_DISK_1: restoring datafile 00002 to /u01/oracle/oradata/yoon/sysaux01.dbf
    channel ORA_DISK_1: restoring datafile 00003 to /u01/oracle/oradata/yoon/undotbs01.dbf
    channel ORA_DISK_1: restoring datafile 00004 to /u01/oracle/oradata/yoon/users01.dbf
    channel ORA_DISK_1: reading from backup piece /u01/oracle/fast_recovery_area/YOON/backupset/2013_09_15/o1_mf_nnndf_TAG20130915T124630_93bgx6qx_.bkp
    channel ORA_DISK_1: piece handle=/u01/oracle/fast_recovery_area/YOON/backupset/2013_09_15/o1_mf_nnndf_TAG20130915T124630_93bgx6qx_.bkp tag=TAG20130915T124630
    channel ORA_DISK_1: restored backup piece 1
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:35
    Finished restore at 17-SEP-13

    RMAN>

    9、recover 数据库

    RMAN> recover database;

    Starting recover at 17-SEP-13
    using channel ORA_DISK_1

    starting media recovery

    archived log for thread 1 with sequence 1 is already on disk as file /u01/oracle/fast_recovery_area/YOON/archivelog/2013_09_15/o1_mf_1_1_93bj33dx_.arc
    archived log file name=/u01/oracle/fast_recovery_area/YOON/archivelog/2013_09_15/o1_mf_1_1_93bj33dx_.arc thread=1 sequence=1
    unable to find archived log
    archived log thread=1 sequence=1
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of recover command at 09/17/2013 14:45:37
    RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 1 and starting SCN of 1298407

    RMAN>

    RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 1 and starting SCN of 1298407

    提醒恢复到一个未知的SCN号,在alter database mount 之后,通过set until scn 或 set until time命令设置恢复到scn号或时间。

    10、用open resetlogs 打开数据库

    RMAN> alter database open resetlogs;

    database opened

    RMAN>

    * 11g r2,在open resetlogs后,自动创建默认路径的temp表空间和redo文件

    11、查看目标的BDID

    SQL> select name,dbid from v$database;

    NAME DBID
    --------------------------- ----------
    YOON 675362528

    SQL>

    12、用NID命令修改DBID,执行前主要关闭all session

    ① 修改dbid可能会遇到错误,建议备份数据库,特别是控制文件,因为nid会修改控制文件的信息

    ② 需要将数据库启动到mount

    RMAN> shutdown immediate

    database closed
    database dismounted
    Oracle instance shut down

    RMAN>

    RMAN> startup mount

    connected to target database (not started)
    Oracle instance started
    database mounted

    Total System Global Area 1653518336 bytes

    Fixed Size 2228904 bytes
    Variable Size 956304728 bytes
    Database Buffers 687865856 bytes
    Redo Buffers 7118848 bytes

    RMAN>

    [oracle@yoon ~]$ nid target=sys/oracle

    DBNEWID: Release 11.2.0.3.0 - Production on Tue Sep 17 14:57:03 2013

    Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

    Connected to database YOON (DBID=675362528)

    Connected to server version 11.2.0

    Control Files in database:
    /u01/oracle/oradata/yoon/control01.ctl
    /u01/oracle/fast_recovery_area/yoon/control02.ctl

    Change database ID of database YOON? (Y/[N]) => y

    Proceeding with operation
    Changing database ID from 675362528 to 678297407
    Control File /u01/oracle/oradata/yoon/control01.ctl - modified
    Control File /u01/oracle/fast_recovery_area/yoon/control02.ctl - modified
    Datafile /u01/oracle/oradata/yoon/system01.db - dbid changed
    Datafile /u01/oracle/oradata/yoon/sysaux01.db - dbid changed
    Datafile /u01/oracle/oradata/yoon/undotbs01.db - dbid changed
    Datafile /u01/oracle/oradata/yoon/users01.db - dbid changed
    Datafile /u01/oracle/oradata/yoon/temp01.db - dbid changed
    Control File /u01/oracle/oradata/yoon/control01.ctl - dbid changed
    Control File /u01/oracle/fast_recovery_area/yoon/control02.ctl - dbid changed
    Instance shut down

    Database ID for database YOON changed to 678297407.
    All previous backups and archived redo logs for this database are unusable.
    Database is not aware of previous backups and archived logs in Recovery Area.
    Database has been shutdown, open database with RESETLOGS option.
    Succesfully changed database ID.
    DBNEWID - Completed succesfully.

    [oracle@yoon dbs]$ sqlplus / as sysdba

    SQL*Plus: Release 11.2.0.3.0 Production on Tue Sep 17 14:58:01 2013

    Copyright (c) 1982, 2011, Oracle. All rights reserved.

    Connected to an idle instance.

    SQL> startup
    ORACLE instance started.

    Total System Global Area 1653518336 bytes
    Fixed Size 2228904 bytes
    Variable Size 956304728 bytes
    Database Buffers 687865856 bytes
    Redo Buffers 7118848 bytes
    Database mounted.
    ORA-01589: must use RESETLOGS or NORESETLOGS option for database open


    SQL>

    SQL> alter database open resetlogs;

    Database altered.

    SQL>

    SQL> select name,dbid from v$database;

    NAME DBID
    --------------------------- ----------
    YOON 678297407

    SQL>

    13、修改DB_NAME

    [oracle@yoon ~]$ rman target /

    Recovery Manager: Release 11.2.0.3.0 - Production on Tue Sep 17 15:01:06 2013

    Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

    connected to target database: YOON (DBID=678297407)

    RMAN> shutdown immediate

    using target database control file instead of recovery catalog
    database closed
    database dismounted
    Oracle instance shut down

    RMAN> startup mount

    connected to target database (not started)
    Oracle instance started
    database mounted

    Total System Global Area 1653518336 bytes

    Fixed Size 2228904 bytes
    Variable Size 956304728 bytes
    Database Buffers 687865856 bytes
    Redo Buffers 7118848 bytes

    RMAN>

    [oracle@yoon ~]$ nid target=sys/oracle dbname=leonardo

    DBNEWID: Release 11.2.0.3.0 - Production on Tue Sep 17 15:01:55 2013

    Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

    Connected to database YOON (DBID=678297407)

    Connected to server version 11.2.0

    Control Files in database:
    /u01/oracle/oradata/yoon/control01.ctl
    /u01/oracle/fast_recovery_area/yoon/control02.ctl

    Change database ID and database name YOON to LEONARDO? (Y/[N]) => y

    Proceeding with operation
    Changing database ID from 678297407 to 4108249507
    Changing database name from YOON to LEONARDO
    Control File /u01/oracle/oradata/yoon/control01.ctl - modified
    Control File /u01/oracle/fast_recovery_area/yoon/control02.ctl - modified
    Datafile /u01/oracle/oradata/yoon/system01.db - dbid changed, wrote new name
    Datafile /u01/oracle/oradata/yoon/sysaux01.db - dbid changed, wrote new name
    Datafile /u01/oracle/oradata/yoon/undotbs01.db - dbid changed, wrote new name
    Datafile /u01/oracle/oradata/yoon/users01.db - dbid changed, wrote new name
    Datafile /u01/oracle/oradata/yoon/temp01.db - dbid changed, wrote new name
    Control File /u01/oracle/oradata/yoon/control01.ctl - dbid changed, wrote new name
    Control File /u01/oracle/fast_recovery_area/yoon/control02.ctl - dbid changed, wrote new name
    Instance shut down

    Database name changed to LEONARDO.
    Modify parameter file and generate a new password file before restarting.
    Database ID for database LEONARDO changed to 4108249507.
    All previous backups and archived redo logs for this database are unusable.
    Database is not aware of previous backups and archived logs in Recovery Area.
    Database has been shutdown, open database with RESETLOGS option.
    Succesfully changed database name and ID.
    DBNEWID - Completed succesfully.

    [oracle@yoon ~]$

    SQL> select name,dbid from v$database;

    NAME DBID
    --------------------------- ----------
    LEONARDO 4108249507

    SQL>

  • 相关阅读:
    ZCMU训练赛-H(模拟)
    ZCMU训练赛-B(dp/暴力)
    ZCMU训练赛-A(模拟)
    HDU 2045 LELE的RPG难题(递推)
    HDU 2044 一只小蜜蜂(递归)
    HDU 2050 折线分割平面(转)
    对递归的理解归纳(转)
    漫谈递归思想(转)
    2017中南大学暑期集训day1 : debug&STL-A
    探寻宝藏--河南省第六届大学生程序设计竞赛
  • 原文地址:https://www.cnblogs.com/hankyoon/p/5174514.html
Copyright © 2020-2023  润新知