10 Zirous - ODI Agents
Transcript of 10 Zirous - ODI Agents
8-1
10Oracle Data IntegratorAgents
8-2
Understanding Agents
8-3
Local (No Agent) vs. Agent
• The GUI acts as a local agent• Pros:
• No need to start an agent• All in one component
• Cons• Not taking advantage of the distributed architecture• When you stop the GUI, you loose the Agent
8-4
Purpose of the Agent
• The agent is the component that orchestrates the processes.
• The Agent is the component that will• Finish the code generation (based on the context selected for
the execution of the scenarios)• Establish the connection with the different databases• Send the generated code to the different databases• Retrieve the return code from the databases or operating
system• Update the repository with the return codes and processing
statistics
8-5
Different Types of Agents
• You can start the agent in different “modes” that will have different behaviors• Listener Only: this agent is started with the bin\agent.bat
script (or agent.sh on Unix)• Listener and Scheduler: this agent is started with the bin\
agentscheduler.bat (or agent.sh on Unix). • Note: Scheduler agents will have to connect to the
repository to retrieve the schedule. Check out later in this presentation how to update the snpparams.bat (or .sh) file to establish this connection
8-6
Agents Installation and Configuration
8-7
Agent Location
• The agent has to be in a central location so that it can access• All databases (source and target)• All database utilities (to load/unload for large volumes of data)• The ODI Repository (Master and Work Repository)
• Typical location is on the target server• It is possible to install several agents:
• either on the same machine (different ports) • or on different machines
8-8
Agent Installation
• Agents can be installed with the graphical setup• Agents can be installed manually: simply copy over the \bin, \
drivers and \lib directories • Once installed, an agent can be set as a service on a Windows
machine, run the script agentservice.bat. • Installation as a listener only:
• Agentservice –i –a AgentName AgentPort
• Installation as a listener and scheduler:
• Agentservice –i –s AgentName AgentPort
• AgentName is only mandatory for scheduler agents or agents used for load balancing
• AgentPort is only mandatory if the port is different from the default (20910)
8-9
Agent Configuration
• For scheduler agents only, you will have to update the file odiparams.bat (or .sh) in the bin directory• Update the parameters to connect to the Master repository• Encrypt passwords with the following command (from a DOS
or Unix prompt:• Agent encode MyPassword
(Replace MyPassword with your password)
• Define the agents in Topology (see following section)
8-10
Sample ODIPARAMS file
• JDBC driver to access the Master Repository:• set ODI_SECU_DRIVER=oracle.jdbc.driver.OracleDriver
• JDBC URL to access the Master Repository:• set ODI_SECU_URL=jdbc:oracle:thin:@1.128.5.52:1521:ORADB
• Database Username to access the Master Repository:• set ODI_SECU_USER=odi1013m
• Database Password to access the Master Repository:• set ODI_SECU_ENCODED_PASS=b9yHYSNunqZvoreC6aoF0Vhef
• Name of the Work Repository:• set ODI_SECU_WORK_REP=WORKREP1
• ODI Username for ODI Security:• set ODI_USER=SUPERVISOR
• ODI Password for ODI Security:• set ODI_ENCODED_PASS=LELKIELGLJMDLKMGHEHJDBGBGFDGGH
8-11
Agents Definition in ODI Topology
8-12
1. Right-click Agents in the Physical Architecture view
2. Select Insert Agent3. Fill in the agent’s parameters:
1. Agent Name (MACHINE_PORT)2. Host Name or IP address3. Agent Port
4. Click the Test button if the agent is already running
5. Optional load balancing:• Set the Maximum number of
sessions.• Define the linked agents on the
Load Balancing tab.
Creating a Physical Agent
8-13
Important Note
Always test the
connection to check
that the agent is
correctly
configured.
8-14
Important Note
One physical
agent per agent
started.
8-15
1. Go to the Logical Architecture view
2. Right-click the Agents node.3. Click Insert Logical Agent4. Fill in the agent Name5. Click OK.
You can associate this logical agent with physical agents here.
Creating a Logical Agent