exp脚本中的报错:': not a valid identifier: export: `

今天一位同事出差,遇到了自己编辑的一个exp导出数据库数据的脚本的错误,脚本原内容如下:

ORACLE_HOME=/u01/app/oracle/product/11.2.0/db;export ORACLE_HOME
ORACLE_SID=*****;export ORACLE_SID
rq=`date +"%y%m%d"`
expPath=/u01/app/oracle/backup
$ORACLE_HOME/bin/exp *****/***** file=$expPath/wlkp_com_$rq.dmp log=$expPath/wlkp_com_$rq.log

说明:这里使用*****掩饰了实例名和用户名密码

在执行时报错内容如下:(在redhat linux环境下)
': not a valid identifier: export: `
': not a valid identifier: export: `ORACLE_SID
LRM-00112: mutiple values not allowed for parameter 'log'
EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
EXP-00000: Export terminated unsuccessfully

但是该脚本在本地的测试环境中测试没有问题。

解决:

由于报了无效字符错误,怀疑脚本内容有不能识别的字符,建议重新编辑脚本内容,还是报错,删除文件新建并重新输入也报错,非常奇怪(也不知道是不是同事自己编辑的有问题),后来搜索LRM-00112错误,一边指导他远程进行测试,将脚本内容修改为如下可以执行:

/u01/app/oracle/product/11.2.0 /bin/exp ****/**** file=/home/oracle/backup/wlkp_com_`date +"%y%m%d"`.dmp   log=/home/oracle/backup/wlkp_com_`date +"%y%m%d"`.log

由于后来还是感觉同事编辑的文件有问题(有无效的字符),在自己的测试环境中REDHATLINUX,重新编辑了一个脚本,内容如下:

#!/bin/bash
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db
export ORACLE_SID=wlkp
export rq=`date +"%y%m%d"`
$ORACLE_HOME/bin/exp ***/*** file=/home/oracle/backup/wlkp_com_$rq.dmp log=/home/oracle/backup/wlkp_com_$rq.log

把该脚本下载到本地后传给同事后,让其使用ftp的bin模式上传到服务器上测试执行,发现执行成功,
唉,果然是原来编辑的脚本有看不到的无效字符导致之前出现的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值