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,如下图所示:

ODI 12c连接Oracle Hyperion Planning 11.1.2.4数据源_第1张图片


注意:服务器即为Planning的RMI服务器端口。此处的8735为我修改之后的端口,如果没有修改则应默认为11333

注:如何修改RMI端口

修改Hyperion Planning 11.1.2.4 RMI端口


另外,测试连接 按钮为灰色的是正常的。因为测试连接只对JDBC数据源有效。


之后就可以在设计器中进反数据模型的反射了,如下图所示:

ODI 12c连接Oracle Hyperion Planning 11.1.2.4数据源_第2张图片


注意使用的KM为RKM Hyperion Planning


成功反向之后如下所示:

ODI 12c连接Oracle Hyperion Planning 11.1.2.4数据源_第3张图片



错误诊断

如果无法成功逆向,可以在操作器中查看错误日志

ODI 12c连接Oracle Hyperion Planning 11.1.2.4数据源_第4张图片


双击第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.(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 "", line 33, in

ODI 12c连接Oracle Hyperion Planning 11.1.2.4数据源_第5张图片


用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在执行逆向操作,成功。


你可能感兴趣的:(EPM,ODI,Hyperion,Planning)