ODI 12c: Setting up Standalone Agent

Warning! This post is written by using ODI 12.1.2, in version ODI 12.1.3 there are changes in agent setup. A post about ODI 12.1.3 will be written soon.

Hello all,

In this post I am going to tell you how you can set up a standalone agent for ODI 12c. Oracle provided a new tool for configuring our ODI 12c setup elements, such as WLS, Console, Agent, RAC. But to use this configuration manager you will need to create some schemas for OPSS, AUDIT, AUDIT VIEWER and luckily we have RCU for this task, you may do it manual also. But I prefer automation and I will describe in this post how you do it with RCU.

Important! Notice that even if you have a database which can work with ODI 12c, it can be unsuitable with RCU. I faced this problem, I had Oracle 11.2.0.3 for my ODI repository but RCU needed a newer version, so I installed ODI 12c database.

Remember! The paths I will give in this post are absolute paths for my installations, your path may change depending on where you have installed ODI 12c.

Shortly we are going to do

  1. Create required repository and schemas by using RCU
  2. Create a domain to run agent by using Configuration Manager
  3. Define physical agent on ODI Studio
  4. Run agent
  5. Test it from ODI Studio

1. Creating necessary schemas

RCU

RCU

You will find RCU tool in /home/oracle/Oracle/Middleware/Oracle_Home/oracle_common/bin for Linux OS and C:\Oracle\Middleware\Oracle_Home\oracle_common\bin for Windows OS. File name is RCU.cmd or RCU.sh depending on OS. Start the RCU, select “Create Repository” and continue.

RCU

RCU

Fill all the spaces for the database you want to connect, be sure to enter full service name. In screenshot you will see it is filled as “orcl122” but full service name is “orcl122.localdomain”. I took the screenshot a bit early. Don’t let it trick you.

RCU

RCU

You will need to select schemas for RCU to create, Oracle Platform Security Services, Audit Services, Audit Services Viewer must be selected. When you check Audit Services, Audit Services Viewer and Audit Services Append will be checked automatically. Also in this step you can choose RCU to create Master and Work Repository for you. Since I have already created my repositories long ago I will skip it.

RCU

RCU

Set passwords for schemas that are going to be created. I will choose to set same password for every schema.

RCU

RCU

Set tablespace for schemas. If you leave it default, RCU will name them with a prefix which is set on third step. If tablespaces does not exist RCU will create them for you.

RCU

RCU

Now RCU will show you a summary of settings, check the list if it seem fine click on “Create”. It will take some time to create schemas, tablespaces, tables then it will show you a report. And you are ready to close RCU and continue with Configuration Manager.

2. Creating Domain for Agent with Configuration Manager

Conf Man

Conf Man

Start Configuration Manager, you can find it in /home/oracle/Oracle/Middleware/Oracle_Home/oracle_common/common/bin on Linux OS and in C:\Oracle\Middleware\Oracle_Home\oracle_common\common\bin in Windows OS. File name is config.sh or config.cmd depending on OS. Select “Create a new domain” and select where you want to put domain’s files. I will leave it as it is.

Conf Man

Conf Man

Next page is Template Selection page, we will need to check “Oracle Data Integrator – Standalone Collocated Agent” and when you check this option there will be two more options checked automatically.

Conf Man

Conf Man

Next step will want you to create a login for WLS. Password should be at least eight characters, including at least one letter and one number.

Conf Man

Conf Man

Select Domain Mode and JDK, I will leave them default.

Conf Man

Conf Man

Now we will select RCU Data option, since we created necessary schemas with RCU. Enter connection information for the database schema where RCU worked on before. Then click on “Get RCU Configuration” and wait for Configuration Manager to read from database. Then click “Next” when it is available.

Conf Man

Conf Man

Enter all passwords and schemas we have created before. Also you will need to fill database connection information again.

Conf Man

Conf Man

Configuration Manager will check for connections if they are working.

Conf Man

Conf Man

Now we need to select components which we are going to need, In this case we will only select “System Components” and “Deployments and Services” and continue.

Conf Man

Conf Man

Set name for the agent I will use OracleDemoAgent for this demo.

Config10

Conf Man

Next select the component from dropdown list, which we have created one step ago. Set listener information you can leave port as 21910 it is default for configuration manager. Fill in supervisor user information. And continue, for this demo we will leave settings default on other steps then click on “Create” on last step.

Conf Man

Conf Man

Creation will take sometime after that click on “Next” and “Finish” and we are almost ready to run the agent.

3. Defining Physical Agent in ODI Studio

Run ODI Studio, and login to repository, where you have Topology rights. We will need this rights to create agents.

Topology

Topology

Go to Topology tab, in Physical Architecture accordion, right click on “Agents” and click on “New Agent” a new window will appear on right panel.

Topology

Topology

Name the agent as the same name as we selected in Configuration Manager for the Agent component. When we try to run agent, it will search for its name in Master Repository so names should match exactly. Set the port as you set in Configuration Manager. Save the agent.

4. Start up the agent

Open a terminal/command line window and go to the domain folder that you have created. Under this folder you will find bin folder. For me this folders path is /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/demo_domain/bin in Linux OS or C:\Oracle\Middleware\Oracle_Home\user_projects\domains\demo_domain\bin in Windows OS. Run the command agent with NAME parameter as following, or as you can see in screenshot.  agent -NAME=OracleDemoAgent

Command Line

Command Line

Agent will start to rise up, it will connect to Master Repository, check for its name, read other configurations and start the service and listener. When agent is fully started, command line will seem like screenshot below.

Command Line

Command Line

5. Test the agent from ODI Studio

Now we have the agent up and running, also we have a definition for it in our Master Repository and a GUI in ODI Studio. It’s time to test if ODI Studio can connect to agent service. Go to Topology tab and open the agent we have created. There you will see a button written “Test” click on it. If everything is right until here you should see the screen below.

Test Agent

Test Agent

 

We have completed everything now. Agent is up and ready to run your jobs on databases for you.

Thanks for reading and please do not hesitate to write your comments or ask questions in section below.

 

 

 

13 thoughts on “ODI 12c: Setting up Standalone Agent

  1. Sri says:

    Thanks for all the steps in detail. Can you also provide the detailed steps for java ee agent for 12c.

    • canburakt says:

      Hello Sri,

      I did not tried Java EE agent yet, but as soon as I try it. I will write a post on setting up environment and Java EE agent.

      Thanks for reading.

  2. RamuNaidu says:

    i can’t find rcu.cmd in C:\Oracle\Middleware_1\Oracle_Home\oracle_common\bin in location

    • canburakt says:

      Hi,

      I am not sure why you are not able to find the file. I’ll check as soon as possible and write another reply here.

  3. Sociallei says:

    Nice post . Very help ful and informatic. You made it really useful and helpful to us by spreading the awareness articles. Thanks for the help.

  4. halil says:

    Hi,

    Thank you for your helpful post. I need the standalone agent working as windows service at the background. When I close the commnad line, the agent also closes automatically. Do you have any idea about that issue?

  5. nagaraj says:

    HI,
    i have created master repository using ODI studio but not using RCU . in this case what is the schema owner name that we need to provide while configuring standalone agent under database configuration type section. i tried to give the schema that i have mapped as master repository using ODI studio. but i it is throwing exceptions. There is one more option provided like manual configuration ,tried this one as well but failed to create the domain. kindly let me know what exactly do i have to give in schema owner if master repository is created using ODI but not using RCU.

    • canburakt says:

      Hello,

      As you can see in quote I also created Master repository in ODI Studio. And I did not get any exception. If you can share exception message I may help you.

      Also in this step you can choose RCU to create Master and Work Repository for you. Since I have already created my repositories long ago I will skip it.

      • nagaraj says:

        HI Canburakt,

        Firstly Thanks for the reply,

        The error im getting is
        CFGFWK-64219:failed to bind the schema component data
        Error message: com.oracle.cie.rcu.ComponentSchemaException: SQLException thrown
        at com.oracle.cie.rcu.ComponentSchemaInfoFactory.getComponentSchemaInfos(ComponentSchemaInfoFactory.java:56)
        at com.oracle.cie.domain.gui.jdbc.ShadowTableConfigurationPanel$BindThread.run(ShadowTableConfigurationPanel.java:707)
        Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist

        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
        at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
        at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
        at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:210)
        at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:30)
        at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:762)
        at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:925)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1111)
        at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1309)
        at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:422)
        at com.oracle.cie.rcu.ComponentSchemaInfoFactory.getComponentSchemaInfos(ComponentSchemaInfoFactory.java:34)
        … 1 more

        This is the error i encountered while creating domain for standalone agent.

        schema owner : nagaraj

        this is the schema i have registered using ODI studio.

      • nagaraj says:

        HI Canburakt,

        i have few more queries on master repository creation,

        DEV_STB is the service table schema that is created if we use RCU .

        what is service table schema name when the repository is created through ODI?

        • canburakt says:

          Hello,

          It has been some time since I wrote this blog post. Let me a few days to try to setup an agent again, and see & remember the process. I hope I can write a reply on Tuesday evening. If I fail, you can always check OTN for better answers.

Leave a Reply

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