ODI 12c連接Oracle Hyperion Planning 11.1.2.4數據源

環境情況如下:

Planning Server: Oracle Hyperion Planning 11.1.2.4 Linux 64 bit

ODI Studio: windows 7 64bit


ODI Studio配置

添加Planning jar包

從Planning服務器上下載HspJS.jar,一般目錄爲:$FMW/EPMSystem11R1/products/Planning/lib/HspJS.jar

將HspJS.jar拷貝至odi\studio\extensions目錄下,然後修改odi\studio\bin目錄下的odi.conf

向其中添加:

AddJavaLibFile ../extensions/HspJS.jar


然後啓動Studio,在拓撲管理器中添加Planning物理Server,如下圖所示:


注意:服務器即爲Planning的RMI服務器端口。此處的8735爲我修改之後的端口,如果沒有修改則應默認爲11333

注:如何修改RMI端口

修改Hyperion Planning 11.1.2.4 RMI端口


另外,測試連接 按鈕爲灰色的是正常的。因爲測試連接只對JDBC數據源有效。


之後就可以在設計器中進反數據模型的反射了,如下圖所示:


注意使用的KM爲RKM Hyperion Planning


成功反向之後如下所示:




錯誤診斷

如果無法成功逆向,可以在操作器中查看錯誤日誌



雙擊第2步,查看錯誤日誌,可能會看到如下日誌:

Caused by: com.hyperion.odi.planning.ODIPlanningException: Could not connect the Planning instance on host [bjkjy-bi-devhyperionplanning.com], port [8735], check if connect information is correct.
    at com.hyperion.odi.planning.wrapper.PlanningWrapper.init(Unknown Source)
    at com.hyperion.odi.planning.ODIPlanningConnection.<init>(Unknown Source)
    at com.hyperion.odi.planning.PlanningConnectionFactory.getAppConnection(Unknown Source)
    at com.hyperion.odi.connection.HypAppConnectionFactory.getConnection(Unknown Source)



提示無法連接到8735端口,telnet一下

telnet bjkjy-bi-devhyperionplanning.com 8735

可以成功telnet到服務器的8375端口。那是什麼原因呢?在看日誌,發現是33行的代碼出錯:

ODI-1590: 腳本執行失敗。
Caused By: org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
  File "<string>", line 33, in <module>



用HypAppConnectionFactory作爲關鍵字查詢得知,其除了使用RMI Server端口之外,還會使用額外的動態端口,該動態端口可能被防火牆擋住了。

注:由於我們內網環境桌面客戶端只能通過8000到9000的端口連接服務器


登錄到Planning Server查詢動態端口範圍

#cat /proc/sys/net/ipv4/ip_local_port_range

9000 65535

發現不在我們的可訪問端口範圍,修改之

使用root用戶在/etc/sysctl.conf中添加或者修改
net.ipv4.ip_local_port_range = 8500 9000

然後執行sysctl -p修修改生效。


最後在重啓epm server和studio在執行逆向操作,成功。


發佈了112 篇原創文章 · 獲贊 18 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章