• nbu恢复 oracle10g rac asm 到单实例asm(恢复某个表空间)


    一 检验条件


    二 准备工作

    1 创建相关目录

    mkdir -p /oracle/admin/orcl/adump
    mkdir -p /oracle/admin/orcl/bdump
    mkdir -p /oracle/admin/orcl/cdump
    mkdir -p /oracle/admin/orcl/udump
    mkdir -p /oracle/arch
    2参数文件
    使用oracle用户

    vi initorcl.ora

    *.audit_file_dest='/oracle/admin/orcl/adump'
    *.background_dump_dest='/oracle/admin/orcl/bdump'
    *.cluster_database=false
    *.compatible='10.2.0.5.0'
    *.control_files='+DATA/orcl/controlfile/control01'
    *.core_dump_dest='/oracle/admin/orcl/cdump'
    *.db_block_size=8192
    *.db_domain=''
    *.db_file_multiblock_read_count=16
    *.db_name='orcl'
    *.job_queue_processes=10
    *.log_archive_dest_1='location=/oracle/arch'
    *.open_cursors=300
    *.pga_aggregate_target=263997286
    *.processes=1000
    *.remote_login_passwordfile='exclusive'
    *.sessions=1105
    *.sga_max_size=1244245094
    *.sga_target=1244245094
    *.undo_management='AUTO'
    *.undo_retention=0
    *.undo_tablespace='UNDOTBS1'
    *.user_dump_dest='/oracle/admin/orcl/udump'

    三 启动实例

    $ export ORACLE_SID=orcl
    sqlplus / as sysdba
    startup nomount pfile='/oracle/initorcl.ora'

    四 恢复控制文件

    cd $NBU_HOME/bin

    ./bplist -C rac1 -S nbumaster -t 4 -R /

    rman target /

    set dbid=1340406187

    run {
    allocate channel ch00 type 'sbt_tape' parms='ENV=(NB_ORA_CLIENT=rac1)';
    restore controlfile from '/cntrl_7418_1_888200750';
    release channel ch00;
    }

    NBU报错:
    ore
    2015-8-20 13:43:57 - 1 images required
    2015-8-20 13:43:57 - media 0333L3 required
    2015-8-20 13:44:01 - restoring image rac1_1440008524
    2015-8-20 13:44:18 - requesting resource 0333L3
    2015-8-20 13:44:19 - granted resource 0333L3
    2015-8-20 13:44:19 - granted resource IBM.ULT3580-TD3.001
    2015-8-20 13:47:58 - Error bpbrm(pid=12513) bpcd on HA-zcqsmzq-tsvm01 exited with status 59: access to the client was not allowed
    2015-8-20 13:48:05 - Error bpbrm(pid=12658) bpcd on HA-zcqsmzq-tsvm01 exited with status 59: access to the client was not allowed
    2015-8-20 13:48:06 - Error bpbrm(pid=12658) listen for client protocol error - couldn't write necessary information on
    /usr/openv/netbackup/logs/user_ops/dbext/logs/1872.0.1440048857
    2015-8-20 13:48:06 - Warning bptm(pid=12522) failure logging message to client HA-zcqsmzq-tsvm01 in log
    /usr/openv/netbackup/logs/user_ops/dbext/logs/1872.0.1440048857: server not allowed access (46)
    解决办法:在NBU客户端目录下bp.conf文件总添加SERVER = rac1 SERVER = rac2

    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03009: failure of allocate command on ch00 channel at 08/20/2015 13:23:37
    ORA-19554: error allocating device, device type: SBT_TAPE, device name:
    ORA-27211: Failed to load Media Management Library
    Additional information: 2

    解决办法:nbu在备份时需要调用oracle lib库文件,bin目录下提供了此脚本
    [root@HA-zcqsmzq-tsvm01 bin]# su - oracle
    [oracle@HA-zcqsmzq-tsvm01 ~]$ cd /usr/openv/netbackup/bin/
    [oracle@HA-zcqsmzq-tsvm01 bin]$ ls oracle_link
    oracle_link
    [oracle@HA-zcqsmzq-tsvm01 bin]$ ./oracle_link
    Thu Aug 20 13:28:07 CST 2015
    All Oracle instances should be shutdown before running this script.

    Please log into the Unix system as the Oracle owner for running this script

    Do you want to continue? (y/n) [n] y


    LIBOBK path: /usr/openv/netbackup/bin
    ORACLE_HOME: /oracle/oracle
    Oracle version: 10.2.0.5.0
    Platform type: x86_64
    Linking LIBOBK:
    ln -s /usr/openv/netbackup/bin/libobk.so64 /oracle/oracle/lib/libobk.so
    Done

    Please check the trace file located in /tmp/make_trace.8785
    to make sure the linking process was successful.
    [oracle@HA-zcqsmzq-tsvm01 bin]$


    六 恢复数据库

    run {
    allocate channel ch00 type 'sbt_tape' parms='ENV=(NB_ORA_CLIENT=rac1)';
    allocate channel ch01 type 'sbt_tape' parms='ENV=(NB_ORA_CLIENT=rac1)';
    set newname for datafile '+ORCLDATA/orcl/datafile/system.256.812625405' to '+DATA/orcl/datafile/system01.dbf' ;
    set newname for datafile '+ORCLDATA/orcl/datafile/undotbs1.258.812625405' to '+DATA/orcl/datafile/undotbs01.dbf' ;
    set newname for datafile '+ORCLDATA/orcl/datafile/sysaux.257.812625405' to '+DATA/orcl/datafile/sysaux01.dbf' ;
    set newname for datafile '+ORCLDATA/orcl/datafile/users.259.812625405' to '+DATA/orcl/datafile/users01.dbf' ;
    set newname for datafile '+ORCLDATA/orcl/datafile/undotbs2.264.812625489' to '+DATA/orcl/datafile/undotbs02.dbf' ;
    set newname for datafile '+ORCLDATA/orcl/datafile/dms_index_01.dbf' to '+DATA/orcl/datafile/dms_index_01.dbf' ;
    set newname for datafile '+ORCLDATA/orcl/datafile/system_01.dbf' to '+DATA/orcl/datafile/system_01.dbf' ;
    set newname for datafile '+ORCLDATA/orcl/datafile/sysaux_02.dbf' to '+DATA/orcl/datafile/sysaux_02.dbf' ;
    set newname for datafile '+ORCLDATA/orcl/datafile/dms_index_02.dbf' to '+DATA/orcl/datafile/dms_index_02.dbf' ;
    restore tablespace 'SYSTEM','UNDOTBS1','UNDOTBS2','SYSAUX','USERS','DMS_INDEX' ;
    switch datafile all;
    release channel ch00;
    release channel ch01;
    }

    run {
    allocate channel ch00 type 'sbt_tape' parms='ENV=(NB_ORA_CLIENT=rac1)';
    allocate channel ch01 type 'sbt_tape' parms='ENV=(NB_ORA_CLIENT=rac2)';
    recover database skip forever tablespace 'TEMP','HAECM_DATA','HAECM_INDEX','DMS_DATA';
    release channel ch00;
    release channel ch01;
    }

    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of recover command at 08/20/2015 15:31:52
    RMAN-20506: no backup of archivelog found
    RMAN-06053: unable to perform media recovery because of missing log
    RMAN-06025: no backup of log thread 2 seq 22319 lowscn 1626751923 found to restore
    RMAN-06025: no backup of log thread 2 seq 22318 lowscn 1626441413 found to restore
    提示缺少归档,恢复归档
    run {
    ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE' connect 'sys/password@orcl1';
    ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE' connect 'sys/password@orcl2';
    SET ARCHIVELOG DESTINATION TO '/rac_arch2';
    RESTORE ARCHIVELOG SEQUENCE between 22318 and 22319 thread 2;
    RELEASE CHANNEL ch00;
    RELEASE CHANNEL ch01;
    }

    恢复单个归档日志21519

    run {
    ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE' connect 'sys/password@orcl1';
    ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE' connect 'sys/password@orcl2';
    SET ARCHIVELOG DESTINATION TO '/rac_arch2';
    RESTORE ARCHIVELOG SEQUENCE 21519 thread 2;
    RELEASE CHANNEL ch00;
    RELEASE CHANNEL ch01;
    }

    补充:删除归档尽量不用操作系统命令rm(若用rm需要在rman中执行crosscheck archivelog all;)要用delete noprompt archivelog 归档的路径和名字
    delete noprompt archivelog '/rac_arch2/2_21519_812625454.dbf';
    delete noprompt archivelog '/rac_arch2/2_21525_812625454.dbf';

    归档放在pfile文件指定的归档路径中,然后rman下注册归档 catalog start with '/oracle/arch';
    再次执行recover
    run {
    allocate channel ch00 type 'sbt_tape' parms='ENV=(NB_ORA_CLIENT=rac1)';
    allocate channel ch01 type 'sbt_tape' parms='ENV=(NB_ORA_CLIENT=rac2)';
    recover database skip forever tablespace 'TEMP','HAECM_DATA','HAECM_INDEX','DMS_DATA';
    release channel ch00;
    release channel ch01;
    }


    alter database rename file '+ORCLDATA/orcl/onlinelog/group_11.log' to '+DATA/orcl/onlinelog/group_11.log';
    alter database rename file '+ORCLDATA/orcl/onlinelog/group_12.log' to '+DATA/orcl/onlinelog/group_12.log';
    alter database rename file '+ORCLDATA/orcl/onlinelog/group_21.log' to '+DATA/orcl/onlinelog/group_21.log';
    alter database rename file '+ORCLDATA/orcl/onlinelog/group_31.log' to '+DATA/orcl/onlinelog/group_31.log';
    alter database rename file '+ORCLDATA/orcl/onlinelog/group_41.log' to '+DATA/orcl/onlinelog/group_41.log';
    alter database rename file '+ORCLDATA/orcl/onlinelog/group_51.log' to '+DATA/orcl/onlinelog/group_51.log';
    alter database rename file '+ORCLDATA/orcl/onlinelog/group_52.log' to '+DATA/orcl/onlinelog/group_52.log';
    alter database rename file '+ORCLDATA/orcl/onlinelog/group_61.log' to '+DATA/orcl/onlinelog/group_61.log';
    alter database rename file '+ORCLDATA/orcl/onlinelog/group_22.log' to '+DATA/orcl/onlinelog/group_22.log';
    alter database rename file '+ORCLDATA/orcl/onlinelog/group_32.log' to '+DATA/orcl/onlinelog/group_32.log';
    alter database rename file '+ORCLDATA/orcl/onlinelog/group_42.log' to '+DATA/orcl/onlinelog/group_42.log';
    alter database rename file '+ORCLDATA/orcl/onlinelog/group_62.log' to '+DATA/orcl/onlinelog/group_62.log';
    注意临时表空间整理

    六 打开数据库

    若不执行alter database rename file '+ORCLDATA/orcl/onlinelog/group_42.log' to '+DATA/orcl/onlinelog/group_11.log'; 这些语句
    报错如下:
    SQL> alter database open resetlogs;
    alter database open resetlogs
    *
    ERROR at line 1:
    ORA-00349: failure obtaining block size for
    '+ORCLDATA/orcl/onlinelog/group_42.log'
    七 数据库整理

    set linesize 200 pagesize 200
    select GROUP#,THREAD#,STATUS ,ARCHIVED from v$log;
    alter database disable thread 2 ;
    alter system archive log current;
    select GROUP#,THREAD#,STATUS ,ARCHIVED from v$log;
    alter database drop logfile group 3;
    alter database drop logfile group 4;
    alter database drop logfile group 6;
    select GROUP#,THREAD#,STATUS ,ARCHIVED from v$log;


    监听 、tnsnames.ora

  • 相关阅读:
    NOI2019 I 君的商店
    CF1326F
    APIO2016 划艇
    LeetCode-Remove Nth Node From End of List
    LeetCode-Remove Element
    LeetCode-Remove Duplicates from Sorted List II
    LeetCode-Remove Duplicates from Sorted List
    LeetCode-Unique Paths II
    LeetCode-Unique Paths
    LeetCode-Remove Duplicates from Sorted Array II
  • 原文地址:https://www.cnblogs.com/datalife/p/4749644.html
Copyright © 2020-2023  润新知