自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZigzagSoft.net

Oracle Agile PLM 知识分享

  • 博客(52)
  • 资源 (5)
  • 收藏
  • 关注

原创 Agile PLM: Checksum文件校验在File Server中的应用

本文内容本文介绍Agile PLM中File Manager文件服务器所使用的checksum校验原理及相关知识。在Agile中如果启用了Checksum功能,我们有时能在下载文件、checkout或者checkin的时候,碰到如下错误,即表示原始文件遭到了外部程序的篡改。对于文件的checksum校验有非常多的方法,常见的有SHA1, MD5和CRC32。在Agile PLM中,文件

2012-12-11 10:22:07 1802

原创 Oracle Database: 安全地删除数据库用户

Kill Session在使用drop user cascade之前,通常使用kill session来终止当前已经连接的会话,但对于一个运行中的比较长的事务尚未提交完成的情况下,kill session常需要很长的时间。而且还必须回到操作系统级别kill掉相应的会话进程,比较麻烦。否则会出现下述错误:ORA-01940: cannot drop a user that is curren

2012-12-06 15:45:42 997

原创 Agile PLM: JavClient无法登录错误 ClassNotFoundException: weblogic.workarea.spi.WorkContextEntryImpl

问题描述一客户案例,新安装完Agile 9.3.1.2, Weblogic 10.3.6, 服务能启动, WebClient能登录正常使用。而用户却无法登录JavaClient,JavaClient输入用户名后只显示蓝色背景,如下图。启用Java Console后,出现如下ClassNotFoundException异常。[SunJDK14ConditionalEventP

2012-12-05 11:22:32 1844

原创 Agile PLM: 无法上传任何文件,错误显“FOLDERXXXX”已存在

问题描述某客户在进行常规的外部数据导入和数据库重整后,发现所有人都无法上传附件,WebClient界面错误提示:“无法保存您所做的变更。您有一个错误。”。查看文件服务器的日志,没有任何错误。查看Agile服务器日志,提示FOLDER已经存在,详细如下:分析查看attachment表,果然此FOLDER0052277已经存在,但注意看创建日期是9月18日。为什

2012-11-23 09:17:15 1648

原创 Agile PLM: 批量快速删除Multlist重复值

文章主题Agile PLM在升级过程中,常常可能会出现MultiList出现重复值的情况,本人介绍最直观的分析方法和批量去重复值的函数加以快速解决。比如如下截图,TESTPART001的PageTwo页上的CM Access栏位出现多个重复值,且不止一个值。分析解决由于这个栏位定义在PageTwo上,因此需要在数据库中先查找对应的表和字段。查看JavaClient中

2012-10-30 15:15:36 1050

原创 MFC&CPlus: 在MFC中给程序注册热键

本文内容【本文源于一个实际项目应用,写于2009年,因网上有太多地址在引用本文,故重新贴出,供学习交流。】给程序注册一个热键相当简单,只需要调用Windows的API RegisterHotKey以及UnregisterHotKey即可,然后再创建一个函数来处理基于WM_HOTKEY的消息映像。API原型MSDN查看RegisterHotKey:BOOL RegisterHot

2012-10-09 22:02:45 1034 1

原创 Agile PLM: Agile PLM 9.3.1.2主程序升级失败的一个案例

文章主题有一客户,9.3.1.2升级database已经成功,当升级Application主程序时,一直报“patch_install_log.properties doesn't exist”错误。错误提示错误提示Patch-Installer.xml的482行有个Replace方法的错误。查看该行:patch_install_log.properties在此

2012-10-02 13:36:43 1188

原创 Agile PLM: 获取Agile PLM服务的Heap Dump

文章主题本文详细介绍如何使用jmap获取Agile PLM运行时的Java Heap Dump信息。-XX:+HeapDumpOnOutOfMemoryError强烈建议将-XX:+HeapDumpOnOutOfMemoryError 添加到jvm参数中,确保一旦内存溢出自动产生heap dump log。使用此参数,确保jdk使用的是 1.5.0_17以上版本Or

2012-10-02 13:29:44 957

原创 Agile PLM: 如何获取Agile PLM服务的Thread Dump

文章主题本文详细介绍如何获取Agile PLM运行时的Java Thread Dump信息。由于Thread Dump只是描述java线程瞬间的数据,因此在重现问题过程中,按照一定频率确保捕获3次以上的Thread Dump。Oracle WebLogic ServerWindows平台Weblogic前台运行方式编辑startAgile.cmd(或者集群下

2012-10-02 13:24:36 1147

原创 Agile PLM: 案例分析,9.3.0.2中无法创建创建新的Change

问题描述用户在使用了ACP做admin数据导入之后,在Web Client上创建某个subclass级别的Change,出现“Unable to save your changes. You have one error.”错误。 检查Server log,没有任何异常。只能通过Java Client的Java控制台输出必要的error,发现如下错误。java.lang.NullPoi

2012-10-02 13:20:17 1213

原创 Agile PLM: 9.3.0.2中MultiList attribute for User list的显示逻辑分析

本文内容在Agile PLM 9.3.0.2环境中,有用户反馈,自定义的MultiList for User在打开的时候有的用户能看到用户组,有的用户看不到,而有的用户看到的用户组还会动态的增加,而用户手册完全没有提到这个,因此怀疑是否agile的设计缺陷。本文通过一定的分析过程来揭示其中的来龙去脉。问题描述先看下面的两张图。第一个用户看不到下拉列表中有任何用户组可供选择。第二

2012-10-02 13:15:33 991

原创 Agile PLM: PPM的甘特图无法编辑Project属性

问题描述某客户的Agile PLM从早期的9.2版本升级到9.3.1版本之后,发现即使给用户分配了足够的权限,在Project用Gantt Chart打开后,无法编辑任何栏位。分析从现象上来看,属于权限分配问题,但即使重新分配权限,问题依旧。因此我们打开Java控制台,重新加载一次甘特图,获取错误如下。Exception in thread "AWT-EventQueue-

2012-10-02 13:11:40 1613

原创 Agile PLM: 9.3.0.2中ACS错误:Cannot move to Complete

问题描述在用户的ACS模块中,由于系统升级9.3.0.2导致ACS出现故障。ATO的历史记录错误显示为“Destination failed during an earlier extraction”,而系统log中却显示"Cannot move to Complete"错误。分析查看系统log,找出对应的错误如下。 Caught the following except

2012-10-02 13:06:01 1311

原创 Agile PLM: 启动时匪夷所思的的Node (18387 , 2490533) does not exist in the cache

问题描述Agile管理员配置一个Gate SubClass(ID为18401)级别的Page Three属性,ID为2490533,业务操作均无问题。偶然的一次重启服务后出现Node (18387 , 2490533) does not exist in the cache.然而并且2490533并不属于18387。本文从错误提示着手分析,到数据库中数据验证,最后到代码查看,提供了一个完整缜密

2012-10-02 12:59:18 1294

原创 PPM Object中对于Delegated Owner的错误图标指示问题

问题描述在用户的PPM模块中,很多PPM的object没有Delegated Owner,而General Info和Team标签依旧显示相应的图标表示存在Delegated Owner。分析在一个PPM对象中,当设置了Delegated Owner且对方还没有accept时,General Info的标签页会有一个小黑圆点,且Team标签有一个小红圆点,均指示当前对象存在一个没有

2012-10-02 12:53:55 995

原创 BOM添加Item的UpdateTable事件与性能分析

问题描述客户在为BOM添加Item过程中自定义了一个UpdateTable Event事件,该事件需要对新加入的Item修改某些属性值,但发现每次添加一个Item,耗费好几秒才能完成,其中某一次性加入10个Item,共耗时40秒,性能极差。分析Agile PLM 9.3版本中为SDK开发引入了Event事件机制,可以让用户对具体的操作进行基于Java或Groovy的自定义的二次开发,大

2012-10-02 12:45:38 1136

原创 IBM AIX平台的通用保护错误Thread Dump案例分析

问题描述某客户Oracle Agile PLM的集群服务器中的一个节点突然crash掉,在javacore(Thread Dump)中记录了GPF错误。问题分析系统环境如下:OS: AIX 5.3 64bitMiddleware: Weblogic 10.3.0.0JDK: IBM JDK pap6460sr5-20090529_04 (SR5)App: A

2012-10-02 11:53:48 2115

原创 IBM JDK6 SR2的Java Reflection在AIX平台的缺陷发现

问题描述华为Oracle Agile PLM运行过程中的一个严重平台问题。IBM JDK SR2在AIX 5.3 64位操作系统无法实现Java Reflection,由Jerry Chan在华为PLM故障(无法触发Inbox Notification)的系统分析中率先发现,Oracle开发团队直到6个月后才确认。问题背景Agile PLM的Inbox Notification能使

2012-10-02 11:50:03 1079

原创 Interpreter 解释器模式

模式定义给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 该模式比较复杂,且不常用。使用方法文法的定义一般由需求而决定。解释器即根据文法定义来设计。使用方法不具备通用性。使用范围* 需要自定义一个语言,由解释器来翻译文法。举例说明回忆在大学中学到的数学方面的逆波兰式,它遵循数学的运算法则。假设现在有一个逆波兰式

2012-10-02 11:10:51 603

原创 Proxy 代理模式

模式定义当客户类因为不适合、性能限制或者权限问题而无法(或性能较差)访问一种对象的时候,提供一种代理的机制,由代理来完成客户类的一系列请求。改代理能比较好地直接访问该对象。使用方法Proxy替Client来完成对RealSubject的直接访问。使用范围代理使用的范围比较多,如:远程代理,适合远距离的对象传输或不在同一个地址空间内而比较耗时的对象访问

2012-10-02 11:07:13 604

原创 Facade 外观模式

模式定义随着系统越来越复杂庞大,定义的类及其衍生的子类也会越来越多,系统的重用性也得到了加强。然而对于一些简单客户端来讲,过于复杂的子系统只会增加对他们的强耦合,一旦子系统变动,所有的客户端也必须跟着改动。外观模式在一定程度上解决了这个问题。它把客户端需要实现的功能包裹起来,客户端只需要访问它这么一个外观,无须窥探内部细节。而子系统的变动,只会影响外观模式本身做少量的变动。外观模式属于技巧性比

2012-10-02 11:02:43 628

原创 Decorator 装饰者模式

模式定义面向对象的其中一个重要概念就是继承。通过子类继承父类来扩充父类不具备的属性与方法,这个过程是在编译期完成的。假设我们现在需要一个不一样的功能,动态地扩充父类的方法,或者扩充其中一个子类的方法,或者组合各个子类的方法实现一个完整的功能,如果用继承的方式来实现,势必需要大量的不确定的定义类。因此可以采用装修者的模式在运行阶段动态的定义类。使用范围动态地扩充子类的功能

2012-10-02 10:57:31 606

原创 Thread Dump分析Oracle SOA的JDBC连接池资源抢夺问题

问题描述 有一个很特殊的case,使用Agile PLM 9.3产品每隔2~3天,用户无法登录,而已经登录的用户无法继续执行任何操作,用户界面hang住。检查opmn日志,没有有用的信息,错误太杂乱不明确。检查Oracle Database,CPU, Memory,连接都没有任何问题。重新启动SOA,问题临时不会出现,但2~3天后,问题继续。  Oracle环境Midd

2010-06-20 09:28:00 1483

原创 Agile PLM: 用IIS给分布式文件管理DFM配置HTTP Proxy

出于安全方面和内网外访的考虑,在实施Agile PLM分布式DFM的时候常常要用到IIS给DFM配置Proxy,用来对外屏蔽8080端口而只暴露80或其他特定的端口。本文从客户实际需求出发,简明扼要地用图示的方法讲述了基于HTTP的配置步骤。

2010-06-06 13:08:00 1378 1

原创 Agile PLM: Folder结构与Query、Report的层次关系

本文内容Agile PLM中Folder用来保存Query、Report或者一些具体的Object。它的概念和Windows的资源管理器完全相同:文件夹内可以包含子文件夹和文件,子文件夹内可以再包含其他子文件夹。通过用户登录后Agile加载Folder的过程,我们可以了解Folder与Query, Report和其他Object的关系。用户admin (ID=704)登录后,Agile会首

2010-06-05 21:38:00 1108 1

原创 Flyweight模式

模式定义 Flyweight模式尤其适用于需要创建大量的颗粒对象,而这些对象在某些属性上又极为相似或着能够抽取出相同的属性的情况下,能大幅提高性能减少内存使用。 使用范围 需要创建大量的颗粒对象(细微的,但是纹理清晰的) 一个对象的外在属性能够抽取出来可供共享的 举例说明 假设需要在一个面板上绘出大量随机的圆圈图像,这些圆圈颜色是随机

2009-12-10 17:03:00 511

原创 Strategy 策略模式

模式定义 Strategy模式定义了一系列不同的算法封装成不同的类,使客户端通过环境类来调用这些不同的算法类,实现统一对象的不同行为。 使用范围 同一个对象在不同的情形下具有不同的行为 举例说明 假设现有两个数字,他们在不同的情况下需要做不同的数学运算,加减乘除,具体由客户端来决定何时实现这些不同行为。我们首先定义一个Strategy

2009-12-10 17:01:00 431

原创 State 模式

模式定义 State模式允许一个对象在内部状态改变时它的行为也随着改变,实现其类在运行时的动态修改。 使用范围 行为取决于对象的状态 太多的分支语句来区别处理不同状态下的行为 使用方法  举例说明 Socket网络编程中假设我们定义它有三个状态,Open, Listen和Close。从不同的状态中抽象出一个接口 Tcp

2009-12-10 16:59:00 441

原创 Visitor 观察者模式

模式定义 观察者模式将类的结构与操作于该类上的算法分离开,使得模式的使用者能在不改变类结构的前提下自由地对类中的元素进行不同的操作。 使用方法 Visitor将自己注册到类对象中,由类对象通过回调的方式来启动观察者访问操作类内部的数据元素或结构。 使用范围 类结构内部包含很多具有不同接口的类对象,需要定义针对于具体类的操作 需要对于类

2009-12-10 16:50:00 462

原创 Observer 观察者模式

模式定义 某个对象改变时,需要动态地通知其他对象。使用观察者模式,很好地将被观察者和观察者隔离开来。观察者无需知道对方何时会发生数据或状态的改变;被观察者也不用知道它所通知的观察者究竟是谁。 使用方法 将观察者注册到被观察对象中,当被观察的对象发生改变时,及时地通知已注册的观察者对象。 使用范围 一个对象的改变需要依赖以其他对象的改变。

2009-12-07 14:28:00 402

原创 Memento 备忘模式

模式定义 备忘模式很简单。在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 使用方法 必须保存一个对象在某一个时刻的(部分)状态, 这样以后需要时它才能恢复到先前的状态。 使用范围 程序有时需要保持某个对象在某个时刻的状态。 JSP表单提交后的错误提示等案例中用的较

2009-12-07 14:26:00 399

原创 Mediator 中介模式

模式定义 使用一个中介对象来封装一系列对象之间的交互。中介者可以独立开这些对象之间的相互引用,使其耦合松散,并可以改变他们之间的交互。 使用方法 一系列的对象向中介注册,将他们之间的相互耦合关系交由中介统一管理。 使用范围 对象之间相互引用且逻辑过于复杂的时候。 当引入一个新的对象后导致其他已存在的对象需要重新改变相互之间的逻辑的时候

2009-12-07 14:20:00 430

原创 Iterator 迭代模式

模式定义 迭代模式提供了一种方法顺序用来访问一个聚合对象中的各个元素, 而又不需暴露该对象的内部表示。如今该模式已被java集成到了util类库中,我们常常可以同过Collection接口以及其下的Iterator来进行集合遍历的操作。 使用方法 迭代模式使用next或者previous等的方法提供给外部一种可遍历的功能。 使用范围 访问一个聚合

2009-12-06 15:10:00 786

原创 Command 命令模式

模式定义 命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。因此命令模式把一个请求或者操作封装到一个对象中,允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 使用方法 命令模式允许请求的一方和接收的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接

2009-12-06 15:03:00 421

原创 Chain of Responsibility 责任链模式

模式定义责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。责任链模式要求某个处理对象要么直接处理,要么转到下一个链处理,不允许处理一半再移交一半。 Windows操

2009-12-02 08:58:00 393

原创 Template Method 模板模式

模式定义定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,从而使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。  使用方法各子类中公共的方法提炼出来,集中到父类中定义。而不同的子类所特有的方法,可以通过继承父类的方法在内部自定义。 使用范围 * 多个子类存在共通的方法,个别的方法存在区别。  举例说明假设盖一个房子,需要如下三种通用的步骤,des

2009-10-09 23:55:00 386

原创 Interpreter 解释者模式

模式定义给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 该模式比较复杂,且不常用。  使用方法文法的定义一般由需求而决定。解释器即根据文法定义来设计。使用方法不具备通用性。 使用范围  需要自定义一个语言,由解释器来翻译文法。  举例说明回忆在大学中学到的数学方面的逆波兰式,它遵循数学的运算法则。假设现在有一个逆波兰

2009-03-16 19:13:00 427

原创 在Agile启动之前启用admin.validate 的debug功能来查错

 注:此文章仅供Agile PLM相关的客户、实施人员、技术顾问等学习之用,在此站发表的文章所涉及的所有技术细节,仅代表个人见解,不代表Oracle公司。所有Agile PLM和Oracle相关产品的知识产权均属于Oracle。在未经Oracle的官方授意下而擅自使用本文章的知识来修改任何Agile PLM的系统配置、数据或编译后的代码,由此导致的系统崩溃或数据丢失,本人概不负任何责任。 

2009-03-13 17:52:00 702

原创 Proxy 代理模式

模式定义当客户类因为不适合、性能限制或者权限问题而无法(或性能较差)访问一种对象的时候,提供一种代理的机制,由代理来完成客户类的一系列请求。改代理能比较好地直接访问该对象。  使用范围 代理使用的范围比较多,如: 远程代理,适合远距离的对象传输或不在同一个地址空间内而比较耗时的对象访问 虚拟代理,当创建一个开销很大的对象时,可以使用该代理模式,使其只有当需要被创建或访问的时

2009-03-13 10:18:00 402

翻译 说服客户信任你的solution

Parvinder 和 Habib是英国的两个乞丐,他们分别在伦敦的不同区域行乞。 Habib每天和Parvinder一样行乞相同的时间,但是每天只能讨到2~3英镑。可是Parvinder常常带回来一箱子的10元面值的英镑,而且每天都是开着Mercedes Benz出发,住的又是付清贷款的房子,藏着很多的钱。Habib 有天问 Parvinder:我和你一样辛苦那么长时间,为什么你总是

2009-03-06 11:28:00 524

Woodpecker for Oracle

Woodpecker for Oracle用以收集Oracle数据库的性能数据、参数设置等,为数据库的调整与优化提供详细可靠的动态和静态指标。Woodpecker内置监视的系统信息包括数据字典、SQL及游标、命中率、重做日志、回滚段、共享池以及会话统计等,也可以添加额外的自定义SQL语句获取更多详尽的运行时动态数据。Woodpecker是Oracle DBA进行日常管理的有效工具。

2011-09-04

设计模式详解+Java源代码演示

关于GOF的设计模式,许多网站和博客都有着大量的评论与描述,也有很多深刻的分析探讨。但是能够自始至 终全部研究完毕并自成一体的,寥寥无几。本电子书历时将近2年完成,结合了作者技术分析、编程体验以及大 量参考,从原理到实际开发,深入浅出的阐述了各模式的应用范围、范例等。

2010-10-23

考研数据结构1800题(含完整答案)

数据结构考题1800题,含完整题目、详细答案解析。 7z压缩包,用winrar或者7-zip解开。

2009-04-01

Oracle 11g 2 Day DBA

Oracle公司技术作家关于11g的电子书 PDF格式 2 Day DBA.pdf

2009-04-01

ZigzagClock 世界时钟软件

ZigzagClock是一个可以任由你配置的能同时显示世界各地多个时区的当地时间的工具软件。特别适合外企工作的员工以及在全球各股市操作股票的人士。你可以自由使用来满足你自己的需求,无论是商业用途还是其他。 最后,ZigzagClock的当前版本可以免费使用30天。你可以自由传播。 欢迎给我提供任何关于此软件的建议和想法,本人的信箱为[email protected] 。 http://clock.zigzagsoft.net 2008年10月

2008-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除