通过 Chef Recipe 调用,SQLPLUS 无法在 Windows 12R2 中识别 Oracle_Home 环境变量
Called through chef recipe, SQLPLUS unable to identify Oracle_Home environment variable in Windows 12R2
我是运行厨师食谱,使用chef client,设置ORACLE_BASE、ORACLE_HOME和ORACLE_SID环境变量,然后执行oracle sql脚本创建数据库实例。
环境变量是使用 windows 批处理文件 (.bat)
设置的
SET ORACLE_BASE=C:\<ora_base>
SET ORACLE_HOME=C:\<ora_base>product.2.0
然后在同一个批处理文件中执行sql脚本文件。
<Dir>\path\product.2.0\dbhome_1\bin\sqlplus /nolog @C:\files\myscript.sql
我在上面的代码中也使用了 chef 资源 'batch',仍然抛出了同样的错误。 Sqlplus 无法看到 oracle_home 环境变量。
STDERR: Error 6 initializing SQL*Plus
SP2-0667: Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
为什么 oracle_home 厨师食谱执行不可见?
有人可以提供一种解决方案来执行 sql 脚本而不会出现此错误。
您的 ORACLE_HOME
与您启动 SQL*Plus 的路径不匹配。由于您有不同的缩短版本,因此很难确定,但您似乎刚刚关闭了 dbhome_1
部分:
SET ORACLE_BASE=C:\<ora_base>
SET ORACLE_HOME=C:\<ora_base>\product.2.0\dbhome_1
或者可能,如果它们不同:
SET ORACLE_BASE=<Dir>\path
SET ORACLE_HOME=<Dir>\path\product.2.0\dbhome_1
我是运行厨师食谱,使用chef client,设置ORACLE_BASE、ORACLE_HOME和ORACLE_SID环境变量,然后执行oracle sql脚本创建数据库实例。
环境变量是使用 windows 批处理文件 (.bat)
设置的SET ORACLE_BASE=C:\<ora_base>
SET ORACLE_HOME=C:\<ora_base>product.2.0
然后在同一个批处理文件中执行sql脚本文件。
<Dir>\path\product.2.0\dbhome_1\bin\sqlplus /nolog @C:\files\myscript.sql
我在上面的代码中也使用了 chef 资源 'batch',仍然抛出了同样的错误。 Sqlplus 无法看到 oracle_home 环境变量。
STDERR: Error 6 initializing SQL*Plus
SP2-0667: Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
为什么 oracle_home 厨师食谱执行不可见? 有人可以提供一种解决方案来执行 sql 脚本而不会出现此错误。
您的 ORACLE_HOME
与您启动 SQL*Plus 的路径不匹配。由于您有不同的缩短版本,因此很难确定,但您似乎刚刚关闭了 dbhome_1
部分:
SET ORACLE_BASE=C:\<ora_base>
SET ORACLE_HOME=C:\<ora_base>\product.2.0\dbhome_1
或者可能,如果它们不同:
SET ORACLE_BASE=<Dir>\path
SET ORACLE_HOME=<Dir>\path\product.2.0\dbhome_1