我當(dāng)時(shí)就是按照這個(gè)文章學(xué)會(huì)如何配置ODI的定時(shí)任務(wù)的。具體地址:http://www.dbform.com/html/2008/516.html
對(duì)于設(shè)置ODI的定時(shí)執(zhí)行場(chǎng)景,需要啟動(dòng)Scheduler Agent,在一個(gè)新的ODI安裝完畢之后,默認(rèn)的odiparams.bat文件中設(shè)置的是連接DEMO環(huán)境的數(shù)據(jù)庫連接配置,如果我們?cè)谧约旱臄?shù)據(jù)庫里創(chuàng)建了Master Repository和Work Repository,那么需要修改連接參數(shù)。
在我的測(cè)試環(huán)境中,我使用的是自己機(jī)器上Oracle 11g數(shù)據(jù)庫,實(shí)例名是orcl11g,則需要做如下修改:
set ODI_SECU_DRIVER=oracle.jdbc.driver.OracleDriver
set ODI_SECU_URL=jdbc:oracle:thin:@localhost:1521:orcl11g
set ODI_SECU_USER=snpm
set ODI_SECU_ENCODED_PASS=b9yX4CpBkdmaP8Y3mYbaoye2p
set ODI_SECU_WORK_REP=WORKREP1
set ODI_USER=SUPERVISOR
set ODI_ENCODED_PASS=hZypfAZQf.Yo8VWVI6HZzc
其中:
ODI_SECU_USER需要設(shè)置為創(chuàng)建Master Repository時(shí)候的用戶名,在這里是snpm。
ODI_SECU_ENCODED_PASS需要用agent實(shí)用程序加密一下,用法是agent encode %PASSWORD%。
ODI_SECU_WORK_REP設(shè)置為創(chuàng)建Work Repository時(shí)候起的名字。
ODI_USER默認(rèn)是SUPERVISOR,這是連接ODI的用戶名。
ODI_ENCODED_PASS默認(rèn)是SUNOPSIS,也需要用agent encode加密之后的值。
設(shè)置完畢,啟動(dòng)Scheduler Agent,會(huì)遇到下面的錯(cuò)誤:
java.lang.Exception: Agent is not declared in Topology Manager
我們還需要在Topology Manager -> Physical Architecture -> Agents里面創(chuàng)建一個(gè)Agent,填寫Agent的名字,監(jiān)聽的機(jī)器,端口。如果需要設(shè)置Schedule,還需要在Topology Manager -> Logical Architecture -> Agents里面再創(chuàng)建一個(gè)Agent,將剛才創(chuàng)建的Physical Agent和此Logical Agent綁定在一起。
然后,在Designer -> Projects -> Scenarios -> Scheduling中創(chuàng)建一個(gè)執(zhí)行計(jì)劃,之后再次啟動(dòng)Scheduler Agent就OK了。
C:\OraODI\oracledi\bin>agentscheduler “-port=20910″ “-NAME=myFirstAgent”
A JDK is required to execute Web Services with OracleDI. You are currently using a JRE.
OracleDI: Starting Scheduler Agent …
Starting Oracle Data Integrator Agent…
Version : 10.1.3.4.0 – 30/10/2007
Agent in scheduling mode
Number of items for scheduled executions:0
08/17/2008 02:58:09 PM(main): Server Launched
Aug 17, 2008 3:06:27 PM com.sunopsis.j.s a
INFO: Start Thread[1001@2008/08/17_03:06:27:000,5,main] @ Aug 17, 2008 3:06:27 PM
最后一行顯示了在Schedule中定義的計(jì)劃被執(zhí)行成功。
在Windows操作系統(tǒng)中可以把Agent程序設(shè)置為Service,通過以下命令設(shè)置,其中倒數(shù)兩個(gè)參數(shù)分別為Physical Agent Name和Agent Port:
agentservice.bat -i -s myFirstAgent 20910
運(yùn)行成功之后,將會(huì)產(chǎn)生OracleDI Agent Scheduler myFirstAgent這樣命名的Windows服務(wù)。
通過以下命令可以刪除創(chuàng)建的服務(wù):
agentservice.bat -r -s myFirstAgent
對(duì)于設(shè)置ODI的定時(shí)執(zhí)行場(chǎng)景,需要啟動(dòng)Scheduler Agent,在一個(gè)新的ODI安裝完畢之后,默認(rèn)的odiparams.bat文件中設(shè)置的是連接DEMO環(huán)境的數(shù)據(jù)庫連接配置,如果我們?cè)谧约旱臄?shù)據(jù)庫里創(chuàng)建了Master Repository和Work Repository,那么需要修改連接參數(shù)。
在我的測(cè)試環(huán)境中,我使用的是自己機(jī)器上Oracle 11g數(shù)據(jù)庫,實(shí)例名是orcl11g,則需要做如下修改:
set ODI_SECU_DRIVER=oracle.jdbc.driver.OracleDriver
set ODI_SECU_URL=jdbc:oracle:thin:@localhost:1521:orcl11g
set ODI_SECU_USER=snpm
set ODI_SECU_ENCODED_PASS=b9yX4CpBkdmaP8Y3mYbaoye2p
set ODI_SECU_WORK_REP=WORKREP1
set ODI_USER=SUPERVISOR
set ODI_ENCODED_PASS=hZypfAZQf.Yo8VWVI6HZzc
其中:
ODI_SECU_USER需要設(shè)置為創(chuàng)建Master Repository時(shí)候的用戶名,在這里是snpm。
ODI_SECU_ENCODED_PASS需要用agent實(shí)用程序加密一下,用法是agent encode %PASSWORD%。
ODI_SECU_WORK_REP設(shè)置為創(chuàng)建Work Repository時(shí)候起的名字。
ODI_USER默認(rèn)是SUPERVISOR,這是連接ODI的用戶名。
ODI_ENCODED_PASS默認(rèn)是SUNOPSIS,也需要用agent encode加密之后的值。
設(shè)置完畢,啟動(dòng)Scheduler Agent,會(huì)遇到下面的錯(cuò)誤:
java.lang.Exception: Agent is not declared in Topology Manager
我們還需要在Topology Manager -> Physical Architecture -> Agents里面創(chuàng)建一個(gè)Agent,填寫Agent的名字,監(jiān)聽的機(jī)器,端口。如果需要設(shè)置Schedule,還需要在Topology Manager -> Logical Architecture -> Agents里面再創(chuàng)建一個(gè)Agent,將剛才創(chuàng)建的Physical Agent和此Logical Agent綁定在一起。
然后,在Designer -> Projects -> Scenarios -> Scheduling中創(chuàng)建一個(gè)執(zhí)行計(jì)劃,之后再次啟動(dòng)Scheduler Agent就OK了。
C:\OraODI\oracledi\bin>agentscheduler “-port=20910″ “-NAME=myFirstAgent”
A JDK is required to execute Web Services with OracleDI. You are currently using a JRE.
OracleDI: Starting Scheduler Agent …
Starting Oracle Data Integrator Agent…
Version : 10.1.3.4.0 – 30/10/2007
Agent in scheduling mode
Number of items for scheduled executions:0
08/17/2008 02:58:09 PM(main): Server Launched
Aug 17, 2008 3:06:27 PM com.sunopsis.j.s a
INFO: Start Thread[1001@2008/08/17_03:06:27:000,5,main] @ Aug 17, 2008 3:06:27 PM
最后一行顯示了在Schedule中定義的計(jì)劃被執(zhí)行成功。
在Windows操作系統(tǒng)中可以把Agent程序設(shè)置為Service,通過以下命令設(shè)置,其中倒數(shù)兩個(gè)參數(shù)分別為Physical Agent Name和Agent Port:
agentservice.bat -i -s myFirstAgent 20910
運(yùn)行成功之后,將會(huì)產(chǎn)生OracleDI Agent Scheduler myFirstAgent這樣命名的Windows服務(wù)。
通過以下命令可以刪除創(chuàng)建的服務(wù):
agentservice.bat -r -s myFirstAgent