通过 chef recipe 调用,SQLPLUS 无法识别 Windows 12R2 中的Oracle_Home环境变



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

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

SET ORACLE_BASE=C:<ora_base>
SET ORACLE_HOME=C:<ora_base>product12.2.0

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

<Dir>pathproduct12.2.0dbhome_1binsqlplus /nolog @C:filesmyscript.sql

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

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

为什么oracle_home对厨师食谱执行不可见? 有人可以提供一种解决方案来执行SQL脚本而不会收到此错误。

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

SET ORACLE_BASE=C:<ora_base>
SET ORACLE_HOME=C:<ora_base>product12.2.0dbhome_1

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

SET ORACLE_BASE=<Dir>path
SET ORACLE_HOME=<Dir>pathproduct12.2.0dbhome_1

最新更新