成功安装 Oracle SOA Suite 12c 后,我正在尝试安装 RCU。
当我尝试从命令提示符执行 RCU 批处理文件时,我收到此错误:
'c:\Program' is not recognized as an internal or external command, operable command or batch file
批处理文件位于以下路径:
C:\Oracle\Middleware\Oracle_Home\oracle_common\bin
这是我的 PATH 环境变量值:
C:\app\gadmin\product\18.0.0\dbhomeXE\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\PuTTY\;C:\Program Files\SafeNet\Authentication\SAC\x64;C:\Program Files\SafeNet\Authentication\SAC\x32
这在我的 PATHTEXT 环境变量值中:
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
我试图运行的批处理文件:
rcu.bat
@REM Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
@REM Wrapper script to launch Oracle home base rcu script
@echo off
setlocal
SET INTERNAL_SCRIPT=rcu_internal.bat
SET WLS_ORACLE_HOME=C:\Oracle\Middleware\Oracle_Home
SET INTERNAL_SCRIPTPATH=
IF EXIST %WLS_ORACLE_HOME% (
SET INTERNAL_SCRIPTPATH="%WLS_ORACLE_HOME%\oracle_common\bin"
) ELSE (
SET INTERNAL_SCRIPTPATH=%~dp0
)
CALL %INTERNAL_SCRIPTPATH%\%INTERNAL_SCRIPT% %*
rcu_internal.bat
@REM Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
@echo off
setlocal
rem ORACLE_HOME is the parent directory of the "oracle_common\bin" dir where the rcu script is located
SET SCRIPT_PATH=%~dp0
FOR %%i IN ("%SCRIPT_PATH%") DO SET SCRIPT_PATH=%%~fsi
@REM Set the ORACLE_HOME relative to this script...
FOR %%i IN ("%SCRIPT_PATH%\..\..") DO SET ORACLE_HOME=%%~fsi
@set LOG_LOCATION_VAR=
@set LOG_LEVEL_VAR=
@set LOG_NAME_VAR=
@set LOG_FORMATTER_VAR=
@set TIMESTAMP_LOG_DIR_VAR=
@set PRETTY_NAME_VAR=
@set OPERATION1_NAME_VAR=
@set OPERATION2_NAME_VAR=
@set OPERATION1_CMDLINE_VAR=
@set OPERATION2_CMDLINE_VAR=
@set DBMS_OUTPUT_IN_SEPARATE_FILE_VAR=
@set RCU_PRODUCT_NAME_VAR=
@set RCU_TWO_PHASE_VAR=
@set ENABLE_JAVADB_VAR=
@if not "%RCU_TIMESTAMP_LOG_DIR%" == "" set TIMESTAMP_LOG_DIR_VAR=-DRCU_TIMESTAMP_LOG_DIR=%RCU_TIMESTAMP_LOG_DIR%
@if "%RCU_TIMESTAMP_LOG_DIR%" == "" set TIMESTAMP_LOG_DIR_VAR=-DRCU_TIMESTAMP_LOG_DIR=true
@if not "%RCU_LOG_LOCATION%" == "" set LOG_LOCATION_VAR=-DRCU_LOG_LOCATION="%RCU_LOG_LOCATION%"
@if not "%RCU_LOG_LEVEL%" == "" set LOG_LEVEL_VAR=-DRCU_LOG_LEVEL=%RCU_LOG_LEVEL%
@if "%RCU_LOG_LEVEL%" == "" set LOG_LEVEL_VAR=-DRCU_LOG_LEVEL=NOTIFICATION
@if not "%RCU_LOG_NAME%" == "" set LOG_NAME_VAR=-DRCU_LOG_NAME="%RCU_LOG_NAME%"
@if not "%RCU_LOG_FORMATTER%" == "" set LOG_FORMATTER_VAR=-DRCU_LOG_FORMATTER=%RCU_LOG_FORMATTER%
@if not "%USE_PRETTY_NAMES%" == "" set PRETTY_NAME_VAR=-DUSE_PRETTY_NAMES=%USE_PRETTY_NAMES%
@if not "%RCU_OPERATION1_NAME%" == "" set OPERATION1_NAME_VAR=-DRCU_OPERATION1_NAME=%RCU_OPERATION1_NAME%
@if not "%RCU_OPERATION2_NAME%" == "" set OPERATION2_NAME_VAR=-DRCU_OPERATION2_NAME=%RCU_OPERATION2_NAME%
@if not "%RCU_OPERATION1_CMDLINE%" == "" set OPERATION1_CMDLINE_VAR=-DRCU_OPERATION1_CMDLINE=%RCU_OPERATION1_CMDLINE%
@if not "%RCU_OPERATION2_CMDLINE%" == "" set OPERATION2_CMDLINE_VAR=-DRCU_OPERATION2_CMDLINE=%RCU_OPERATION2_CMDLINE%
@if not "%RCU_DBMS_OUTPUT_IN_SEPARATE_FILE%" == "" set DBMS_OUTPUT_IN_SEPARATE_FILE_VAR=-DRCU_DBMS_OUTPUT_IN_SEPARATE_FILE=%RCU_DBMS_OUTPUT_IN_SEPARATE_FILE%
@if not "%RCU_PRODUCT_NAME%" == "" set RCU_PRODUCT_NAME_VAR=-DRCU_PRODUCT_NAME=%RCU_PRODUCT_NAME%
@if not "%USE_TWO_PHASE_RCU%" == "" set RCU_TWO_PHASE_VAR=-DUSE_TWO_PHASE_RCU=%USE_TWO_PHASE_RCU%
@if not "%ENABLE_JAVADB%" == "" set ENABLE_JAVADB_VAR=-DENABLE_JAVADB=%ENABLE_JAVADB%
@set RCU_ENV_VARS=%LOG_LOCATION_VAR% %LOG_LEVEL_VAR% %LOG_NAME_VAR% %LOG_FORMATTER_VAR% %TIMESTAMP_LOG_DIR_VAR% %PRETTY_NAME_VAR% %OPERATION1_NAME_VAR% %OPERATION2_NAME_VAR% %OPERATION1_CMDLINE_VAR% %OPERATION2_CMDLINE_VAR% %DBMS_OUTPUT_IN_SEPARATE_FILE_VAR% %RCU_PRODUCT_NAME_VAR% %RCU_TWO_PHASE_VAR% %ENABLE_JAVADB_VAR%
@set LAUNCH_MODE=%LAUNCH_MODE%
@set OH=%ORACLE_HOME%
@set RCU_HOME=%ORACLE_HOME%\oracle_common
@set OH_J2EE=%ORACLE_HOME%\j2ee\home
@set JLIB_DIR=%RCU_HOME%\jlib
@set JRE_DIR=%OH%\jdk\jre
@set RCUHELP_FILE=rchlp.jar
IF [%LANG%] == [] (
FOR /F "tokens=3 delims= " %%G in ('reg query "hklm\system\controlset001\control\nls\language" /v Default') DO (
IF [%%G] EQU [0407] (
set RCUHELP_FILE=rchlp_de.jar
) ELSE IF [%%G] EQU [040c] (
set RCUHELP_FILE=rchlp_fr.jar
) ELSE IF [%%G] EQU [040a] (
set RCUHELP_FILE=rchlp_es.jar
) ELSE IF [%%G] EQU [0410] (
set RCUHELP_FILE=rchlp_it.jar
) ELSE IF [%%G] EQU [0411] (
set RCUHELP_FILE=rchlp_ja.jar
) ELSE IF [%%G] EQU [0412] (
set RCUHELP_FILE=rchlp_ko.jar
) ELSE IF [%%G] EQU [0416] (
set RCUHELP_FILE=rchlp_pt_BR.jar
) ELSE IF [%%G] EQU [0804] (
set RCUHELP_FILE=rchlp_zh_CN.jar
) ELSE IF [%%G] EQU [0404] (
set RCUHELP_FILE=rchlp_zh_TW.jar
)
)
) ELSE (
echo %LANG%|findstr /i "de" >nul:
if not errorlevel 1 set RCUHELP_FILE=rchlp_de.jar
echo %LANG%|findstr /i "fr" >nul:
if not errorlevel 1 set RCUHELP_FILE=rchlp_fr.jar
echo %LANG%|findstr /i "es" >nul:
if not errorlevel 1 set RCUHELP_FILE=rchlp_es.jar
echo %LANG%|findstr /i "it" >nul:
if not errorlevel 1 set RCUHELP_FILE=rchlp_it.jar
echo %LANG%|findstr /i "ja" >nul:
if not errorlevel 1 set RCUHELP_FILE=rchlp_ja.jar
echo %LANG%|findstr /i "ko" >nul:
if not errorlevel 1 set RCUHELP_FILE=rchlp_ko.jar
echo %LANG%|findstr /i "pt_BR" >nul:
if not errorlevel 1 set RCUHELP_FILE=rchlp_pt_BR.jar
echo %LANG%|findstr /i "zh_CN" >nul:
if not errorlevel 1 set RCUHELP_FILE=rchlp_zh_CN.jar
echo %LANG%|findstr /i "zh_TW" >nul:
if not errorlevel 1 set RCUHELP_FILE=rchlp_zh_TW.jar
)
@set RCU_CLASSPATH=%JLIB_DIR%\rcu.jar
@set HELPSET_CLASSPATH=%JLIB_DIR%\%RCUHELP_FILE%
@set PATH=%RCU_HOME%\bin;%PATH%
@set CLASSPATH=%RCU_CLASSPATH%;%HELPSET_CLASSPATH%
rem If no parameter passed, RCU should start run as silent mode.
@if "%JAVA_HOME%" == "" set JAVA_HOME=%JRE_DIR%
@if not "%JAVA_HOME%" == "" if exist %JAVA_HOME%\jre\bin\javaw.exe set JAVA_HOME=%JAVA_HOME%\jre\
if NOT exist "%JAVA_HOME%\bin\java.exe" (
if exist "%RCU_HOME%\..\oui\bin\getVariable.cmd" (
@REM INVOKE SCRIPT TO SET THE JAVA_HOME
CALL %RCU_HOME%\..\oui\bin\getVariable.cmd JAVA_HOME JAVA_HOME
)
)
if NOT exist "%JAVA_HOME%\bin\java.exe" (
if exist "%RCU_HOME%\jdk" (
@REM SET THE JAVA_HOME to oracle_common/jdk
set JAVA_HOME=%RCU_HOME%\jdk
)
)
for %%i in ("%JAVA_HOME%") do set JAVA_HOME=%%~fsi
if NOT exist "%JAVA_HOME%\bin\java.exe" (
echo Unable to locate java at the following location: %JAVA_HOME%\bin\java. Please set the correct value for JAVA_HOME or ORACLE_HOME and try again.
SET ERRORLEVEL=1
goto end
)
if "%~1"=="" goto console
%JAVA_HOME%\bin\java %RCU_JAVA_OPTIONS% -DRCU_HOME=%RCU_HOME% -DSQLPLUS_HOME=%OH% -DORACLE_HOME=%OH% %RCU_ENV_VARS% -DLAUNCH_MODE=%LAUNCH_MODE% -mx128m -classpath %CLASSPATH% oracle.sysman.assistants.rcu.Rcu -lockSchemas false %*
goto end
:console
%JAVA_HOME%\bin\java -DRCU_HOME=%RCU_HOME% -DSQLPLUS_HOME=%OH% -DORACLE_HOME=%OH% -DRANDOMIZE_PASSWORDS=true %RCU_ENV_VARS% -DLAUNCH_MODE=%LAUNCH_MODE% -mx128m %RCU_JAVA_OPTIONS% -classpath %CLASSPATH% oracle.sysman.assistants.rcu.Rcu
:end
exit /B %ERRORLEVEL%