zoukankan      html  css  js  c++  java
  • 大道浮屠诀---NBU7.7.3_oracle11G单机-单机(异机恢复WINDOWS2008平台)

    现有环境说明:

    一台WINDOWS2008R2:安装有NBU7.7.3,作为服务端

    一台WINDOWS2008R2:安装有oracle11.2.0.3,作为数据库服务器

    现假设数据库意外崩溃,需要进行恢复

    前提环境搭建:

    1、一台WINDOWS2008R2:安装有于原版本一致的数据库软件(不必安装实例),并安装nbu客户端,要求版本低于服务端

    2、测试NBU服务端与新客户端的连通性


    安装数据库软件:

    1、添加本机hosts解析

    2、解压并合并安装包

     3、双击setup执行安装程序

     

     

     

     

     

     

     源库目录查看方法,服务里查看OracleService+SID的服务,查看属性即可获知

     

     

     

    安装完毕!


    NBU客户端安装

    添加hosts解析(服务端和客户端互添解析)
    双击Browser执行安装程序

     

     

     

     

     

     

     

     安装完成!


    测试连通性:可通过测试备份客户端文件来测试连通性

    在连通性正常的情况下,在客户端搜索备份集

    执行搜索命令之前在服务端添加创建如下文件(允许异机恢复,不然搜索时回报错EXIT STATUS 135: client is not validated to perform the requested operation)

     在客户端NBU家目录下执行命令bplist.exe -C oracle11g -t 4 -R   【其中oracle11g根据实际情况,填写源数据库系统解析名】

     可以看出来,这里有两份备份

    接下来利用命令创建数据库服务C:appAdministratorproduct11.2.0dbhome_1BIN这个目录下执行

    oradim -NEW -SID xxx 【xxx根据源库数据库SID来】

    前期准备到此全部结束

    接下来开始恢复(步骤中的个别实例名、路径等根据实际情况修改)

    1、恢复spfile

    方法一、根据其他数据库的pfile进行修改

    方法二、拷贝源库SPFILE

    方法三、rman恢复

    这里使用方法一:

    orcl.__db_cache_size=687865856
    orcl.__java_pool_size=16777216
    orcl.__large_pool_size=16777216
    orcl.__oracle_base='C:appAdministrator' #ORACLE_BASE set from environment
    orcl.__pga_aggregate_target=704643072
    orcl.__sga_target=1023410176
    orcl.__shared_io_pool_size=0
    orcl.__shared_pool_size=268435456
    orcl.__streams_pool_size=16777216
    *.audit_file_dest='C:appAdministratoradminorcladump'
    *.audit_trail='db'
    *.compatible='11.2.0.0.0'
    *.control_files='C:appAdministratororadataorclcontrol01.ctl','C:appAdministratorfast_recovery_areaorclcontrol02.ctl'
    *.db_block_size=8192
    *.db_domain=''
    *.db_name='orcl'
    *.db_recovery_file_dest='C:appAdministratorfast_recovery_area'
    *.db_recovery_file_dest_size=4322230272
    *.diagnostic_dest='C:appAdministrator'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
    *.log_archive_dest_1='location=C:appAdministratorarch'
    *.log_archive_format='arc_%S_%T_%R.log'
    *.memory_target=1717567488
    *.open_cursors=300
    *.processes=150
    *.remote_login_passwordfile='EXCLUSIVE'
    *.undo_tablespace='UNDOTBS1'

    内存大小根据实际修改,库名、路径根据实际修改

    把此pifle考到新客户端中并启动

    set ORACLE_SID=orcl
    
    rman target /

    RMAN>startup nomount pfile='C:appAdministratorpfile.ora';

     2、恢复控制文件

    run{
    allocate channel c1 type sbt_tape;
    SEND 'NB_ORA_SERV=test,NB_ORA_CLIENT=oracle11g';  #这里的CLIENT为源机解析名
    restore controlfile from 'cntrl_p_t';
    release channel c1;
    }

     

    启动到mount状态

    3、恢复数据文件

    这里有两种情况

    一是数据文件路径不一致

    二是数据文件路径一致

    这里暂时先讨论一致的情况的恢复,(单机环境下恢复,路径基本与源库一致)

    run{
    allocate channel c1 type 'sbt_tape';
    allocate channel c2 type 'sbt_tape';
    SEND 'NB_ORA_SERV=test,NB_ORA_CLIENT=oracle11g';
    restore database;
    release channel c1;
    release channel c2;
    }

    4、recover数据库

    reocver的方式有多种、这里按照追加到控制文件最新归档为止

    run
    {
    allocate channel ch00 type 'sbt_tape';
    allocate channel ch01 type 'sbt_tape';
    SEND 'NB_ORA_SERV=test,NB_ORA_CLIENT=oracle11g';
    recover database;
    release channel ch00;
    release channel ch01;
    }

     直接写recover database他会 在恢复完所有归档的时候继续去请求下一个SCN,这时候你可以选择取消下个一个SCN的恢复

    SQL> recover database using backup controlfile until cancel;

    5、打开数据库

    由于是恢复出来的数据库,要用以下命令打开

    SQL> alter database open resetlogs;

     

    6、临时表空间重建[这里针对的是源库与新库temp路径不一致的情况,一般一致情况下,启库时会根据记录的TEMP路径创建temp文件]

    备份的时候不备份临时表空间所以恢复也就不恢复

    查看新库的临时表空间,执行以下语句

    SQL> select f.file#,t.ts#,f.name "File",t.name "Tablespace" from v$tempfile f,V$tablespace t where f.ts# = t.ts#; 

     我这里看到是在这个位置【注:这里查到的位置是之前源库临时表空间的位置】

    接下来重建临时表空间

    一、 create temporary  tablespace TEMP2 TEMPFILE 'C:APPADMINISTRATORORADATAORCLTEMP02.DBF' SIZE 512M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED;

    二、alter database default temporary tablespace TEMP2;

    三、drop tablespace TEMP including contents and datafiles;

    再次查看

     

    至此,WINDOWS_FOR_NBU_ORACLE_单机-单机恢复完毕!

  • 相关阅读:
    [转]C#获取文件的MD5值
    跨域ajax返回
    根据子表的条件修改主表的数据
    网络与多线程的设计例子
    网络与多线程的设计模式
    tcpdump移植和使用 -- by Johnson
    关于程序的歪门邪说--by Johnson
    重装系统——联想window 10
    Qt项目中error: C2001: newline in constant错误的解决
    使用NSIS制作Windows安装程序快速入门
  • 原文地址:https://www.cnblogs.com/zakker/p/12088042.html
Copyright © 2011-2022 走看看