@ECHO OFF && SETLOCAL && SETLOCAL ENABLEDELAYEDEXPANSION VERIFY OTHER 2>nul SETLOCAL ENABLEEXTENSIONS IF ERRORLEVEL 1 ECHO ERROR: Unable to enable dos extensions! REM ############################################################################ REM # Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. REM # REM # $Date: 2015-11-24 18:07:35 -0500 (Tue, 24 Nov 2015) $ REM # NAME: REM # da.cmd $Revision: 6019 $ REM # DESCRIPTION: REM # Windows Command Script Wrapper for Diagnostic Assistant REM ############################################################################ REM REM UPDATED BY: REM 19-DEC-2013 hsp - Improved stopping daweb REM 19-MAR-2014 rjw - 17872574 - on "verify" now calling REM oracle.sysman.da.cli.Utils.MenuUtils -verify REM 21-MAR-2014 hsp - Added setupmos option REM 21-MAR-2014 hsp - Fixed 18511840 REM 05-MAY-2014 hsp - Added "-n" feature to resource daenv REM 21-MAY-2014 prm - Added JVM options to launch java. REM 29-MAY-2014 prm - Fixed "-detail" flag for "summary" action. REM 05-JUN-2014 hsp - Fixed 18903135 REM 06-JUN-2014 prm - Improve Fix for 18903135 REM 07-JUL-2014 hsp - Improved TROUBLESHOOT() REM 09-JUL-2014 prm - Fix "-help" flag for "adr" action. REM 11-JUL-2014 prm - Added datetime to DEBUG_DIR in TROUBLESHOOT() REM - Set all values to DEBUG_DIR in TOUBLESHOOT() REM 16-SEP-2014 prm - Added new syntax for adr collector in :HELP label. REM 02-JAN-2014 hsp - Improved Java discovery and code reduction REM 05-Jan-2015 mje - Update copyright REM 27-Jan-2015 rjw - 20418256 - fixed directory path to: REM oracle.sysman.da.cli.utils.MenuUtils -verify REM 28-Jan-2015 rjw - 20418256 - added create checksum option REM 12-FEB-2015 lde - 20492522 - Add space checks. REM 25-FEB-2015 lde - 20492522 - Improve space checks REM 25-MAR-2015 hsp - Moved "run" option to DaSystemCli. REM 26-MAR-2015 prm - Updated HELP for the new "run" Syntax. REM 04-APR-2015 prm - Fixed the passing of parameters for "run" option REM 04-APR-2015 hsp - Added debug support from enviroment REM 06-MAY-2015 hsp - Added runmenu and setup option. Fixed CHK_SPACE REM 08-MAY-2015 hsp - Added JAVA_HOME caching REM 27-MAY-2015 lde - Added possible creation of DA_OUTPUT/config REM 28-Jul-2015 mje - Added validation - calling REM oracle.sysman.da.cli.Utils.MenuUtils -v REM 21-SEP-2015 ssa - Startweb was not passing args to WebCli, only -v REM 25-SEP-2015 lde - Improve treatment of directories. REM 14-OCT-2015 hsp - Change DEBUG variable to SH_LOG_LEVEL REM 11-SEP-2014 ssa - 22167937 - DA.CMD DISCOVERY TO RUN 2X ON WINDOWSREM REM 09-Nov-2015 mje - add debug option to help REM reordered key features alphabetically for better usability REM 11-Nov-2015 ssa - Fixed args for run being passed in, was duplicating run REM ============================================================================ REM ############################################################################ REM ## Hardcode ORACLE_HOME, DA_HOME & JAVA_HOME## REM ## SET ORACLE_HOME=C:\Oracle\Middle ware\wlserver_10.3\server REM ## SET DA_OUTPUT=C:\DA\dacore\output :: SET JAVA_HOME= REM ## Enable debugging of batch file (OFF=0,ON=1) SET LOG_LEVEL=0 IF /i "%SH_LOG_LEVEL%"=="on" ( SET LOG_LEVEL=1 ECHO SHELL LOGGING IS TURNED ON ) REM ## SET DA_HOME SET "CWD=%CD%" ::FOR %%i in (%~sf0\.) DO SET DA_HOME=%%~dpi SET "DA_DIR=%~dps0" :: ## Removing trailing backslash from %~dp0 output SET "DA_HOME=%DA_DIR:~0,-1%" IF %LOG_LEVEL% GEQ 1 ( FOR %%i IN ("%DA_HOME%") DO SET "DAFOLDERNAME=%%~nxi" ECHO DA folder: %DAFOLDERNAME% ECHO DA CWD: %CWD% ECHO DA DA_HOME Full path: %DA_HOME% ) REM ## Double Check FOR DA_HOME IF "%DA_HOME%"=="" GOTO SETDA :DONE_SETDA IF NOT EXIST "%DA_HOME%\lib\dacore.jar" GOTO NO_DALIB_ERR REM ## Check IF no PARAMS passed IF "%~1"=="" GOTO :HELP REM ## Possibly create DA_OUTPUT\config and set SET_JAVA_CMD FOR %%i in ("%DA_OUTPUT%") DO SET "DA_OUTPUT=%%~fsi" IF %LOG_LEVEL% GEQ 1 echo DA_OUTPUT = "%DA_OUTPUT%" IF "%DA_OUTPUT%"=="" ( IF NOT EXIST "%DA_HOME%\output\config" mkdir "%DA_HOME%\output\config" SET "SET_JAVA_CMD=%DA_HOME%\output\config\javapath.cmd" ) ELSE ( IF NOT EXIST "%DA_OUTPUT%\config" mkdir "%DA_OUTPUT%\config" SET "SET_JAVA_CMD=%DA_OUTPUT%\config\javapath.cmd" ) REM ## Set JAVA_HOME and Environment Flags REM try to use previous value IF %LOG_LEVEL% GEQ 1 echo SET_JAVA_CMD=%SET_JAVA_CMD% CALL %SET_JAVA_CMD% 2>NUL IF errorlevel 1 echo REM >%SET_JAVA_CMD% >NUL IF %LOG_LEVEL% GEQ 1 echo GIVEN_JAVA_HOME=%JAVA_HOME% IF NOT {"%JAVA_HOME%"}=={""} SET "JAVA_BIN_DIR=%JAVA_HOME%\bin" IF %LOG_LEVEL% GEQ 1 echo JAVA_BIN_DIR=%JAVA_BIN_DIR% "%JAVA_HOME%"\bin\java -version 2>NUL IF errorlevel 1 GOTO FIND_SYSTEM_JAVA >NUL :DONE_SETJAVA @echo set "JAVA_HOME=%JAVA_HOME%">"%SET_JAVA_CMD%" 2>NUL IF %LOG_LEVEL% GEQ 1 echo JAVA_HOME = %JAVA_HOME% REM ## Set JVM Memory Heap values SET JVM_OPT="-Xms512m -Xmx1280m" IF %LOG_LEVEL% GEQ 1 ( ECHO Java executable will be launched as : "%JAVA_HOME%"\bin\java %JVM_OPT% ) REM ## Set Windows version FOR /f "delims=" %%a in ('ver') DO @SET PLATFORM=%%a REM ## Call DaDiscovery to set CLASSPATH and Environment variables IF /i {%1}=={-n} ( SHIFT CALL :DISCOVERY ) ELSE ( CALL :DaDiscovery discover_menu 2>NUL ) IF "%DA_OUTPUT%"=="" ( SET "ENVFILE=%DA_HOME%\output\config\daenv.cmd" ) ELSE ( SET "ENVFILE=%DA_OUTPUT%\config\daenv.cmd" ) CALL "%ENVFILE%" 2>NUL REM ## Create DA_OUTPUT\log IF it doesn't exist FOR %%i in ("%DA_OUTPUT%") DO SET "DA_OUTPUT=%%~fsi" IF %LOG_LEVEL% GEQ 1 echo DA_OUTPUT = "%DA_OUTPUT%" IF "%DA_OUTPUT%"=="" ( IF NOT EXIST "%DA_HOME%\output\log" mkdir "%DA_HOME%\output\log" ) ELSE ( IF NOT EXIST "%DA_OUTPUT%\log" mkdir "%DA_OUTPUT%\log" ) :: ## Define WebUI log and error location SET "WEBUILOG=%DA_OUTPUT%\log\webui.log" SET "WEBUIERROR=%DA_OUTPUT%\log\webui_startup.err" IF %LOG_LEVEL% GEQ 1 echo WEBUILOG = "%WEBUILOG%" :CHK_SPACE REM ## Check that sufficient space is available to launch DA. REM ## - size(DA_OUTPUT) < DA_USAGE_SIZE (5GB) REM ## and REM ## - size(DA_OUTPUT) < DA_USAGE_PERC (50%) of free space of DA_OUTPUT fsys REM ## REM ## Default values are DA_USAGE_SIZE=5 (Gb) and DA_USAGE_PERC=50 (%) REM ## Set defaults SET DA_USAGE_SIZE_DFT=5 SET DA_USAGE_PERC_DFT=50 REM ## RETRIEVE FREE AND USED SPACE OF %DA_OUTPUT% SET PARSE_TOTAL=0 FOR /F "TOKENS=1,2,3" %%I in ('DIR /-C /S "%DA_OUTPUT%"') DO ( IF {!PARSE_TOTAL!}=={0} ( IF {%%I_%%J_%%K}=={Total_Files_Listed:} ( SET PARSE_TOTAL=1 ) ) ELSE ( IF {!_DU_!}=={} (SET _DU_=%%K) ELSE (SET _DF_=%%K) ) ) REM ## Truncate to Mb to avoid arithmetic overflow SET /A TEMP_DSK=%_DU_:~0,6% IF {%_DU_%} == {%TEMP_DSK%} (SET _DU_=0) ELSE (SET /A _DU_=%_DU_:~0,-6%) SET /A TEMP_DSK=%_DF_:~0,6% IF NOT {%_DF_%} == {%TEMP_DSK%} GOTO CHK_SPACE_SIZE echo ERROR: File system of %DA_OUTPUT% is running out of space. echo Clean up the file system of %DA_OUTPUT% and try again. GOTO :EOF :CHK_SPACE_SIZE SET /A _DF_=%_DF_:~0,-6% IF {%DA_USAGE_SIZE%}=={0} GOTO :CHK_SPACE_PERC IF {%DA_USAGE_SIZE%}=={} (SET /A DA_USAGE_SIZE=!DA_USAGE_SIZE_DFT!*1024) ELSE ( SET /A DA_USAGE_SIZE=%DA_USAGE_SIZE%*1024 ) IF %LOG_LEVEL% GEQ 1 ( echo DA_OUTPUT: USAGE=%_DU_% Mb FREE=%_DF_% Mb ) IF %_DU_% LSS %DA_USAGE_SIZE% GOTO :CHK_SPACE_PERC echo ERROR: %DA_OUTPUT% takes more than %DA_USAGE_SIZE% Mb. echo Clean up %DA_OUTPUT% and try again. GOTO :EOF :CHK_SPACE_PERC IF {%DA_USAGE_PERC%}=={0} GOTO :END_CHK_SPACE IF {%DA_USAGE_PERC%}=={} (SET DA_USAGE_PERC=!DA_USAGE_PERC_DFT!) SET /A DA_USAGE_SPACE=(%DA_USAGE_PERC%/100)*%_DF_% SET /A DU_MAX=(%DA_USAGE_PERC%*%_DF_%)/100 IF %LOG_LEVEL% GEQ 1 ( echo DA_USAGE_PERC=%DA_USAGE_PERC% DU_MAX=%DU_MAX% Mb ) IF %_DU_% LSS %DU_MAX% GOTO :END_CHK_SPACE echo ERROR: %DA_OUTPUT% takes more than %DA_USAGE_PERC% of the free echo space of its file system. echo Clean up the file system of %DA_OUTPUT% and try again. GOTO :EOF :END_CHK_SPACE REM ## Check for ORACLE_HOME pushd "%ORACLE_HOME%" 2>nul && popd || CALL :BAD_DIRECTORY %ORACLE_HOME%>NUL ::IF NOT "%ORACLE_HOME%"=="%ORACLE_HOME:.=%" CALL :fix_path ORACLE_HOME %ORACLE_HOME%>NUL :DONE_SETOH REM ## Manually define DA specific bundled libraries IF "%CLASSPATH%"=="" ( SET "CLASSPATH=%CLASSPATH%;%DA_HOME%\lib\commons-logging-1.2.jar" SET "CLASSPATH=%CLASSPATH%;%DA_HOME%\lib\dacore.jar SET "CLASSPATH=%CLASSPATH%;%DA_HOME%\lib\aru.jar" SET "CLASSPATH=%CLASSPATH%;%DA_HOME%\lib\commons-net.jar" SET "CLASSPATH=%CLASSPATH%;%DA_HOME%\lib\jsch.jar" SET "CLASSPATH=%CLASSPATH%;%DA_HOME%\lib\log4j-core.jar" SET "CLASSPATH=%CLASSPATH%;%DA_HOME%\lib\http_client_11116.jar" SET "CLASSPATH=%CLASSPATH%;%DA_HOME%\lib\oraclepki.jar" SET "CLASSPATH=%CLASSPATH%;%DA_HOME%\lib\ojpse.jar" SET "CLASSPATH=%CLASSPATH%;%DA_HOME%\lib\ojdbc14.jar" SET "CLASSPATH=%CLASSPATH%;%DA_HOME%\lib\httpservice.jar" SET "CLASSPATH=%CLASSPATH%;%DA_HOME%\lib\json_smart-12.jar" echo WARNING:USING MANUAL CLASSPATH=%CLASSPATH% ) REM Remove Temp DaDiscovery environment setting file IF %LOG_LEVEL% GEQ 1 ( echo Dumping environment variables into: %ENVFILE% FOR /F "usebackq tokens=1,2* delims=," %%G IN ("%ENVFILE%") DO ECHO %%G ) :: DEL "%ENVFILE%">nul 2>&1 REM ## Change to DA HOME to allow accessing menus directory cd "%DA_HOME%" REM ## re-define arguments SET arg1=%1 SET arg2=%2 SET "_args=%*" IF DEFINED _args SET "_args=!_args:%1 =!" IF %LOG_LEVEL% GEQ 1 ECHO DA.CMD ARGS AFTER DISCOVERY: IF %LOG_LEVEL% GEQ 1 ECHO(!_args! REM ## Processing Command line parameters REM IF /i {%_args:~0,1%}=={-} GOTO :HELP IF /i {%1}=={help} GOTO :HELP IF /i {%1}=={} GOTO :HELP IF /i {%1}=={run} GOTO :RUN IF /i {%1}=={asrcollect} GOTO :ASRCOLLECT IF /i {%1}=={cli} GOTO :CLI IF /i {%1}=={class} GOTO :CLASS IF /i {%1}=={menu} GOTO :MENUS IF /i {%1}=={runmenu} GOTO :MOS_MENU IF /i {%1}=={getmenu} GOTO :MOS_MENU IF /i {%1}=={runplugin} GOTO :DA_PLUGIN IF /i {%1}=={srdc} GOTO :DA_PLUGIN IF /i {%1}=={setup} GOTO :PLUGIN_SETUP IF /i {%1}=={draftsr} GOTO :MOS_DRAFTSR IF /i {%1}=={upload} GOTO :MOS_UPLOAD IF /i {%1}=={version} GOTO :VERSION IF /i {%1}=={verify} GOTO :VERIFY IF /i {%1}=={validate} GOTO :VALIDATE IF /i {%1}=={create} GOTO :CREATE IF /i {%1}=={adr} GOTO :ADR IF /i {%1}=={ocm} GOTO :OCM IF /i {%1}=={rda} GOTO :RDA IF /i {%1}=={collect} GOTO :COLLECT_ALL IF /i {%1}=={summary} GOTO :SUMMARY_ALL IF /i {%1}=={discover} GOTO :DISCOVERY IF /i {%1}=={obsolete} GOTO :OBSOLETE IF /i {%1}=={startweb} GOTO :STARTWEB IF /i {%1}=={stopweb} GOTO :STOPWEB IF /i {%1}=={update} GOTO :UPDATE IF /i {%1}=={setupmos} GOTO :SETUPMOS IF /i {%1}=={servers} GOTO :SERVERS IF /i {%1}=={import} GOTO :IMPORT IF /i {%1}=={export} GOTO :EXPORT REM This one below is internal only probably to install the downloaded da IF /i {%1}=={setup} GOTO :UPDATE_SETUP IF /i {%1}=={debug} GOTO :TROUBLESHOOT GOTO :HELP REM ## HELP procedure rem Display brief on-line help message rem NOTE: An echo. displays a blank line rem :HELP echo ######################################################################### echo da.cmd [-n] [OPTION] [FLAG] echo. echo SYNOPSIS echo -n - Force DA rediscovery for the following OPTIONS: echo adr,asr,collect,draftsr,em,menu,ocm,startweb,rda,setupmos, echo upload,update echo. echo -up - Use this option in conjunction with sr= option echo You will be prompted echo Do you want to continue with upload(y/n): [y] ==> echo This will allow you to cancel the upload once the command echo execution completes echo Also useful if errors occur or you no longer want to send the echo results to the service request for any reason echo. echo Key OPTIONS: echo ============= echo collect echo Runs a group of collections based on category assigned to each command echo Categories are used to group commands by type, rather than functionality echo If a category has sub-categories, you MUST include the complete echo relationship for success echo Flags: echo Optional: 'menu path' to show categories for a specific target menu echo 'Collection category' to run commands for this category echo sr=SR number to upload the results echo Examples: echo da.cmd collect echo This option will open in menu format, organized by echo category groupings echo da.cmd collect menus\oracle_database.xml echo Similar to collect, but only includes categories for the echo requested menu echo da.cmd collect srdc4030 echo Displays all commands categories as 'srdc4030' echo You will be able to select 'All' or a specific collector echo da.cmd collect configure.settings sr=3123124-1 echo simliar to prior example, but also uploads results to SR echo. echo debug echo Gathers generic environment information to confirm DA has correctly echo discovered your environment echo Results are bundled into a single zip file ready for upload to your SR echo Flags: echo None echo Example: echo da.sh debug echo Created file: /ORACLE_HOME/da/output/debug/20150911-101152/ echo debug_20150911-101152.zip echo. echo discover echo Force DA rediscovery of your environment for access to relevant menus echo and commands echo Flags: echo Optional: -n echo Examples: echo da.cmd discover echo da.cmd -n option flag(s) echo where option may be: adr,asr,collect,draftsr,em,menu,ocm, echo startweb,rda,setupmos,upload,update echo flag(s) based on option selected echo. echo draftsr echo Generates a MOS Draft SR number echo You will need to go to MOS to complete required meta data and make echo the SR available to Oracle Support echo Flags: echo Required: title=Service request short description echo Examples: echo da.cmd draftsr title=Exception occurring in RDA echo. echo export echo Exports a DA menus commands to standalone scripts echo Flags: echo Required: source=directory path\menu_file.xml echo dest{ination}=directory path echo export_types=sql,os,sqlplus echo Examples: echo da.cmd export source=oracle_database.xml export_types=SQL,OS,JAVA echo destination=\tmp\da_exported echo. echo import echo Imports scripts(SQL,OS) into a DA menu file echo Flags: echo Required: dir{ectory}=directory path echo dest{ination}=directory path\filename.xml echo import_types=sql,os,sqlplus echo Optional: merge_file=directory path\filename.xml echo Examples: echo da.cmd import dir=\tmp\my_scripts import_types=SQL,OS echo dest=\tmp\da_exported\my_menu.xml echo. echo menu echo Starts default Diagnostic Menu System echo Displays default menus + discovered target menus echo Flags: echo Optional: specific menu path to open a single menu echo Examples: echo da.cmd menu echo da.cmd menu menus\host.xml echo. echo run echo Finds,runs a command menu and uploads resulting file to MOS. echo Flags: echo Required: search criteria (match within xml menu files) echo Optional: SR number to upload the results echo Examples: echo da.cmd run rda_301 echo da.cmd run Database echo da.cmd run % (to see all commands) echo da.cmd run menus\oracle_database.xml rda_301 echo da.cmd run oracle_database.xml rda_ (all commands matching rda) echo da.cmd run oracle_database.xml rda_301 sr=3123124-1 echo. echo runmenu echo Starts the diagnostic menu attached to MOS Doc ID echo You will be prompted for MOS credentials if not already echo saved in DA properties and/or OracleWallet echo Flags: echo Required: MOS Doc ID echo Optional: cmd=command to run (match within xml menu files) echo collect=collection category echo sr=SR number to upload the results echo Examples: echo da.cmd runmenu 201804.1 echo da.cmd runmenu 201804.1 cmd=os_env sr=3123124-1 echo da.cmd runmenu 201804.1 collect=performance sr=3123124-1 echo. echo runplugin echo Starts the diagnostic plugin at atached to MOS Doc ID echo You will be prompted for MOS credentials if not already echo saved in DA properties and/or OracleWallet echo Flags: echo Required: MOS Doc ID echo Optional: cmd=command to run (match within xml menu files) echo collect=collection category echo sr=SR number to upload the results echo Examples: echo da.cmd runplugin 201804.1 echo da.cmd runplugin 201804.1 cmd=os_env sr=3123124-1 echo da.cmd runplugin 201804.1 collect=performance sr=3123124-1 echo. echo servers echo Adds lists of servers for SSH, URL, and other resources echo Flags: echo Required: name=reference to secure list of servers echo file=source file (.csv) echo Examples: echo da.cmd servers name=my_servers file=Servers.csv echo. echo setup echo Registers and updates DA plugins echo Flags: echo Required: file=directory path\filename.zip echo Examples: echo da.cmd setup file=\temp\plugin.zip echo da.cmd setup file=http:\\your_server.com:80\plugin.zip echo. echo setupmos echo Pre-set credentials and setting to My Oracle Support echo Highly recommended if you plan to upload files to SR or create draftSRs echo You will be prompted for MOS credentials and proxy information echo Flags: echo None echo Examples: echo da.cmd setupmos echo. echo startweb echo Starts the DA Web user interface echo Flags: echo pass=self-determined password echo if omitted and not previously saved, DA will generate one for you echo -save used to securely store the password echo Examples: echo da.cmd startweb pass=yourpasswd echo da.cmd startweb pass=yourpasswd -save (store password) echo da.cmd startweb (after password is stored in DaWallet) echo. echo stopweb echo Stops the DA Web user interface echo Flags: echo None echo Examples: echo da.cmd stopweb echo. echo summary echo Shows summary of the ADR, RDA and OCM collectors echo Flags: echo Optional: -detail echo Examples: echo da.cmd summary echo da.cmd summary -detail echo. echo update echo Updates DA and other registered tools echo Flags: echo Optional: tool=comma-separated list of tools to be updated echo Valid tool names found in echo da\output\config\da_updates_target.xml file echo within the tool_id...\tool_id tags echo mode=download\stage\installed_list echo -list list of tools available for update echo -help echo Examples: echo da.cmd update echo da.cmd update -list echo da.cmd update tool=RDA_DA,DB_TOOLS echo da.cmd update mode=download tool=RDA_DA,DB_TOOLS echo da.cmd update help echo. echo upload echo Uploads all the diagnostics collected today or a specific echo file to an existing MOS SR number echo Flags: echo Required: service request number echo hr=past x hours echo Optional: file=directory path\filename of file to be uploaded echo -p for proactive upload echo -r to restart a failed upload echo Examples: echo da.cmd upload sr=3123124-1 hr=2 echo da.cmd upload sr=3123124-1 file=output\sr_uploads\da_20140212130324.zip echo da.cmd upload -p file=output\sr_uploads\da_20140212130324.zip echo (proactive) echo da.cmd upload -p -r file=output\sr_uploads\da_20140212130324.zip echo (restart failed upload) echo da.cmd upload help echo. echo validate echo Validates a menu file to ensure it adheres to DA menu format echo Flags: echo file=directory path\menufile.xml to be validated echo Examples: echo da.cmd validate file=menus\menuFile.xml echo. echo version echo Displays the current version of DA, including revision echo Flags: echo None echo Examples: echo da.cmd version echo. echo Start a specific menu: echo ====================== echo menu name echo Starts a specific menu and only that menu echo Flags: echo Required: directory path\menu filename.xml or URL echo Examples: echo da.cmd menu menus\core_admin.xml echo. echo exadata echo Starts the da\menus\oracle_dbmachince.xml Diagnostic Menu echo Flags: echo None echo Examples: echo da.cmd exadata echo. echo exalogic echo Starts the da\menus\oracle_exalogic.xml Diagnostic Menu echo Flags: echo None echo Examples: echo da.cmd exalogic echo. echo zdlra echo Starts the da/menus/oracle_zdlra.xml Diagnostic Menu echo Flags: echo None echo Examples: echo da.sh zdlra echo. echo Run a specific collector: echo ========================= echo Runs a collection for ADR, RDA and OCM using default settings echo. echo adr - Automatic Diagnostic Repository echo Flags: echo Required: adrBase The ADR_BASE to use echo adrHome The ADR_HOME to use echo adrCommand The ADR command to execute echo Optional: -summary Shows the ADR Home, ADR Base, ORACLE_HOME, echo ORACLE_SID, and the 5 most recent incidents echo -collect Performs IPS Create\Generate\Finalize command echo on the most recent incident echo -help Shows ADR help echo. echo ocm - Oracle Configuration Manager echo Flags: echo Optional: -help Shows OCM help echo -summary General summary of the latest OCM collection echo -collect Performs an OCM collection echo. echo rda - Remote Diagnostic Agent echo Flags: echo Optional: -help Shows RDA help echo -summary Lists all the sub-indexes for each rda profile echo \module found in the da\output\rda directory echo -collect Performs RDA modules OS and NET echo GOTO :EOF :ADR IF /i {%2}=={-help} GOTO :ADR_HELP IF /i {%2}=={-summary} GOTO :ADR_SUMMARY IF /i {%2}=={-collect} GOTO :ADR_COLLECT IF /i {%2}=={-custom} GOTO :ADR_CUSTOM echo "Starting Diagnostic Assistant, ADR" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.AdrCli %2 %3 %4 %5 %6 %7 %8 GOTO :EOF :ADR_HELP echo "Starting Diagnostic Assistant, ADR HELP" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.AdrCli -adr_help GOTO :EOF :ADR_SUMMARY echo "Starting Diagnostic Assistant, ADR SUMMARY" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.AdrCli -summary GOTO :EOF :ADR_COLLECT echo "Starting Diagnostic Assistant, ADR COLLECT" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.AdrCli -collect GOTO :EOF :ADR_CUSTOM echo "Starting Diagnostic Assistant, ADR CUSTOM" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.AdrCli -custom %3 %4 %5 %6 %7 %8 GOTO :EOF :OCM IF /i {%2}=={-help} GOTO :OCM_HELP IF /i {%2}=={-summary} GOTO :OCM_SUMMARY IF /i {%2}=={-collect} GOTO :OCM_COLLECT echo "Starting Diagnostic Assistant, OCM" REM SHIFT to third parameter "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.OcmCli -custom %2 %3 %4 %5 %6 %7 %8 GOTO :EOF :OCM_HELP echo "Starting Diagnostic Assistant, OCM HELP" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.OcmCli -help GOTO :EOF :OCM_SUMMARY echo "Starting Diagnostic Assistant, OCM SUMMARY" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.OcmCli -ocm_summary GOTO :EOF :OCM_COLLECT echo "Starting Diagnostic Assistant, OCM COLLECT" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.OcmCli -collect GOTO :EOF :RDA IF /i {%2}=={-help} GOTO :RDA_HELP IF /i {%2}=={-summary} GOTO :RDA_SUMMARY IF /i {%2}=={-collect} GOTO :RDA_COLLECT echo "Starting Diagnostic Assistant, RDA" REM SHIFT to third parameter "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.RdaCli -custom %2 %3 %4 %5 %6 %7 %8 GOTO :EOF :RDA_HELP echo "Starting Diagnostic Assistant, RDA HELP" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.RdaCli -rda_help GOTO :EOF :RDA_SUMMARY echo "Starting Diagnostic Assistant, RDA SUMMARY" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.RdaCli -rda_summary GOTO :EOF :RDA_COLLECT echo "Starting Diagnostic Assistant, RDA COLLECT" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.RdaCli -rda_collect GOTO :EOF :MENUS IF /i {%2}=={} GOTO :DEFAULT_MENU IF /i {%2}=={demo} GOTO :DEMO echo Starting menu %2 "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaCli -menu %2 GOTO :EOF :RUN IF /i {%2}=={} GOTO :HELP echo "Starting Diagnostic Assistant, Direct Running" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaSystemCli -run %2 %3 %4 %5 %6 %7 GOTO :EOF :DEMO echo "Starting Diagnostic Assistant Menu : Demo Menu" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaCli -menu %DA_HOME%/menus/qa_menus.xml GOTO :EOF :DEFAULT_MENU echo "Starting Diagnostic Assistant Menu : Dynamic Menu" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaCli -start_menus dynamic GOTO :EOF :MOS_MENU IF /i {%2}=={} GOTO :HELP echo "Starting Diagnostic Assistant Menu : Live MOS Menu" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaSystemCli -runmenu %* GOTO :EOF :PLUGIN_SETUP IF /i {%2}=={} GOTO :HELP echo "Registering Diagnostic Assistant Plugin" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaSystemCli -setup_plugin %* GOTO :EOF :DA_PLUGIN IF /i {%2}=={} GOTO :HELP echo "Diagnostic Assistant Plugin" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaSystemCli -getplugin %2 IF %LOG_LEVEL% GEQ 1 echo errorlevel = %errorlevel% IF errorlevel 1 GOTO :EOF CALL "%ENVFILE%" 2>NUL "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaSystemCli -runplugin %* GOTO :EOF :MOS_DRAFTSR IF /i {%2}=={} GOTO :HELP echo "Starting Diagnostic Assistant Menu : MOS Draft SR" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaSystemCli %* GOTO :EOF :MOS_UPLOAD IF /i {%2}=={} GOTO :HELP echo "Starting Diagnostic Assistant Menu : MOS Upload" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaSystemCli %* GOTO :EOF :VERSION echo "Determining Diagnostic Assistant Version" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaCli -version GOTO :EOF :VERIFY echo "Determining Diagnostic Assistant Verification" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.utils.MenuUtils -verify GOTO :EOF :VALIDATE IF /i {%2}=={} GOTO :HELP echo "Diagnostic Assistant Menu Validation" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.utils.MenuUtils -v %* GOTO :EOF :CREATE echo "Creating Diagnostic Assistant Checksum File" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.utils.MenuUtils -create %2 %3 GOTO :EOF :SUMMARY_ALL IF /i {%2}=={-detail} GOTO :SUMMARY_ALL_DETAIL echo "Running Collect All" REM ADR "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.AdrCli -summary REM RDA "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.RdaCli -rda_summary REM OCM "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.OcmCli -ocm_summary GOTO :EOF :SUMMARY_ALL_DETAIL echo "Running Collect All with detail" REM ADR "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.AdrCli -summary detail REM RDA "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.RdaCli -rda_summary detail REM OCM "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.OcmCli -ocm_summary detail GOTO :EOF :COLLECT_ALL echo "Running Collect Problem Menu" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaCli %* GOTO :EOF :ASRCOLLECT REM SHIFT to second parameter SHIFT echo "Running AsrCollector w/parameter %*" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.asr.AsrCollector %* GOTO :EOF :CLI echo "Starting Diagnostic Assistant in CLI mode" "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaCli GOTO :EOF :STARTWEB echo "Starting Diagnostic Assistant WebUI" IF exist "%WEBUILOG%" GOTO :VERIFY_WEB_PROCESS_RUNNING :DONE_VERIFY_WEB SET MEM_ARGS="-Xms512m -Xmx1280m -XX:PermSize=128m -XX:MaxPermSize=256m" start /b "DaWeb UI" "%JAVA_HOME%"\bin\javaw.exe -server "%MEM_ARGS%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaWebCli %* > "%WEBUILOG%" echo Starting web with oracle.sysman.da.cli.DaWebCli %* "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaWebCli -v GOTO :EOF :STOPWEB echo "Stopping Diagnostic Assistant WebUI" IF %LOG_LEVEL% GEQ 1 echo FOUND WEBUILOG=%WEBUILOG% FOR /f "tokens=2" %%G IN ('findstr /B "DA_WEB_URL" %WEBUILOG%') DO SET MyURL=%%G echo Checking IF DA WebUI running on URL=%MyURL% FOR /f "tokens=2" %%G IN ('findstr /B "DA_WEB_PID" %WEBUILOG%') DO SET MyPID=%%G echo Running PID=%MyPID% IF ["%MyPID%"] NEQ [""] GOTO KILL_PROC :: Determine DaWeb process id by name and listening port FOR /f "tokens=2" %%G IN ('findstr /B "DA_WEB_PORT" %WEBUILOG%') DO SET MyPort=%%G echo Checking IF DA WebUI running on PORT=%MyPort% :: FOR /f "tokens=2" %%P in ('wmic process where "Name='javaw.exe' and CommandLine like '%DaWebCli%'" get ProcessID ^| findstr [0-9]') DO echo MyPID=%%P :: IF %LOG_LEVEL% GEQ 1 echo FOUND PID=%MyPID% FOR /f "tokens=5" %%G IN ('netstat -aon ^| find /i "listening" ^| find "%MyPort%"') DO SET MyPID=%%G IF %LOG_LEVEL% GEQ 1 echo FOUND PID1=%MyPID% IF "%MyPID%" == "" ( FOR /f "tokens=2" %%G IN ('findstr /B "DA_WEB_PID" %WEBUILOG%') DO SET MyPID=%%G ) IF %LOG_LEVEL% GEQ 1 echo FOUND PID2=%MyPID% IF "%MyPID%"=="" GOTO STOPWEB_MSG GOTO :KILL_PROC :KILL_PROC taskkill /F /T /PID %MyPID% >nul 2>&1 IF %LOG_LEVEL% GEQ 1 echo Killed mypid=%MyPID% IF exist %WEBUIERROR% DEL /F /Q %WEBUIERROR% >nul 2>&1 IF ["%MyPort%"] NEQ [""] ( IF %LOG_LEVEL% GEQ 1 echo About to kill myPort=%MyPort% FOR /F "tokens=4 delims= " %%P IN ('netstat -a -n -o ^| findstr :%MyPort%') DO TaskKill.exe /F /T /PID %%P >nul 2>&1 ) GOTO :EOF :VERIFY_WEB_PROCESS_RUNNING FOR /f "tokens=2" %%G IN ('findstr /B "DA_WEB_PID" %WEBUILOG%') DO SET MyPID=%%G FOR /f "tokens=2" %%G IN ('findstr /B "DA_WEB_URL" %WEBUILOG%') DO SET MyURL=%%G IF %LOG_LEVEL% GEQ 1 echo FOUND URL=%MyURL% IF %LOG_LEVEL% GEQ 1 echo FOUND PID=%MyPID% FOR /f "tokens=2" %%G IN ('tasklist /FI "PID eq %MyPID%"') DO SET FOUND_PROCESS=%%G IF %LOG_LEVEL% GEQ 1 echo FOUND_PROCESS: %FOUND_PROCESS% IF /i "%FOUND_PROCESS%" == "no" ( del /Q %WEBUILOG% IF exist %WEBUIERROR% DEL /F /Q %WEBUIERROR% >nul 2>&1 GOTO :DONE_VERIFY_WEB ) IF "%MyPID%"=="" ( del /Q %WEBUILOG% IF exist %WEBUIERROR% DEL /F /Q %WEBUIERROR% >nul 2>&1 GOTO :DONE_VERIFY_WEB ) echo DaWeb is already running at: %MyURL% echo PID= %MyPID% echo Please execute "da.cmd stopweb" first to stop process. GOTO :EOF :STOPWEB_MSG echo No more processes running. Exiting. GOTO :EOF :SETUPMOS echo "Setting up MOS Access " %2 "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaSystemCli --setup_mos %2 %3 GOTO :EOF :UPDATE echo "Performing DA Update " %2 %3 %4 "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaSystemCli -update %* GOTO :EOF :SERVERS echo "Performing DA Import Servers " %2 "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaSystemCli -import_servers %2 %3 %4 GOTO :EOF :IMPORT echo "Performing DA Import " %* "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaMakerCli -import %* GOTO :EOF :EXPORT echo "Performing DA Export " %* "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.DaMakerCli -export %* GOTO :EOF :UPDATE_SETUP echo "Performing DA Update from downloads directory to: " %2 REM TODO: Add delete directories - NEED to test the locks on this. REM IF exist %DA_HOME%\bin\da.cmd RMDIR /S /Q %DA_HOME%\bin REM IF exist %DA_HOME%\lib RMDIR /S /Q %DA_HOME%\lib REM IF exist %DA_HOME%\menus RMDIR /S /Q %DA_HOME%\menus XCOPY /S /Y %DA_OUTPUT%\downloads\DA\* %2 echo "New Version checking in: " %2 da.cmd version GOTO :EOF :CLASS echo "Starting Diagnostic Assistant in Core DA CLASS:" oracle.sysman.da.%2 %3 %4 %5 %6 %7 %8 %9 "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.%2 %3 %4 %5 %6 %7 %8 %9 GOTO :EOF :DEBUG echo "Starting Diagnostic Assistant Debugger" CALL :dumpenv show_env GOTO :EOF :FIND_SYSTEM_JAVA IF %LOG_LEVEL% GEQ 1 echo "In Find System Java:%JAVA_HOME%" REM Determine location any Java from registry SET KeyName=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment SET Cmd=reg query "%KeyName%" /s FOR /f "tokens=2*" %%i in ('%Cmd% ^| find "JavaHome"') DO SET JAVA_HOME=%%j if %LOG_LEVEL% GEQ 1 echo FOUND_REG_JAVA=%JAVA_HOME% "%JAVA_HOME%"\bin\java -version 2>NUL IF errorlevel 1 ( CALL :getjdklocation ) ELSE ( SET JAVA_BIN_DIR="%JAVA_HOME%"\bin ) :DONE_JDK IF %LOG_LEVEL% GEQ 1 echo REG_JRE_HOME="%JAVA_HOME%" "%JAVA_HOME%"\bin\java -version 2>NUL IF errorlevel 1 ( CALL :doWhereJava ) ELSE ( SET JAVA_BIN_DIR="%JAVA_HOME%"\bin ) :DONE_DOWHERE IF %LOG_LEVEL% GEQ 1 echo WHERE_JAVA_HOME="%JAVA_HOME%" IF %LOG_LEVEL% GEQ 1 echo JAVA_BIN_DIR="%JAVA_BIN_DIR%" "%JAVA_HOME%"\bin\java -version 2>NUL IF errorlevel 1 CALL :searchSubDir %ORACLE_HOME% :DONE_SUBDIR "%JAVA_HOME%"\bin\java -version 2>NUL IF errorlevel 1 GOTO :NO_JAVA_ERR GOTO :DONE_SETJAVA :searchSubDir echo Searching filesystem FOR Java.exe, please be patient... IF {"%SEARCH_DIR%"}=={} SET SEARCH_DIR=%CD% IF %LOG_LEVEL% GEQ 1 echo In searchSubDir SEARCH_DIR=%SEARCH_DIR% SET first=1 FOR /f %%F in ('dir %SEARCH_DIR%\java.exe /s /b') DO ( IF !first!==1 SET JAVA_EXE=%%F SET first=0 IF %LOG_LEVEL% GEQ 1 echo JAVA_EXE="%JAVA_EXE%" ) IF %LOG_LEVEL% GEQ 1 echo In searchSubDir JAVA_EXE="%JAVA_EXE%" SET JAVA_HOME=%JAVA_EXE:~0,-13% IF %LOG_LEVEL% GEQ 1 echo In searchSubDir JAVA_HOME="%JAVA_HOME%" GOTO :DONE_SUBDIR :getOracleHome SET Cmd=reg query HKLM\Software\Oracle /V /F ORACLE_HOME /S FOR /f "tokens=2*" %%i in ('%Cmd% ^| find "ORACLE_HOME"') DO SET ORACLE_HOME=%%j IF %LOG_LEVEL% GEQ 1 echo "ORACLE_HOME = %ORACLE_HOME% :getjdklocation rem Resolve location of Java runtime environment SET SubKey=HKEY_LOCAL_MACHINE\Software\JavaSoft SET Cmd=reg query "%SubKey%" /S FOR /f "tokens=2*" %%i in ('%Cmd% ^| find "JavaHome"') DO SET JAVA_HOME=%%j if %LOG_LEVEL% GEQ 1 echo FOUND_REG_JDK=%JAVA_HOME% GOTO :DONE_JDK :doWhereJava :: Search filesystem FOR Java.exe IF %LOG_LEVEL% GEQ 1 echo using where java.exe FOR /f %%I in ('where java.exe') DO SET JAVA_BIN_DIR=%%~dp$PATH:I IF %LOG_LEVEL% GEQ 1 echo FOUND_JAVA_WITH_WHERE= "%JAVA_BIN_DIR%" SET JAVA_HOME=%JAVA_BIN_DIR:~0,-4% IF %LOG_LEVEL% GEQ 1 echo In searchSubDir JAVA_HOME="%JAVA_HOME%" GOTO :DONE_DOWHERE :NO_JAVA_ERR echo Error: JAVA 1.5.0_08 or higher is required or JAVA_HOME OS environment variable is NOT SET correctly echo Please INSTALL Oracle Java 1.5.0_08 or higher echo OR SET your JAVA_HOME OS environment variable to the correct location! GOTO :EOF :doPowerShellVerCheck rem Check if PowerShell is installed SET KeyName=HKLM\SOFTWARE\Microsoft\PowerShell SET Cmd=reg query "%KeyName%" /s FOR /F "tokens=3" %%A IN ('%Cmd% ^| FIND "PowerShellVersion"') DO SET PowerShellVersion=%%A :NO_DALIB_ERR echo Error: ERROR: Unable to locate the DA_HOME directory. echo Error: ERROR: Unable to locate needed java libaries echo Please SET DA_HOME and retry your command. GOTO :EOF :SETDA REM ## %~dps0 returns the path of the da.cmd, then back one ".." REM ## SET DA_HOME=%~dps0.. SET DA_HOME=%~dps0. IF NOT EXIST "%DA_HOME%\lib\dacore.jar" GOTO :NO_DALIB_ERR GOTO :DONE_SETDA :DISCOVERY IF %LOG_LEVEL% GEQ 1 echo Calling SUB DISCOVERY %1 %2 %3 CALL :DaDiscovery force_discover %2 %3 GOTO :EOF :DaDiscovery IF %LOG_LEVEL% GEQ 1 echo Calling DaDiscovery %1 %2 %3 "%JAVA_HOME%"\bin\java -DDA_OUTPUT="%DA_OUTPUT%" -classpath "%DA_HOME%\lib\dacore.jar" oracle.sysman.da.discover.DaDiscovery -discover_menu -%1 -%2 %3 >NUL GOTO :EOF :dumpenv "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -classpath "%DA_HOME%\lib\dacore.jar" oracle.sysman.da.discover.DaDiscovery -%1 GOTO :EOF :TROUBLESHOOT FOR /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') DO SET datetime=%%I SET datetime=%datetime:~0,8%_%datetime:~8,6% SET "DEBUG_DIR=%DA_OUTPUT%\debug\%datetime%" IF NOT EXIST "%DEBUG_DIR%" mkdir "%DEBUG_DIR%" SET "ZIP_NAME=%DEBUG_DIR%\debug_%datetime%.zip" :: echo %ZIP_NAME% SET "RPT_NAME=%DEBUG_DIR%\debug_commands_%datetime%.txt" IF %LOG_LEVEL% GEQ 1 echo DEBUG_DIR=%DEBUG_DIR% echo RPT_NAME=%RPT_NAME% :: Debug Report IF %LOG_LEVEL% GEQ 1 echo collecting DA_VERSION echo ========================DA VERSION=====================>>%RPT_NAME% TYPE "%DA_HOME%\config\DA_VERSION" >>%RPT_NAME% 2>&1 echo .>>%RPT_NAME% IF %LOG_LEVEL% GEQ 1 echo collecting JAVA echo ========================JAVA===========================>>%RPT_NAME% "%JAVA_HOME%"\bin\java -version >>%RPT_NAME% 2>&1 IF %LOG_LEVEL% GEQ 1 echo collecting System Memory echo ========================System Memory===========================>>%RPT_NAME% "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.utils.MenuUtils -m >>%RPT_NAME% 2>&1 IF %LOG_LEVEL% GEQ 1 echo collecting Dir List echo ========================DIR LIST=======================>>%RPT_NAME% DIR /Q "%DA_HOME%">>%RPT_NAME% 2>&1 DIR /S /Q "%DA_OUTPUT%">>%RPT_NAME% 2>&1 echo ========================ENV============================>>%RPT_NAME% SET >>%RPT_NAME% 2>&1 :: Key Debug File list SET FILE_LIST=("%DA_OUTPUT%\da_collection.log" "%DA_OUTPUT%\config\daenv.cmd" "%DA_OUTPUT%\config\custom_menus.ini" "%DA_OUTPUT%\config\tools.properties" "%DA_OUTPUT%\config\user.properties" "%DA_OUTPUT%\log\diagnostic_assistant.log" "%DA_OUTPUT%\log\webui.log") ::echo FILELIST=%FILE_LIST% FOR %%i in %FILE_LIST% DO copy /Y %%i %DEBUG_DIR% >nul 2>&1 "%JAVA_HOME%"\bin\java "%JVM_OPT%" -DDA_OUTPUT="%DA_OUTPUT%" -cp "%CLASSPATH%" oracle.sysman.da.cli.utils.MenuUtils -z dir="%DEBUG_DIR%" zipfile="%ZIP_NAME%" >>%RPT_NAME% 2>&1 echo Created %ZIP_NAME% :: Cleanup the collected files when the archive exists IF exist "%ZIP_NAME%" GOTO :CLEANUP_DEBUG GOTO :EOF :CLEANUP_DEBUG cd "%DEBUG_DIR%" attrib +r +s *.zip del /Q *.* >nul 2>&1 attrib -r -s *.zip GOTO :EOF :OBSOLETE IF exist "%DA_HOME%\bin\da.cmd" RMDIR /S /Q "%DA_HOME%\bin" IF exist "%DA_HOME%\bin\postinstall.cmd" DEL /F /Q "%DA_HOME%\postinstall.*" >nul 2>&1 IF exist "%DA_OUTPUT%\config\daenv.cmd" DEL /F /Q "%DA_OUTPUT%\config\daenv.cmd" >nul 2>&1 GOTO :EOF :BAD_DIRECTORY SET "TARGET=%~1" echo ERROR:Could not access or read following directory:"%TARGET%" GOTO :EOF :fix_path REM Fix Relative Paths SET "ENV=%~1" SET "TARGET=%~2" SET "RETURN=%~3" REM ## save current directory pushd . REM ## change to relative directory and save value of CD (current directory) variable cd %TARGET% ::SET ORACLE_HOME= ::echo CWD=%CD% SET %ENV%=%CD% REM ## restore current directory popd ::GOTO :%RETURN% :EOF EXIT /B %ERRORLEVEL% cd %CWD% endlocal