<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>CoderJoe.net &#187; Work</title>
	<atom:link href="http://www.coderjoe.net/category/work/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coderjoe.net</link>
	<description>Me, myself, and my code.</description>
	<lastBuildDate>Tue, 08 Jun 2010 19:45:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Oracle Core Dump Grapher</title>
		<link>http://www.coderjoe.net/archive/2008/03/20/oracle-core-dump-grapher/</link>
		<comments>http://www.coderjoe.net/archive/2008/03/20/oracle-core-dump-grapher/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 03:45:51 +0000</pubDate>
		<dc:creator>coderjoe</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[core dump]]></category>
		<category><![CDATA[graphviz]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[trace file]]></category>

		<guid isPermaLink="false">http://www.coderjoe.net/archive/2008/03/20/oracle-core-dump-grapher/</guid>
		<description><![CDATA[Anyone who has ever spent any significant amount of time working with an Oracle database has probably seen a ORA-600 or ORA-07445 &#8220;exception encountered: core dump&#8221; trace file. Unfortunately, when you come across an Oracle core dump you can&#8217;t do much more than send the dump to Oracle and hope the issue is already resolved [...]]]></description>
			<content:encoded><![CDATA[<p>Anyone who has ever spent any significant amount of time working with an Oracle database has probably seen a ORA-600 or ORA-07445 &#8220;exception encountered: core dump&#8221; trace file.</p>
<p>Unfortunately, when you come across an Oracle core dump you can&#8217;t do much more than send the dump to Oracle and hope the issue is already resolved in a newer version, or that a patch is available for your current version.</p>
<p>This process usually consists of three steps:</p>
<ol>
<li>Collect the trace files related to the issue.</li>
<li>Open a Service Request on Oracle&#8217;s Metalink site.</li>
<li>Wait for a response</li>
</ol>
<p><span style="font-style: italic">If you&#8217;re lucky</span>, the first step is an easy one.<br />
<span style="font-style: italic">If you&#8217;re lucky</span> you caught the first occurrence of the core dump and only need to shoot off a single trace file to the guys at Oracle.</p>
<p>On the other hand, if you&#8217;re not lucky, you might be handed 50-60 trace files spanning multiple weeks and be asked to sort them by distinct issue for reporting to Oracle.</p>
<p>I&#8217;m <span style="font-weight: bold">not</span> lucky.</p>
<p>Sorting the trace files is a long process which involves searching the trace file for the dump, researching the issue on Metalink, finding similar issues on Metalink, and then sorting the trace files by those issues.</p>
<p>Two trace files into the process I knew there had to be a better way.<br />
Well, what better way to organize trace files than by the stack trace that generated the dump?</p>
<p>From that idea TraceFileGrapher was born.</p>
<p>The TraceFileGrapher takes as input a directory of trace files, and creates a graph representing the call stacks of all of the trace files resulting in core dumps. The graph is then saved as any <a href="http://www.graphviz.org" title="Graphviz: The opensource graph vizualisation package." target="_blank">Graphviz</a> compatible format of your choosing.</p>
<p>The graphs themselves are simple. The starting nodes of the graph are colored green. The ending nodes are colored red. For a stack trace graph, the end nodes are the names of the trace files in which the core dump appeared. For a PL/SQL Call stack graph, the end nodes are the final PL/SQL function or procedure call name.</p>
<p>Example Graphs</p>
<ul>
<li><a href="http://www.coderjoe.net/wp-content/uploads/2008/03/example-stack-graph.png" title="Oracle Core Dump Stack Graph">Oracle Core Dump Stack Graph</a></li>
<li><a href="http://www.coderjoe.net/wp-content/uploads/2008/03/example-noloop-stack-graph.png" title="Oracle Core Dump Stack Graph without loops">Oracle Core Dump Stack Graph without loops</a></li>
<li><a href="http://www.coderjoe.net/wp-content/uploads/2008/03/example-plsql-graph.png" title="PL/SQL Call Stack Graph">PL/SQL Call Stack Graph</a></li>
<li><a href="http://www.coderjoe.net/wp-content/uploads/2008/03/example-noloop-plsql-graph.png" title="PL/SQL Call Stack Graph without loops">PL/SQL Call Stack Graph without loops</a></li>
</ul>
<p>In addition to graphing core dump stack traces, TraceFileGrapher can graph PL/SQL Call Stacks as well.</p>
<p>The TraceFileGrapher requires <a href="http://www.perl.org" title="The offical Perl webpage." target="_blank">Perl</a>, the <a href="http://search.cpan.org/~tels/Graph-Easy/" title="The Graph::Easy CPAN module for creating graphs in Perl." target="_blank">Graph::Easy</a> Perl module, and the <a href="http://www.graphviz.org" title="Graphviz: The open source graph visualization project." target="_blank">Graphviz</a> open source graph visualization software.</p>
<p>Get the TraceFileGrapher <a href="http://www.coderjoe.net/wp-content/uploads/2008/03/tracefilegrapher-0.1.tar.gz" title="TraceFileGrapher-0.1.tar.gz">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coderjoe.net/archive/2008/03/20/oracle-core-dump-grapher/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>You&#8217;ve won a new Job!</title>
		<link>http://www.coderjoe.net/archive/2007/07/09/youve-won-a-new-job/</link>
		<comments>http://www.coderjoe.net/archive/2007/07/09/youve-won-a-new-job/#comments</comments>
		<pubDate>Mon, 09 Jul 2007 16:04:50 +0000</pubDate>
		<dc:creator>coderjoe</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[Paetec]]></category>
		<category><![CDATA[Pinnacle]]></category>

		<guid isPermaLink="false">http://www.coderjoe.net/archive/2007/07/09/youve-won-a-new-job/</guid>
		<description><![CDATA[I&#8217;m excited to announce that I&#8217;ve officially been selected for, and have started working as a Software Engineer, Associate, position at Paetec Communication&#8217;s Software Division Pinnacle. I will return to work with my colleagues from my first and second co-op blocks. I&#8217;m happy to be back with everybody and I&#8217;ll keep those who care posted [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m excited to announce that I&#8217;ve officially been selected for, and have started working as a Software Engineer, Associate, position at <a href="http://www.paetec.com" title="The Paetec Communications website." target="_blank">Paetec Communication&#8217;s</a> Software Division <a href="http://www.pinnsoft.com/" title="Pinnacle's website." target="_blank">Pinnacle</a>.</p>
<p>I will return to work with my colleagues from my first and second co-op blocks. I&#8217;m happy to be back with everybody and I&#8217;ll keep those who care posted on my progress and exciting adventures in Pinnacle land!</p>
<p>For those of you who are interested in tracking my job progress feel free to click my <a href="http://www.linkedin.com/in/josephbauser" title="My LinkedIn profile." target="_blank">profile link</a> for the corporate social networking tool <a href="http://www.linkedin.com" title="LinkedIn business social networking." target="_blank">LinkedIn</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coderjoe.net/archive/2007/07/09/youve-won-a-new-job/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
