问题:
客户反馈,一套11.2.0.4 RAC环境中,写了一个Shell脚本,每天定时执行,但是备份得文件,有得时候再另一个节点出现,有得时候正常???
思路:
备份得文件,使用expdp,什么情况下文件,会导出到另一个节点服务器上?
1.使用了parall并行参数,但是没用添加cluster,因为并行可能会再另一个实例上运行,导出得文件也在另一个节点上执行导出;
2.使用了远程方式,连接了RAC得另一个实例(再12c pdb中,如果需要导出,必须通过网络,但是11g没多大必要性);
向客户获取Expdp脚本
#!/bin/bash source /home/oracle/.bash_profile export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK _user=ccc _pwd=ccc _sid=abcdefg #_nodate=`date +%Y%m%d` _nodate=20200115 dat=`date +%Y%m%d -d -1days` dat=20200114 export ORACLE_SID=abcdefg /u01/app/oracle/product/11.2.0/dbhome_1/bin/expdp ${_user}/${_pwd}@${_sid} directory=DIRDUMP file=/oradata/enen$_nodate.dump tables=safsadf${dat},sadfsda${dat},afdsafd${dat},asdfadsf${dat},asdfdsf${dat} log=/oradata/safds$_nodate.log #chown oracle:oinstall /oradata/enen$_nodate.dump /oradata/enen$_nodate.log tar -cZf /oradata/enen$_nodate.tar.gz /oradata/enen$_nodate.dump /oradata/enen$_nodate.log --remove-files客户脚本,内容进行了替换脱敏,内容不重要,重要得是重现问题。
发现存在@TNS 远程,因此建议脚本删除@TNS信息
另外一种解决方法,$tnsping xxx 发现是使用得SCAN_IP进行连接,将tns文件写上当前节点得vip或者public ip固定IP也能解决问题。
再次执行脚本,报错
UDE-01034
ORA-01034
ORA-27101
linux-x86_64 Error:
UDE-00003
仔细观察脚本,其中存在ORACLE_SID=XXX??? RAC实例一般存在序列,修改SID实际当前节点,问题解决。
来源:https://www.cnblogs.com/lvcha001/p/12200882.html