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 ( 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 =

 Platform = Microsoft Windows (32-bit)


Version =

 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=


 === 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/

File saved as /u03/software/agent12c_win_x64/

Downloading /u03/software/agent12c_win_x64/

File saved as /u03/software/agent12c_win_x64/

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

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


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


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

Agent 12c Deploy Windows 11


agentDeploy.bat RESPONSE_FILE=E:\app\oracle\agent\\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\\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!

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

So do I click on the “Close the program” or let it go?

Click on “Close the program” the deployment will continue in the background

Thanks! Do you have a blog post on how to fill out the SQL Server Target Sheet?

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?

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

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!!!!!

How to find EM_UPLOAD_PORT using emcli


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



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.

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

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 ?

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

unfortunately, I still have an error :
Agent deployment failed

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.


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”

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

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

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 Platform: Linux
Windows Agent:


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

D:oracleoms>echo off
Agent deployment started on host :

Creating installation base directory …
“Command D:oraclePsExecPSToolspsexec.exe \ -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 \ -u oracle -p ****** cmd.exe /c mkdir D:oracleomsagent12cADATMP_–_–

PsExec v2.2 – Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals –

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

PsExec could not start cmd.exe on

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

Thank you for your agent battle post! Save me an evening 🙂

Perfect!!! Many tips I only found here in this blog! Working for my side!

My agent configuration failed, can you help?

Writing the following contents into C:agent13cagent_13.
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:
Validating oms host & port with url:
The status is 1
Validated the oms host and port :-—-4889
Validated the agent port :- —-3872
shared agent value is :false
Agent configuration has failed

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. create Oracleage
nt13c2Agent D:agent13agent_13. auto
SEVERE:Create service for service name:Oracleagent13c2Agent has failed.
Agent configuration has failed

Leave a Reply

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

What can CarajanDB do for you?