博客文章除注明转载外,均为原创。转载请注明出处。
本文链接地址:http://blog.chinaunix.net/uid-31396856-id-5787888.html

有多年没有使用NBU恢复oracle,今天给开发做了一次异机恢复,简单记录下思路:
1、检查有效可用的备份
[oracle@trade netbackup]$ /usr/openv/netbackup/bin/bplist -S 'nbu5230_bj' -C 'orcl' -t 4 -R -l /
-rw-rw---- oracle    dba          59768832 Jul 25 06:16 /c-1373768042-20180725-02
-rw-rw---- oracle    dba          59768832 Jul 25 06:15 /cntrl_16168_1_982390548
-rw-rw---- oracle    dba          59768832 Jul 25 06:15 /c-1373768042-20180725-01
-rw-rw---- oracle    dba          8097024K Jul 25 06:11 /al_16166_1_982390305
-rw-rw---- oracle    dba          8493312K Jul 25 06:09 /al_16165_1_982390149
-rw-rw---- oracle    dba          8534784K Jul 25 06:07 /al_16164_1_982390074
-rw-rw---- oracle    dba          8628480K Jul 25 06:05 /al_16163_1_982389958
-rw-rw---- oracle    dba          8835584K Jul 25 06:04 /al_16162_1_982389893
-rw-rw---- oracle    dba          8807424K Jul 25 06:02 /al_16161_1_982389757
-rw-rw---- oracle    dba          9262592K Jul 25 06:01 /al_16160_1_982389682
-rw-rw---- oracle    dba          9055488K Jul 25 05:58 /al_16159_1_982389506
-rw-rw---- oracle    dba          9178880K Jul 25 05:58 /al_16158_1_982389499
-rw-rw---- oracle    dba          8996608K Jul 25 05:54 /al_16157_1_982389253
-rw-rw---- oracle    dba          8871680K Jul 25 05:54 /al_16156_1_982389253
-rw-rw---- oracle    dba          59768832 Jul 25 05:53 /c-1373768042-20180725-00
-rw-rw---- oracle    dba         17912320K Jul 25 05:32 /bk_16154_1_982387978
-rw-rw---- oracle    dba         35706112K Jul 25 05:00 /bk_16152_1_982386042
-rw-rw---- oracle    dba         32936960K Jul 25 05:00 /bk_16153_1_982386042

2、恢复spfile

[oracle@trade ~]$ rman target sys/oracle

Recovery Manager: Release 11.2.0.4.0 - Production on Wed Jul 25 09:35:31 2018

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

connected to target database (not started)
RMAN> startup nomount
Oracle instance started
Total System Global Area    4158865408 bytes
Fixed Size                     2259800 bytes
Variable Size               2181039272 bytes
Database Buffers            1962934272 bytes
Redo Buffers                  12632064 bytes

RMAN> run{
2>   allocate channel ch00 type 'sbt_tape';
3>  send 'NB_ORA_CLIENT=orcl,NB_ORA_SERV=nbu5230_bj';
4>   restore spfile to '/home/oracle/spfile.ora' from 'c-1373768042-20180725-02';    
5>   release channel ch00;
6>   }
using target database control file instead of recovery catalog
allocated channel: ch00
channel ch00: SID=298 device type=SBT_TAPE
channel ch00: Veritas NetBackup for Oracle - Release 7.5 (2013112320)

sent command to channel: ch00

Starting restore at 25-JUL-18

channel ch00: restoring spfile from AUTOBACKUP c-1373768042-20180725-02

channel ch00: SPFILE restore from AUTOBACKUP complete
Finished restore at 25-JUL-18


released channel: ch00
恢复spfile后创建数据库相应的文件目录。
3、恢复控制文件
创建后使用恢复的spfile启动数据库到nomount模式下。
MAN> 
RMAN>    run {
2>  allocate channel ch00 type 'sbt_tape';
3>  send 'NB_ORA_CLIENT=orcl,NB_ORA_SERV=nbu5230_bj';
4>  restore controlfile from 'cntrl_16168_1_982390548';
5>  release channel ch00;
6>  }
allocated channel: ch00
channel ch00: SID=298 device type=SBT_TAPE
channel ch00: Veritas NetBackup for Oracle - Release 7.5 (2013112320)

sent command to channel: ch00

Starting restore at 25-JUL-18

channel ch00: restoring control file
channel ch00: restore complete, elapsed time: 00:00:35
output file name=/opt/oradata/orcl/control01.ctl
output file name=/opt/oradata/orcl/control02.ctl
Finished restore at 25-JUL-18
released channel: ch00
RMAN>  alter database mount;
database mounted

4、恢复数据库
RMAN>  run
2>  {
3>  allocate channel ch00 type 'sbt_tape';
4>  allocate channel ch01 type 'sbt_tape';
5>  send 'NB_ORA_CLIENT=orcl,NB_ORA_SERV=nbu5230_bj';
6>  restore database;
7>  Recover database;
8>   release channel ch00;
9>   release channel ch01;
10>  }

allocated channel: ch00
channel ch00: SID=298 device type=SBT_TAPE
channel ch00: Veritas NetBackup for Oracle - Release 7.5 (2013112320)

allocated channel: ch01
channel ch01: SID=357 device type=SBT_TAPE
channel ch01: Veritas NetBackup for Oracle - Release 7.5 (2013112320)

sent command to channel: ch00
sent command to channel: ch01

Starting restore at 25-JUL-18

channel ch00: starting datafile backup set restore
channel ch00: specifying datafile(s) to restore from backup set
channel ch00: restoring datafile 00003 to /opt/oradata/orcl/undotbs01.dbf
channel ch00: restoring datafile 00005 to /opt/oradata/orcl/hsfa.dbf
channel ch00: restoring datafile 00006 to /opt/oradata/orcl/TS_RISK3.DBF
channel ch00: restoring datafile 00009 to /opt/oradata/orcl/TS_RISK303.dbf
channel ch00: reading from backup piece bk_16152_1_982386042
channel ch01: starting datafile backup set restore
channel ch01: specifying datafile(s) to restore from backup set
channel ch01: restoring datafile 00007 to /opt/oradata/orcl/TS_ODS.DBF
channel ch01: restoring datafile 00008 to /opt/oradata/orcl/TS_RISK302.dbf
channel ch01: restoring datafile 00011 to /opt/oradata/orcl/TS_RISK305.dbf
channel ch01: reading from backup piece bk_16153_1_982386042
channel ch00: piece handle=bk_16152_1_982386042 tag=HOT_DB_BK_LEVEL0
channel ch00: restored backup piece 1
channel ch00: restore complete, elapsed time: 00:10:26
channel ch00: starting datafile backup set restore
channel ch00: specifying datafile(s) to restore from backup set
channel ch00: restoring datafile 00001 to /opt/oradata/orcl/system01.dbf
channel ch00: restoring datafile 00002 to /opt/oradata/orcl/sysaux01.dbf
channel ch00: restoring datafile 00004 to /opt/oradata/orcl/users01.dbf
channel ch00: restoring datafile 00010 to /opt/oradata/orcl/TS_RISK304.dbf
channel ch00: restoring datafile 00012 to /opt/oradata/orcl/hsfa02.dbf
channel ch00: reading from backup piece bk_16154_1_982387978
channel ch01: piece handle=bk_16153_1_982386042 tag=HOT_DB_BK_LEVEL0
channel ch01: restored backup piece 1
channel ch01: restore complete, elapsed time: 00:10:43
channel ch00: piece handle=bk_16154_1_982387978 tag=HOT_DB_BK_LEVEL0
channel ch00: restored backup piece 1
channel ch00: restore complete, elapsed time: 00:04:36
Finished restore at 25-JUL-18

Starting recover at 25-JUL-18
starting media recovery

channel ch00: starting archived log restore to default destination
channel ch00: restoring archived log
archived log thread=1 sequence=18767
channel ch00: restoring archived log
archived log thread=1 sequence=18768
channel ch00: reading from backup piece al_16166_1_982390305
channel ch00: piece handle=al_16166_1_982390305 tag=TAG20180725T055410
channel ch00: restored backup piece 1
channel ch00: restore complete, elapsed time: 00:02:25
archived log file name=/archtz/1_18767_845987306.dbf thread=1 sequence=18767
archived log file name=/archtz/1_18768_845987306.dbf thread=1 sequence=18768
unable to find archived log
archived log thread=1 sequence=18769
released channel: ch00
released channel: ch01
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 07/25/2018 10:00:52
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 18769 and starting SCN of 5975688777200

进行不完全日志恢复,后打开数据库。
RMAN> recover database until scn 5975688777200;


Starting recover at 25-JUL-18
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=298 device type=DISK

starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 25-JUL-18

RMAN> alter database open resetlogs; 

database opened

后面就是处理redo,undo,temp,监听等,就不再赘述了。

--The end
01-27 06:22