<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Oracle Fans</title>
	
	<link>http://www.orafans.org</link>
	<description>数据库、工作流、电子商务套件、供应链</description>
	<lastBuildDate>Sat, 04 Jul 2009 23:17:45 PDT</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<image><link>http://creativecommons.org/licenses/by-nc-nd/3.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/orafans" type="application/rss+xml" /><feedburner:emailServiceId>orafans</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Forafans" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Forafans" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Forafans" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/orafans" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Forafans" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Forafans" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Forafans" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Forafans" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>R12-arch [Flickr]</title><link>http://feedproxy.google.com/~r/orafans/~3/38xtEuhKRn4/</link><category>orafans</category><dc:creator>Zeeno Xie</dc:creator><pubDate>Sat, 04 Jul 2009 23:17:45 PDT</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/3689531654</guid><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/deed.en</creativeCommons:license><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/zeenoxie/"&gt;Zeeno Xie&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/zeenoxie/3689531654/" title="R12-arch"&gt;&lt;img src="http://farm3.static.flickr.com/2543/3689531654_32d2af7545_m.jpg" width="240" height="156" alt="R12-arch" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;和11i技术组件架构图对比一下，看看有哪些不同？&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/orafans/~4/38xtEuhKRn4" height="1" width="1"/&gt;</description><enclosure url="http://farm3.static.flickr.com/2543/3689531654_a857fd02da_o.png" length="0" type="image/jpeg" /><dc:date.Taken>2009-07-05T14:17:45-08:00</dc:date.Taken><feedburner:origLink>http://www.flickr.com/photos/zeenoxie/3689531654/</feedburner:origLink></item><item><title>2-tier [Flickr]</title><link>http://feedproxy.google.com/~r/orafans/~3/RDQia4z4YEY/</link><category>orafans</category><dc:creator>Zeeno Xie</dc:creator><pubDate>Wed, 17 Jun 2009 17:18:36 PDT</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/3637356216</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/zeenoxie/"&gt;Zeeno Xie&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/zeenoxie/3637356216/" title="2-tier"&gt;&lt;img src="http://farm4.static.flickr.com/3657/3637356216_3436fa347a_m.jpg" width="240" height="107" alt="2-tier" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apps 两层架构，这个比较简单、通用，适用于目前大多数企业。&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/orafans/~4/RDQia4z4YEY" height="1" width="1"/&gt;</description><enclosure url="http://farm4.static.flickr.com/3657/3637356216_2686e77cc0_o.png" length="0" type="image/jpeg" /><dc:date.Taken>2009-06-18T08:18:36-08:00</dc:date.Taken><feedburner:origLink>http://www.flickr.com/photos/zeenoxie/3637356216/</feedburner:origLink></item><item><title>n-tier [Flickr]</title><link>http://feedproxy.google.com/~r/orafans/~3/QflNvOvzVxs/</link><category>orafans</category><dc:creator>Zeeno Xie</dc:creator><pubDate>Wed, 17 Jun 2009 17:18:34 PDT</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/3636540353</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/zeenoxie/"&gt;Zeeno Xie&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/zeenoxie/3636540353/" title="n-tier"&gt;&lt;img src="http://farm4.static.flickr.com/3662/3636540353_e2902fd895_m.jpg" width="240" height="133" alt="n-tier" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apps 多层架构，对于一般企业，几乎不可能用到。&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/orafans/~4/QflNvOvzVxs" height="1" width="1"/&gt;</description><enclosure url="http://farm4.static.flickr.com/3662/3636540353_e0fcb113a2_o.png" length="0" type="image/jpeg" /><dc:date.Taken>2009-06-18T08:18:34-08:00</dc:date.Taken><feedburner:origLink>http://www.flickr.com/photos/zeenoxie/3636540353/</feedburner:origLink></item><item>
		<title>推荐博客：Apps DBA &amp; Architecture Knowledge Warehouse</title>
		<link>http://feedproxy.google.com/~r/orafans/~3/dSnLQD8TMxA/383</link>
		<comments>http://www.orafans.org/archives/383#comments</comments>
		<pubDate>Wed, 17 Jun 2009 12:29:55 +0000</pubDate>
		<dc:creator>Zeeno</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.orafans.org/archives/383</guid>
		<description><![CDATA[著名Oracle ERP技术顾问朱龙春的博客，也是Oracle Blogs历史上第一位中文博客（今日首发）。
laozhu、zhulch，提到这两个ID，相信大家已经知道谁了吧？不必多言，收藏吧。
Oracle Blog上的地址：http://blogs.oracle.com/longchun/
]]></description>
			<content:encoded><![CDATA[<p>著名Oracle ERP技术顾问朱龙春的博客，也是Oracle Blogs历史上第一位中文博客（今日首发）。</p>
<p>laozhu、zhulch，提到这两个ID，相信大家已经知道谁了吧？不必多言，收藏吧。</p>
<p>Oracle Blog上的地址：<a title="http://blogs.oracle.com/longchun/" href="http://blogs.oracle.com/longchun/">http://blogs.oracle.com/longchun/</a></p>
<img src="http://feeds.feedburner.com/~r/orafans/~4/dSnLQD8TMxA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.orafans.org/archives/383/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><feedburner:origLink>http://www.orafans.org/archives/383</feedburner:origLink></item>
		<item>
		<title>性能诊断：并发请求</title>
		<link>http://feedproxy.google.com/~r/orafans/~3/8XRTt2cpXoM/372</link>
		<comments>http://www.orafans.org/archives/372#comments</comments>
		<pubDate>Wed, 17 Jun 2009 01:53:39 +0000</pubDate>
		<dc:creator>Zeeno</dc:creator>
				<category><![CDATA[E-Business Suite]]></category>

		<guid isPermaLink="false">http://www.orafans.org/archives/372</guid>
		<description><![CDATA[当我面对一个并发请求优化的需求时，常常先问自己，为什么我又要面对这个情况？我们为什么不能在设计时就避免出现今天这种情况？我深刻理解优化是持续的过程，但是问题关键常常在于，程序在设计时并不考虑将来是否需要优化，或者就是留了一个很小的余地。
大家已经知道，Oracle Apps对各组件都可以进行相应的Trace（具体方式可自行搜索本站归档文章），即跟踪SQL执行情况。对于并发请求的跟踪方式曾经在《跟踪(Trace)并发请求》介绍过，操作方式很简单，就是在运行并发请求前先设置为“启用跟踪”。此处介绍一个实际的并发请求诊断案例。
操作步骤：

启用跟踪(并发 -&#62; 方案 -&#62; 定义)。在并发程序定义界面，找到目标并发程序，选上“启用跟踪”选项。 
提交并发请求。 
在UDUMP目录下找到对应的trace输出文件。 

此时生成的trc文件有很多工具可以分析，根据目标不同选择适用的工具。这里介绍四种常用工具和方式：

使用tkprof。这是Oracle官方工具，简单、有效而强大。      

tkprof test_ora_1239_XZB_CR7665696.trc xzb.txt sort=fchela

关键是这里的排序参数sort，比较常用的排序方式是按照消耗时间倒序。通常，查到消耗时间最大的那句SQL，基本上就找到了问题所在。 
&#160; 这是第一句SQL的统计数据，看上去，解决了它，问题就基本解决了。 
使用TVD$XTAT。由《TOP》作者开发，在性能诊断方面非常著名、实用的工具。具体使用可以参考工具说明文档，或者《TOP》一书中的介绍。
&#160; 这是一个概览界面，可以再深入分析各部分数据。 
使用SwingBench Trace Analyzer。这是我所见的最傻瓜化的有GUI界面的trc分析工具，只要打开trc文件，你就可以知道问题出在哪里了。当然，傻瓜式自然有傻瓜式的局限，该工具的强大在于方便，也仅仅在于方便，强烈推荐给初级用户使用。
本站以前推荐过这个工具，请参考文章：《Trace分析工具：SwingBench Trace Analyzer》。 
使用Oracle Trace Analyzer。这个工具实际上是tkprof的另一个版本，以一种更简单、直观的方式来分析trc文件，同样的，也推荐给初级用户使用。
    本站以前推荐过这个工具，请参考文章：《Trace Analyzer》。 

到此，你基本上已经找到了问题所在，至于如何让你的程序更有效率，则是另外更深的领域了。
在这个案例中，将运行时间从3小时降到6分钟，而所有修改的代码加起来不到20个字符。事实上，分析trc文件的工具本身并不是最重要的，重要的是找到问题症结所在，然后是你所采取的优化手段。有些时候，优化一句SQL就可以了，但是很多时候，可能需要重新设计你的程序，尤其是那些超大的SQL，它们真的有必要这样设计吗？
我一直说，优化是系统工程，大处从业务着手（如何设计功能和数据流直接关系到后面的优化余地），小处从架构着手（2-tier？N-tier？），微处从程序着手。业务(功能)顾问、技术顾问和DBA，都应该参与进来。当然，目前国内，这样具备各角色充分协作能力的团队很少，但是必须首先培养这样的意识。
]]></description>
			<content:encoded><![CDATA[<p>当我面对一个并发请求优化的需求时，常常先问自己，为什么我又要面对这个情况？我们为什么不能在设计时就避免出现今天这种情况？我深刻理解优化是持续的过程，但是问题关键常常在于，程序在设计时并不考虑将来是否需要优化，或者就是留了一个很小的余地。</p>
<p>大家已经知道，Oracle Apps对各组件都可以进行相应的Trace（具体方式可自行搜索本站归档文章），即跟踪SQL执行情况。对于并发请求的跟踪方式曾经在《<a href="http://www.orafans.org/archives/27">跟踪(Trace)并发请求</a>》介绍过，操作方式很简单，就是在运行并发请求前先设置为“启用跟踪”。此处介绍一个实际的并发请求诊断案例。</p>
<p>操作步骤：</p>
<ol>
<li>启用跟踪(并发 -&gt; 方案 -&gt; 定义)。在并发程序定义界面，找到目标并发程序，选上“启用跟踪”选项。 </li>
<li>提交并发请求。 </li>
<li>在UDUMP目录下找到对应的trace输出文件。 </li>
</ol>
<p>此时生成的trc文件有很多工具可以分析，根据目标不同选择适用的工具。这里介绍四种常用工具和方式：</p>
<ol>
<li>使用tkprof。这是Oracle官方工具，简单、有效而强大。      </p>

<div class="wp_syntax"><div class="code"><pre class="plsql" style="font-family:monospace;">tkprof test_ora_1239_XZB_CR7665696<span style="color: #00F;">.</span>trc xzb<span style="color: #00F;">.</span>txt sort<span style="color: #00F;">=</span>fchela</pre></div></div>

<p>关键是这里的排序参数sort，比较常用的排序方式是按照消耗时间倒序。通常，查到消耗时间最大的那句SQL，基本上就找到了问题所在。 </p>
<p><a title="ImageShack - Image And Video Hosting" href="http://img38.imageshack.us/i/25642057.png/" target="_blank"><img border="0" src="http://img38.imageshack.us/img38/730/25642057.png" /></a>&#160; <br />这是第一句SQL的统计数据，看上去，解决了它，问题就基本解决了。 </li>
<li>使用<a href="http://antognini.ch/category/apmtools/tvdxtat/">TVD$XTAT</a>。由《<a href="http://www.douban.com/subject/3095218/">TOP</a>》作者开发，在性能诊断方面非常著名、实用的工具。具体使用可以参考工具说明文档，或者《TOP》一书中的介绍。
<p><a title="ImageShack - Image And Video Hosting" href="http://img194.imageshack.us/i/86082749.png/" target="_blank"><img border="0" src="http://img194.imageshack.us/img194/1598/86082749.png" /></a>&#160; <br />这是一个概览界面，可以再深入分析各部分数据。 </li>
<li>使用<a href="http://www.dominicgiles.com/traceanalyzer.html">SwingBench Trace Analyzer</a>。这是我所见的最傻瓜化的有GUI界面的trc分析工具，只要打开trc文件，你就可以知道问题出在哪里了。当然，傻瓜式自然有傻瓜式的局限，该工具的强大在于方便，也仅仅在于方便，强烈推荐给初级用户使用。
<p>本站以前推荐过这个工具，请参考文章：《<a href="http://www.orafans.org/archives/171">Trace分析工具：SwingBench Trace Analyzer</a>》。 </li>
<li>使用Oracle Trace Analyzer。这个工具实际上是tkprof的另一个版本，以一种更简单、直观的方式来分析trc文件，同样的，也推荐给初级用户使用。<br />
    <br />本站以前推荐过这个工具，请参考文章：《<a href="http://www.orafans.org/archives/110">Trace Analyzer</a>》。 </li>
</ol>
<p>到此，你基本上已经找到了问题所在，至于如何让你的程序更有效率，则是另外更深的领域了。</p>
<p>在这个案例中，将运行时间从3小时降到6分钟，而所有修改的代码加起来不到20个字符。事实上，分析trc文件的工具本身并不是最重要的，重要的是找到问题症结所在，然后是你所采取的优化手段。有些时候，优化一句SQL就可以了，但是很多时候，可能需要重新设计你的程序，尤其是那些超大的SQL，它们真的有必要这样设计吗？</p>
<p>我一直说，优化是系统工程，大处从业务着手（如何设计功能和数据流直接关系到后面的优化余地），小处从架构着手（2-tier？N-tier？），微处从程序着手。业务(功能)顾问、技术顾问和DBA，都应该参与进来。当然，目前国内，这样具备各角色充分协作能力的团队很少，但是必须首先培养这样的意识。</p>
<img src="http://feeds.feedburner.com/~r/orafans/~4/8XRTt2cpXoM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.orafans.org/archives/372/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><feedburner:origLink>http://www.orafans.org/archives/372</feedburner:origLink></item>
		<item><title>11iarch [Flickr]</title><link>http://feedproxy.google.com/~r/orafans/~3/uxW52zLyJls/</link><category>orafans</category><dc:creator>Zeeno Xie</dc:creator><pubDate>Tue, 16 Jun 2009 06:46:37 PDT</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/3632641760</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/zeenoxie/"&gt;Zeeno Xie&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/zeenoxie/3632641760/" title="11iarch"&gt;&lt;img src="http://farm3.static.flickr.com/2451/3632641760_9c4d654869_m.jpg" width="240" height="161" alt="11iarch" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apps 11i 架构&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/orafans/~4/uxW52zLyJls" height="1" width="1"/&gt;</description><enclosure url="http://farm3.static.flickr.com/2451/3632641760_a5f45cdcb0_o.jpg" length="0" type="image/jpeg" /><dc:date.Taken>2009-06-16T21:46:37-08:00</dc:date.Taken><feedburner:origLink>http://www.flickr.com/photos/zeenoxie/3632641760/</feedburner:origLink></item><item>
		<title>App DBA如何参与性能优化？</title>
		<link>http://feedproxy.google.com/~r/orafans/~3/qiMX1sIH2NM/370</link>
		<comments>http://www.orafans.org/archives/370#comments</comments>
		<pubDate>Fri, 12 Jun 2009 03:53:41 +0000</pubDate>
		<dc:creator>Zeeno</dc:creator>
				<category><![CDATA[E-Business Suite]]></category>

		<guid isPermaLink="false">http://www.orafans.org/archives/370</guid>
		<description><![CDATA[之前做了个列表：EBS管理员应当掌握的知识，这里的管理员要和应用DBA区分开来，虽然实际上，很多中小型企业里的IT部门并没有对此做出区分。常规的DBA和EBS DBA工作内容有所不同，EBS是OLAP系统，但是又和大多数其他的OLAP系统有所不同，用户需要从这里实时查看报表，但同时后台又运行着大量的任务，在任何一个时间段，都可能有非常耗资源的批处理程序被启动，并且这些任务不在你的控制之中。
你或许已经看过很多有关优化的文章了，但是只有一个环节永远是最可靠的，那就是你的实践。当亲身实践过后，搜索的范围就会大大缩小。记住一句话，不要轻易尝试他人提供的方式，除非你仔细看过自己的系统分析报告。为了节省时间，作为一名没有优化经验的EBS DBA，与常规DBA工作相比，可能更需要关注以下内容：

熟悉并发管理器。在系统资源耗费比例上，这是绝对值得关注的部分，系统多大部分任务都通过并发请求来执行。对于深入的技术细节，没有任何现成的文档可以帮助你，但是官方文档已足够应付常规的优化工作。 
理解EBS并不是真正意义上的OLAP系统。有大量的用户对数据的处理操作，实际上都在接口中进行，而接口则通过提交并发请求来进行。在日常业务中，你无法知晓何时会出现一个大量数据处理的批处理程序，用户随时可能提交多个非常消耗资源的批处理程序。你应该预估到这种情况对系统运行造成的影响。有时候，理解业务需求，从业务角度来安排此类程序的执行，会让业务和系统都轻松很多。 
不要轻易应用Patch。EBS系统永远存在解决不完的BUG，在充分理解解决BUG的必要性，以及充分而全面的测试后才可以考虑应用到正式环境。否则，你将承受影响业务操作的风险，也可能导致系统其他功能的异常，而这异常会占用你的工作时间。记住，在任何一次应用Patch之前，你都应该预估到可能带来的影响，并提前做好准备。 
记录Patch历史。尽管系统记录了每次Patch应用的时间、操作和内容，但是它并不知道你为什么需要它。需要去记录该Patch期望能解决的问题，应用后出现的新问题以及业务的影响。Oracle Support解决问题时会尝试先了解系统最近有没有什么变动。 
定期重建EBS索引。EBS中存在大量的索引，约有4万个。某些表可能有频繁的DML操作，你需要注意到这种表，并设置相应的索引的重建计划。重建索引可能耗费很多时间，需要安排一个在线用户最少的时间段来进行。 
谨慎添加客户化索引。EBS本身是优化过的，并不是设计来仅供一两年使用的。很多性能问题实际上是IT人员自己造成的。有时候，你可能注意到某个程序执行效率很低，原因是没有走相关的索引，但是记得，索引并非越多越好，除非你非常熟悉相关应用，知道自己在做些什么，不然还是交给Oracle Support为好。一个未经分析的索引，可能导致系统性能出乎意料。 
理解应用Patch是如何进行的。除了理解它本身的工作原理之外，还需要了解它带来的影响，比如Patch是如何改变你本来工作的非常好的某段SQL的执行计划的？你需要知道Patch后，某个批处理程序突然变慢的原因。 
理解预警。理解其工作原理，清楚的知道利弊。比如事件预警会创建什么样的Trigger。 
熟悉Apache、UNIX Server、OAS等，这些一般情况下不会成为性能优化的优先目标，但是在今后更深入的工作中会考虑到。 

这里并没有列出一个普通DBA应当参与的工作，比如监控回滚段、分析Statspack报表、捕获并提出性能恶劣的客户化SQL的优化建议以及其他份内工作。App DBA作为专业的工作职位自然有其特殊性，比如为什么你不能使用DBMS_STATS做统计？为什么不允许KEEP Pool？
Oracle EBS 本身的技术架构已经可以让合格的DBA大展身手，不论从数据库层还是应用层。不要把注意力全部集中到SQL优化上，尽管这可能就是90%的问题所在，但是它通常由客户化引起。对于纯标准化的EBS应用而言，运行5年后，在性能优化领域将需要从更高处审视整套系统。
]]></description>
			<content:encoded><![CDATA[<p>之前做了个列表：<a href="http://www.orafans.org/archives/362">EBS管理员应当掌握的知识</a>，这里的管理员要和应用DBA区分开来，虽然实际上，很多中小型企业里的IT部门并没有对此做出区分。常规的DBA和EBS DBA工作内容有所不同，EBS是OLAP系统，但是又和大多数其他的OLAP系统有所不同，用户需要从这里实时查看报表，但同时后台又运行着大量的任务，在任何一个时间段，都可能有非常耗资源的批处理程序被启动，并且这些任务不在你的控制之中。</p>
<p>你或许已经看过很多有关优化的文章了，但是只有一个环节永远是最可靠的，那就是你的实践。当亲身实践过后，搜索的范围就会大大缩小。记住一句话，不要轻易尝试他人提供的方式，除非你仔细看过自己的系统分析报告。为了节省时间，作为一名没有优化经验的EBS DBA，与常规DBA工作相比，可能更需要关注以下内容：</p>
<ol>
<li>熟悉并发管理器。在系统资源耗费比例上，这是绝对值得关注的部分，系统多大部分任务都通过并发请求来执行。对于深入的技术细节，没有任何现成的文档可以帮助你，但是官方文档已足够应付常规的优化工作。 </li>
<li>理解EBS并不是真正意义上的OLAP系统。有大量的用户对数据的处理操作，实际上都在接口中进行，而接口则通过提交并发请求来进行。在日常业务中，你无法知晓何时会出现一个大量数据处理的批处理程序，用户随时可能提交多个非常消耗资源的批处理程序。你应该预估到这种情况对系统运行造成的影响。有时候，理解业务需求，从业务角度来安排此类程序的执行，会让业务和系统都轻松很多。 </li>
<li>不要轻易应用Patch。EBS系统永远存在解决不完的BUG，在充分理解解决BUG的必要性，以及充分而全面的测试后才可以考虑应用到正式环境。否则，你将承受影响业务操作的风险，也可能导致系统其他功能的异常，而这异常会占用你的工作时间。记住，在任何一次应用Patch之前，你都应该预估到可能带来的影响，并提前做好准备。 </li>
<li>记录Patch历史。尽管系统记录了每次Patch应用的时间、操作和内容，但是它并不知道你为什么需要它。需要去记录该Patch期望能解决的问题，应用后出现的新问题以及业务的影响。Oracle Support解决问题时会尝试先了解系统最近有没有什么变动。 </li>
<li>定期重建EBS索引。EBS中存在大量的索引，约有4万个。某些表可能有频繁的DML操作，你需要注意到这种表，并设置相应的索引的重建计划。重建索引可能耗费很多时间，需要安排一个在线用户最少的时间段来进行。 </li>
<li>谨慎添加客户化索引。EBS本身是优化过的，并不是设计来仅供一两年使用的。很多性能问题实际上是IT人员自己造成的。有时候，你可能注意到某个程序执行效率很低，原因是没有走相关的索引，但是记得，索引并非越多越好，除非你非常熟悉相关应用，知道自己在做些什么，不然还是交给Oracle Support为好。一个未经分析的索引，可能导致系统性能出乎意料。 </li>
<li>理解应用Patch是如何进行的。除了理解它本身的工作原理之外，还需要了解它带来的影响，比如Patch是如何改变你本来工作的非常好的某段SQL的执行计划的？你需要知道Patch后，某个批处理程序突然变慢的原因。 </li>
<li>理解预警。理解其工作原理，清楚的知道利弊。比如事件预警会创建什么样的Trigger。 </li>
<li>熟悉Apache、UNIX Server、OAS等，这些一般情况下不会成为性能优化的优先目标，但是在今后更深入的工作中会考虑到。 </li>
</ol>
<p>这里并没有列出一个普通DBA应当参与的工作，比如监控回滚段、分析Statspack报表、捕获并提出性能恶劣的客户化SQL的优化建议以及其他份内工作。App DBA作为专业的工作职位自然有其特殊性，比如为什么你不能使用DBMS_STATS做统计？为什么不允许KEEP Pool？</p>
<p>Oracle EBS 本身的技术架构已经可以让合格的DBA大展身手，不论从数据库层还是应用层。不要把注意力全部集中到SQL优化上，尽管这可能就是90%的问题所在，但是它通常由客户化引起。对于纯标准化的EBS应用而言，运行5年后，在性能优化领域将需要从更高处审视整套系统。</p>
<img src="http://feeds.feedburner.com/~r/orafans/~4/qiMX1sIH2NM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.orafans.org/archives/370/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><feedburner:origLink>http://www.orafans.org/archives/370</feedburner:origLink></item>
		<item>
		<title>为什么要学工作流？</title>
		<link>http://feedproxy.google.com/~r/orafans/~3/TdfN9vDOzls/369</link>
		<comments>http://www.orafans.org/archives/369#comments</comments>
		<pubDate>Mon, 01 Jun 2009 09:17:36 +0000</pubDate>
		<dc:creator>Zeeno</dc:creator>
				<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.orafans.org/archives/369</guid>
		<description><![CDATA[很多人经常面对一种场面，就是在查找某环节的问题时，惊奇的发现自己又得面对工作流。虽然有点排斥，但是，您必须面对它，无处可避。本文所言的工作流通常是指Oracle Workflow，这是数据库内置的组件，在EBS系统中它被发扬光大了。不论哪个版本，工作流都是一个核心的组件，在11i系列认证中，它甚至作为独立的一块内容。
当您的团队开始谈论BPM时，您可能会想起BPEL。是的，在R12中，有一种更独特的流程管理技术被推荐给用户，但是Workflow依旧处于一个非常关键的位置。我之前曾罗列过11i中的几个标准的工作流，它们在控制业务流程方面起到了有效的作用。如果光看到这些，您可能把工作流等同于审批流程了，事实上这是非常片面的理解。现在，请打开你的浏览器（我是指11i中的），进入采购超级用户（或者其它职责），选择“流程”，如下图：
 
直接将流程和操作有机集成了。这也是一种工作流的应用。当然，也许您早知道这个功能并开始使用了。我也认同，把一些需要控制点的业务流程放在浏览器中，是一种不错的主意。这个和单据等审批流程类似，可以控制各个功能的执行时机。这些流程和审批层次一样，都是需要IT部门预先分析、设计并定义好的，但是如果用户，他可能刚入职，也可能子公司给他分配了新的角色，作为集团总部的您如何管理子公司各用户权限的分配呢？点击Web页面右上角的首选项，看到如下的内容：
 
如文字所示，“请求访问”就是用于自行申请权限（职责）的。回忆之前介绍用户层级管理时提到的，Provision Services和Self-Service and Approvals同样也用到了工作流。
 
以上都是除了审批之外的非典型工作流应用。只要您的业务中存在规则（rule-based），那么就可以使用工作流。还有很多地方可以发现工作流的应用，这里不一一举例了。大致划分的话，可以发现下面几个领域会用到工作流：

审批。比如采购订单审批，另有一些场合会使用AME。 
任何有规则，需要控制流程的场所。比如进行复杂数据处理时，利用工作流非常直观的设计界面来设计处理流程，而不是塞到一段冗长的PL/SQL代码中。 
业务事件。比如某些删除或更新操作可能需要通知其他系统，这时可以考虑订阅该事件，并实施特殊的逻辑。 
异构系统的同步。可以将工作流和业务事件组合使用，在处理异构系统的数据同步时非常有用。比如您可能需要某个关键点触发一条手机短信。 
发邮件。工作流的邮件功能已经非常强大，可以发HTML格式的邮件，也可以发附件。 
投票。 

如果您有心去统计，会发现11i中工作流的影子遍布在每个角落。工作流并不难懂，掌握了它，对理解11i内部工作机制有非常大的帮助。
]]></description>
			<content:encoded><![CDATA[<p>很多人经常面对一种场面，就是在查找某环节的问题时，惊奇的发现自己又得面对工作流。虽然有点排斥，但是，您必须面对它，无处可避。本文所言的工作流通常是指Oracle Workflow，这是数据库内置的组件，在EBS系统中它被发扬光大了。不论哪个版本，工作流都是一个核心的组件，在11i系列认证中，它甚至作为独立的一块内容。</p>
<p>当您的团队开始谈论BPM时，您可能会想起BPEL。是的，在R12中，有一种更独特的流程管理技术被推荐给用户，但是Workflow依旧处于一个非常关键的位置。我之前曾罗列过<a href="http://www.orafans.org/archives/5">11i中的几个标准的工作流</a>，它们在控制业务流程方面起到了有效的作用。如果光看到这些，您可能把工作流等同于审批流程了，事实上这是非常片面的理解。现在，请打开你的浏览器（我是指11i中的），进入采购超级用户（或者其它职责），选择“流程”，如下图：</p>
<p> <a href="http://img193.imageshack.us/my.php?image=20090601164658.png"><img border="0" alt="Image Hosted by ImageShack.us" src="http://img193.imageshack.us/img193/1803/20090601164658.png" /></a>
<p>直接将流程和操作有机集成了。这也是一种工作流的应用。当然，也许您早知道这个功能并开始使用了。我也认同，把一些需要控制点的业务流程放在浏览器中，是一种不错的主意。这个和单据等审批流程类似，可以控制各个功能的执行时机。这些流程和审批层次一样，都是需要IT部门预先分析、设计并定义好的，但是如果用户，他可能刚入职，也可能子公司给他分配了新的角色，作为集团总部的您如何管理子公司各用户权限的分配呢？点击Web页面右上角的首选项，看到如下的内容：</p>
<p> <a title="ImageShack - Image And Video Hosting" href="http://img14.imageshack.us/my.php?image=20090601165456.png" target="_blank"><img border="0" src="http://img14.imageshack.us/img14/6915/20090601165456.png" /></a>
<p>如文字所示，“请求访问”就是用于自行申请权限（职责）的。回忆之前介绍<a href="http://www.orafans.org/archives/353">用户层级管理</a>时提到的，Provision Services和Self-Service and Approvals同样也用到了工作流。</p>
<p> <span id="more-369"></span>
<p>以上都是除了审批之外的非典型工作流应用。只要您的业务中存在规则（rule-based），那么就可以使用工作流。还有很多地方可以发现工作流的应用，这里不一一举例了。大致划分的话，可以发现下面几个领域会用到工作流：</p>
<ol>
<li>审批。比如采购订单审批，另有一些场合会使用AME。 </li>
<li>任何有规则，需要控制流程的场所。比如进行复杂数据处理时，利用工作流非常直观的设计界面来设计处理流程，而不是塞到一段冗长的PL/SQL代码中。 </li>
<li>业务事件。比如某些删除或更新操作可能需要通知其他系统，这时可以考虑订阅该事件，并实施特殊的逻辑。 </li>
<li>异构系统的同步。可以将工作流和业务事件组合使用，在处理异构系统的数据同步时非常有用。比如您可能需要某个关键点触发一条手机短信。 </li>
<li>发邮件。工作流的邮件功能已经非常强大，可以发HTML格式的邮件，也可以发附件。 </li>
<li>投票。 </li>
</ol>
<p>如果您有心去统计，会发现11i中工作流的影子遍布在每个角落。工作流并不难懂，掌握了它，对理解11i内部工作机制有非常大的帮助。</p>
<img src="http://feeds.feedburner.com/~r/orafans/~4/TdfN9vDOzls" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.orafans.org/archives/369/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><feedburner:origLink>http://www.orafans.org/archives/369</feedburner:origLink></item>
		<item>
		<title>OCE: Oracle Certified Expert</title>
		<link>http://feedproxy.google.com/~r/orafans/~3/Apt4-Q97hOI/368</link>
		<comments>http://www.orafans.org/archives/368#comments</comments>
		<pubDate>Sat, 23 May 2009 04:08:42 +0000</pubDate>
		<dc:creator>Zeeno</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.orafans.org/archives/368</guid>
		<description><![CDATA[因为众所周知的原因，R12的部分考试还处于Beta Exam阶段，比如我所关注的系统管理专家认证的测试考试期间将持续到2009年6月30日。按照常例，Beta Exam结束后数周内即可推出正式认证考试（供应链专家认证的测试版考试已在1月31日结束）。
相比于11i，R12在专家资格认证上并没有太多变化，依旧有财务顾问和分销顾问，新增了ASCP（高级供应链）专家认证，但是在系统方面取消了工作流专家认证。事实上，在功能本身上并没有太大的区别，所以熟悉11i的也可以很快适应R12。
目前在国内，OCE(Oracle Certified Expert，Oracle认证领域专家)认证并不流行，至少在市场上和OCP没法比，甚至对于Partner，也取消了实施资格的要求。不过在国外，倒是经常看到很多人谈及OCE。价钱上，OCE认证倒是比OCP贵出不少。
证书样例：

这是我的11i OCE证书，手机拍的，效果不是很好。和OCP一样，也是一张证书和一张名片大小的卡片。
&#160;
Logo:

拿到证书后，就可以将OCE的Logo放到名片、履历、网站或者其它你想放的地方了。
等R12的专家认证正式发布后，我再去弄一张来秀秀。不过，供应链和财务顾问两项专家认证也需要Hand-On Course，目前不知道价格，如果也上万就算了，便宜的话可以考虑去吃吃螃蟹的。
Just for fun  
]]></description>
			<content:encoded><![CDATA[<p>因为众所周知的原因，R12的部分考试还处于<a href="http://www.orafans.org/archives/342">Beta Exam</a>阶段，比如我所关注的系统管理专家认证的测试考试期间将持续到2009年6月30日。按照常例，Beta Exam结束后数周内即可推出正式认证考试（供应链专家认证的测试版考试已在1月31日结束）。</p>
<p>相比于11i，R12在专家资格认证上并没有太多变化，依旧有财务顾问和分销顾问，新增了ASCP（高级供应链）专家认证，但是在系统方面取消了工作流专家认证。事实上，在功能本身上并没有太大的区别，所以熟悉11i的也可以很快适应R12。</p>
<p>目前在国内，OCE(Oracle Certified Expert，Oracle认证领域专家)认证并不流行，至少在市场上和OCP没法比，甚至对于Partner，也取消了实施资格的要求。不过在国外，倒是经常看到很多人谈及OCE。价钱上，OCE认证倒是比OCP贵出不少。</p>
<p>证书样例：</p>
<p><img title="11i_oce_wf" src="http://www.orafans.org/images/11i_oce_wf.jpg" /></p>
<p>这是我的11i OCE证书，手机拍的，效果不是很好。和OCP一样，也是一张证书和一张名片大小的卡片。</p>
<p>&#160;</p>
<p>Logo:</p>
<p><img title="OCE Logo" src="http://www.orafans.org/images/O_Cert_Expert_485.gif" /></p>
<p>拿到证书后，就可以将OCE的Logo放到名片、履历、网站或者其它你想放的地方了。</p>
<p>等R12的专家认证正式发布后，我再去弄一张来秀秀。不过，供应链和财务顾问两项专家认证也需要Hand-On Course，目前不知道价格，如果也上万就算了，便宜的话可以考虑去吃吃螃蟹的。</p>
<p>Just for fun <img src='http://www.orafans.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/orafans/~4/Apt4-Q97hOI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.orafans.org/archives/368/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><feedburner:origLink>http://www.orafans.org/archives/368</feedburner:origLink></item>
		<item>
		<title>EBS诊断利器：RDA</title>
		<link>http://feedproxy.google.com/~r/orafans/~3/ct_g26l6aIo/367</link>
		<comments>http://www.orafans.org/archives/367#comments</comments>
		<pubDate>Sat, 02 May 2009 06:39:00 +0000</pubDate>
		<dc:creator>Zeeno</dc:creator>
				<category><![CDATA[E-Business Suite]]></category>

		<guid isPermaLink="false">http://www.orafans.org/archives/367</guid>
		<description><![CDATA[RDA，Oracle Remote Diagnostic Agent，是Oracle提供的一个系统信息收集和性能诊断工具，与之前介绍过的AWR和Statspack不同，它虽然也同样提供了数据库相关性能诊断信息，但主要还是用于其应用产品，提供了包括操作系统、网络、RDBMS和数据库运行信息等，因而它非常适用于Oracle应用产品的实施人员，可以快速地了解整个系统的关键性能数据。在提交SR时，Oracle也建议同时提交RDA诊断数据（RDA.RDA_&#60;appname&#62;.zip）。
RDA用Perl语言编写，可以在shell下以命令行方式执行。它拥有和OCM集成的版本，也有独立版本。OCM集成版本通过Oracle提供的一个补丁包来安装，独立版本则更为方便，解压后通过简单的步骤即可执行，它不需要安装到数据库。目前的最新版本是4.15，版本号经常更新，在Metalink上搜索Oracle Remote Diagnostic即可出现所有相关文档。
使用方式(以standalone版本为例)：

解压rda.zip (也可能是rda.tar.gz，视你所下载的压缩档格式为定)。 
验证: rda.pl -cv 
安装: rda.pl -S （该步骤提供各项检测项，可以一路Enter使用默认值） 
执行: rda.pl -v       

执行完毕后，output目录下将生成HTML格式的诊断报告，和一个zip格式的压缩包，该压缩包用于提交到Oracle支持中心。
 
虽然在数据库性能专项诊断上它和statspack相比可能还有不小差距，但是它的设计出发点是提供一种概览式报表来了解Oracle应用的整体运行性能，并且操作简便，从这个角度来讲，是绝对的不可多得的好工具。
]]></description>
			<content:encoded><![CDATA[<p>RDA，Oracle Remote Diagnostic Agent，是Oracle提供的一个系统信息收集和性能诊断工具，与之前介绍过的AWR和Statspack不同，它虽然也同样提供了数据库相关性能诊断信息，但主要还是用于其应用产品，提供了包括操作系统、网络、RDBMS和数据库运行信息等，因而它非常适用于Oracle应用产品的实施人员，可以快速地了解整个系统的关键性能数据。在提交SR时，Oracle也建议同时提交RDA诊断数据（RDA.RDA_&lt;appname&gt;.zip）。</p>
<p>RDA用Perl语言编写，可以在shell下以命令行方式执行。它拥有和OCM集成的版本，也有独立版本。OCM集成版本通过Oracle提供的一个补丁包来安装，独立版本则更为方便，解压后通过简单的步骤即可执行，它不需要安装到数据库。目前的最新版本是4.15，版本号经常更新，在Metalink上搜索Oracle Remote Diagnostic即可出现所有相关文档。</p>
<p>使用方式(以standalone版本为例)：</p>
<ol>
<li>解压rda.zip (也可能是rda.tar.gz，视你所下载的压缩档格式为定)。 </li>
<li>验证: rda.pl -cv </li>
<li>安装: rda.pl -S （该步骤提供各项检测项，可以一路Enter使用默认值） </li>
<li>执行: rda.pl -v      <br /><img alt="Image Hosted by ImageShack.us" src="http://img299.imageshack.us/img299/3852/20090429140411.png" /> </li>
</ol>
<p>执行完毕后，output目录下将生成HTML格式的诊断报告，和一个zip格式的压缩包，该压缩包用于提交到Oracle支持中心。</p>
<p> <img alt="Image Hosted by ImageShack.us" src="http://img382.imageshack.us/img382/7824/20090429140553.png" />
<p>虽然在数据库性能专项诊断上它和statspack相比可能还有不小差距，但是它的设计出发点是提供一种概览式报表来了解Oracle应用的整体运行性能，并且操作简便，从这个角度来讲，是绝对的不可多得的好工具。</p>
<img src="http://feeds.feedburner.com/~r/orafans/~4/ct_g26l6aIo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.orafans.org/archives/367/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><feedburner:origLink>http://www.orafans.org/archives/367</feedburner:origLink></item>
		<item>
		<title>合理设计并发管理器，减低响应时间</title>
		<link>http://feedproxy.google.com/~r/orafans/~3/XZI-Wq8R1R4/366</link>
		<comments>http://www.orafans.org/archives/366#comments</comments>
		<pubDate>Tue, 28 Apr 2009 13:17:18 +0000</pubDate>
		<dc:creator>Zeeno</dc:creator>
				<category><![CDATA[E-Business Suite]]></category>

		<guid isPermaLink="false">http://www.orafans.org/archives/366</guid>
		<description><![CDATA[标准管理器用于管理任意、所有的并发请求，它没有特殊规则，总是处于有效状态。因而对于用户提交的或者系统后台运行的并发请求，它并不做区分，只是根据提交时间和优先级依序处理。在实际业务中，这种方式有时候无法达到预期的响应程度，比如总经理提交的报表，一般情况不允许排队等待过多时间。通过对并发管理器的适当设计和定义，可以满足实际的业务需求。
1. 定义请求类型(可选)
Navigate: Concurrent -&#62; Program -&#62; Types
并发请求根据执行时间，大致可以分为：快速响应和长时间执行两种。对于要求快速响应的并发请求，如果目前系统中的标准管理器同时处理数量已达上限，则不论新的请求响应时间有多短暂，它必然地处于待定状态，只有等有空闲资源时，根据预先定义的规则才可能开始被执行。
将并发请求人为分组，可以为之后制定满足需求的执行规则。比如定义两种并发请求类型：

Quick， 快速响应的并发请求 
Long-Time， 长时间运行的并发请求 

2. 定义组合规则(可选)
Navigate: Concurrent -&#62; Manager -&#62; Rule
管理器定义窗口可以定义特殊规则，但是组合规则更方便、简洁。两者的定义方式是相同的。

Include，包含符合条件的请求，可以按Type来区分，比如根据节点，根据并发程序名称，或者按照用户名等。 
Exclude，排除。该优先级高于Include，可以覆盖Include中的条件。 


3. 定义工作班次(可选)
Navigate: Concurrent -&#62; Manager -&#62; WorkShifts
根据系统运行状态，可以根据系统繁忙时间和相对空闲时间合理安排系统资源。

4. 定义并发管理器
Navigate: Concurrent -&#62; Manager -&#62; Define

 

该界面用于定义我们用于处理特殊并发请求的管理器。

Type：Concurrent Manager 
Program Library: 选择FNDLIBR 
Cache Size: 每次抓取的待处理并发请求数量，默认为3。如果执行时间长，需要及时调整优先级，则将该数值设置为尽量小；如果并发请求执行时间短、数量多，则该数值可以适当调大。 
Specialization Rules: 选择Include步骤2定义过的组合规则。 

Work Shifts 界面根据系统资源状况选择合适的进程数：

5. 将并发程序分组
Navigate: Concurrent -&#62; Program -&#62; Define
在并发程序定义界面，将Request Type选择为步骤1定义过的组。

根据之前定义的组合规则，所有分配到该组的并发请求，都将可能由自定义的并发管理器管理。
P.S：只所以说“可能”，是因为标准管理器会处理任意的、所有的并发请求，除非为标准管理器指定了特殊规则，但是Oracle不建议这么做。
]]></description>
			<content:encoded><![CDATA[<p>标准管理器用于管理任意、所有的并发请求，它没有特殊规则，总是处于有效状态。因而对于用户提交的或者系统后台运行的并发请求，它并不做区分，只是根据提交时间和优先级依序处理。在实际业务中，这种方式有时候无法达到预期的响应程度，比如总经理提交的报表，一般情况不允许排队等待过多时间。通过对并发管理器的适当设计和定义，可以满足实际的业务需求。</p>
<h3>1. 定义请求类型(可选)</h3>
<p>Navigate: Concurrent -&gt; Program -&gt; Types</p>
<p>并发请求根据执行时间，大致可以分为：快速响应和长时间执行两种。对于要求快速响应的并发请求，如果目前系统中的标准管理器同时处理数量已达上限，则不论新的请求响应时间有多短暂，它必然地处于待定状态，只有等有空闲资源时，根据预先定义的规则才可能开始被执行。</p>
<p>将并发请求人为分组，可以为之后制定满足需求的执行规则。比如定义两种并发请求类型：</p>
<ul>
<li>Quick， 快速响应的并发请求 </li>
<li>Long-Time， 长时间运行的并发请求 </li>
</ul>
<h3>2. 定义组合规则(可选)</h3>
<p>Navigate: Concurrent -&gt; Manager -&gt; Rule</p>
<p>管理器定义窗口可以定义特殊规则，但是组合规则更方便、简洁。两者的定义方式是相同的。</p>
<ul>
<li>Include，包含符合条件的请求，可以按Type来区分，比如根据节点，根据并发程序名称，或者按照用户名等。 </li>
<li>Exclude，排除。该优先级高于Include，可以覆盖Include中的条件。 </li>
</ul>
<p><img alt="Image Hosted by ImageShack.us" src="http://img219.imageshack.us/img219/7241/20090428205442.png" /></p>
<h3>3. 定义工作班次(可选)</h3>
<p>Navigate: Concurrent -&gt; Manager -&gt; WorkShifts</p>
<p>根据系统运行状态，可以根据系统繁忙时间和相对空闲时间合理安排系统资源。</p>
<p><img alt="Image Hosted by ImageShack.us" src="http://img134.imageshack.us/img134/735/20090428205936.png" /></p>
<h3>4. 定义并发管理器</h3>
<p>Navigate: Concurrent -&gt; Manager -&gt; Define</p>
</p>
<p> <span id="more-366"></span>
</p>
<p>该界面用于定义我们用于处理特殊并发请求的管理器。</p>
<ul>
<li>Type：Concurrent Manager </li>
<li>Program Library: 选择FNDLIBR </li>
<li>Cache Size: 每次抓取的待处理并发请求数量，默认为3。如果执行时间长，需要及时调整优先级，则将该数值设置为尽量小；如果并发请求执行时间短、数量多，则该数值可以适当调大。 </li>
<li>Specialization Rules: 选择Include步骤2定义过的组合规则。 </li>
</ul>
<p>Work Shifts 界面根据系统资源状况选择合适的进程数：</p>
<p><img alt="Image Hosted by ImageShack.us" src="http://img160.imageshack.us/img160/1772/20090428210604.png" /></p>
<h3>5. 将并发程序分组</h3>
<p>Navigate: Concurrent -&gt; Program -&gt; Define</p>
<p>在并发程序定义界面，将Request Type选择为步骤1定义过的组。</p>
<p><img alt="Image Hosted by ImageShack.us" src="http://img528.imageshack.us/img528/3779/20090428211216.png" /></p>
<p>根据之前定义的组合规则，所有分配到该组的并发请求，都将<u>可能</u>由自定义的并发管理器管理。</p>
<p>P.S：只所以说“可能”，是因为标准管理器会处理任意的、所有的并发请求，除非为标准管理器指定了特殊规则，但是Oracle不建议这么做。</p>
<img src="http://feeds.feedburner.com/~r/orafans/~4/XZI-Wq8R1R4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.orafans.org/archives/366/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><feedburner:origLink>http://www.orafans.org/archives/366</feedburner:origLink></item>
		<item>
		<title>基于Web服务器的职责限制</title>
		<link>http://feedproxy.google.com/~r/orafans/~3/eo-TEMSuJa4/365</link>
		<comments>http://www.orafans.org/archives/365#comments</comments>
		<pubDate>Sun, 26 Apr 2009 04:36:15 +0000</pubDate>
		<dc:creator>Zeeno</dc:creator>
				<category><![CDATA[E-Business Suite]]></category>

		<guid isPermaLink="false">http://www.orafans.org/archives/365</guid>
		<description><![CDATA[Oracle应用产品采用多层结构，简单来说包括了数据库层、应用层和用户层。对于某些大型应用，应用层可能包括数台服务器，这些服务器主要是通过Server ID来标识身份，通过Server ID和Code ID(用于标识模块和相应Patch级别)，数据库层即可辨识链接的来源。
服务器信任级别
按用户来分，Web Server可能用于内部管理、普通员工和外部人员，不同的用户的登录方式和用途都可能不同，比如普通员工可能通过公司VPN访问，而外部人员——比如供应商，或其他客户——则可能直接通过公网访问。Oracle应用产品存在一种机制，可以根据不同Web Server来区分访问级别。通过这种划分，可以针对性的提供或屏蔽部分敏感功能和数据。

Administrative 授信级别最高，所有的链接都被认为是安全的，并且可以访问高度敏感的信息。
Normal 普通级别，通常是公司防火墙内部员工，使用普通的功能。
External 外部人员，通常是供应商或客户，也可能处于公司防火墙外部的员工，这些链接被认为是不够安全的。

Web Server通过配置文件Node Trust Level来设置该服务器的信任（安全）级别，中间层通过读取该配置文件来确定当前服务器的信任级别，从而判断哪些职责是允许访问的。该配置文件值默认为Administrative。
职责信任级别
职责的信任级别通过配置文件Responsibility Trust Level来确定，也共有三级：

Administrative
Normal
External

三个职责信任级别分别对应三个服务器信任级别，职责信任级别等于或低于服务器信任级别的才能正常使用。如Administrative信任级别的职责可以用在同样级别的服务器上，但是External信任级别的职责则不行。
通过职责来限制功能和数据访问是最简单的方式，但是当用户群体数量较大时，可以利用信任级别来委派管理。
]]></description>
			<content:encoded><![CDATA[<p>Oracle应用产品采用多层结构，简单来说包括了数据库层、应用层和用户层。对于某些大型应用，应用层可能包括数台服务器，这些服务器主要是通过Server ID来标识身份，通过Server ID和Code ID(用于标识模块和相应Patch级别)，数据库层即可辨识链接的来源。</p>
<h3>服务器信任级别</h3>
<p>按用户来分，Web Server可能用于内部管理、普通员工和外部人员，不同的用户的登录方式和用途都可能不同，比如普通员工可能通过公司VPN访问，而外部人员——比如供应商，或其他客户——则可能直接通过公网访问。Oracle应用产品存在一种机制，可以根据不同Web Server来区分访问级别。通过这种划分，可以针对性的提供或屏蔽部分敏感功能和数据。</p>
<ol>
<li>Administrative 授信级别最高，所有的链接都被认为是安全的，并且可以访问高度敏感的信息。</li>
<li>Normal 普通级别，通常是公司防火墙内部员工，使用普通的功能。</li>
<li>External 外部人员，通常是供应商或客户，也可能处于公司防火墙外部的员工，这些链接被认为是不够安全的。</li>
</ol>
<p>Web Server通过配置文件Node Trust Level来设置该服务器的信任（安全）级别，中间层通过读取该配置文件来确定当前服务器的信任级别，从而判断哪些职责是允许访问的。该配置文件值默认为Administrative。</p>
<h3>职责信任级别</h3>
<p>职责的信任级别通过配置文件Responsibility Trust Level来确定，也共有三级：</p>
<ol>
<li>Administrative</li>
<li>Normal</li>
<li>External</li>
</ol>
<p>三个职责信任级别分别对应三个服务器信任级别，职责信任级别等于或低于服务器信任级别的才能正常使用。如Administrative信任级别的职责可以用在同样级别的服务器上，但是External信任级别的职责则不行。</p>
<p>通过职责来限制功能和数据访问是最简单的方式，但是当用户群体数量较大时，可以利用信任级别来委派管理。</p>
<img src="http://feeds.feedburner.com/~r/orafans/~4/eo-TEMSuJa4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.orafans.org/archives/365/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><feedburner:origLink>http://www.orafans.org/archives/365</feedburner:origLink></item>
		<item>
		<title>EBS管理员应当掌握的知识</title>
		<link>http://feedproxy.google.com/~r/orafans/~3/no30T4l3-as/362</link>
		<comments>http://www.orafans.org/archives/362#comments</comments>
		<pubDate>Thu, 23 Apr 2009 09:27:00 +0000</pubDate>
		<dc:creator>Zeeno</dc:creator>
				<category><![CDATA[E-Business Suite]]></category>

		<guid isPermaLink="false">http://www.orafans.org/archives/362</guid>
		<description><![CDATA[如果您是一名EBS管理人员，下面这些内容，你都掌握了吗？

安全控制 (包括功能限制、数据屏蔽） 
用户管理（自助权限申请、管理权限委派等） 
审计（审计用户行为和数据变更历史） 
打印机配置 
OAM(Oracle应用管理器的常规操作，比如系统状态监控） 
诊断操作 
管理并发程序和报表 
维护并发管理器 
工作流管理（这是专门的领域，包括工作流组件、业务事件等） 
深刻理解弹性域（包括说明性弹性域和键弹性域） 
熟悉技术架构和各组件 
熟悉预警 

可能的，你需要接触系统更底层的东西，以下是不一定需要去做，但是要求了解的：

基本的系统配置 
应用Patch和维护应用系统 
熟悉各类二次开发（如开发工具，个性化）
全球化机制
各类导入导出工具

以上知识如果不仅仅是作为普通用户，更是作为高级用户来使用，那才可以更深刻的理解EBS的各功能。做为系统管理员，这些都必须非常熟悉，而做为合格的实施顾问，不一定精通这些，但是了解它们也是必要的。
]]></description>
			<content:encoded><![CDATA[<p>如果您是一名EBS管理人员，下面这些内容，你都掌握了吗？</p>
<ul>
<li>安全控制 (包括功能限制、数据屏蔽） </li>
<li>用户管理（自助权限申请、管理权限委派等） </li>
<li>审计（审计用户行为和数据变更历史） </li>
<li>打印机配置 </li>
<li>OAM(Oracle应用管理器的常规操作，比如系统状态监控） </li>
<li>诊断操作 </li>
<li>管理并发程序和报表 </li>
<li>维护并发管理器 </li>
<li>工作流管理（这是专门的领域，包括工作流组件、业务事件等） </li>
<li>深刻理解弹性域（包括说明性弹性域和键弹性域） </li>
<li>熟悉技术架构和各组件 </li>
<li>熟悉预警 </li>
</ul>
<p>可能的，你需要接触系统更底层的东西，以下是不一定需要去做，但是要求了解的：</p>
<ul>
<li>基本的系统配置 </li>
<li>应用Patch和维护应用系统 </li>
<li>熟悉各类二次开发（如开发工具，个性化）</li>
<li>全球化机制</li>
<li>各类导入导出工具</li>
</ul>
<p>以上知识如果不仅仅是作为普通用户，更是作为高级用户来使用，那才可以更深刻的理解EBS的各功能。做为系统管理员，这些都必须非常熟悉，而做为合格的实施顾问，不一定精通这些，但是了解它们也是必要的。</p>
<img src="http://feeds.feedburner.com/~r/orafans/~4/no30T4l3-as" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.orafans.org/archives/362/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><feedburner:origLink>http://www.orafans.org/archives/362</feedburner:origLink></item>
		<item>
		<title>个性化主页</title>
		<link>http://feedproxy.google.com/~r/orafans/~3/lOth6MLfiFg/359</link>
		<comments>http://www.orafans.org/archives/359#comments</comments>
		<pubDate>Wed, 22 Apr 2009 05:22:50 +0000</pubDate>
		<dc:creator>Zeeno</dc:creator>
				<category><![CDATA[E-Business Suite]]></category>

		<guid isPermaLink="false">http://www.orafans.org/archives/359</guid>
		<description><![CDATA[是否厌倦了那一成不变的平板主页？    一个职责下如果菜单层级过多，是否感受到了那长长的列表需要很大的耐心去等待？
事实上，通过个性化主页，可以让菜单看上去和Form中的效果一样。如下：    
EBS主页导航栏有两种模式，分别为“树”和“平板”模式，默认为“平板”模式。调整显示模式需要几步简单的操作： 
1. 为用户设置配置文件Personalize Self-Service Defn值为Yes。登录后点击主页右上角的Personalize Page。     
2. 启用完整视图。    
3. 选择responsibilityRow。    
4. 在Function:Applications Home Page级别上将Rendered设置为false，会有警告，不理它，点击Apply。然后将appsNavTreeRow中的Rendered设置为true。    
返回主页，就可以看到和Form一样的树状菜单了。
]]></description>
			<content:encoded><![CDATA[<p>是否厌倦了那一成不变的平板主页？    <br />一个职责下如果菜单层级过多，是否感受到了那长长的列表需要很大的耐心去等待？</p>
<p>事实上，通过个性化主页，可以让菜单看上去和Form中的效果一样。如下：    <br /><a title="ImageShack - Image And Video Hosting" href="http://img4.imageshack.us/my.php?image=20090422123602.png" target="_blank"><img src="http://img4.imageshack.us/img4/6441/20090422123602.png" border="0" /></a></p>
<p>EBS主页导航栏有两种模式，分别为“树”和“平板”模式，默认为“平板”模式。调整显示模式需要几步简单的操作： </p>
<p>1. 为用户设置配置文件<strong>Personalize Self-Service Defn</strong>值为Yes。登录后点击主页右上角的Personalize Page。     <br /><a title="ImageShack - Image And Video Hosting" href="http://img25.imageshack.us/my.php?image=20090422123819.png" target="_blank"><img src="http://img25.imageshack.us/img25/9948/20090422123819.png" border="0" /></a></p>
<p>2. 启用完整视图。    <br /><a title="ImageShack - Image And Video Hosting" href="http://img23.imageshack.us/my.php?image=20090422123836.png" target="_blank"><img src="http://img23.imageshack.us/img23/1427/20090422123836.png" border="0" /></a></p>
<p>3. 选择responsibilityRow。    <br /><a title="ImageShack - Image And Video Hosting" href="http://img22.imageshack.us/my.php?image=20090422123858.png" target="_blank"><img src="http://img22.imageshack.us/img22/480/20090422123858.png" border="0" /></a></p>
<p>4. 在Function:Applications Home Page级别上将Rendered设置为false，会有警告，不理它，点击Apply。然后将appsNavTreeRow中的Rendered设置为true。    <br /><a title="ImageShack - Image And Video Hosting" href="http://img19.imageshack.us/my.php?image=20090422123931.png" target="_blank"><img src="http://img19.imageshack.us/img19/1782/20090422123931.png" border="0" /></a></p>
<p>返回主页，就可以看到和Form一样的树状菜单了。</p>
<img src="http://feeds.feedburner.com/~r/orafans/~4/lOth6MLfiFg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.orafans.org/archives/359/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><feedburner:origLink>http://www.orafans.org/archives/359</feedburner:origLink></item>
	</channel>
</rss>
