Sometimes it may come in handy to have multiple agents running on the same server, e.g. if you want to use a particular agent to execute scenarios for a particular project.
I had a requirement recently where users were dropping Excel files into shared folders on a server. We had one folder for Dev, one for UAT, and one for PRD. ODI would then pick up these files and load them into the corresponding environment. As we just had the one file server for all three environments we had to install multiple agents on this server.
To set up mutliple agents on one server take the following steps:
Create new folder in oracledi dir, e.g. prd_bin
Copy files agent.bat, agentscheduler.bat, agentservice.bat, agentstop.bat, agentweb.bat, odiparams.bat, startscen,bat from bin folder to new folder
Update odiparams.bat with information for work repository you want to connect to.
Create physical agent in Topology Manager
Create context and assign new physical agent to context in Topology Manager
Finally create new Windows service for agent, e.g.
oraclediagent_prd>agentservice -i -s Sched_Agent_PRD 20908