免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4583 | 回复: 6
打印 上一主题 下一主题

[备份软件] oracle用户的默认shell改成bash ,nbu备份遇到奇怪的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-24 17:15 |只看该作者 |倒序浏览
本帖最后由 wangyl1977 于 2011-08-05 15:51 编辑

使用变量就会出问题,
RMAN> RUN {
2> ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
3> SEND 'NB_ORA_SERV=$NB_ORA_SERV, NB_ORA_CLIENT=$NB_ORA_CLIENT';
4> backup TABLESPACE users;
5> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
6> RELEASE CHANNEL ch00;
7> }

allocated channel: ch00
channel ch00: sid=125 instance=jetdb1 devtype=SBT_TAPE
channel ch00: Veritas NetBackup for Oracle - Release 7.1 (2011020322)

sent command to channel: ch00
Starting backup at 24-JUN-11
channel ch00: starting full datafile backupset
channel ch00: specifying datafile(s) in backupset
input datafile fno=00004 name=/oradata/jetdb/users01.dbf
channel ch00: starting piece 1 at 24-JUN-11
released channel: ch00
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ch00 channel at 06/24/2011 16:35:30
ORA-19506: failed to create sequential file, name="0hmfmtih_1_1", parms=""
ORA-27028: skgfqcre: sbtbackup returned error
ORA-19511: Error received from media manager layer, error text:
   VxBSAValidateFeatureId: Failed with error:
   Server Status:  cannot connect on socket



RMAN> RUN {
2> ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
3> SEND 'NB_ORA_SERV=sun215vip, NB_ORA_CLIENT=p5201';
4> backup TABLESPACE users;
5> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
6> RELEASE CHANNEL ch00;
7> }

allocated channel: ch00
channel ch00: sid=125 instance=jetdb1 devtype=SBT_TAPE
channel ch00: Veritas NetBackup for Oracle - Release 7.1 (2011020322)

sent command to channel: ch00

Starting backup at 24-JUN-11
channel ch00: starting full datafile backupset
channel ch00: specifying datafile(s) in backupset
input datafile fno=00004 name=/oradata/jetdb/users01.dbf
channel ch00: starting piece 1 at 24-JUN-11
channel ch00: finished piece 1 at 24-JUN-11
piece handle=0imfmtk2_1_1 tag=TAG20110624T163618 comment=API Version 2.0,MMS Version 5.0.0.0
channel ch00: backup set complete, elapsed time: 00:00:46
Finished backup at 24-JUN-11

sql statement: ALTER SYSTEM ARCHIVE LOG CURRENT

released channel: ch00

论坛徽章:
0
2 [报告]
发表于 2011-06-24 17:40 |只看该作者
send里面可以用变量吗?

论坛徽章:
221
15-16赛季CBA联赛之吉林
日期:2017-12-11 12:51:59黑曼巴
日期:2019-04-12 13:40:0515-16赛季CBA联赛之广东
日期:2019-04-23 10:41:1215-16赛季CBA联赛之辽宁
日期:2019-05-06 13:03:2815-16赛季CBA联赛之山西
日期:2019-05-09 10:56:5815-16赛季CBA联赛之青岛
日期:2019-05-17 13:57:0515-16赛季CBA联赛之新疆
日期:2019-06-10 13:39:0515-16赛季CBA联赛之天津
日期:2019-07-08 15:04:4519周年集字徽章-19
日期:2019-08-27 13:31:2619周年集字徽章-19
日期:2019-08-27 13:31:2619周年集字徽章-周
日期:2019-09-06 18:46:4715-16赛季CBA联赛之天津
日期:2019-02-27 11:24:07
3 [报告]
发表于 2011-06-24 17:59 |只看该作者
为什么不直接写,还写变量,找事做呢

论坛徽章:
0
4 [报告]
发表于 2011-06-24 21:09 |只看该作者
windows 用set
linux用env
看一下你的环境变量定义了么

论坛徽章:
0
5 [报告]
发表于 2011-08-05 15:51 |只看该作者
回复 3# yoyosys


    我错了, 排错一个备份问题的时候, 因为通过NBU GUI来 调RMAN脚本 会出问题, 以为是RMAN脚本的问题,所以直接copy出脚本在RMAN里用,后来发现这是不行的,直接用rman backup的时候,不能用变量的。
    另外我这个错的最终原因是因为在于 oracle用户使用了bash. (AIX 6.1平台)。
看我的rman log.

oracle用户的默认bash是bash时,
…………………………………………………………………………………………………………………………………………………..
Copyright (c) 1982, 2005, Oracle.  All rights reserved.

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database:
ORA-12162: TNS:net service name is incorrectly specified

Recovery Manager: Release 10.2.0.1.0 - Production on Sat Jun 25 17:15:21 2011

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

通常,这种错误是由于错误设置 ORACLE_SID or ORACLE_HOME,但在我们的环境里,ORACLE_SID和 ORACLE_HOME设置没有问题。

root@p5201/#su - oracle
p5201:/opt/oracle # env
AUTHSTATE=files
SHELL=/usr/bin/bash
TERM=vt100
CRS_HOME=/opt/oracle/crs
UMASK=022
LOCPATH=/usr/lib/nls/loc
USER=oracle
ORACLE_SID=jetdb1
ODMDIR=/etc/objrepos
ORACLE_BASE=/opt/oracle
MAIL=/usr/spool/mail/oracle
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java6_64/jre/bin:/usr/java6_64/bin:/opt/VRTSperl/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java6_64/jre/bin:/usr/java6_64/bin:/usr/sbin:/usr/local/bin:/usr/openv/netbackup/bin:/usr/openv/netbackup/bin/admincmd:/opt/VRTSat/bin:/opt/VRTSaz/bin:/opt/VRTS/bin:/opt/VRTSvcs/bin:/opt/oracle/crs/bin:/opt/oracle/db/bin:/opt/oracle/crs/bin:/opt/oracle/db/bin:/usr/openv/netbackup/bin:/opt/VRTS/bin:/opt/VRTSvcs/bin:/opt/VRTSvcs/rac/bin:/usr/openv/netbackup/bin:/usr/lib/vxvm/bin:/usr/sbin:/sbin:/sbin/init.d:/opt/VRTS/bin:/opt/VRTSvcs/bin:/lib/svc/method:/usr/lib/vxvm/bin::/lib/svc/method:/usr/sfw/bin:/opt/VRTSsfmh/bin:/usr/openv/netbackup/bin/goodies:/usr/openv/netbackup/bin:/opt/VRTSat/bin:/usr/openv/netbackup/bin/admincmd:/usr/openv/volmgr/bin:/opt/oracle/bin
LOGIN=oracle
PWD=/opt/oracle
LANG=en_US
TZ=Asia/Shanghai
PS1=p5201PWD #
SHLVL=1
HOME=/opt/oracle
LC__FASTMSG=true
MAILMSG=[YOU HAVE NEW MAIL]
LOGNAME=oracle
DISPLAY=172.29.1.44:1.0
ORACLE_HOME=/opt/oracle/db
_=/usr/bin/env
NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat
LD_LIBRARY_PATH=/opt/oracle/db/lib:/usr/lib

当将oracle用户的shell设成ksh(default shell) , 备份 ok .
.................................................

root@p5201/var/tmp#tail -f rman1.log

Recovery Manager: Release 10.2.0.1.0 - Production on Sat Jun 25 17:47:29 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
connected to target database: JETDB (DBID=2076786250)
using target database control file instead of recovery catalog
RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10>
allocated channel: ch00
channel ch00: sid=128 instance=jetdb1 devtype=SBT_TAPE
channel ch00: Veritas NetBackup for Oracle - Release 7.1 (2011020322)
sent command to channel: ch00
Starting backup at 25-JUN-11
channel ch00: starting incremental level 0 datafile backupset
channel ch00: specifying datafile(s) in backupset
input datafile fno=00004 name=/oradata/jetdb/users01.dbf
channel ch00: starting piece 1 at 25-JUN-11
channel ch00: finished piece 1 at 25-JUN-11
piece handle=df_22_1_754768060 tag=TAG20110625T174740 comment=API Version 2.0,MMS Version 5.0.0.0
channel ch00: backup set complete, elapsed time: 00:00:26
Finished backup at 25-JUN-11

sql statement: ALTER SYSTEM ARCHIVE LOG CURRENT
released channel: ch00
RMAN>
Recovery Manager complete.
....................................................


很早之间就听我身边的资深同事说过不要在aix里设置默认shell为bash,说会导致很多莫名的原因,果不其然。大家引以为戒吧。
实在想用bash,可安装,但不要将默认shell( /etc/passwd里对应的shell)改为bash,可直接bash后使用bashell.

论坛徽章:
7
双子座
日期:2013-09-09 15:55:31CU大牛徽章
日期:2013-09-18 15:22:06CU大牛徽章
日期:2013-09-18 15:22:20CU大牛徽章
日期:2013-09-18 15:22:26CU大牛徽章
日期:2013-09-18 15:22:31CU大牛徽章
日期:2013-09-18 15:22:37CU大牛徽章
日期:2013-09-18 15:22:46
6 [报告]
发表于 2011-08-05 18:01 |只看该作者
本帖最后由 milujite 于 2011-08-05 18:07 编辑

写脚本请把PATH之类的脚本里要用到的变量在脚本里再定义一遍。经常有人啥脚本手动能执行,CRONTAB不能执行啊什么的,都是因为相关的变量没在脚本里定义。别出了点问题,怪BASH啊啥啥的。

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
7 [报告]
发表于 2011-08-06 09:48 |只看该作者
应该是环境变量的问题/
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP