ODI 11g Agent as Windows Service

Configure ODI 11g Agent as Windows Service :

Hey Guys, I was testing the ODI Agent as windows service using YAJSW method given in oracle
blog. Today I will try to explain it with the help of more visuals. In my next post I will try to explain the OPMN configuration which is quite complex than this approach. So you just have to download the zip file from
here.
Now unzip it and start the ODI standalone agent which is already configured by you. Don’t forget to test the agent is successful or not.
Upon successful open task manager and proceed as given in below images.
ODI 11g Agent as Windows Service
Now you have got the PID. Open command prompt and go to the location where you have the unzipped folder. Call the genConfig.bat under bat folder and provide the PID as follows.
> genConfig.bat 4332
Screen print given below.
ODI 11g Agent as Windows Service

Above bat file will create the wrapper.conf file under conf folder. No need to do any changes as it will take the configuration from your odiparams.bat file. The only thing you need to worry about is the ‘comma’. Just give a backslash before comma for all encoded password. For example :   jkj\,ds12132sdsdsd
You can change some values as given in the red rectangle. Whatever you provide here, will be shown in windows service.
ODI 11g Agent as Windows Service
Now save everything and call the runConsole.bat under the bat folder in command prompt.
ODI 11g Agent as Windows Service
You can see the agent is now running. Test the same in ODI Studio for successful status.
ODI 11g Agent as Windows Service
Yes it is. If you are interested to install it as service then call the installService.bat under bat folder. After calling the bat file you might see the message given in below screenshot.
ODI 11g Agent as Windows Service
Well after this message I thought something happened behind the scene. So I tried to start the service in services window and got some errors. Anyway thats fine. Lets restart the system and start the service again.
ODI 11g Agent as Windows Service
Open ODI Studio and test the agent. Definitely you must be getting ” Agent Successful” status.:D
Thats all for today. Let me know if you face any issues.

About Bhabani 86 Articles
Bhabani has 12 plus years of experience in Data warehousing and Analytics projects that has span across multiple domains like Travel, Banking and Financial, Betting and Gaming Industries. Solution areas he focuses on designing the data warehouse and integrating it with cloud platforms like AWS or GCP. He is also a Elite level contributor at OTN forum more than 9 years. He loves to do experiment and POC on different integration tools and services. Some of his favorite skills are Redshift, Big Query, Python, Apache Airflow, Kafka, HDFS, Map Reduce ,HIVE, Habse, Sqoop, Drill, Impala.

25 Comments

  1. Hi,

    I am trying to implement the above concept but in first step when i run the command getconfig.bat <> it is throwing an error like “”cannot find the process <>

    can you please guide me regarding this.

  2. Hello Bhabani.
    thanks for you post and its been great help.
    i went thru all the steps you mentioned and i got stuck in running runConsole.bat process. here is the error
    Dec 11, 2012 2:13:14 PM org.rzo.yajsw.wrapper.FileUtils getFiles
    WARNING: No files found for ..\lib\scripting\*.jar
    INFO|wrapper|”AGENT”|12-12-11 14:13:14|working dir C:\Oracle\Middleware\Oracle_ODI1\oracledi\agent\bin
    INFO|wrapper|”AGENT”|12-12-11 14:13:14|create script: scripts/trayMessage.gv
    INFO|wrapper|”AGENT”|12-12-11 14:13:14|found script scripts/trayMessage.gv
    INFO|wrapper|”AGENT”|12-12-11 14:13:14|started process with pid 2728
    INFO|wrapper|”AGENT”|12-12-11 14:13:14|set state RESTART_START->RUNNING
    INFO|2728/5|”AGENT”|12-12-11 14:13:16|[INFO] StandardFileSystemManager – Using “C:\DOCUME~1\d521901\LOCALS~1\Temp\vfs_cache” as temporary files store

    INFO|2728/5|”AGENT”|12-12-11 14:13:16|platform null
    INFO|2728/5|”AGENT”|12-12-11 14:13:16|error finding main method in class: -Djava.security.policy=server.policy : -Djava.security.policy=server.policy
    INFO|2728/5|”AGENT”|12-12-11 14:13:16|java.lang.ClassNotFoundException: -Djava.security.policy=server.policy
    INFO|2728/5|”AGENT”|12-12-11 14:13:16|no java main method found -> aborting
    INFO|wrapper|”AGENT”|12-12-11 14:13:16|Trigger found: Exception in line:
    INFO|wrapper|”AGENT”|12-12-11 14:13:16|java.lang.ClassNotFoundException: -Djava.security.policy=server.policy
    INFO|2728/5|”AGENT”|12-12-11 14:13:16| at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    INFO|wrapper|”AGENT”|12-12-11 14:13:16|start script scripts/trayMessage.gv
    INFO|2728/5|”AGENT”|12-12-11 14:13:16| at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    INFO|wrapper|”AGENT”|12-12-11 14:13:16|end script scripts/trayMessage.gv
    INFO|2728/5|”AGENT”|12-12-11 14:13:16| at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
    INFO|2728/5|”AGENT”|12-12-11 14:13:16| at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    INFO|2728/5|”AGENT”|12-12-11 14:13:16| at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    INFO|2728/5|”AGENT”|12-12-11 14:13:16| at org.rzo.yajsw.app.WrapperManagerImpl.init(WrapperManagerImpl.java:293)
    INFO|2728/5|”AGENT”|12-12-11 14:13:16| at org.rzo.yajsw.app.WrapperManagerProxy.getWrapperManager(WrapperManagerProxy.java:51)
    INFO|2728/5|”AGENT”|12-12-11 14:13:16| at org.rzo.yajsw.app.AbstractWrapperJVMMain$1.run(AbstractWrapperJVMMain.java:45)
    INFO|2728/5|”AGENT”|12-12-11 14:13:16| at org.rzo.yajsw.app.AbstractWrapperJVMMain.preExecute(AbstractWrapperJVMMain.java:38)
    INFO|2728/5|”AGENT”|12-12-11 14:13:16| at org.rzo.yajsw.app.WrapperJVMMain.main(WrapperJVMMain.java:36)
    INFO|wrapper|”AGENT”|12-12-11 14:13:16|Controller State: WAITING -> PROCESS_KILLED
    INFO|wrapper|”AGENT”|12-12-11 14:13:16|too many restarts
    INFO|wrapper|”AGENT”|12-12-11 14:13:16|set state RUNNING->STATE_ABORT
    INFO|wrapper|”AGENT”|12-12-11 14:13:16|process not in state RUNNING -> Delaying stop
    INFO|wrapper|”AGENT”|12-12-11 14:13:16|set state STATE_ABORT->IDLE
    INFO|wrapper|”AGENT”|12-12-11 14:13:16|Shutting down Wrapper
    WARNING|wrapper|”AGENT”|12-12-11 14:13:16|[id: 0x00652110, /127.0.0.1:3490 => /127.0.0.1:15002] exception java.io.IOException: An existing connection
    was forcibly closed by the remote host
    WARNING|wrapper|”AGENT”|12-12-11 14:13:16|[id: 0x00652110, /127.0.0.1:3490 :> /127.0.0.1:15002] disconnected
    Press any key to continue . . .

    can you please post the details of you wrapper.conf file? also what do i put in main class below
    # Java Application main class
    wrapper.java.app.mainclass=-Djava.security.policy=server.policy

    thanks in advance.
    Sridhar.

    • My 1st question will be, are you able to run the standalone agent successfully without going through above process ??

      I have sent you my conf file to your mail id.

  3. INFO|wrapper|”AGENT”|13-03-25 15:32:22|working dir C:\Windows
    INFO|wrapper|”AGENT”|13-03-25 15:32:22|started process with pid 4544
    INFO|wrapper|”AGENT”|13-03-25 15:32:22|restart process due to default exit code rule
    INFO|wrapper|”AGENT”|13-03-25 15:32:22|restart internal RUNNING
    INFO|wrapper|”AGENT”|13-03-25 15:32:22|stopping process with pid/timeout 4544 45000
    INFO|wrapper|”AGENT”|13-03-25 15:32:23|process exit code: 1
    Mar 25, 2013 3:32:28 PM org.rzo.yajsw.wrapper.FileUtils getFiles
    WARNING: No files found for ..\lib\.
    Mar 25, 2013 3:32:28 PM org.rzo.yajsw.wrapper.FileUtils getFiles
    WARNING: No files found for ..\drivers\.
    Mar 25, 2013 3:32:28 PM org.rzo.yajsw.wrapper.FileUtils getFiles
    WARNING: No files found for ..\..\..\odi_misc\*.jar
    Mar 25, 2013 3:32:28 PM org.rzo.yajsw.wrapper.FileUtils getFiles
    WARNING: No files found for ..\lib\oracle.odi-agent-jse_11.1.1.jar
    Mar 25, 2013 3:32:28 PM org.rzo.yajsw.wrapper.FileUtils getFiles
    WARNING: No files found for ..\..\..\setup\manual\oracledi-sdk\oracle.odi-sdk-jse_11.1.1.jar
    Mar 25, 2013 3:32:28 PM org.rzo.yajsw.wrapper.FileUtils getFiles
    WARNING: No files found for ..\..\..\modules\oracle.jps_11.1.1\jps-manifest.jar
    Mar 25, 2013 3:32:28 PM org.rzo.yajsw.wrapper.FileUtils getFiles
    WARNING: No files found for ..\drivers\*.jar
    Mar 25, 2013 3:32:28 PM org.rzo.yajsw.wrapper.FileUtils getFiles
    WARNING: No files found for ..\lib\scripting\*.jar
    INFO|wrapper|”AGENT”|13-03-25 15:32:28|working dir C:\Windows
    INFO|wrapper|”AGENT”|13-03-25 15:32:28|started process with pid 5372
    INFO|wrapper|”AGENT”|13-03-25 15:32:28|too many restarts
    INFO|wrapper|”AGENT”|13-03-25 15:32:28|process not in state RUNNING -> Delaying stop
    INFO|wrapper|”AGENT”|13-03-25 15:32:28|Shutting down Wrapper
    WARNING|wrapper|”AGENT”|13-03-25 15:32:28|[id: 0x0616fdac, /127.0.0.1:27970 => /127.0.0.1:15002] exception java.io.IOException: An existing connection was fo
    WARNING|wrapper|”AGENT”|13-03-25 15:32:28|[id: 0x0616fdac, /127.0.0.1:27970 :> /127.0.0.1:15002] disconnected

    how can fix this ?

  4. Does the same process work for 11.1.1.6 as well??

    I tried following the same process, but while I was trying to run the command runConsole.bat, the service was not getting started and was getting restarted everytime.

    Let me know if you have the solutions for it.

  5. Hi,

    it’s really good.

    Could you tell me before we run the getConfig.bat file it is require to start the local agent using the following command prompt:

    D:\oracle\product\11.1.1\Oracle_ODI_1\oracledi\agent\bin>agent -NAME=localagent

    I am waiting for your kind reply

  6. Aside from doing it this way can you demonstrate the way oracle suggests to do it? I know both are great solutions. I just am stuck doing it the normal way and I can’t figure out where I have deviated.

  7. Hi Bhabani,

    I am getting only java.exe*32 in task manager.
    When I start standalone agent from usual path C:\oracle\product\11.1.1\Oracle_ODI_1\oracledi\agent\bin, I can see java.exe
    But not when I close this agent.
    I am getting Agent test failed message when I try to test it in ODI after successfully running runConsole.bat

    Could you please help me in this?

    Thanks
    Aditya

    • Question is not clear to me. I have added you in gmail to chat.
      Also forget about the windows service now. Just tell me are you able to start the local agent successfully?

  8. Hi.
    Why do we have to use a Java Wrapper to achieve this? If I am able to start an agent using the agent.bat command on cmd.exe. Can’t I simply start the command using the sc.exe program in windows? Could someone explain why a Java wrapper or opmn is needed?
    Thanks.

      • Hi Anmol,

        Just realised that it could have been created using windows sc.exe . Otherwise I was going to try this java wrapper. Did sc.exe worked for you? Can you please post the steps?
        Thanks!

        Regards,
        Sam

        • I tried doing it, but it gives me an error 1053 when i try to start that service. Perhaps i am missing something and need to explore more on this. Will need help from a windows expert on why this happens but the admins in my organization are equally baffled.

          Just so you know, i tried creating a service with the agent.bat command in binPath and parameters to the script in Section called parameters when you open the service using the services.msc

          Thanks
          Anmol.

      • You are required to run command prompt as administrator where you run sc commands.

        I created the service using
        sc.exe create localagent_agent1 …………. and giving relevant parameters

        I can see that the service has been created now, but when I try to start it using (sc.exe start localagent_agent1) ends up with the following error;

        [SC] StartService FAILED 1053:

        The service did not respond to the start or control request in a timely fashion.

        • Anmol and Saman- did you guys find the solution for sc.exe?

          Bhabani- Thank you very much for always posting important information.

          V

  9. Hi,

    I’m trying to implement the concept Odi Agent Windows Service, when execute runConsole.bat the ODI start and restart status:
    Below wrapper.log:
    WARNING|wrapper|”/AGENT/”|14-08-08 06:32:06|YAJSW: yajsw-stable-11.11
    WARNING|wrapper|”/AGENT/”|14-08-08 06:32:06|OS : Windows Server 2008 R2/6.1/amd64
    WARNING|wrapper|”/AGENT/”|14-08-08 06:32:06|JVM : Sun Microsystems Inc./1.6.0_45/C:\Program Files\Java\jdk1.6.0_45\jre/64
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:07|ahessian jmx service bound to port 15002
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:07|spawned system tray icon process with pid 11216
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:07|working dir E:\App\Oracle\product\11.1.1\Oracle_ODI_1_standalone\oracledi\agent\bin
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:07|started process with pid 8428
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:08|restart process due to default exit code rule
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:08|restart internal RUNNING
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:08|stopping process with pid/timeout 8428 45000
    WARNING|wrapper|”/AGENT/”|14-08-08 06:32:08|[id: 0x849185cc, /127.0.0.1:53550 => /127.0.0.1:15002] connected
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:08|process exit code: 1
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:13|working dir E:\App\Oracle\product\11.1.1\Oracle_ODI_1_standalone\oracledi\agent\bin
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:13|started process with pid 9056
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:14|restart process due to default exit code rule
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:14|restart internal RUNNING
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:14|stopping process with pid/timeout 9056 45000
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:14|process exit code: 1
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:19|working dir E:\App\Oracle\product\11.1.1\Oracle_ODI_1_standalone\oracledi\agent\bin
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:19|started process with pid 9188
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:20|restart process due to default exit code rule
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:20|restart internal RUNNING
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:20|stopping process with pid/timeout 9188 45000
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:20|process exit code: 1
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:25|working dir E:\App\Oracle\product\11.1.1\Oracle_ODI_1_standalone\oracledi\agent\bin
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:25|started process with pid 10468
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:26|restart process due to default exit code rule
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:26|restart internal RUNNING
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:26|stopping process with pid/timeout 10468 45000
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:26|process exit code: 1
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:32|working dir E:\App\Oracle\product\11.1.1\Oracle_ODI_1_standalone\oracledi\agent\bin
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:32|started process with pid 7808
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:32|restart process due to default exit code rule
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:32|restart internal RUNNING
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:32|stopping process with pid/timeout 7808 45000
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:32|process exit code: 1
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:38|working dir E:\App\Oracle\product\11.1.1\Oracle_ODI_1_standalone\oracledi\agent\bin
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:38|started process with pid 7280
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:38|too many restarts
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:38|process not in state RUNNING -> Delaying stop
    INFO|wrapper|”/AGENT/”|14-08-08 06:32:38|Shutting down Wrapper
    WARNING|wrapper|”/AGENT/”|14-08-08 06:32:38|[id: 0x849185cc, /127.0.0.1:53550 => /127.0.0.1:15002] exception java.io.IOException: An existing connection was forcibly closed by the remote host

    Could help me with why ODI reporting this scenario.
    Best Regards
    Rafael Cardoso

Comments are closed.