zoukankan      html  css  js  c++  java
  • RAC+ASM在单机上恢复的过程

    IT168技术文档】
    网上也有类似的例子,但不尽详细,也没多花心思解释流程及原因,可能对初试者不太解惑。有感于此,故认真整理了恢复步骤即操作流程,望有助于同行朋友。

    环境:正式环境是IBM4+IBM5(RAC),测试环境是IBM1,两环境的OS,ORACLE等软件一样。
    都是 ORACLE10203, AIX(5300-07), 备份操作放在IBM4上执行。

    一 背景介绍:

    1 RAC环境的备份策略

    每天作两次备份,0点和12点,备份脚本一样,只是中午12点的备份,输出的msglog=backup_ccdb_inc_0_12_$today.log,以别于0点的操作。
    IBM4 ->crontab -l
    0 0 * * * /orabak/script/rmandbbackup.sh>/dev/null 2>&1
    0 12 * * * /orabak/script/rmandbbackup_12.sh>/dev/null 2>&1

    IBM4 ->more /orabak/script/rmandbbackup.sh
    export ORACLE_HOME=/oracle/product/10.2.0/db_1
    export ORACLE_SID=ccdb1
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    today=`date +%Y%m%d`
    weekday=`date +%w`
    backuppath=/orabak
    $ORACLE_HOME/bin/rman cmdfile=$backuppath/script/backup_ccdb_inc_0.script msglog=$backuppath/rmanbacktrace/backup_ccdb_inc_0_$today.log
    if test $? -ne 0; then
    touch $backuppath/rmanbacktrace/"ccdb incremental level 0 backup failed! Date: $today"
    $ORACLE_HOME/bin/sqlplus -S "/ as sysdba" @$backuppath/script/insertsms.sql
    fi;

    IBM4 ->more $backuppath/script/backup_ccdb_inc_0.script
    /script/backup_ccdb_inc_0.script: No such file or directory
    IBM4 ->more /orabak/script/backup_ccdb_inc_0.script
    connect target /
    connect catalog rman/xxxxxxxx@bi
    run
    {
    allocate channel d1 type disk maxpiecesize 4000m ;
    backup as compressed backupset incremental level = 0 database
    format '/orabak/databackup/db_%d_%s_%p_%T'
    plus archivelog skip inaccessible delete all input
    format '/orabak/logbackup/log_%d_%s_%p_%T';
    sql 'alter system archive log current';
    release channel d1;
    }
    run
    { crosscheck backup;
    delete noprompt expired backup;
    delete noprompt obsolete recovery window of 7 days;
    }
    exit;
    IBM4 ->

    2 恢复前,需要将在IBM4上的备份拷贝到IBM1。由于IBM4的上备份集的保存路径为/ORABAK,而IBM1上只有/ORADATA,
    拷贝过来的备份集将存在此目录下,故,恢复数据库前,需要告诉RMAN备份集的路径(步骤6)。

    二 准备工作,把备份集拷贝到IBM1下
    如下:备份集已经拷贝到IBM1的/oradata目录下
    ibm1 ->pwd
    /oradata
    ibm1 ->cd orabak
    ibm1 ->ls -lrt
    total 0
    drwxr-xr-x 2 oracle oinstall 256 Jun 20 15:12 logbackup
    drwxr-xr-x 2 oracle oinstall 256 Jun 20 15:13 rmanspctlback
    drwxr-xr-x 2 oracle oinstall 256 Jun 20 16:37 databackup
    ibm1 ->cd rman*
    ibm1 ->pwd
    /oradata/orabak/rmanspctlback
    ibm1 ->ls -lrt
    total 23104
    -rw-r----- 1 oracle oinstall 11829248 Jun 20 15:12 c-3276392049-20080620-01 -- 参数文件,控制文件的备份集
    ibm1 ->cd ../databackup
    ibm1 ->pwd
    /oradata/orabak/databackup
    ibm1 ->ls -lrt
    total 769264
    -rw-r----- 1 oracle oinstall 393863168 Jun 20 16:38 db_CCDB_900_1_20080620 -- 数据文件的备份集
    ibm1 ->cd ../logbackup
    ibm1 ->pwd
    /oradata/orabak/logbackup
    ibm1 ->ls -lrt
    total 3320
    -rw-r----- 1 oracle oinstall 1699328 Jun 20 15:12 log_CCDB_901_1_20080620 -- 备份完数据库后,备份归档日志的备份集

    三 操作步骤

    1 修改IBM1上的ORACLE的配置文件,只需要修改ORACLE_SID即可。
    vi /oracle/.profile oracle_sid=ccdb1

    2 进入RMAN,强行启动数据库(会报没有参数文件)后,恢复参数文件。
    rman target /
    startup nomount
    restore spfile from '/oradata/orabak/rmanspctlback/c-3276392049-20080620-01';

    3 根据spfile, 恢复出pfile, 编辑pfile, 去掉与rac设置相关的参数, 再将pfile转换成spfile
    create pfile from spfile;
    shutdown abort;
    vi initccdb1.ora -- 去掉与rac设置相关的参数,同时注意参数里指定的各目录是否存在。
    create spfile from pfile;

    4 使用新创建的spfile 启动数据库,恢复出控制文件。
    startup nomount;
    restore controlfile from '/oradata/orabak/rmanspctlback/c-3276392049-20080620-01';
    alter database mount;

    5 由于正式环境使用了ASM,数据文件,在线日志都存在ASM里,而测试环境没有ASM,故需要将文件转换,存放到文件系统下,
    进入SQLPLUS, 找出该库的归档日志,重新指定在线日志的路径。
    sqlplus / as sysdba
    select * from v$logfile;
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_3.267.648572919' to '/oradata/ccdb/redo0302.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_2.264.648572917' to '/oradata/ccdb/redo0201.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_2.265.648572919' to '/oradata/ccdb/redo0202.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_1.262.648572915' to '/oradata/ccdb/redo0101.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_1.263.648572917' to '/oradata/ccdb/redo0102.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_4.270.648573025' to '/oradata/ccdb/redo0401.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_4.271.648573025' to '/oradata/ccdb/redo0402.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_5.272.648573025' to '/oradata/ccdb/redo0501.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_5.273.648573027' to '/oradata/ccdb/redo0502.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_6.274.648573027' to '/oradata/ccdb/redo0601.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_6.275.648573027' to '/oradata/ccdb/redo0602.log';

    6 由于在IBM4上记录的数据库,归档日志的备份集的存放路径与IBM1上的不一样,故,需要说明在IBM1上这些备份集的路径,以便RMAN知晓。
    catalog backuppiece '/oradata/orabak/databackup/db_CCDB_900_1_20080620';
    catalog backuppiece '/oradata/orabak/logbackup/log_CCDB_901_1_20080620';

    7 检查备份集的存在状况,删除多余的备份集信息
    crosscheck backup;
    delete noprompt expired backup;

    8 检查全库恢复时的,需要哪些数据文件备份集,归档日志文件的备份集。
    restore database preview summary;

    9 找出库的数据文件。
    RMAN> report schema;

    RMAN-06139: WARNING: control file is not current for REPORT SCHEMA
    Report of database schema

    List of Permanent Datafiles
    ===========================
    File Size(MB) Tablespace RB segs Datafile Name
    ---- -------- -------------------- ------- ------------------------
    1 0 SYSTEM *** +ASMDISK/ccdb/datafile/system.256.648572847
    2 0 UNDOTBS1 *** +ASMDISK/ccdb/datafile/undotbs1.258.648572847
    3 0 SYSAUX *** +ASMDISK/ccdb/datafile/sysaux.257.648572847
    4 0 USERS *** +ASMDISK/ccdb/datafile/users.259.648572847
    5 0 UNDOTBS2 *** +ASMDISK/ccdb/datafile/undotbs2.269.648572973
    6 0 UNICALL2X *** +ASMDISK/ccdb/datafile/unicall2x.279.648578659
    7 0 UNICALL2X_IDX *** +ASMDISK/ccdb/datafile/unicall2x_idx.280.648578725

    List of Temporary Files
    =======================
    File Size(MB) Tablespace Maxsize(MB) Tempfile Name
    ---- -------- -------------------- ----------- --------------------
    1 0 TEMP 32767 +ASMDISK/ccdb/tempfile/temp.268.648572939


    10 写恢复脚本来恢复库,其中重新指定恢复时,数据文件的存放路径,由ASM到文件系统。
    run
    {allocate channel d1 type disk;
    set newname for datafile 1 to '/oradata/ccdb/system.dbf';
    set newname for datafile 2 to '/oradata/ccdb/undotbs1.dbf';
    set newname for datafile 3 to '/oradata/ccdb/sysaux.dbf';
    set newname for datafile 4 to '/oradata/ccdb/users.dbf';
    set newname for datafile 5 to '/oradata/ccdb/undotbs2.dbf';
    set newname for datafile 6 to '/oradata/ccdb/unicall2x.dbf';
    set newname for datafile 7 to '/oradata/ccdb/unicall2x_idx.dbf';
    restore database;
    switch datafile all;
    release channel d1;
    }

    13 recover database,注意恢复完成后,系统提示需要的日志文件及SCN好。
    recover database;
    14 罗列出归档日志的备份集,和上面的RECOVER DATABASE 信息作比较,以确定是否已经用完备份集里的归档日志。
    list backup of archivelog all;

    15 alter database open resetlogs;

    四 下面是恢复操作过程,其中,"辅助窗口" 执行恢复过程中起辅助作用的操作, "RMAN窗口" 执行正式操作,绝大部分操作都在此窗口完成。

    --辅助窗口
    --由于之前曾成功恢复了数据库,现需要删除之。
    ibm1 ->sqlplus

    SQL*Plus: Release 10.2.0.3.0 - Production on Thu Jun 26 14:49:39 2008

    Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

    Enter user-name: / as sysdba

    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options

    SQL> show parameter instance;

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    active_instance_count integer
    cluster_database_instances integer 1
    instance_groups string
    instance_name string ccdb1
    instance_number integer 0
    instance_type string RDBMS
    open_links_per_instance integer 4
    parallel_instance_group string
    parallel_server_instances integer 1
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount restrict;
    ORACLE instance started.

    Total System Global Area 3221225472 bytes
    Fixed Size 2076312 bytes
    Variable Size 1996489064 bytes
    Database Buffers 1207959552 bytes
    Redo Buffers 14700544 bytes
    Database mounted.
    SQL> drop database;

    Database dropped.

    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    SQL> exit

    -- 删除参数文件
    ibm1 ->cd /oracle/product/10.2/dbs
    ibm1 ->ls -lrt
    total 58552
    -rw-rw---- 1 oracle oinstall 24 Jun 5 21:54 lkMARKET
    -rw-r----- 1 oracle oinstall 12697600 Jun 8 10:08 snapcf_market.f
    -rw-r----- 1 oracle oinstall 4608 Jun 11 16:40 spfilemarket.ora.bak
    -rw-rw---- 1 oracle oinstall 24 Jun 20 16:23 lkCCDB
    -rw-rw---- 1 oracle oinstall 24 Jun 24 11:10 lkTESTDB
    -rw-r----- 1 oracle oinstall 1536 Jun 24 11:10 orapwtestdb
    -rw-rw---- 1 oracle oinstall 1552 Jun 24 15:54 hc_market.dat
    -rw-r----- 1 oracle oinstall 2560 Jun 25 10:22 spfiletestdb.ora
    -rw-r----- 1 oracle oinstall 5488640 Jun 25 10:24 snapcf_testdb.f
    -rw-rw---- 1 oracle oinstall 1552 Jun 25 23:36 hc_testdb.dat
    -rw-r--r-- 1 oracle oinstall 796 Jun 26 10:25 initccdb1.ora
    -rw-r----- 1 oracle oinstall 11747328 Jun 26 11:13 snapcf_ccdb1.f
    -rw-rw---- 1 oracle oinstall 1552 Jun 26 14:51 hc_ccdb1.dat
    ibm1 ->rm hc_ccdb1.dat initccdb1.ora snapcf_ccdb1.f
    ibm1 ->ls -lrt
    total 35592
    -rw-rw---- 1 oracle oinstall 24 Jun 5 21:54 lkMARKET
    -rw-r----- 1 oracle oinstall 12697600 Jun 8 10:08 snapcf_market.f
    -rw-r----- 1 oracle oinstall 4608 Jun 11 16:40 spfilemarket.ora.bak
    -rw-rw---- 1 oracle oinstall 24 Jun 20 16:23 lkCCDB
    -rw-rw---- 1 oracle oinstall 24 Jun 24 11:10 lkTESTDB
    -rw-r----- 1 oracle oinstall 1536 Jun 24 11:10 orapwtestdb
    -rw-rw---- 1 oracle oinstall 1552 Jun 24 15:54 hc_market.dat
    -rw-r----- 1 oracle oinstall 2560 Jun 25 10:22 spfiletestdb.ora
    -rw-r----- 1 oracle oinstall 5488640 Jun 25 10:24 snapcf_testdb.f
    -rw-rw---- 1 oracle oinstall 1552 Jun 25 23:36 hc_testdb.dat
    ibm1 ->

    --RMAN窗口
    --强行启动数据库,使用指定的备份集,恢复参数文件,并创建参数文件的pfile。
    ibm1 ->rman target /

    Recovery Manager: Release 10.2.0.3.0 - Production on Thu Jun 26 15:04:52 2008

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

    connected to target database (not started)

    RMAN> startup nomount;

    startup failed: ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file '/oracle/product/10.2/dbs/initccdb1.ora'

    starting Oracle instance without parameter file for retrival of spfile
    Oracle instance started

    Total System Global Area 159383552 bytes

    Fixed Size 2071296 bytes
    Variable Size 67110144 bytes
    Database Buffers 83886080 bytes
    Redo Buffers 6316032 bytes

    RMAN> restore spfile from '/oradata/orabak/rmanspctlback/c-3276392049-20080620-01';

    Starting restore at 2008-06-26 15:05:05
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: sid=36 devtype=DISK

    channel ORA_DISK_1: autobackup found: /oradata/orabak/rmanspctlback/c-3276392049-20080620-01
    channel ORA_DISK_1: SPFILE restore from autobackup complete
    Finished restore at 2008-06-26 15:05:07

    RMAN> host;

    ibm1 ->sqlplus

    SQL*Plus: Release 10.2.0.3.0 - Production on Thu Jun 26 15:05:17 2008

    Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

    Enter user-name: / as sysdba

    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options

    SQL> create pfile from spfile;

    File created.

    SQL> shutdown abort;
    ORACLE instance shut down.
    SQL>


    -- 辅助窗口
    -- 删除pfile 文件中与RAC相关的参数

    -- 原始参数
    ibm1 ->cat initccdb1.ora
    ccdb2.__db_cache_size=503316480
    ccdb1.__db_cache_size=1140850688
    ccdb2.__java_pool_size=16777216
    ccdb1.__java_pool_size=16777216
    ccdb2.__large_pool_size=16777216
    ccdb1.__large_pool_size=16777216
    ccdb2.__shared_pool_size=1056964608
    ccdb1.__shared_pool_size=1996488704
    ccdb2.__streams_pool_size=0
    ccdb1.__streams_pool_size=33554432
    *.audit_file_dest='/oracle/admin/ccdb/adump'
    *.background_dump_dest='/oracle/admin/ccdb/bdump'
    *.cluster_database_instances=2
    *.cluster_database=true
    *.compatible='10.2.0.3.0'
    *.control_files='+ASMDISK/ccdb/controlfile/current.261.648572913','+ASMDISK/ccdb/controlfile/current.260.648572913'
    *.core_dump_dest='/oracle/admin/ccdb/cdump'
    *.db_block_size=8192
    *.db_create_file_dest='+ASMDISK'
    *.db_domain=''
    *.db_file_multiblock_read_count=16
    *.db_name='ccdb'
    *.db_recovery_file_dest='+ASMDISK'
    *.db_recovery_file_dest_size=10737418240
    *.dispatchers=''
    ccdb1.instance_number=1
    ccdb2.instance_number=2
    *.job_queue_processes=10
    ccdb2.local_listener='LISTENERS_CCDB2'
    ccdb1.local_listener='LISTENERS_CCDB1'
    *.log_archive_dest_1='LOCATION=+ASMDISK/ccdb/'
    *.log_archive_dest_2='LOCATION=/oralog/ccdb/'
    ccdb2.log_archive_dest_2='LOCATION=/oralog/ccdb2/'
    ccdb1.log_archive_dest_2='LOCATION=/oralog/ccdb1/'
    *.log_archive_format='%t_%s_%r.dbf'
    *.log_archive_local_first=TRUE
    *.log_archive_min_succeed_dest=2
    *.open_cursors=300
    *.pga_aggregate_target=1029701632
    *.processes=1000
    *.recyclebin='OFF'
    *.remote_listener='LISTENERS_CCDB'
    *.remote_login_passwordfile='exclusive'
    *.sessions=1105
    *.sga_max_size=3221225472
    *.sga_target=1610612736
    ccdb1.sga_target=3221225472
    ccdb2.thread=2
    ccdb1.thread=1
    *.undo_management='AUTO'
    ccdb2.undo_tablespace='UNDOTBS2'
    ccdb1.undo_tablespace='UNDOTBS1'
    *.user_dump_dest='/oracle/admin/ccdb/udump'
    ibm1 ->

    -- 修改后的参数
    ibm1 ->cat initccdb1.ora
    *.audit_file_dest='/oracle/admin/ccdb/adump'
    *.background_dump_dest='/oracle/admin/ccdb/bdump'
    *.compatible='10.2.0.3.0'
    *.control_files='/oradata/ccdb/control01.dbf'
    *.core_dump_dest='/oracle/admin/ccdb/cdump'
    *.db_block_size=8192
    *.db_domain=''
    *.db_file_multiblock_read_count=16
    *.db_name='ccdb'
    *.db_recovery_file_dest_size=10737418240
    *.dispatchers=''
    *.job_queue_processes=10
    *.log_archive_dest_2='LOCATION=/oralog/ccdb/'
    *.log_archive_format='%t_%s_%r.dbf'
    *.log_archive_local_first=TRUE
    *.open_cursors=300
    *.pga_aggregate_target=1029701632
    *.processes=1000
    *.recyclebin='OFF'
    *.remote_login_passwordfile='exclusive'
    *.sessions=1105
    *.sga_max_size=3221225472
    *.sga_target=1610612736
    *.undo_management='AUTO'
    *.user_dump_dest='/oracle/admin/ccdb/udump'


    -- 根据pfile 创建spfile, 并 startup nomount.
    ibm1 ->sqlplus

    SQL*Plus: Release 10.2.0.3.0 - Production on Thu Jun 26 15:13:43 2008

    Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

    Enter user-name: / as sysdba
    Connected to an idle instance.

    SQL> create spfile from pfile;

    File created.

    SQL> startup nomount;
    ORACLE instance started.

    Total System Global Area 3221225472 bytes
    Fixed Size 2076312 bytes
    Variable Size 1996489064 bytes
    Database Buffers 1207959552 bytes
    Redo Buffers 14700544 bytes
    SQL>

    -- RMAN窗口
    -- 使用指定的备份集,恢复控制文件。
    SQL> exit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    ibm1 ->rman target /

    Recovery Manager: Release 10.2.0.3.0 - Production on Thu Jun 26 15:14:26 2008

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

    connected to target database: ccdb (not mounted)

    RMAN> restore controlfile from '/oradata/orabak/rmanspctlback/c-3276392049-20080620-01';

    Starting restore at 2008-06-26 15:14:45
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: sid=1090 devtype=DISK

    channel ORA_DISK_1: restoring control file
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:02
    output filename=/oradata/ccdb/control01.dbf
    Finished restore at 2008-06-26 15:14:48

    RMAN> alter database mount;

    database mounted
    released channel: ORA_DISK_1

    RMAN>


    -- 辅助窗口
    -- 由于正式环境使用了ASM, 测试环境没有,因此需要找出该库的归档日志,重新指定在线日志的路径。

    SQL> col member for a60;
    SQL> set line 999;
    SQL> set pagesize 203
    SQL> select * from v$logfile;

    GROUP# STATUS TYPE MEMBER IS_
    ---------- ------- ------- ------------------------------------------------------------ ---
    3 ONLINE +ASMDISK/ccdb/onlinelog/group_3.266.648572919 NO
    3 ONLINE +ASMDISK/ccdb/onlinelog/group_3.267.648572919 YES
    2 ONLINE +ASMDISK/ccdb/onlinelog/group_2.264.648572917 NO
    2 ONLINE +ASMDISK/ccdb/onlinelog/group_2.265.648572919 YES
    1 ONLINE +ASMDISK/ccdb/onlinelog/group_1.262.648572915 NO
    1 ONLINE +ASMDISK/ccdb/onlinelog/group_1.263.648572917 YES
    4 ONLINE +ASMDISK/ccdb/onlinelog/group_4.270.648573025 NO
    4 ONLINE +ASMDISK/ccdb/onlinelog/group_4.271.648573025 YES
    5 ONLINE +ASMDISK/ccdb/onlinelog/group_5.272.648573025 NO
    5 ONLINE +ASMDISK/ccdb/onlinelog/group_5.273.648573027 YES
    6 ONLINE +ASMDISK/ccdb/onlinelog/group_6.274.648573027 NO
    6 ONLINE +ASMDISK/ccdb/onlinelog/group_6.275.648573027 YES

    12 rows selected.

    SQL> alter database rename file '+ASMDISK/ccdb/onlinelog/group_3.266.648572919' to '/oradata/ccdb/redo0301.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_3.267.648572919' to '/oradata/ccdb/redo0302.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_2.264.648572917' to '/oradata/ccdb/redo0201.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_2.265.648572919' to '/oradata/ccdb/redo0202.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_1.262.648572915' to '/oradata/ccdb/redo0101.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_1.263.648572917' to '/oradata/ccdb/redo0102.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_4.270.648573025' to '/oradata/ccdb/redo0401.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_4.271.648573025' to '/oradata/ccdb/redo0402.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_5.272.648573025' to '/oradata/ccdb/redo0501.log';
    alter database rename file '+ASMDISK/ccdb/onlinelog/group_5.273.648573027' to '/oradata/ccdb/redo0502.log';
    alter database renam
    Database altered.

    eSQL> file '+ASMDI
    Database altered.

    SQL>
    Database altered.

    SQL>
    Database altered.

    SQL> SK/ccdb/onlinelo
    Database altered.

    SQL>
    Database altered.

    SQL>
    Database altered.

    SQL>
    Database altered.

    SQL>
    Database altered.

    SQL>
    Database altered.

    SQL> g/group_6.274.648573027' to '/oradata/ccdb/redo0601.log';
    alter data
    Database altered.

    SQL> base rename file '+ASMDISK/ccdb/onlinelog/group_6.275.648573027' to '/oradata/ccdb/redo0602.log';

    Database altered.

    SQL> select * from v$logfile;

    GROUP# STATUS TYPE MEMBER IS_
    ---------- ------- ------- ------------------------------------------------------------ ---
    3 ONLINE /oradata/ccdb/redo0301.log NO
    3 ONLINE /oradata/ccdb/redo0302.log NO
    2 ONLINE /oradata/ccdb/redo0201.log NO
    2 ONLINE /oradata/ccdb/redo0202.log NO
    1 ONLINE /oradata/ccdb/redo0101.log NO
    1 ONLINE /oradata/ccdb/redo0102.log NO
    4 ONLINE /oradata/ccdb/redo0401.log NO
    4 ONLINE /oradata/ccdb/redo0402.log NO
    5 ONLINE /oradata/ccdb/redo0501.log NO
    5 ONLINE /oradata/ccdb/redo0502.log NO
    6 ONLINE /oradata/ccdb/redo0601.log NO
    6 ONLINE /oradata/ccdb/redo0602.log NO

    12 rows selected.

    SQL>

    -- RMAN窗口
    -- IBM4上数据库,归档日志的备份集的存放路径与IBM1上的不一样,需要在RMAN里说明在IBM1上这些备份集的路径,以便RMAN知晓。

    RMAN> catalog backuppiece '/oradata/orabak/databackup/db_CCDB_900_1_20080620';
    catalog backuppiece '/oradata/orabak/logbackup/
    log_CCDB_901_1_20080620';
    cataloged backuppiece
    backup piece handle=/oradata/orabak/databackup/db_CCDB_900_1_20080620 recid=900 stamp=658423188

    RMAN>
    cataloged backuppiece
    backup piece handle=/oradata/orabak/logbackup/log_CCDB_901_1_20080620 recid=901 stamp=658423189

    -- 检查备份集。
    RMAN> crosscheck backup;

    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: sid=1090 devtype=DISK
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_840_1_20080613 recid=838 stamp=657244831
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_841_1_20080613 recid=839 stamp=657244954
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080613-00 recid=840 stamp=657244957
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_843_1_20080613 recid=841 stamp=657288012
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_844_1_20080613 recid=842 stamp=657288028
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_845_1_20080613 recid=843 stamp=657288153
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080613-01 recid=844 stamp=657288156
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_847_1_20080614 recid=845 stamp=657331217
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_848_1_20080614 recid=846 stamp=657331233
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_849_1_20080614 recid=847 stamp=657331373
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080614-00 recid=848 stamp=657331377
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_851_1_20080614 recid=849 stamp=657374419
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_852_1_20080614 recid=850 stamp=657374441
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_853_1_20080614 recid=851 stamp=657374578
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080614-01 recid=852 stamp=657374581
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_855_1_20080615 recid=853 stamp=657417634
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_856_1_20080615 recid=854 stamp=657417650
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_857_1_20080615 recid=855 stamp=657417775
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080615-00 recid=856 stamp=657417778
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_859_1_20080615 recid=857 stamp=657460812
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_860_1_20080615 recid=858 stamp=657460828
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_861_1_20080615 recid=859 stamp=657460963
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080615-01 recid=860 stamp=657460966
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_863_1_20080616 recid=861 stamp=657504024
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_864_1_20080616 recid=862 stamp=657504032
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_865_1_20080616 recid=863 stamp=657504154
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080616-00 recid=864 stamp=657504157
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_867_1_20080616 recid=865 stamp=657547221
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_868_1_20080616 recid=866 stamp=657547237
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_869_1_20080616 recid=867 stamp=657547384
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080616-01 recid=868 stamp=657547387
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_871_1_20080617 recid=869 stamp=657590420
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_872_1_20080617 recid=870 stamp=657590436
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_873_1_20080617 recid=871 stamp=657590569
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080617-00 recid=872 stamp=657590572
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_875_1_20080617 recid=873 stamp=657633618
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_876_1_20080617 recid=874 stamp=657633634
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_877_1_20080617 recid=875 stamp=657633767
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080617-01 recid=876 stamp=657633770
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_879_1_20080618 recid=877 stamp=657676819
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_880_1_20080618 recid=878 stamp=657676835
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_881_1_20080618 recid=879 stamp=657676969
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080618-00 recid=880 stamp=657676972
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_883_1_20080618 recid=881 stamp=657720016
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_884_1_20080618 recid=882 stamp=657720032
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_885_1_20080618 recid=883 stamp=657720166
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080618-01 recid=884 stamp=657720169
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_887_1_20080619 recid=885 stamp=657763217
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_888_1_20080619 recid=886 stamp=657763245
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_889_1_20080619 recid=887 stamp=657763385
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080619-00 recid=888 stamp=657763388
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_891_1_20080619 recid=889 stamp=657806417
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_892_1_20080619 recid=890 stamp=657806433
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_893_1_20080619 recid=891 stamp=657806567
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080619-01 recid=892 stamp=657806570
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_895_1_20080620 recid=893 stamp=657849624
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_896_1_20080620 recid=894 stamp=657849650
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_897_1_20080620 recid=895 stamp=657849783
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080620-00 recid=896 stamp=657849786
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_899_1_20080620 recid=897 stamp=657892819
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/databackup/db_CCDB_900_1_20080620 recid=898 stamp=657892837
    crosschecked backup piece: found to be 'AVAILABLE'
    backup piece handle=/oradata/orabak/databackup/db_CCDB_900_1_20080620 recid=900 stamp=658423188
    crosschecked backup piece: found to be 'EXPIRED'
    backup piece handle=/orabak/logbackup/log_CCDB_901_1_20080620 recid=899 stamp=657892970
    crosschecked backup piece: found to be 'AVAILABLE'
    backup piece handle=/oradata/orabak/logbackup/log_CCDB_901_1_20080620 recid=901 stamp=658423189
    Crosschecked 64 objects

    -- 删除不存在的备份集(其实这一步可要可不要,看个人习惯)
    RMAN> delete noprompt expired backup;

    using channel ORA_DISK_1

    List of Backup Pieces
    BP Key BS Key Pc# Cp# Status Device Type Piece Name
    ------- ------- --- --- ----------- ----------- ----------
    838 838 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_840_1_20080613
    839 839 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_841_1_20080613
    840 840 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080613-00
    841 841 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_843_1_20080613
    842 842 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_844_1_20080613
    843 843 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_845_1_20080613
    844 844 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080613-01
    845 845 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_847_1_20080614
    846 846 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_848_1_20080614
    847 847 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_849_1_20080614
    848 848 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080614-00
    849 849 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_851_1_20080614
    850 850 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_852_1_20080614
    851 851 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_853_1_20080614
    852 852 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080614-01
    853 853 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_855_1_20080615
    854 854 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_856_1_20080615
    855 855 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_857_1_20080615
    856 856 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080615-00
    857 857 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_859_1_20080615
    858 858 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_860_1_20080615
    859 859 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_861_1_20080615
    860 860 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080615-01
    861 861 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_863_1_20080616
    862 862 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_864_1_20080616
    863 863 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_865_1_20080616
    864 864 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080616-00
    865 865 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_867_1_20080616
    866 866 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_868_1_20080616
    867 867 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_869_1_20080616
    868 868 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080616-01
    869 869 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_871_1_20080617
    870 870 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_872_1_20080617
    871 871 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_873_1_20080617
    872 872 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080617-00
    873 873 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_875_1_20080617
    874 874 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_876_1_20080617
    875 875 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_877_1_20080617
    876 876 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080617-01
    877 877 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_879_1_20080618
    878 878 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_880_1_20080618
    879 879 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_881_1_20080618
    880 880 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080618-00
    881 881 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_883_1_20080618
    882 882 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_884_1_20080618
    883 883 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_885_1_20080618
    884 884 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080618-01
    885 885 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_887_1_20080619
    886 886 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_888_1_20080619
    887 887 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_889_1_20080619
    888 888 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080619-00
    889 889 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_891_1_20080619
    890 890 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_892_1_20080619
    891 891 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_893_1_20080619
    892 892 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080619-01
    893 893 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_895_1_20080620
    894 894 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_896_1_20080620
    895 895 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_897_1_20080620
    896 896 1 1 EXPIRED DISK /orabak/rmanspctlback/c-3276392049-20080620-00
    897 897 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_899_1_20080620
    898 898 1 1 EXPIRED DISK /orabak/databackup/db_CCDB_900_1_20080620
    899 899 1 1 EXPIRED DISK /orabak/logbackup/log_CCDB_901_1_20080620
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_840_1_20080613 recid=838 stamp=657244831
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_841_1_20080613 recid=839 stamp=657244954
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080613-00 recid=840 stamp=657244957
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_843_1_20080613 recid=841 stamp=657288012
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_844_1_20080613 recid=842 stamp=657288028
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_845_1_20080613 recid=843 stamp=657288153
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080613-01 recid=844 stamp=657288156
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_847_1_20080614 recid=845 stamp=657331217
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_848_1_20080614 recid=846 stamp=657331233
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_849_1_20080614 recid=847 stamp=657331373
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080614-00 recid=848 stamp=657331377
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_851_1_20080614 recid=849 stamp=657374419
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_852_1_20080614 recid=850 stamp=657374441
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_853_1_20080614 recid=851 stamp=657374578
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080614-01 recid=852 stamp=657374581
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_855_1_20080615 recid=853 stamp=657417634
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_856_1_20080615 recid=854 stamp=657417650
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_857_1_20080615 recid=855 stamp=657417775
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080615-00 recid=856 stamp=657417778
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_859_1_20080615 recid=857 stamp=657460812
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_860_1_20080615 recid=858 stamp=657460828
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_861_1_20080615 recid=859 stamp=657460963
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080615-01 recid=860 stamp=657460966
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_863_1_20080616 recid=861 stamp=657504024
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_864_1_20080616 recid=862 stamp=657504032
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_865_1_20080616 recid=863 stamp=657504154
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080616-00 recid=864 stamp=657504157
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_867_1_20080616 recid=865 stamp=657547221
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_868_1_20080616 recid=866 stamp=657547237
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_869_1_20080616 recid=867 stamp=657547384
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080616-01 recid=868 stamp=657547387
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_871_1_20080617 recid=869 stamp=657590420
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_872_1_20080617 recid=870 stamp=657590436
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_873_1_20080617 recid=871 stamp=657590569
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080617-00 recid=872 stamp=657590572
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_875_1_20080617 recid=873 stamp=657633618
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_876_1_20080617 recid=874 stamp=657633634
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_877_1_20080617 recid=875 stamp=657633767
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080617-01 recid=876 stamp=657633770
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_879_1_20080618 recid=877 stamp=657676819
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_880_1_20080618 recid=878 stamp=657676835
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_881_1_20080618 recid=879 stamp=657676969
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080618-00 recid=880 stamp=657676972
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_883_1_20080618 recid=881 stamp=657720016
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_884_1_20080618 recid=882 stamp=657720032
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_885_1_20080618 recid=883 stamp=657720166
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080618-01 recid=884 stamp=657720169
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_887_1_20080619 recid=885 stamp=657763217
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_888_1_20080619 recid=886 stamp=657763245
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_889_1_20080619 recid=887 stamp=657763385
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080619-00 recid=888 stamp=657763388
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_891_1_20080619 recid=889 stamp=657806417
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_892_1_20080619 recid=890 stamp=657806433
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_893_1_20080619 recid=891 stamp=657806567
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080619-01 recid=892 stamp=657806570
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_895_1_20080620 recid=893 stamp=657849624
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_896_1_20080620 recid=894 stamp=657849650
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_897_1_20080620 recid=895 stamp=657849783
    deleted backup piece
    backup piece handle=/orabak/rmanspctlback/c-3276392049-20080620-00 recid=896 stamp=657849786
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_899_1_20080620 recid=897 stamp=657892819
    deleted backup piece
    backup piece handle=/orabak/databackup/db_CCDB_900_1_20080620 recid=898 stamp=657892837
    deleted backup piece
    backup piece handle=/orabak/logbackup/log_CCDB_901_1_20080620 recid=899 stamp=657892970
    Deleted 62 EXPIRED objects

    -- 查看恢复数据库需要的备份集,日志信息
    RMAN> restore database preview summary;

    Starting restore at 2008-06-26 15:21:43
    using channel ORA_DISK_1


    List of Backups
    ===============
    Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
    ------- -- -- - ----------- ------------------- ------- ------- ---------- ---
    898 B 0 A DISK 2008-06-20 12:02:12 1 1 YES TAG20080620T120035


    List of Backups
    ===============
    Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
    ------- -- -- - ----------- ------------------- ------- ------- ---------- ---
    899 B A A DISK 2008-06-20 12:02:50 1 1 YES TAG20080620T120249
    Media recovery start SCN is 26818078494
    Recovery must be done beyond SCN 26818078494 to clear data files fuzziness
    Finished restore at 2008-06-26 15:21:45


    -- 查看库的数据文件的路径。
    RMAN> report schema;

    RMAN-06139: WARNING: control file is not current for REPORT SCHEMA
    Report of database schema

    List of Permanent Datafiles
    ===========================
    File Size(MB) Tablespace RB segs Datafile Name
    ---- -------- -------------------- ------- ------------------------
    1 0 SYSTEM *** +ASMDISK/ccdb/datafile/system.256.648572847
    2 0 UNDOTBS1 *** +ASMDISK/ccdb/datafile/undotbs1.258.648572847
    3 0 SYSAUX *** +ASMDISK/ccdb/datafile/sysaux.257.648572847
    4 0 USERS *** +ASMDISK/ccdb/datafile/users.259.648572847
    5 0 UNDOTBS2 *** +ASMDISK/ccdb/datafile/undotbs2.269.648572973
    6 0 UNICALL2X *** +ASMDISK/ccdb/datafile/unicall2x.279.648578659
    7 0 UNICALL2X_IDX *** +ASMDISK/ccdb/datafile/unicall2x_idx.280.648578725

    List of Temporary Files
    =======================
    File Size(MB) Tablespace Maxsize(MB) Tempfile Name
    ---- -------- -------------------- ----------- --------------------
    1 0 TEMP 32767 +ASMDISK/ccdb/tempfile/temp.268.648572939


    -- 恢复数据库,其中需要重新指定恢复时,数据文件的存放路径,由ASM到文件系统。
    RMAN> run
    {allocate2> channel d1 type disk;
    set newname for datafile 1 to '/oradata/ccdb/system.dbf';
    set newname for datafile 2 to '/oradata/ccdb/undotbs1.dbf';
    set newname for 3> datafile 3 to '/oradata/ccdb/sysaux.dbf';
    set newname for da4> 5> 6> tafile 4 to '/oradata/ccdb/users.dbf';
    set newname for data7> file 5 to '/oradata/ccdb/undotbs2.dbf';
    set newname for datafile 6 to '/orada8> ta/ccdb/unicall2x.dbf';
    set newname for datafile 7 to9> '/oradata/ccdb/unicall2x_idx.dbf';
    restore database;
    switch d10> atafile 11> all;
    release c12> hannel d1;
    }13>

    released channel: ORA_DISK_1
    allocated channel: d1
    channel d1: sid=1090 devtype=DISK

    executing command: SET NEWNAME

    executing command: SET NEWNAME

    executing command: SET NEWNAME

    executing command: SET NEWNAME

    executing command: SET NEWNAME

    executing command: SET NEWNAME

    executing command: SET NEWNAME

    Starting restore at 2008-06-26 15:29:49

    channel d1: starting datafile backupset restore
    channel d1: specifying datafile(s) to restore from backup set
    restoring datafile 00001 to /oradata/ccdb/system.dbf
    restoring datafile 00002 to /oradata/ccdb/undotbs1.dbf
    restoring datafile 00003 to /oradata/ccdb/sysaux.dbf
    restoring datafile 00004 to /oradata/ccdb/users.dbf
    restoring datafile 00005 to /oradata/ccdb/undotbs2.dbf
    restoring datafile 00006 to /oradata/ccdb/unicall2x.dbf
    restoring datafile 00007 to /oradata/ccdb/unicall2x_idx.dbf
    channel d1: reading from backup piece /oradata/orabak/databackup/db_CCDB_900_1_20080620
    channel d1: restored backup piece 1
    piece handle=/oradata/orabak/databackup/db_CCDB_900_1_20080620 tag=TAG20080620T120035
    channel d1: restore complete, elapsed time: 00:04:33
    Finished restore at 2008-06-26 15:34:23

    datafile 1 switched to datafile copy
    input datafile copy recid=8 stamp=658424064 filename=/oradata/ccdb/system.dbf
    datafile 2 switched to datafile copy
    input datafile copy recid=9 stamp=658424064 filename=/oradata/ccdb/undotbs1.dbf
    datafile 3 switched to datafile copy
    input datafile copy recid=10 stamp=658424064 filename=/oradata/ccdb/sysaux.dbf
    datafile 4 switched to datafile copy
    input datafile copy recid=11 stamp=658424064 filename=/oradata/ccdb/users.dbf
    datafile 5 switched to datafile copy
    input datafile copy recid=12 stamp=658424064 filename=/oradata/ccdb/undotbs2.dbf
    datafile 6 switched to datafile copy
    input datafile copy recid=13 stamp=658424064 filename=/oradata/ccdb/unicall2x.dbf
    datafile 7 switched to datafile copy
    input datafile copy recid=14 stamp=658424064 filename=/oradata/ccdb/unicall2x_idx.dbf

    released channel: d1

    -- 作介质恢复,注意RMAN最后的提示信息,thread 2 seq 688 lowscn 26818080041。
    RMAN> recover database;

    Starting recover at 2008-06-26 15:38:07
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: sid=1090 devtype=DISK

    starting media recovery

    channel ORA_DISK_1: starting archive log restore to default destination
    channel ORA_DISK_1: restoring archive log
    archive log thread=2 sequence=687
    channel ORA_DISK_1: restoring archive log
    archive log thread=1 sequence=695
    channel ORA_DISK_1: reading from backup piece /oradata/orabak/logbackup/log_CCDB_901_1_20080620
    channel ORA_DISK_1: restored backup piece 1
    piece handle=/oradata/orabak/logbackup/log_CCDB_901_1_20080620 tag=TAG20080620T120249
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
    archive log filename=/oralog/ccdb/1_695_648572915.dbf thread=1 sequence=695
    archive log filename=/oralog/ccdb/2_687_648572915.dbf thread=2 sequence=687
    unable to find archive log
    archive log thread=2 sequence=688
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of recover command at 06/26/2008 15:38:21
    RMAN-06054: media recovery requesting unknown log: thread 2 seq 688 lowscn 26818080041

    -- 而从库中归档日志的日志号,scn 号的情况,可以看出,归档日志只有thread 2 日志号为 687,该日志的最高scn 小于 26818080041
    -- 故,可以断定,上面的介质恢复错误,是因为缺少归档日志的原因,由于上上步的restore database preview summary 已经说明:
    -- 介质恢复需要超过 SCN 26818078494, 才能清除库的模糊信息,而上面的步骤要求的SCN 26818080041,已经超过26818078494,故:
    RMAN> list backup of archivelog all;


    List of Backup Sets
    ===================

    BS Key Size Device Type Elapsed Time Completion Time
    ------- ---------- ----------- ------------ -------------------
    899 1.62M DISK 00:00:01 2008-06-20 12:02:50
    BP Key: 901 Status: AVAILABLE Compressed: YES Tag: TAG20080620T120249
    Piece Name: /oradata/orabak/logbackup/log_CCDB_901_1_20080620

    List of Archived Logs in backup set 899
    Thrd Seq Low SCN Low Time Next SCN Next Time
    ---- ------- ---------- ------------------- ---------- ---------
    1 695 26818077573 2008-06-20 12:00:05 26818080043 2008-06-20 12:02:40
    2 687 26818077558 2008-06-20 11:59:51 26818080041 2008-06-20 12:02:27

    -- 故:open resetlogs 操作肯定成功。

    RMAN> alter database open resetlogs;

    database opened

    RMAN>

    附,上面例子里,步骤5和步骤10分开执行,实际上步骤5可以放到步骤10中一块作恢复操作。

    RMAN> run
    2> {allocate channel d1 type disk;
    set newname for datafile 1 to '/oradata/ccdb/system.dbf';
    set newname for datafile 2 to '/oradata/ccdb/undotbs1.dbf';
    set newname for datafile 3 to '/oradata/ccdb/sysaux.dbf';
    set newna3> 4> 5> 6> me for datafile 4 to '/oradata/ccdb/users.dbf';
    set newname for datafile 5 to '/oradata/ccdb/undotbs2.dbf';
    set newname for datafile 6 to '/oradata/ccdb/unicall2x.dbf';
    set newname for datafile 7 to '/oradata/ccdb/unicall2x_idx.dbf';
    sql "alter database rename file ''+ASMDISK/ccdb/onlinelog/group_3.266.648572919'' to ''/oradata/ccdb/redo0301.log''";
    sql "alter da7> 8> 9> 10> 11> tabase rename file ''+ASMDISK/ccdb/onlinelog/group_3.267.648572919'' to ''/oradata/ccdb/redo0302.log''";
    sql "alter database rename file ''+ASMDISK/ccdb/onlinelog/group_2.264.64812> 572917'' to ''/oradata/ccdb/redo0201.log''";
    sql "alter database rename file ''+ASMDISK/ccdb/onlinelog/group_2.265.648572919'' to ''/oradata/ccdb/redo0202.log''";
    sql13> 14> "alter database rename file ''+ASMDISK/ccdb/onlinelog/group_1.262.648572915'' to ''/oradata/ccdb/redo0101.log''";
    sql15> "alter database rename file ''+ASMDISK/ccdb/onlinelog/group_1.263.648572917'' to ''/oradata/ccdb/redo0102.log''";
    s16> ql "alter database rename file ''+ASMDISK/ccdb/onlinelog/group_4.270.648573025'' to ''/oradata/ccdb/redo0401.log''";
    17> sql "alter database rename file ''+ASMDISK/ccdb/onlinelog/group_4.271.648573025'' to ''/oradata/ccdb/redo0402.log''";
    sql 18> "alter database rename file ''+ASMDISK/ccdb/onlinelog/group_5.272.648573025'' to ''/oradata/ccdb/redo0501.log''";
    sql19> "alter database rename file ''+ASMDISK/ccdb/onlinelog/group_5.273.648573027'' to ''/oradata/ccdb/redo0502.log''";
    20> sql "alter database rename file ''+ASMDISK/ccdb/onlinelog/group_6.274.648573027'' to ''/oradata/ccdb/redo0601.log''";
    sq21> l "alter database rename file ''+ASMDISK/ccdb/onlinelog/group_6.275.648573027'' to ''/oradata/ccdb/redo0602.log''";
    res22> tore database;
    23> switch datafile all;
    24> release channel d1;
    }25>

    released channel: ORA_DISK_1
    allocated channel: d1
    channel d1: sid=1091 devtype=DISK

    executing command: SET NEWNAME

    executing command: SET NEWNAME

    executing command: SET NEWNAME

    executing command: SET NEWNAME

    executing command: SET NEWNAME

    executing command: SET NEWNAME

    executing command: SET NEWNAME

    sql statement: alter database rename file ''+ASMDISK/ccdb/onlinelog/group_3.266.648572919'' to ''/oradata/ccdb/redo0301.log''

    sql statement: alter database rename file ''+ASMDISK/ccdb/onlinelog/group_3.267.648572919'' to ''/oradata/ccdb/redo0302.log''

    sql statement: alter database rename file ''+ASMDISK/ccdb/onlinelog/group_2.264.648572917'' to ''/oradata/ccdb/redo0201.log''

    sql statement: alter database rename file ''+ASMDISK/ccdb/onlinelog/group_2.265.648572919'' to ''/oradata/ccdb/redo0202.log''

    sql statement: alter database rename file ''+ASMDISK/ccdb/onlinelog/group_1.262.648572915'' to ''/oradata/ccdb/redo0101.log''

    sql statement: alter database rename file ''+ASMDISK/ccdb/onlinelog/group_1.263.648572917'' to ''/oradata/ccdb/redo0102.log''

    sql statement: alter database rename file ''+ASMDISK/ccdb/onlinelog/group_4.270.648573025'' to ''/oradata/ccdb/redo0401.log''

    sql statement: alter database rename file ''+ASMDISK/ccdb/onlinelog/group_4.271.648573025'' to ''/oradata/ccdb/redo0402.log''

    sql statement: alter database rename file ''+ASMDISK/ccdb/onlinelog/group_5.272.648573025'' to ''/oradata/ccdb/redo0501.log''

    sql statement: alter database rename file ''+ASMDISK/ccdb/onlinelog/group_5.273.648573027'' to ''/oradata/ccdb/redo0502.log''

    sql statement: alter database rename file ''+ASMDISK/ccdb/onlinelog/group_6.274.648573027'' to ''/oradata/ccdb/redo0601.log''

    sql statement: alter database rename file ''+ASMDISK/ccdb/onlinelog/group_6.275.648573027'' to ''/oradata/ccdb/redo0602.log''

    Starting restore at 2008-06-27 16:22:24

    channel d1: starting datafile backupset restore
    channel d1: specifying datafile(s) to restore from backup set
    restoring datafile 00001 to /oradata/ccdb/system.dbf
    restoring datafile 00002 to /oradata/ccdb/undotbs1.dbf
    restoring datafile 00003 to /oradata/ccdb/sysaux.dbf
    restoring datafile 00004 to /oradata/ccdb/users.dbf
    restoring datafile 00005 to /oradata/ccdb/undotbs2.dbf
    restoring datafile 00006 to /oradata/ccdb/unicall2x.dbf
    restoring datafile 00007 to /oradata/ccdb/unicall2x_idx.dbf
    channel d1: reading from backup piece /oradata/orabak/databackup/db_CCDB_900_1_20080620
    channel d1: restored backup piece 1
    piece handle=/oradata/orabak/databackup/db_CCDB_900_1_20080620 tag=TAG20080620T120035
    channel d1: restore complete, elapsed time: 00:04:53
    Finished restore at 2008-06-27 16:27:19

    datafile 1 switched to datafile copy
    input datafile copy recid=8 stamp=658513641 filename=/oradata/ccdb/system.dbf
    datafile 2 switched to datafile copy
    input datafile copy recid=9 stamp=658513641 filename=/oradata/ccdb/undotbs1.dbf
    datafile 3 switched to datafile copy
    input datafile copy recid=10 stamp=658513641 filename=/oradata/ccdb/sysaux.dbf
    datafile 4 switched to datafile copy
    input datafile copy recid=11 stamp=658513641 filename=/oradata/ccdb/users.dbf
    datafile 5 switched to datafile copy
    input datafile copy recid=12 stamp=658513641 filename=/oradata/ccdb/undotbs2.dbf
    datafile 6 switched to datafile copy
    input datafile copy recid=13 stamp=658513641 filename=/oradata/ccdb/unicall2x.dbf
    datafile 7 switched to datafile copy
    input datafile copy recid=14 stamp=658513641 filename=/oradata/ccdb/unicall2x_idx.dbf

    released channel: d1

    RMAN> recover database;

    Starting recover at 2008-06-27 16:31:50
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: sid=1091 devtype=DISK

    starting media recovery

    channel ORA_DISK_1: starting archive log restore to default destination
    channel ORA_DISK_1: restoring archive log
    archive log thread=2 sequence=687
    channel ORA_DISK_1: restoring archive log
    archive log thread=1 sequence=695
    channel ORA_DISK_1: reading from backup piece /oradata/orabak/logbackup/log_CCDB_901_1_20080620
    channel ORA_DISK_1: restored backup piece 1
    piece handle=/oradata/orabak/logbackup/log_CCDB_901_1_20080620 tag=TAG20080620T120249
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:02
    archive log filename=/oralog/ccdb/1_695_648572915.dbf thread=1 sequence=695
    archive log filename=/oralog/ccdb/2_687_648572915.dbf thread=2 sequence=687
    unable to find archive log
    archive log thread=2 sequence=688
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of recover command at 06/27/2008 16:32:07
    RMAN-06054: media recovery requesting unknown log: thread 2 seq 688 lowscn 26818080041

    RMAN> alter database open resetlogs;

    database opened

    RMAN> list incarnation of database;


    List of Database Incarnations
    DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
    ------- ------- -------- ---------------- --- ---------- ----------
    1 1 CCDB 3276392049 PARENT 1 2006-11-20 20:22:09
    2 2 CCDB 3276392049 PARENT 561064 2008-03-05 15:08:35
    3 3 CCDB 3276392049 CURRENT 26818080042 2008-06-27 16:32:25

    RMAN>

  • 相关阅读:
    聊聊 print 的前世今生
    在树莓派里搭建 Lighttpd 服务器
    如何重复执行一条命令直至运行成功?
    手把手教你Windows Linux双系统的安装与卸载
    你以为只有马云会灌鸡汤?Linux 命令行也会!
    Linux 下三种提高工作效率的文件处理技巧
    太高效了!玩了这么久的Linux,居然不知道这7个终端快捷键!
    Linux下分析bin文件的10种方法
    Linux下几个与磁盘空间和文件尺寸相关的命令
    如何让你的脚本可以在任意地方都可执行?
  • 原文地址:https://www.cnblogs.com/weixun/p/3226658.html
Copyright © 2011-2022 走看看