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.
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.
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.
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.
Remove the Hash and add a valid value for <value unspecified>.
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.
What helps is an entry in the agentDeploy.bat itself.
set agentBaseDir=E:\app\oracle\agent
Deploy
Now we can execute the agentDeploy.bat as administrator and by declaring the complete path to the response file.
Example:
agentDeploy.bat RESPONSE_FILE=E:\app\oracle\agent\12.1.0.3.0_AgentCore_233\agent.rsp
The stuttering part follows. We reach an appcrash warning. But deployment would’nt stop by clicking on “Close the program”.
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 deployment completed successfully.
You should find the running agent in the Enterprise Manager now.
Have fun!
Awesome!
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
Hello SAMPATH,
I’m not sure at the moment … try these commands:
$omsvfy show ports
$omsvfy show opmn
$emctl status oms -details
Regards
Sebastian
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.
Thanks
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 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:
Hi Mohammed, please check your username and password carefully. Pay attention to case sensitivity for password and username also.
Regards,
Sebastian
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?
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
Were you able to find the cause? I am getting the exact same issue.
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
same here.
Did you get it working ?
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 ?
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)
I got same error.
Hi all,
Did someone have solution for the issue: Heartbeat Status : OMS responded illegally [ERROR- Failed to update Target type Metadata]
??
Regards