通过大厨食谱调用,SQLPLUS无法识别Windows 12R2中的Oracle_Home环境变量

问题描述 投票:0回答:1

我正在使用chef客户端运行一个厨师食谱,它设置ORACLE_BASE,ORACLE_HOME和ORACLE_SID环境变量,然后执行oracle sql脚本来创建数据库实例。

使用Windows批处理文件(.bat)设置环境变量

SET ORACLE_BASE=C:\<ora_base>
SET ORACLE_HOME=C:\<ora_base>product\12.2.0

然后sql脚本文件在同一个批处理文件中执行。

<Dir>\path\product\12.2.0\dbhome_1\bin\sqlplus /nolog @C:\files\myscript.sql

我使用了上面代码的主厨资源'批处理',仍然抛出相同的错误。 Sqlplus无法看到oracle_home环境变量。

STDERR:错误6初始化SQL * Plus SP2-0667:找不到消息文件sp1.msb SP2-0750:您可能需要将ORACLE_HOME设置为Oracle软件目录

为什么oracle_home对主厨食谱执行不可见?有人可以提供一个执行sql脚本的解决方案,而不会出现此错误。

windows oracle chef sqlplus chef-recipe
1个回答
0
投票

您的ORACLE_HOME与您从中启动SQL * Plus的路径不匹配。这有点难以确定,因为你有不同的缩短版本,但你似乎刚刚离开了dbhome_1部分:

SET ORACLE_BASE=C:\<ora_base>
SET ORACLE_HOME=C:\<ora_base>\product\12.2.0\dbhome_1

或者可能,如果它们不同:

SET ORACLE_BASE=<Dir>\path
SET ORACLE_HOME=<Dir>\path\product\12.2.0\dbhome_1
© www.soinside.com 2019 - 2024. All rights reserved.