channel CH00: restoring control file
released channel: CH00
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 02/21/2017 10:27:31
ORA-19870: error reading backup piece /cntrl_36931_1_936134229
ORA-19507: failed to retrieve sequential file, handle="/cntrl_36931_1_936134229", parms=""
ORA-27029: skgfrtrv: sbtrestore returned error
ORA-19511: Error received from media manager layer, error text:
Backup file not found in NetBackup catalog
这是脚本
RMAN> RUN {
2> ALLOCATE CHANNEL CH00 TYPE 'SBT_TAPE';
3> SEND 'NB_ORA_SERV=backupserver,NB_ORA_CLIENT=p550a_svc';
4> RESTORE CONTROLFILE FROM '/cntrl_36931_1_936134229';
5> RELEASE CHANNEL CH00;
6> }
restore from 的语法跟的控制文件名字,需要和备份软件的db里面记录的名称一致。不一致,或者该文件已被清理,就会报找不到这个文件。如果你有control file autobackup也可以从autobackup恢复。找到备份软件端检查一下文件是否是可恢复状态及文件名是否正确吧。
收起你是异机恢复Oracle数据库,还是本机恢复,在恢复数据库前,测试通道没,脚本如下:
RUN {
ALLOCATE CHANNEL CH00 TYPE \'SBT_TAPE\';
SEND \'NB_ORA_SERV=backupserver,NB_ORA_CLIENT=p550a_svc\';
RELEASE CHANNEL CH00;
}
数据库是否处于nomount状态下,检查备份控制文件介质是否有效,恢复环境是否与生产环境一致(操作系统和数据库版本)
收起首先请查一下sbttest命令是否已经通过。
其次list backup查一下这个control file是否存在,再一个我觉得那个恢复controlfile的时候,应该是不需要加斜线的。直接
restore controlfile from \'cntrl_36931_1_936134229\';试试呢。
在p550a上查下磁带上的控制文件:
p550a:/#/usr/openv/netbackup/bin/bplist -C p550a_svc -t 4 -l -R /
-rw-rw---- orahle dba 20185088 Feb 20 21:10 /cntrl_36969_1_936479441
-rw-rw---- orahle dba 571998208 Feb 20 20:29 /al_36968_1_936476996
-rw-rw---- orahle dba 589037568 Feb 20 20:27 /al_36967_1_936476857
-rw-rw---- orahle dba 20185088 Feb 19 21:10 /cntrl_36966_1_936393016
-rw-rw---- orahle dba 542900224 Feb 19 20:27 /al_36965_1_936390458
-rw-rw---- orahle dba 20185088 Feb 18 21:10 /cntrl_36964_1_936306611
-rw-rw---- orahle dba 661127168 Feb 18 20:27 /al_36963_1_936304059
-rw-rw---- orahle dba 20185088 Feb 18 13:05 /cntrl_36962_1_936277499
-rw-rw---- orahle dba 298319872 Feb 18 12:22 /al_36961_1_936274938
-rw-rw---- orahle dba 262144 Feb 18 11:34 /bk_36960_1_936272072
-rw-rw---- orahle dba 20185088 Feb 18 11:24 /bk_36959_1_936271466
-rw-rw---- orahle dba 9792512K Feb 18 11:21 /bk_36958_1_936271271
-rw-rw---- orahle dba 7339776K Feb 18 11:15 /bk_36957_1_936270905
-rw-rw---- orahle dba 9878528K Feb 18 11:11 /bk_36956_1_936270700
-rw-rw---- orahle dba 10124800K Feb 18 11:03 /bk_36955_1_936270224
-rw-rw---- orahle dba 11178496K Feb 18 10:59 /bk_36954_1_936269979
-rw-rw---- orahle dba 10857984K Feb 18 10:52 /bk_36953_1_936269523
-rw-rw---- orahle dba 10888448K Feb 18 10:46 /bk_36952_1_936269178
这里都可以查到
但是在恢复机上恢复就报错
RMAN> RUN {
2> ALLOCATE CHANNEL CH00 TYPE \'SBT_TAPE\';
3> SEND \'NB_ORA_SERV=backupserver,NB_ORA_CLIENT=p550a_svc\';
4> RESTORE CONTROLFILE FROM \'/cntrl_36969_1_936479441\';
5> RELEASE CHANNEL CH00;
6> }
allocated channel: CH00
channel CH00: sid=303 devtype=SBT_TAPE
channel CH00: Veritas NetBackup for Oracle - Release 7.1 (2011020322)
sent command to channel: CH00
Starting restore at 21-FEB-17
channel CH00: restoring control file
released channel: CH00
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 02/21/2017 15:58:34
ORA-19870: error reading backup piece /cntrl_36969_1_936479441
ORA-19507: failed to retrieve sequential file, handle=\"/cntrl_36969_1_936479441\", parms=\"\"
ORA-27029: skgfrtrv: sbtrestore returned error
ORA-19511: Error received from media manager layer, error text:
Backup file not found in NetBackup catalog
RMAN>
收起问题解决
通过分析与文档的解释,确定了问题所在,即netbackup中设置的client name与client端的hostname不相同,导致了恢复的时候,无法找到正确的途径,导致恢复失败。
将netbackup服务器上的client name修改成netbackup客户端的hostname,重新运行sbttest sbt_tape,restore测试通过。
看看能否解决你的问题
http://blog.itpub.net/32980/viewspace-1034587/
ORA-19507: failed to retrieve sequential file, handle=\"/cntrl_36969_1_936479441\", parms=\"\"
RESTORE CONTROLFILE FROM \'/cntrl_36969_1_936479441\';
--你把cntrl_36969_1_936479441前面的 ‘/’ 去掉试试
收起看你是异机恢复还是原机恢复。如上同行所说,client name, 以及权限问题也会造成无法读取文件。检查nbu端是否给这个client足够的权限,确保它所使用edia server可以正常加载该磁带。
收起试试这个
问题和你一样
问题描述:
RMAN> run {
2> allocate channel t1 type \'sbt_tape\';
3> send \'NB_ORA_SERV=netbackup,NB_ORA_CLIENT=hz1\';
4> restore controlfile to \'/oracle11/oradata/control01.ctl\' from \'/c-3201563006-20141026-02\';
5> release channel t1 ;
6> }
allocated channel: t1
channel t1: SID=239 device type=SBT_TAPE
channel t1: Veritas NetBackup for Oracle - Release 7.0 (2010010501)
sent command to channel: t1
Starting restore at 29-OCT-14
channel t1: restoring control file
released channel: t1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 10/29/2014 01:51:31
ORA-19870: error while restoring backup piece /c-3201563006-20141026-02
ORA-19507: failed to retrieve sequential file, handle=\"/c-3201563006-20141026-02\", parms=\"\"
ORA-27029: skgfrtrv: sbtrestore returned error
ORA-19511: Error received from media manager layer, error text:
Backup file not found in NetBackup catalog
解决方法:
异机环境的 oracle 软件属组,用户是否与源环境一致?
这里的一致包括user id ,group id 也是要一样的
NBU 自带的备份集权限参数:
bkup_image_perm =[user | group | any]
uset=>600
group =》640
any=》660
收起