OEM 12c Agent Deploy on Windows – no problem without Cygwin!

Right now the version for how to deploy the Agent on Windows without Cygwin. As I mentioned in my post “OEM 12c Agent Deoploy on Windows – no problem with Cygwin!” before, there are several and good reasons to look closer into Cygwin. The following Solution, I call it the dirty way, isn’t probably feasible for long-term deployment of several machines, but if it’s you choise, you’re welcome.

For that we create a compressed package from the available agent software on the OEM server. We move that package per FTP to the target host and unpack it. It follows the customization of the response file. Finally we set off the stuttering deployment. Sounds relatively simple – it is – when you leave the stumpling blocks. Here it goes …

Package creation

At first you need the agents deployment sofware. You will only get these over the Self Update Service of the Enterprise Manager in opposite to earlier releases. Choose the required OS platform and load the software. In our case Agent Software (12.1.0.3) for Microsoft Windows x64 (64-bit). This works for both Windows Server 2008 and also Windows Server 2012. An 32-bit versions for older Windows versions is also available.

Agent 12c Deploy Windows 01

Setup > Extensibility > Self Update > Agent Software

 

At first we check the available packages on the OEM server:

$OMS_HOME/bin/emcli login -username=sysman -password=******

Login successful

$OMS_HOME/bin/emcli get_supported_platforms

———————————————–

Version = 12.1.0.3.0

 Platform = Microsoft Windows (32-bit)

———————————————–

Version = 12.1.0.3.0

 Platform = Microsoft Windows x64 (64-bit)

———————————————–

You have to create a directory for the compressed agent software on the OEM server.

mkdir /u03/software

Emcli needs the path to the zip-binaries in a variabale for package creation.

export ZIP_LOC=/usr/bin/zip

Pakage creation follows. Destination should your software directory. You can take the particular platform and destination description from the first query. At the end the package has a size of almost 260 MB.

$OMS_HOME/bin/emcli get_agentimage -destination=”/u03/software/agent12c_win_x64″ -platform=”Microsoft Windows x64 (64-bit)” -version=12.1.0.3.0

 

 === Partition Detail ===

Space free : 3 GB

Space required : 1 GB

Check the logs at /u01/app/oracle/product/12.1.0/gc_inst/em/EMGC_OMS1/sysman/emcli/setup/.emcli/get_agentimage_2014-12-19_12-13-30-PM.log

Downloading /u03/software/agent12c_win_x64/12.1.0.3.0_AgentCore_233.zip

File saved as /u03/software/agent12c_win_x64/12.1.0.3.0_AgentCore_233.zip

Downloading /u03/software/agent12c_win_x64/12.1.0.3.0_PluginsOneoffs_233.zip

File saved as /u03/software/agent12c_win_x64/12.1.0.3.0_PluginsOneoffs_233.zip

Downloading /u03/software/agent12c_win_x64/unzip

File saved as /u03/software/agent12c_win_x64/unzip

Agent Image Download completed successfully.
ll /u03/software/agent12c_win_x64

total 258260

-rw-r–r– 1 oracle oinstall 264452653 Dec 19 12:14 12.1.0.3.0_AgentCore_233.zip

Now you can move the package to the target host on the most suitable way of your choise e.g. FTP. I prefer WinSCP.

Agent 12c Deploy Windows 02

Agent 12c Deploy Windows 03

Choose an appropriate directory on your target host. The agent will be deployed in the upper directory, in my example in E:\app\oracle\agent.

Agent 12c Deploy Windows 04

Response File

Now we come to the customization of the Response Files. For that we queue the ports on the OEM first.

more $OMS_HOME/install/portlist.ini

 

Enterprise Manager Upload Http Port=4889

Enterprise Manager Upload Http SSL Port=4903

Enterprise Manager Central Console Http SSL Port=7802

Node Manager Http SSL Port=7403

Managed Server Http Port=7202

Enterprise Manager Central Console Http Port=7788

Oracle Management Agent Port=3872

Admin Server Http SSL Port=7102

Managed Server Http SSL Port=7301

Now we can edit the response file.

Agent 12c Deploy Windows 05

Remove the Hash and add a valid value for <value unspecified>.

Agent 12c Deploy Windows 06

Example:

OMS_HOST=oem12c.carajandb.intra               // Hostname OEM Server, fully qualified

EM_UPLOAD_PORT=4903                           // Enterprise Manager Upload Http SSL Port

AGENT_REGISTRATION_PASSWORD=******                    // Password for OEM access

AGENT_INSTANCE_HOME=E:\app\oracle\agent\agent_inst    // Agent Instnace Home

AGENT_PORT=3872                                       // Standard Agent Port

b_startAgent=true                                     // start Agent after deploy

ORACLE_HOSTNAME=stoermer.carajandb.intra              // Target Host

s_agentHomeName=agent12gR103                          // Windows Servicename arbitrary

Unfortunately editing of the response file ist not enough. Also an entry of the AGENT_BASE_DIR value in the response file can’t protect the followeing error.

Invalid invocation. AGENT_BASE_DIR is mandatory.

Agent 12c Deploy Windows 08

What helps is an entry in the agentDeploy.bat itself.

set agentBaseDir=E:\app\oracle\agent

Agent 12c Deploy Windows 09

Agent 12c Deploy Windows 10

Deploy

Now we can execute the agentDeploy.bat as administrator and by declaring the complete path to the response file.

Agent 12c Deploy Windows 11

Example:

agentDeploy.bat RESPONSE_FILE=E:\app\oracle\agent\12.1.0.3.0_AgentCore_233\agent.rsp

Agent 12c Deploy Windows 12

The stuttering part follows. We reach an appcrash warning. But deployment would’nt stop by clicking on “Close the program”.

Agent 12c Deploy Windows 13

It’s not very kind, but the deployment runs and with a bit patience and after a few minutes it’s completed. You will get information on the progress from the log – last line.

Agent deployment log location: E:\app\oracle\agent\core\12.1.0.3.0\cfgtoollogs\cfgfw\CfmLogger<timestamp>.log

Agent 12c Deploy Windows 14

Agent deployment completed successfully.

You should find the running agent in the Enterprise Manager now.

Agent 12c Deploy Windows 15

Have fun!

30 thoughts on “OEM 12c Agent Deploy on Windows – no problem without Cygwin!”

  1. Thanks for the Writup. Am getting this error during the deployement.
    Return status:1
    ERROR: The Oracle Management Server (OMS) host and port specified via OMS_HOST a
    nd EM_UPLOAD_PORT is not available. Pass in a valid hostname and port number fo
    r the OMS to successfully deploy the agent. Meanwhile my the port and host specified are correct. Any ideal what the problem is?

  2. Sebastian Winkler

    Is your Hostname fully qualified? Is the Port open (Firewall) and not used by another service?

  3. Thank you for your contribution!!! My Sql Server is behind firewall and I didn’t know how to install cygwin without internet. Thanks again and again!!!!!

    1. Sebastian Winkler

      Hello SAMPATH,

      I’m not sure at the moment … try these commands:
      $omsvfy show ports
      $omsvfy show opmn
      $emctl status oms -details

      Regards

      Sebastian

  4. i followed this instruction and the deployment went fine. I can see both host and agent in OEM. I need to enter a monitoring credential in order to bring up the host. The agent is having the issue: Agent Unreachable is cleared. The current status of the target is METRIC ERROR. I can run emctl upload agent but there is nothing to upload. I tired to resync in OEM and I got this error: System has detected that this agent never uploaded to the repository successfully. Repository does not have enough information to restore this agent.

    1. Sebastian Winkler

      Hi Peter,

      try emctl resecure and stop/start the agent. If that doesn’t help take a look in the log’s /sysman/log … in the end try machine reboot or reinstall of agent.

      Regards Sebastian

  5. Thanks for this valuable document, it really helped me .but I have one question th password you mentioned in the response file should be the root password or oracle ?

    1. Sebastian Winkler

      Not root or oracle – it’s the password for your OEM access if it’s not changed it’s your sysman’s password. You can set the registration password in OEM under Setup > Security > Registration Password

  6. Dear Mr. Sebastian,
    Thanks for this valuable document, it really helped me

    I followed same procedure as describe on your post and was able to install agent successfully
    But when i checked the status of agent through command emctl status agent its shows below error

    Heartbeat Status : OMS responded illegally [ERROR- Failed to update Target type Metadata]

    I checked port 3872 is not in used by other process also provided full qualified name of server.

    Any Idea to resolve this issue.

    Thanks

  7. Adding same error

    D:agent12cagent_image>%AGENT_HOME%/bin/emctl pingOMS
    Oracle Enterprise Manager Cloud Control 12c Release 4
    Copyright (c) 1996, 2014 Oracle Corporation. All rights reserved.
    —————————————————————
    EMD pingOMS error: OMS sent an invalid response: “ERROR- Failed to update Target type Metadata”

  8. Hey Sebastian, when using response file the correct parameter is PROPERTIES_FILE=
    Best Regards

    1. Sebastian Winkler

      Hi Jaime, what do you exectly mean? PROPERTIES_FILE instead of RESPSONSE_FILE when executing agentdeploy.bat? Last one works fine!? Regards Sebastian

  9. Thanks for this document. I am getting the following error each time I execute the below command.
    The user account (oracle) is same on both servers. The privs are are all okay,The staging server is Windows 7 the target server is Windows 2008. I tried executing as administrator as noted in your post but no success. Not sure what am i missing. Appreciate your feedback! I am using SYSMAN password for AGENT_REGISTRATION_PASSWORD.

    oem/oms 12.1.0.5 Platform: Linux
    Windows Agent: 12.1.0.5.0_AgentCore_233.zip

    ——————————————————————————————–

    D:oracleoms>agentDeployPsExec.bat PROPERTIES_FILE=response_file_windows_agent12c.txt

    D:oracleoms>echo off
    ===================================================================
    Agent deployment started on host : abcdprddb01.bacdef.com

    Creating installation base directory …
    “Command D:oraclePsExecPSToolspsexec.exe \abcdprddb01.bacdef.com -u oracle -p ****** cmd.exe /c mkdir D:oracleomsagent12cADATMP_–_– failed.

    The LOG_FILE shows the following error:

    Copying D:oracleagent_stage\unzip.exe D:oracleagent_stage\unzip_tmp.exe
    1 file(s) copied.
    D:oraclePsExecPSToolspsexec.exe \abcdprddb01.bacdef.com -u oracle -p ****** cmd.exe /c mkdir D:oracleomsagent12cADATMP_–_–

    PsExec v2.2 – Execute processes remotely
    Copyright (C) 2001-2016 Mark Russinovich
    Sysinternals – http://www.sysinternals.com

    Logon failure: unknown user name or bad password.
    Connecting to abcdprddb01.bacdef.com…Starting PSEXESVC service on abcdprddb01.bacdef.com…Connecting with PsExec service on abcdprddb01.bacdef.com…Starting cmd.exe on abcdprddb01.bacdef.com…

    PsExec could not start cmd.exe on abcdprddb01.bacdef.com:

    1. Sebastian Winkler

      Hi Mohammed, please check your username and password carefully. Pay attention to case sensitivity for password and username also.
      Regards,
      Sebastian

  10. My agent configuration failed, can you help?

    INFO: EM_INSTALL_TYPE=”AGENT”
    Writing the following contents into C:agent13cagent_13.2.0.0.0installoragchomelist
    C:agent13cagent_13.2.0.0.0:C:agent13cagent_inst
    Both /etc/oragchomelist and /var/opt/oracle/oragchomelist does not exist.
    The value of chainInstall : false forceConfigure : false skipValidation : false
    Validating oms host & port with url: https://dotssmoorap01.fdot.dot.state.fl.us:4889/empbs/genwallet
    Validating oms host & port with url: http://dotssmoorap01.fdot.dot.state.fl.us:4889/empbs/genwallet
    The status is 1
    SEVERE: CONFIG_ERROR2
    Validated the oms host and port :- dotssmoorap01.fdot.dot.state.fl.us—-4889
    Validated the agent port :- —-3872
    shared agent value is :false
    Agent configuration has failed

  11. I am with you all the way to the appcrash warning. I select “Close the Program” and it does just that.

    Here is what shows-up in the command window:
    =======
    ** Agent Port Check completed successfully.**
    Validated the agent port :- —-3872
    shared agent value is :false
    Agent Mode is None
    servicname is:Oracleagent13c2Agent
    service cmd is:cmd /c D:agent13agent_13.2.0.0.0binnmesrvops create Oracleage
    nt13c2Agent D:agent13agent_13.2.0.0.0binnmesrvc.exe auto
    SEVERE:Create service for service name:Oracleagent13c2Agent has failed.
    Agent configuration has failed

    1. same error :

      ** Agent Port Check completed successfully.**
      Validated the agent port :- —-3872
      shared agent value is :false
      Agent Mode is None
      servicname is:Oracleagent13c2Agent
      service cmd is:cmd /c D:agent13agent_13.2.0.0.0binnmesrvops create Oracleage
      nt13c2Agent D:agent13agent_13.2.0.0.0binnmesrvc.exe auto
      SEVERE:Create service for service name:Oracleagent13c2Agent has failed.
      Agent configuration has failed

      Did you get it working ?

      1. Hi,
        I know a bit of time passed by after your comment, but have you checked is microsoft distribuitable c++ 2010 is installed on your machine?
        The problem seems to be related to the miss of a dll (MSVCR100.dll)

  12. Hi all,
    Did someone have solution for the issue: Heartbeat Status : OMS responded illegally [ERROR- Failed to update Target type Metadata]
    ??
    Regards

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top