Tag Archives: oracle
如何读取Remedy中的数据

Remedy系统几乎是一个绿色软件,它的几乎所有业务数据、配置数据和工作流都是存储在数据库中,也就是说:只要能够保留一份完整的数据库备份,即可高枕无忧,需要的时候就可以把系统还原出来。业务数据在Remedy中大多存储在regular form中。多数的业务数据都是通过Join form进行访问和存取。在Remedy中的各种form构成了Remedy系统的所有数据结构和界面,有些类型的form是只做界面而创建的。 如何从数据库层面直接读取Remedy ARS系统中的业务数据?首先你需要在Remedy User中查询和确认你需要读取的form的名称,之后在用Remedy develop studio中确认你需要读取字段在数据库中的database ID,然后使用SQLPLUS 查询出form的数据库视图名称,最后编写一条sqlplus语句验证查询的结果。确认了表和字段在数据库中的ID之后,你就可以使用任何数据库客户端直接绕过Remedy应用系统来读取业务数据了。这样做比API的调用开发难度要小些。 下面是一个例子:用Remedy默认的用户名密码登录,查询BMC.CORE:BMC_ComputerSystem form在数据库中视图的名称为T517,在BMC Remedy Developer Studio中查询字段的ID(点击查看大图)在此视图中查询CI名称里含有test-fc关键字的CI,并返回所有CI的name, inc id 和TotalPhysicMemory属性值。 [oracle@ars ~]$ sqlplus ARAdmin/AR#Admin#@remedy SQL*Plus: Release 11.2.0.1.0 Production on Wed Jun 29 21:51:39 2011 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Release 11.2.0.1.0 – 64bit Production SQL> SQL> select schemaid from
让Remedy飞一会
Remedy应用的性能优化是一个在系统建设过程中需要长期关注的问题,而不是在上线的前一天晚上去解决的问题,我也碰到过很棘手的性能问题,它确实爆发了,而且恰好在上线前夕爆发;之后感觉除了点背之外,感觉比较遗憾的是:为啥这个性能问题不早点爆发! 那么如何持续改进Remedy的性能?首先是硬件环境的准备情况,是否能在项目开始的第一天,就把开发,测试,生产环境统一装好。而不是到上线的前夕才去动生产环境。甚至于有条件的情况下,可不可以直接在生产环境上做开发,这样做的好处:让生产环境上性能优化的时间周期和机会尽可能的多,尽可能的长。当然这种机会毕竟不多,那么是否可以做到生产环境和开发环境的尽早的同步,也就是说:在开发到了一个小的阶段的时候,生产环境就可能就绪,就可以使用,这样把未成型的系统先部署上去,以便有机会做多次的生产系统性能调优。比较生产系统的性能最优化是项目的一大目标,不能等到最后才去仓促应战。曾经听说某行流程平台上线的第二天就挂了一次,这都是血淋淋的教训。总结一下:尽早的建设生产系统,优化生产系统,把开发好的那部分程序尽早迁移到生产上,长期的追逐系统性能,甚至于在生产环境上对此系统做压力测试。这些工作如果能够做的话,我想在上线日我们一定不会紧张。 如何追逐测试系统的性能。可以使用Web profiling工具如Fiddler。使用这种工具对某些特定操作持续的测试,把每次的测试结果保存下来,把时间记录到一个表格中。可以考虑测试如下内容:用户登录、打开事件控制台、创建一个事件单、搜索事件单等等,其他流程也类似。保证每次点击的次数都相同。其实从Fildder的分析数据中也可能得到很有价值的数据,如:那个Web调用的时间消耗最长,那些Web资源的请求出错。找出时间消耗做多的调用,就可以有针对性的优化应用了。总之:使用一种工具,在开发的整个过程中持续测试和优化,记录所有测试结果,这样在上线前对系统的性就能有客观参考依据。 另外要注意Remedy系统是一个标准的3层架构应用,你需要在系统调优的时候,有这样几种人的帮助:压力测试工具高手、JVM调优专家、数据库调优专家和Remed性能调优专家。还需要参考下列的参数配置。 Mid-tier优化参数建议 关于Mid-tier的一点建议,目前普通使用的Java应用服务器都是Tomcat,我一向是开源软件的粉丝,但是,还是建议如果有条件的话,还是上商业的产品,如Weblogic或者Websphere。这样可以获得能多一点的支持。 鉴于大多数系统还都是用的BMC的产品自带的Tomcat,下面是一些建议的参数配置。 1-HTTP keep-alive Keep-alive count: infinite (minimum 5000) Connection timeout:90000 ms (minimum 60000 ms) 2-JVM settings JVM heap:-Xms1024m –Xmx1024m MaxPermSize:-XX:MaxPermSize=256m 以Windows系统为例,可以使用Tomcat的配置界面工具,配置这两个参数。 3-Threads configuration of the application server hosting the mid tier maxThreads:500 acceptCount:100 关于1和3的 参数文件:tomcat dir/conf/sever.xml 的实例代码: <Connector URIEncoding=”UTF-8″ acceptCount=”100″ connectionTimeout=”90000″ maxHttpHeaderSize=”8192″ maxKeepAliveRequests=”-1″ maxThreads=”500″ port=”80″ protocol=”HTTP/1.1″ redirectPort=”8443″/> 以上参数配置并不是万能的,只是给出一个优化配置的基础,以此为起点调起来可能会更靠谱。
ARS启动故障修复案例
ARS版本 7.6.04 数据库 Oracle11G 和ARS在同一台服务器上 错误现象: ARS服务不能正常启动 arerror.log报 390600 : SQL 数据库不可用 — 将重试连接 (ARNOTE 590) Sat Apr 02 20:27:41 2011 : Action Request System(R) 服务器 x64 版本 7.6.04 Build 002 201101141059 (c) Copyright 1991-2010 BMC Software, Inc. Sat Apr 02 20:29:51 2011 390600 : SQL 数据库不可用 — 将重试连接 (ARNOTE 590) Sat Apr 02 20:29:51
Remedy ITSM 7.6 installation Tips
自从7.6发布和以后一直没有时间安装,通过最近的几次安装,积累了一些经验,供大家参考。在安装开始之前请一定查看ARS_7500_Comp_Matrixv1001.pdf文档,保证操作系统、数据库、中间件和JDK的版本都符合要求。如果是安装生产系统的话,建议把数据库和应用服务器分开,硬件配置也一定参考Remedy ITSM安装手册中的建议硬件配置要求。 最近在Linux的虚拟机上做了一次安装,相关细节如下: Suse Linux Enterprise server 10 sp2 64 bit Oracle 10G 64bit (10201_database_linux_x86_64.cpio.gz) JDK 1.6(jdk-6u6-linux-i586.bin) 在Suse Linux上安装Oracle还是比较容易的,可以参考这个安装手册进行,下载。数据库安最好按照成utf8字符集,如下图所示: Remedy ITSM套件的安装分为三个步骤:1)ARS 7.5 SP3 的安装;2)Atrium CMDB7.6安装;3)ITSM 7.6安装;其中第一步是最重要的,第二步骤如果安装产品目录数据的话时间花费比正常多一点。Remedy ARS 7.5是最新的补丁包,它修复了sp2的很多bug;是Remedy ITSM 7.6安装的必须版本。在安装ARS的时候需要准确的导出相关的环境变量,如果环境变量没有或者不够的话,安装程序则无法正确地连接数据库,下面的例子可以参考一下。 每一步安装完成之后都需要详细查看相关的日志,确保每一步都安装完全正确。在安装完ARS之后一定要为服务器添加所有相关License。
Install Oracle 10.2.01 on OpenSuSE 10.3
A) Download 10201_database_linux32.zip from Oracle website. B) Download 10gR2_openSUSE102_introduction.pdf and ora.rpm from ftp ftp.novelŀcom C) Install Oracle, following quick steps: 1. Install openSUSE 10.2 with “C/C++ Development” selection. 2. Download and Install orarun package. 3. Enable and set password for newly created user oracle by orarun. 4. Set updated kernel parameters by executing /etc/init.d/oracle start.