<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ZigzagSoft.net]]></title><description><![CDATA[Oracle Agile PLM 知识分享]]></description><link>https://blog.youkuaiyun.com/zigzagsoft</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zigzagsoft]]></copyright><item><title><![CDATA[Agile PLM: Checksum文件校验在File Server中的应用]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8281148</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8281148</guid><author>zigzagsoft</author><pubDate>Tue, 11 Dec 2012 10:22:07 +0800</pubDate><description><![CDATA[本文内容
本文介绍Agile PLM中File Manager文件服务器所使用的checksum校验原理及相关知识。在Agile中如果启用了Checksum功能，我们有时能在下载文件、checkout或者checkin的时候，碰到如下错误，即表示原始文件遭到了外部程序的篡改。

对于文件的checksum校验有非常多的方法，常见的有SHA1, MD5和CRC32。在Agile PLM中，文件]]></description><category></category></item><item><title><![CDATA[Oracle Database: 安全地删除数据库用户]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8265592</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8265592</guid><author>zigzagsoft</author><pubDate>Thu, 06 Dec 2012 15:45:42 +0800</pubDate><description><![CDATA[Kill Session
在使用drop user cascade之前，通常使用kill session来终止当前已经连接的会话，但对于一个运行中的比较长的事务尚未提交完成的情况下，kill session常需要很长的时间。而且还必须回到操作系统级别kill掉相应的会话进程，比较麻烦。否则会出现下述错误：
ORA-01940: cannot drop a user that is curren]]></description><category></category></item><item><title><![CDATA[Agile PLM: JavClient无法登录错误 ClassNotFoundException: weblogic.workarea.spi.WorkContextEntryImpl]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8259104</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8259104</guid><author>zigzagsoft</author><pubDate>Wed, 05 Dec 2012 11:22:32 +0800</pubDate><description><![CDATA[问题描述
一客户案例，新安装完Agile 9.3.1.2， Weblogic 10.3.6， 服务能启动， WebClient能登录正常使用。而用户却无法登录JavaClient，JavaClient输入用户名后只显示蓝色背景，如下图。


启用Java Console后，出现如下ClassNotFoundException异常。

[SunJDK14ConditionalEventP]]></description><category></category></item><item><title><![CDATA[Agile PLM: 无法上传任何文件，错误显“FOLDERXXXX”已存在]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8215026</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8215026</guid><author>zigzagsoft</author><pubDate>Fri, 23 Nov 2012 09:17:15 +0800</pubDate><description><![CDATA[问题描述
某客户在进行常规的外部数据导入和数据库重整后，发现所有人都无法上传附件，WebClient界面错误提示：“无法保存您所做的变更。您有一个错误。”。查看文件服务器的日志，没有任何错误。查看Agile服务器日志，提示FOLDER已经存在，详细如下：




分析
查看attachment表，果然此FOLDER0052277已经存在，但注意看创建日期是9月18日。


为什]]></description><category></category></item><item><title><![CDATA[Agile PLM: 批量快速删除Multlist重复值]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8128538</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8128538</guid><author>zigzagsoft</author><pubDate>Tue, 30 Oct 2012 15:15:36 +0800</pubDate><description><![CDATA[文章主题
Agile PLM在升级过程中，常常可能会出现MultiList出现重复值的情况，本人介绍最直观的分析方法和批量去重复值的函数加以快速解决。

比如如下截图，TESTPART001的PageTwo页上的CM Access栏位出现多个重复值，且不止一个值。



分析解决
由于这个栏位定义在PageTwo上，因此需要在数据库中先查找对应的表和字段。查看JavaClient中]]></description><category></category></item><item><title><![CDATA[MFC&CPlus: 在MFC中给程序注册热键]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8054169</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8054169</guid><author>zigzagsoft</author><pubDate>Tue, 09 Oct 2012 22:02:45 +0800</pubDate><description><![CDATA[本文内容
【本文源于一个实际项目应用，写于2009年，因网上有太多地址在引用本文，故重新贴出，供学习交流。】
给程序注册一个热键相当简单，只需要调用Windows的API RegisterHotKey以及UnregisterHotKey即可，然后再创建一个函数来处理基于WM_HOTKEY的消息映像。
API原型
MSDN查看RegisterHotKey：
BOOL RegisterHot]]></description><category></category></item><item><title><![CDATA[Agile PLM: Agile PLM 9.3.1.2主程序升级失败的一个案例]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036556</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036556</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 13:36:43 +0800</pubDate><description><![CDATA[文章主题
有一客户，9.3.1.2升级database已经成功，当升级Application主程序时，一直报“patch_install_log.properties doesn't exist”错误。

错误提示



错误提示Patch-Installer.xml的482行有个Replace方法的错误。查看该行：


patch_install_log.properties在此]]></description><category></category></item><item><title><![CDATA[Agile PLM: 获取Agile PLM服务的Heap Dump]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036548</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036548</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 13:29:44 +0800</pubDate><description><![CDATA[文章主题
本文详细介绍如何使用jmap获取Agile PLM运行时的Java Heap Dump信息。


-XX:+HeapDumpOnOutOfMemoryError
强烈建议将-XX:+HeapDumpOnOutOfMemoryError 添加到jvm参数中，确保一旦内存溢出自动产生heap dump log。使用此参数，确保jdk使用的是 1.5.0_17以上版本


Or]]></description><category></category></item><item><title><![CDATA[Agile PLM: 如何获取Agile PLM服务的Thread Dump]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036543</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036543</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 13:24:36 +0800</pubDate><description><![CDATA[文章主题
本文详细介绍如何获取Agile PLM运行时的Java Thread Dump信息。由于Thread Dump只是描述java线程瞬间的数据，因此在重现问题过程中，按照一定频率确保捕获3次以上的Thread Dump。


Oracle WebLogic Server
Windows平台


Weblogic前台运行方式

编辑startAgile.cmd（或者集群下]]></description><category></category></item><item><title><![CDATA[Agile PLM: 案例分析，9.3.0.2中无法创建创建新的Change]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036539</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036539</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 13:20:17 +0800</pubDate><description><![CDATA[问题描述
用户在使用了ACP做admin数据导入之后，在Web Client上创建某个subclass级别的Change，出现“Unable to save your changes. You have one error.”错误。 
检查Server log，没有任何异常。只能通过Java Client的Java控制台输出必要的error，发现如下错误。
java.lang.NullPoi]]></description><category></category></item><item><title><![CDATA[Agile PLM: 9.3.0.2中MultiList attribute for User list的显示逻辑分析]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036533</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036533</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 13:15:33 +0800</pubDate><description><![CDATA[本文内容
在Agile PLM 9.3.0.2环境中，有用户反馈，自定义的MultiList for User在打开的时候有的用户能看到用户组，有的用户看不到，而有的用户看到的用户组还会动态的增加，而用户手册完全没有提到这个，因此怀疑是否agile的设计缺陷。本文通过一定的分析过程来揭示其中的来龙去脉。
问题描述
先看下面的两张图。第一个用户看不到下拉列表中有任何用户组可供选择。

第二]]></description><category></category></item><item><title><![CDATA[Agile PLM: PPM的甘特图无法编辑Project属性]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036525</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036525</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 13:11:40 +0800</pubDate><description><![CDATA[问题描述
某客户的Agile PLM从早期的9.2版本升级到9.3.1版本之后，发现即使给用户分配了足够的权限，在Project用Gantt Chart打开后，无法编辑任何栏位。

分析
从现象上来看，属于权限分配问题，但即使重新分配权限，问题依旧。因此我们打开Java控制台，重新加载一次甘特图，获取错误如下。

Exception in thread "AWT-EventQueue-]]></description><category></category></item><item><title><![CDATA[Agile PLM: 9.3.0.2中ACS错误：Cannot move to Complete]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036513</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036513</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 13:06:01 +0800</pubDate><description><![CDATA[问题描述
在用户的ACS模块中，由于系统升级9.3.0.2导致ACS出现故障。ATO的历史记录错误显示为“Destination failed during an earlier extraction”，而系统log中却显示"Cannot move to Complete"错误。


分析
查看系统log，找出对应的错误如下。
  Caught the following except]]></description><category></category></item><item><title><![CDATA[Agile PLM: 启动时匪夷所思的的Node (18387 , 2490533) does not exist in the cache]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036507</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036507</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 12:59:18 +0800</pubDate><description><![CDATA[问题描述
Agile管理员配置一个Gate SubClass（ID为18401）级别的Page Three属性，ID为2490533，业务操作均无问题。偶然的一次重启服务后出现Node (18387 , 2490533) does not exist in the cache.然而并且2490533并不属于18387。本文从错误提示着手分析，到数据库中数据验证，最后到代码查看，提供了一个完整缜密]]></description><category></category></item><item><title><![CDATA[PPM Object中对于Delegated Owner的错误图标指示问题]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036502</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036502</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 12:53:55 +0800</pubDate><description><![CDATA[问题描述
在用户的PPM模块中，很多PPM的object没有Delegated Owner，而General Info和Team标签依旧显示相应的图标表示存在Delegated Owner。

分析
在一个PPM对象中，当设置了Delegated Owner且对方还没有accept时，General Info的标签页会有一个小黑圆点，且Team标签有一个小红圆点，均指示当前对象存在一个没有]]></description><category></category></item><item><title><![CDATA[BOM添加Item的UpdateTable事件与性能分析]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036486</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036486</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 12:45:38 +0800</pubDate><description><![CDATA[问题描述
客户在为BOM添加Item过程中自定义了一个UpdateTable Event事件，该事件需要对新加入的Item修改某些属性值，但发现每次添加一个Item，耗费好几秒才能完成，其中某一次性加入10个Item，共耗时40秒，性能极差。
分析
Agile PLM 9.3版本中为SDK开发引入了Event事件机制，可以让用户对具体的操作进行基于Java或Groovy的自定义的二次开发，大]]></description><category></category></item><item><title><![CDATA[IBM AIX平台的通用保护错误Thread Dump案例分析]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036434</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036434</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 11:53:48 +0800</pubDate><description><![CDATA[问题描述
某客户Oracle Agile PLM的集群服务器中的一个节点突然crash掉，在javacore(Thread Dump)中记录了GPF错误。

问题分析
系统环境如下：


OS: AIX 5.3 64bit
Middleware: Weblogic 10.3.0.0
JDK: IBM JDK pap6460sr5-20090529_04 (SR5)
App: A]]></description><category></category></item><item><title><![CDATA[IBM JDK6 SR2的Java Reflection在AIX平台的缺陷发现]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036429</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036429</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 11:50:03 +0800</pubDate><description><![CDATA[问题描述
华为Oracle Agile PLM运行过程中的一个严重平台问题。IBM JDK SR2在AIX 5.3 64位操作系统无法实现Java Reflection，由Jerry Chan在华为PLM故障（无法触发Inbox Notification）的系统分析中率先发现，Oracle开发团队直到6个月后才确认。

问题背景
Agile PLM的Inbox Notification能使]]></description><category></category></item><item><title><![CDATA[Interpreter 解释器模式]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036358</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036358</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 11:10:51 +0800</pubDate><description><![CDATA[模式定义
给定一个语言，定义它的文法的一种表示，并定义一个解释器，这个解释器使用该表示来解释语言中的句子。 该模式比较复杂，且不常用。

使用方法
文法的定义一般由需求而决定。解释器即根据文法定义来设计。使用方法不具备通用性。

使用范围
* 需要自定义一个语言，由解释器来翻译文法。

举例说明
回忆在大学中学到的数学方面的逆波兰式，它遵循数学的运算法则。假设现在有一个逆波兰式]]></description><category></category></item><item><title><![CDATA[Proxy 代理模式]]></title><link>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036345</link><guid>https://blog.youkuaiyun.com/zigzagsoft/article/details/8036345</guid><author>zigzagsoft</author><pubDate>Tue, 02 Oct 2012 11:07:13 +0800</pubDate><description><![CDATA[模式定义
当客户类因为不适合、性能限制或者权限问题而无法（或性能较差）访问一种对象的时候，提供一种代理的机制，由代理来完成客户类的一系列请求。改代理能比较好地直接访问该对象。

使用方法

Proxy替Client来完成对RealSubject的直接访问。

使用范围
代理使用的范围比较多，如：


远程代理，适合远距离的对象传输或不在同一个地址空间内而比较耗时的对象访问]]></description><category></category></item></channel></rss>