The majority of Enterprise Manager 12c Cloud Control agent installations are pretty straight forward, just do the usual checks, ensuring firewalls are open etc. and then deploy from the EM console. The Windows installations are not as straight forward these days, as the deployment method uses SSH connectivity which requires the installation and configuration of Cygwin as a pre-requisite 🙁 …this is time consuming, confusing at times (if you’ve not done it before), and isn’t needed thereafter, so this post outlines an alternative and quicker way of rolling out the agent to Windows machines, using the silent install method…
The example below is based around my EM12c OMS running from an Oracle Linux 6.4 machine (VM0112), with the agent being deployed to a Windows Server 2003 x64 (64-bit) machine (VM0201).
First of all, you need to make sure the software library has already been configured in EM12c. I’d imagine most people at this stage have this setup already, but if not take a look here.
Check software availability using EMCLI from OMS
We need to connect to the EM repository using EMCLI and check which agents are available i.e. images that have been downloaded and applied:
export OMS_HOME=/u01/app/oracle/product/middleware/em12cr3/oms export AGENT_HOME=/u01/app/oracle/product/agent12c/core/12.1.0.3.0 export JAVA_HOME=$AGENT_HOME/jdk
Login as the SYSMAN user:
$OMS_HOME/bin/emcli login -username=sysman -password=****** Login successful
Fetch a list of agent software available from the the repository:
$OMS_HOME/bin/emcli get_supported_platforms ----------------------------------------------- Version = 12.1.0.3.0 Platform = Linux x86-64 ----------------------------------------------- Platforms list displayed successfully.
In this example, you can see I only have the agent software available for Linux. If you already have the software, ignore the next section and move onto building the image.
Download the Microsoft agent software
I won’t go into too much detail about how to do this, but you need to ensure you’re My Oracle Support connection has been configured in EM12c, then navigate to:
Setup > Extensibility > Self Update > Agent Software
From here you can check for the latest updates and download the required software. In this case, I’m after the latest ‘Microsoft Windows x64 (64-bit)’, which at the time of writing is version 12.1.0.3.0. Screenshots as below…
Once the download has completed and been applied to the software library, go back to your EMCLI session, run a synchronize command and check again:
$OMS_HOME/bin/emcli sync Synchronized successfully $OMS_HOME/bin/emcli get_supported_platforms ----------------------------------------------- Version = 12.1.0.3.0 Platform = Linux x86-64 ----------------------------------------------- Version = 12.1.0.3.0 Platform = Microsoft Windows x64 (64-bit) ----------------------------------------------- Platforms list displayed successfully.
Build an image for the agent
My software library simply sits under /swlib on my OMS machine. I’m going to create a sub-directory here for this particular agent, then generate a zip file that can be used to deploy the agent locally from my Windows x64 server.
mkdir /swlib/win_x64_agent export ZIP_LOC=/usr/bin/zip
NOTE: It’s important to set ZIP_LOC here, otherwise you’re likely to get an ‘execution failed’ message during the build (MOS 1590393.1).
Again using EMCLI, run the following command to generate a zip file (checking the platform and version):
$OMS_HOME/bin/emcli get_agentimage -destination="/swlib/win_x64_agent" -platform="Microsoft Windows x64 (64-bit)" -version=12.1.0.3.0 === Partition Detail === Space free : 18 GB Space required : 1 GB Check the logs at /u01/app/oracle/product/middleware/gc_inst/em/EMGC_OMS1/sysman/emcli/setup/.emcli/get_agentimage_2014-02-06_10-21-17-AM.log Downloading /swlib/win_x64_agent/12.1.0.3.0_AgentCore_233.zip File saved as /swlib/win_x64_agent/12.1.0.3.0_AgentCore_233.zip Downloading /swlib/win_x64_agent/12.1.0.3.0_PluginsOneoffs_233.zip File saved as /swlib/win_x64_agent/12.1.0.3.0_PluginsOneoffs_233.zip Downloading /swlib/win_x64_agent/unzip File saved as /swlib/win_x64_agent/unzip Agent Image Download completed successfully.
Now you can copy the ‘12.1.0.3.0_AgentCore_233.zip’ file across to your Windows server where you want to install the agent (using something like FileZilla or WinSCP):
Unzip the contents to a temporary directory like: D:\temp\12.1.0.3.0_AgentCore_233
Update installation files
Edit the agent response file (agent.rsp) accordingly:
# OMS host name OMS_HOST=VM0112.vbox # OMS upload port EM_UPLOAD_PORT=4904 # Password for registering new agents AGENT_REGISTRATION_PASSWORD=password1 # Base installation directory AGENT_BASE_DIR=D:\app\oracle\product\agent12c # Instance home directory AGENT_INSTANCE_HOME=D:\app\oracle\product\agent12c\agent_inst # Agent communication port AGENT_PORT=3872 # Starts the agent after the install b_startAgent=true # Oracle home name s_agentHomeName=agent12cR3 # Fully qualified host name where agent is to be installed ORACLE_HOSTNAME=VM0201.vbox
Save these changes.
If you’re not sure on the ports, you can check these details by looking at the following file on your OMS:
$OMS_HOME/install/portlist.ini
…or by running the following emctl command:
$OMS_HOME/bin/emctl status oms -details
If you’ve got loads of Windows agents to deploy, then it’s probably worth editing the agent.rsp file at source instead (editing the copy within the zip file on the OMS), but I didn’t bother here as there were only a few to deploy.
Optionally (if not using DNS for example), add an entry into your hosts file for the OMS (C:\Windows\system32\drivers\etc\hosts)
# Oracle Enterprise Manager server 192.168.28.112 VM0112.vbox VM0112
Check network port access
Next , check that the local Windows Firewall is either disabled or allows connectivity to the OMS server via the upload and agent ports (4904,3872 in this example). In addition, make sure there are no other firewalls blocking connectivity. You can do this tools like telnet, PortQry or PowerShell. With recent versions of PowerShell, there is a Test-NetConnection cmdlet which does the job nicely…
PS C:\Users\oracle> Test-NetConnection -ComputerName VM0112.vbox -Port 3872 ComputerName : VM0112.vbox RemoteAddress : 192.168.28.112 RemotePort : 3872 InterfaceAlias : Internal SourceAddress : 192.168.28.201 PingSucceeded : True PingReplyDetails (RTT) : 5 ms TcpTestSucceeded : True PS C:\Users\oracle> Test-NetConnection -ComputerName VM0112.vbox -Port 4904 ComputerName : VM0112.vbox RemoteAddress : 192.168.28.112 RemotePort : 4904 InterfaceAlias : Internal SourceAddress : 192.168.28.201 PingSucceeded : True PingReplyDetails (RTT) : 4 ms TcpTestSucceeded : True
Install the agent
Finally, execute the following batch file to deploy the agent from an Administrator Command Prompt (remembering to update ORACLE_HOSTNAME accordingly in your .rsp file):
agentDeploy.bat RESPONSE_FILE=D:\temp\12.1.0.3.0_AgentCore_233\agent.rsp
NOTE: If you hit the “Invalid invocation. AGENT_BASE_DIR is mandatory.” error, you’ll need to edit the agentDeploy.bat script itself to include the following variable there too:
set agentBaseDir=D:\app\oracle\product\agent12c
Progress updates can be monitored through the Command Prompt window.
Here is the output from an 12.1.0.4.0 agent deployment as an example:
You might see an error like the one below part way through the install. It’s nothing to worry about, just a permissions issue which can be safely ignored. So just close the window by clicking on the ‘X’:
That’s it, agent deployed! You should see the host and agent targets registered in Enterprise Manager shortly 🙂
You can check the status of the agent by running the following emctl command:
set AGENT_HOME=D:\app\oracle\product\agent12c %AGENT_HOME%\agent_inst\bin\emctl status agent
References:
Installing Oracle Management Agent in Silent Mode
Installing Cygwin and Starting the SSH Daemon
I ran into AGENT_BASE_DIR error and upon further reserach, I found the following. Please modifty uour posting to include this additional infor.
“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 following error.
Invalid invocation. AGENT_BASE_DIR is mandatory.
What helps is an entry in the agentDeploy.bat itself”
set agentBaseDir=E:\app\oracle\agent
courtesy: http://www.carajandb.com/en/blogs/blog-swinkler-en/194-oem-12c-agent-deploy-on-windows-no-problem-without-cygwin
Hello there,
Thanks for the excellent post. Just an addition to complement your work. You can add that the agentDeploy.bat file has to be run in an Administrator Command Prompt logged on as a user who is a member of Administrators group. I believe it is trivial but would help someone who runs into the following error.
INFO: SEVERE:Create service for service name:Oracleagent12cR4Agent has failed.
Thanks
If the agent service is already installed – you need to delete it first (using sc delete Oracleagent12cR4Agent) or change the name of the agent service (not recommended)
Hope it helps
Great Post .
Sometimes the agent’s installed manually will not be visible on OMS.
Execute following to make the agent visible on OMS
emctl config agent addinternaltargets
Great! Got it working with the latest Agent 13.2 for the new (Oct 2016) Cloud Control.
Very important to install telnet client on the Windows host, and check the access to OMS (“telnet omshost 4904”).
Also, start the cmd.exe as administrator before starting the agent install.
Thanks a lot!