1、迁移背景
OBIEE
全称叫Oracle Business Intelligence Enterprise Edition
它是oracle的一套综合的企业BI产品,可提供完整的BI功能,包括交互式信息板、完全即席的主动式智能和警报、企业和财务报表、实时预测智能以及离线分析等。目前常用版本是10.1.3.3,10.1.3.4,11.1.1.3~11.1.1.9,12.2.1.0。
由于BIEE 10g现已不在oracle服务范围了。现在大部分的主机都X86虚拟化了,客户为了节省成本将物理主机卸下替换成X86虚拟机。而于此同时跑在物理主机上的应用面临着需要迁移。有些客户会这么想他的平台现在10g版本上运行很正常,干嘛去折腾一下将10g升级到11g,升级后代码也要升级不知会带来太多的麻烦,还想继续保持原来版本。那我们如何跨平台迁移了,迁移后会碰到哪些不为人知的问题了。接下来给大家介绍的是OBIEE10.1.3.4如何从AIX平台迁移到LINUX平台,迁移后碰到的问题。
2、BIEE软件安装
从oracle官网上获取OBIEE10.1.3.4 linux版本软件,然后在目标linux环境下安装OBIEE软件。Obiee软件安装非常简单,按安装向导下一步完成所有操作。OBIEE具体安装文档请参考我之前分享的一篇文章<
Oracle Biee 10g安装指引介绍>,接下来还是重点介绍一下如何将OBIEE从生产AIX主机迁移到新linux主机。
3、迁移步骤
需要准备从生产环境迁移文件:
1、
Repository信息资料库文件迁移
2、
Web Catalog文件迁移
3、
二次开发用程序analytics.ear迁移
4、修改配置
3.1、BIEE文件迁移
1、从OBIEE
生产环境将$BI_HOME\OracleBI\server\Repository
目录下的.rpd
文件拷贝到新环境相同目录。
2、
从OBIEE
生产环境将$BI_HOME\OracleBIData\web\catalog
目录下的Web Catalog
打包后拷贝到新环境相同目录
3、开发商对analytics.ear做了二次开发,我们需要从生产环境将此包迁移到新环境,然后通过EM控制台将这个程序包部署上去。
生产环境应用路径:
/oracle/biee/OracleBI/oc4j_bi/j2ee/home/applications/analytics.ear
3.2、BIEE配置修改
1) NQSConfig.INI配置文件设置:
修改新环境$BI_HOME\OracleBI\server\Config\NQSConfig.INI修改对应生产环境的rpd命名。将samplesales.rpd替换成生产的RPD文件biee_gdrpd_demo.rpd。
2) 修改instanceconfig.xml配置文件
修改新环境$BI_HOME\OracleBIData\web\config\instanceconfig.xml指向生产环境移动过来的catalog目录。
3.3、RPD模型物理层数据源修改
如果BIEE
的数据库密码被修改了,同时RPD
文件连接的数据库账号密码也要修改,
以下方法是如何修改RPD
文件的数据库账号密码。
安装windows版本BIadministrator tool工具用于修改rpd文件连接池中数据库密码和连接池名字,至于软件安装就不详细说明了,安装选择client安装。
1、将生产环境rpd文件放在windows机,在通过BI administrator tool工具来修改配置,点击rpd文件,输入Administator密码
2
、rpd文件内的oracle连接池tns要与服务器下的完全一致,那么我们要再建一个tns,所以在迁移BI时,服务器也要安装一套oracle客户端,RPD是通过oracle客户端的tns去连接数据库来查数据的。
以下配置是配置到BIEE服务器,oracle客户端的tnsnames.ora中。不然是无法跟BIEE数据库连接的。
bieedb=
(DESCRIPTION =
(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
(CONNECT_DATA =
(SERVER =DEDICATED)
(SERVICE_NAME= BIDB)
)
)
注意:如果BIEE数据库也迁移到其它主机,只需要修改BIEE服务器上面的oracle客户端的
tnsnames.ora文件TNS主机指向目标主机就可以了。
3.4、BI服务重启
重新启动BI Server、BI Presentation Services、OC4J
4、BIEE迁移问题总结
1
、BIEE部分报表已更新数据,但无法查询最新数据结果问题
问题原因:初步定位是BIEE缓存问题
解决方法:
1)清除浏览器缓存
2)如果1没有解决问题,请您使用 Call SAPurgeAllCache()命令来清理BIEE的缓存:
用管理员账户登录BIEE系统, 点击 设置 -> 管理 -> Issue SQL -> 输入命令 Call SAPurgeAllCache()并且执行
2
、下载报表分析临时文件不能大于2G问题
报错信息:
驱动程序返回一个错误 (SQLFetchScroll)。
错误明细
原因分析:
初步定位是一个BIEE10g的BUG
解决方法:
将BUG 5543386打上,问题解决。
Patch 6998143: ANALYTICS TEMP FILES CANNOT BE LARGER THAN 2GB (
BUG 5543386
)
Please note that a patch for
BUG 5543386
- ANALYTICS TEMP FILES CANNOT BE LARGER THAN 2GB, for Linux is now available.
3
、OBIEE EM输入账号和密码无法正常登录问题
报错信息:
登录 输入用户名和密码后报错此 OC4J 配置为通过 RMIS 建立 JMX 连接, 如果未配置 RMIS 端口, 则后退到 RMI。OC4J 本地实例上的 RMIS 连接已配置, 但无法建立连接JMX 协议是由 opmn.xml 中oracle.oc4j.jmx.internal.connection.protocol 属性指定的
原因分析:
RMIS端口无法建立连接,原因是主机名配置问题,主机名XXXX_XXX这样配置系统是无法识别主机名。因为RMIS端口无法建立。
解决方法:
修改BIEE主机名,将XXXX_XXX主机名修改成规划主机名XXXX-XXX。重启BIEE服务,RMIS端口正常建立,EM能够正常登录。
4
、登录analytics页面报错 Odbc 驱动程序返回一个错误 (SQLExecDirectW)业务无法正常查询报表
报错信息:
错误代码: OPR4ONWY:U9IM8TAC:OI2DL65P
状态: HY000。 代码: 10058。 [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. libclntsh.so.10.1: wrong ELF class: ELFCLASS64
[nQSError: 46029] Failed to load the DLL /biee/biee10g/OracleBI/server/Bin/libnqsdbgatewayoci10g.so. Check if 'Oracle OCI 10G' database client is installed. (HY000)
发出的 SQL: SELECT "- BIEE_战略图_策略树指标"."月份" FROM tbz where "- BIEE_战略图_策略树指标"."类型" = '总体市场' order by "- BIEE_战略图_策略树指标"."月份" desc
原因分析:
OBIEE10g 只有linux 32位的版本,所以数据库客户端也需要安装32位的版本,这就需要32位驱动程序连接数据库。当前OBIEE主机上面安装的是64位oracle客户端,而32位库不附带64位数据库客户端。
解决方法:
安装32位 ORACLE客户端。
有需要的朋友可以关注我的公众号,文章每日一更