<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Oracle Master Thesis 2010</title>
	<atom:link href="http://oracleexjobb2010.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://oracleexjobb2010.wordpress.com</link>
	<description>A diary of my work with .NET and Oracle</description>
	<lastBuildDate>Mon, 19 Jul 2010 19:56:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='oracleexjobb2010.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Oracle Master Thesis 2010</title>
		<link>http://oracleexjobb2010.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://oracleexjobb2010.wordpress.com/osd.xml" title="Oracle Master Thesis 2010" />
	<atom:link rel='hub' href='http://oracleexjobb2010.wordpress.com/?pushpress=hub'/>
		<item>
		<title></title>
		<link>http://oracleexjobb2010.wordpress.com/2010/07/19/77/</link>
		<comments>http://oracleexjobb2010.wordpress.com/2010/07/19/77/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 19:21:26 +0000</pubDate>
		<dc:creator>guitarkalle</dc:creator>
				<category><![CDATA[Oracle / ODP / .NET]]></category>

		<guid isPermaLink="false">http://oracleexjobb2010.wordpress.com/?p=77</guid>
		<description><![CDATA[Work progress: First group of implementation is done, ODP.NET. I will now start working on the next and last group, using a staging table in oracle. ODP.NET has array insert, regular insert, associative insert. Staging table has bulk insert, external table and SQL*Loader. Testing for ODP.NET is done: row by row w/o join, row by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=77&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Work progress:</p>
<p>First group of implementation is done, ODP.NET. I will now start working on the next and last group, using a staging table in oracle. ODP.NET has array insert, regular insert, associative insert. Staging table has bulk insert, external table and SQL*Loader.</p>
<p>Testing for ODP.NET is done: row by row w/o join, row by row w/ join, bulk w/o join, bulk w/ join. Lots of work has been done on the query to get the next and previous value and average from the ten latest values. Since in 99% of the cases we only need the absolute latest value, we probably can do optimizations of this by saving the latest recorded value. The query now requires a full table scan. By limiting the date to maybe 7 days in the past the query would be quicker, and certainly with using partitioning.</p>
<p>Now I use two array sizes, one for testing and one for loading. I have to confirm that the program still works due to this. I will also need to make sure I can determine the commit rate. The commit can be done after each insert, at the end of the entire load or after a certain amount of rows. I will probably go with making a commit after the entire load. If something goes wrong, you can restart the entire load after a rollback. If some rows already are commited we need to restart the process from that point which might be cumbersome. The DB writer and log writer which writes dirty data blocks and the redo data also might be run less frequently. The redo log is also a place to watch out for contention since we need to wait for the redo log to be written to all logs. These logs need to be used for all processes that inserts as well.</p>
<p>Since Oracle uses read consistency (writers and readers don&#8217;t block each other) and will write undo data, a frequent commit might slow down the process if a process wants to read from the dirty blocks. The reading process will have to go through the undo data to get the concistency.</p>
<p>A marterialized view might speed up the query to get the static data for testing as well.</p>
<p>Running program locally removes ORA exceptions mentioned in the previous post. Results so far are pretty dissapointing, 100-200 rows processed per second fastest result so far.</p>
<p>Seems like the inserts are taking a lot of time due to db sequential read waits. This is probably due to needing updating indexes. Will probably go from a surrogate key to a natural key to remove an index. This also removes the need for sequences. It&#8217;s important to note that a natural key needs to uniquely define a row and preferreably never change. The data model requires a unique index on the natural key anyway so it might be better to skip the surrogate key.</p>
<p>For updating meter values I will probably use RowId instead of the primary key to locate the row. RowIds are the fastest way to access a row since Oracle can deduce in which block the row recides instantly. RowIds can be dangerous to use though depending on circumstances. The RowId of a row can change due to certain events that makes the row change physical place, e.g. reorganizing a table, moving a row between partitions etc. The RowId will be faster then using the primary key since we can skip using the index.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oracleexjobb2010.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oracleexjobb2010.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oracleexjobb2010.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oracleexjobb2010.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oracleexjobb2010.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oracleexjobb2010.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oracleexjobb2010.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oracleexjobb2010.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oracleexjobb2010.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oracleexjobb2010.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oracleexjobb2010.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oracleexjobb2010.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oracleexjobb2010.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oracleexjobb2010.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=77&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oracleexjobb2010.wordpress.com/2010/07/19/77/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83af66026be7c67e6e3dd0122ddf4b60?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">guitarkalle</media:title>
		</media:content>
	</item>
		<item>
		<title>1 July 2010</title>
		<link>http://oracleexjobb2010.wordpress.com/2010/07/01/1-july-2010/</link>
		<comments>http://oracleexjobb2010.wordpress.com/2010/07/01/1-july-2010/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 10:43:51 +0000</pubDate>
		<dc:creator>guitarkalle</dc:creator>
				<category><![CDATA[Oracle / ODP / .NET]]></category>

		<guid isPermaLink="false">http://oracleexjobb2010.wordpress.com/?p=73</guid>
		<description><![CDATA[Progress: First test has been implemented, which fetches single rows all the time. I am now doing tests which fetches all required rows at the same time. Inserts: Besides I/O waits (which is hard to get around), the LogWriter takes a bit of waits (I/O mostly) and also SQL*Net message from client waits. I don&#8217;t [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=73&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Progress:</p>
<p>First test has been implemented, which fetches single rows all the time. I am now doing tests which fetches all required rows at the same time.</p>
<p>Inserts:</p>
<p>Besides I/O waits (which is hard to get around), the LogWriter takes a bit of waits (I/O mostly) and also SQL*Net message from client waits. I don&#8217;t know if this is because of the network or something else like bad fetch size / packet size. That the data does not fit into one packet.</p>
<p>There are weird behavior in array insert when setting array count to &gt; 2000. The app throws various ORA exceptions from time to time. With a bind count of 1000 it never seems to be any trouble. Need to try this locally and see if the program still exists.</p>
<p>Selects:</p>
<p>For the tests which needs to fetch all rows at the same time the optimizer does not know the cardinality (how many rows there are) in the in parameter tables. This means that it cannot draw certain conclusions in deciding the optimal execution path. The cardinality hint enables us to give the optimizer a hint. According to traces it still seems that the optimizer does a full table scan of tables for in parameter tables which have a pretty low cardinality (&gt;100) where it is more efficient to do a index range scan. I do not know why it draws to this conclusion. This means that it might be necessary to have two procedures where one forces an index range scan (using low cardinality hint) and one where it uses a full table scan. Then it would be necessary to test where the threshold is for when your in parameter tables have enough rows for a full table scan to be beneficial and vice versa. This threshold might also change as the tables in the database grows. Using a 10053 trace you might see why the optimizer chooses the full table scan but I did not get the 10053 trace to work.</p>
<p>Passing in two arrays joining them in the SQL or one custom type array which contain two or more seperate values does not seem to matter.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oracleexjobb2010.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oracleexjobb2010.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oracleexjobb2010.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oracleexjobb2010.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oracleexjobb2010.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oracleexjobb2010.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oracleexjobb2010.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oracleexjobb2010.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oracleexjobb2010.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oracleexjobb2010.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oracleexjobb2010.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oracleexjobb2010.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oracleexjobb2010.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oracleexjobb2010.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=73&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oracleexjobb2010.wordpress.com/2010/07/01/1-july-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83af66026be7c67e6e3dd0122ddf4b60?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">guitarkalle</media:title>
		</media:content>
	</item>
		<item>
		<title>17th june 2010</title>
		<link>http://oracleexjobb2010.wordpress.com/2010/06/17/17th-june-2010/</link>
		<comments>http://oracleexjobb2010.wordpress.com/2010/06/17/17th-june-2010/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 09:15:38 +0000</pubDate>
		<dc:creator>guitarkalle</dc:creator>
				<category><![CDATA[Oracle / ODP / .NET]]></category>

		<guid isPermaLink="false">http://oracleexjobb2010.wordpress.com/?p=70</guid>
		<description><![CDATA[Work progress: I have started to implement the different controls that need to be checked on the measurement data. With the test-scenario which will take place on the .NET platform I have done the following alternatives: Single fetch for each row. This can be used if it is decided to check each row individually. This [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=70&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Work progress:</p>
<p>I have started to implement the different controls that need to be checked on the measurement data. With the test-scenario which will take place on the .NET platform I have done the following alternatives:</p>
<p>Single fetch for each row. This can be used if it is decided to check each row individually. This means that for each row, we go to the database to get the data we need to perform the constraint checks.</p>
<p>Multiple fetch for each table. This will fetch the data needed for several rows, but still make a separate database call for each table in which the information lies. Each stored procedure returns a ref cursor.</p>
<p>Multiple fetch for all tables. This combines the approach above but only takes one database call, minimizing database round trips. Here we have one stored procedure that returns several ref cursors. This stored procedure internally just calls the stored procedure in the prior approach but returns them simultaneously.</p>
<p>The results returned from the above are hashed. Hopefully this will make it possible to filter out data already retrieved in a prior fetch, making in unnecessary to retrieve it again.</p>
<p>Multiple fetch with joined data. This uses a single SQL command, prejoining all the data into one row and returns a ref cursor. This minimizes the amount of SQL executed in the database and will probably be the most efficient approach.</p>
<p>After the controls in .NET have been implemented, it&#8217;s time to implement the staging table alternative.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oracleexjobb2010.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oracleexjobb2010.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oracleexjobb2010.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oracleexjobb2010.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oracleexjobb2010.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oracleexjobb2010.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oracleexjobb2010.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oracleexjobb2010.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oracleexjobb2010.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oracleexjobb2010.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oracleexjobb2010.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oracleexjobb2010.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oracleexjobb2010.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oracleexjobb2010.wordpress.com/70/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=70&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oracleexjobb2010.wordpress.com/2010/06/17/17th-june-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83af66026be7c67e6e3dd0122ddf4b60?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">guitarkalle</media:title>
		</media:content>
	</item>
		<item>
		<title>Friday 11 june</title>
		<link>http://oracleexjobb2010.wordpress.com/2010/06/11/friday-11-june/</link>
		<comments>http://oracleexjobb2010.wordpress.com/2010/06/11/friday-11-june/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 10:07:20 +0000</pubDate>
		<dc:creator>guitarkalle</dc:creator>
				<category><![CDATA[Oracle / ODP / .NET]]></category>

		<guid isPermaLink="false">http://oracleexjobb2010.wordpress.com/?p=65</guid>
		<description><![CDATA[I have started implementing all the controls that needs to be done on the measurement data. So far my strategy is to get all the data from the tables in order. I send in lists of ids to my procedures to fetch the matching rows. So it&#8217;s a bulk fetch but from each table separately. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=65&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have started implementing all the controls that needs to be done on the measurement data. So far my strategy is to get all the data from the tables in order. I send in lists of ids to my procedures to fetch the matching rows. So it&#8217;s a bulk fetch but from each table separately. When this is working it might be interesting to fetch several ref cursors from one procedure. Also to try to pre-join all the data.</p>
<p>Other things to consider: cardinality hint on the nested tables, apparently the optimizer don&#8217;t have statistics on these and will perform a full table scan. The cardinality hint gives the optimizer a clue on how many rows it can expect the nested table to contain which might result in it using a different strategy then a table scan.</p>
<p>Also, one query is using IS NULL on one column, which is very degrading to performance since it cannot use indexes (null values are not indexed). Therefor building a specific index containing null values might be good.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oracleexjobb2010.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oracleexjobb2010.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oracleexjobb2010.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oracleexjobb2010.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oracleexjobb2010.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oracleexjobb2010.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oracleexjobb2010.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oracleexjobb2010.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oracleexjobb2010.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oracleexjobb2010.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oracleexjobb2010.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oracleexjobb2010.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oracleexjobb2010.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oracleexjobb2010.wordpress.com/65/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=65&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oracleexjobb2010.wordpress.com/2010/06/11/friday-11-june/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83af66026be7c67e6e3dd0122ddf4b60?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">guitarkalle</media:title>
		</media:content>
	</item>
		<item>
		<title>Work progress</title>
		<link>http://oracleexjobb2010.wordpress.com/2010/06/07/work-progress/</link>
		<comments>http://oracleexjobb2010.wordpress.com/2010/06/07/work-progress/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 06:50:11 +0000</pubDate>
		<dc:creator>guitarkalle</dc:creator>
				<category><![CDATA[Oracle / ODP / .NET]]></category>

		<guid isPermaLink="false">http://oracleexjobb2010.wordpress.com/?p=63</guid>
		<description><![CDATA[During the latest weeks there has been a lot of private work to attend to. Regarding the thesis I have been defining the different controls that are to be done to the measurement data. I have also continued to work on the framework. I would estimate 40% of the load methods have been implemented so [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=63&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>During the latest weeks there has been a lot of private work to attend to. Regarding the thesis I have been defining the different controls that are to be done to the measurement data.<br />
I have also continued to work on the framework.<br />
I would estimate 40% of the load methods have been implemented so far. I will work further on these but probably but some emphesis on implementing the different controls for the data.</p>
<p>/Karl Trumstedt</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oracleexjobb2010.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oracleexjobb2010.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oracleexjobb2010.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oracleexjobb2010.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oracleexjobb2010.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oracleexjobb2010.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oracleexjobb2010.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oracleexjobb2010.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oracleexjobb2010.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oracleexjobb2010.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oracleexjobb2010.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oracleexjobb2010.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oracleexjobb2010.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oracleexjobb2010.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=63&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oracleexjobb2010.wordpress.com/2010/06/07/work-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83af66026be7c67e6e3dd0122ddf4b60?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">guitarkalle</media:title>
		</media:content>
	</item>
		<item>
		<title>Update on master thesis</title>
		<link>http://oracleexjobb2010.wordpress.com/2010/05/25/update-on-master-thesis/</link>
		<comments>http://oracleexjobb2010.wordpress.com/2010/05/25/update-on-master-thesis/#comments</comments>
		<pubDate>Tue, 25 May 2010 14:21:43 +0000</pubDate>
		<dc:creator>guitarkalle</dc:creator>
				<category><![CDATA[Oracle / ODP / .NET]]></category>

		<guid isPermaLink="false">http://oracleexjobb2010.wordpress.com/2010/05/25/update-on-master-thesis/</guid>
		<description><![CDATA[It&#8217;s been a while since the last update. What has happened is that the server I am working on was down due to network problems for 2 weeks. During these weeks I mostly wrote on my thesis essay. When the server was back up, I have been coding more on the general structure of the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=61&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since the last update. What has happened is that the server I am working on was down due to network problems for 2 weeks. During these weeks I mostly wrote on my thesis essay.</p>
<p>When the server was back up, I have been coding more on the general structure of the infrastructure. It is starting to form but still needs work in order to be finished. I have developed three larger scenarios that I will test and these in turn contain a few smaller variations.</p>
<p>What needs to be done right now is to complete the work on the framework, among other things incorporate the oracle measuring tools into the framework.</p>
<p>We are as well starting to define the different controls and tests that are to be made on the test data.</p>
<p>I will also need to continue my essay writing with more implementation details. So far I have only written the background chapter.</p>
<p>/Karl Trumstedt</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oracleexjobb2010.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oracleexjobb2010.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oracleexjobb2010.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oracleexjobb2010.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oracleexjobb2010.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oracleexjobb2010.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oracleexjobb2010.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oracleexjobb2010.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oracleexjobb2010.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oracleexjobb2010.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oracleexjobb2010.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oracleexjobb2010.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oracleexjobb2010.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oracleexjobb2010.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=61&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oracleexjobb2010.wordpress.com/2010/05/25/update-on-master-thesis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83af66026be7c67e6e3dd0122ddf4b60?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">guitarkalle</media:title>
		</media:content>
	</item>
		<item>
		<title>Monday April 26th</title>
		<link>http://oracleexjobb2010.wordpress.com/2010/04/26/monday-april-26th/</link>
		<comments>http://oracleexjobb2010.wordpress.com/2010/04/26/monday-april-26th/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 13:18:48 +0000</pubDate>
		<dc:creator>guitarkalle</dc:creator>
				<category><![CDATA[Oracle / ODP / .NET]]></category>

		<guid isPermaLink="false">http://oracleexjobb2010.wordpress.com/2010/04/26/monday-april-26th/</guid>
		<description><![CDATA[Today the server I&#8217;ve been using has been acting strange. It&#8217;s not possible to connect to it using RDP leaving me with no access to the database. I have instead spent the day re-designing the access layer a bit and finishing a class for saving performance measurement data to the database (still not tested). This [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=47&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today the server I&#8217;ve been using has been acting strange. It&#8217;s not possible to connect to it using RDP leaving me with no access to the database.</p>
<p>I have instead spent the day re-designing the access layer a bit and finishing a class for saving performance measurement data to the database (still not tested). This will make it possible to save execution time of different methods. Might take the time to code a simple web page displaying this data.</p>
<p>I will now begin looking on a design for the testing of the real measurement data and will finish up the error logging section of the project.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oracleexjobb2010.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oracleexjobb2010.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oracleexjobb2010.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oracleexjobb2010.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oracleexjobb2010.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oracleexjobb2010.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oracleexjobb2010.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oracleexjobb2010.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oracleexjobb2010.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oracleexjobb2010.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oracleexjobb2010.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oracleexjobb2010.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oracleexjobb2010.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oracleexjobb2010.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=47&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oracleexjobb2010.wordpress.com/2010/04/26/monday-april-26th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83af66026be7c67e6e3dd0122ddf4b60?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">guitarkalle</media:title>
		</media:content>
	</item>
		<item>
		<title>Week 16</title>
		<link>http://oracleexjobb2010.wordpress.com/2010/04/26/week-16/</link>
		<comments>http://oracleexjobb2010.wordpress.com/2010/04/26/week-16/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 13:14:49 +0000</pubDate>
		<dc:creator>guitarkalle</dc:creator>
				<category><![CDATA[Oracle / ODP / .NET]]></category>

		<guid isPermaLink="false">http://oracleexjobb2010.wordpress.com/2010/04/26/week-16/</guid>
		<description><![CDATA[I spent all week starting to write my thesis essay. So far I have only written 6 or 7 pages of theory background (14 including template and bibliography) but at least now I have started writing. I would estimate that I have written half of the theory section for the report. I also attended a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=46&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I spent all week starting to write my thesis essay. So far I have only written 6 or 7 pages of theory background (14 including template and bibliography) but at least now I have started writing.</p>
<p>I would estimate that I have written half of the theory section for the report.</p>
<p>I also attended a meeting with my thesis group where we discussed our projects with Stefan Arnborg.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oracleexjobb2010.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oracleexjobb2010.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oracleexjobb2010.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oracleexjobb2010.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oracleexjobb2010.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oracleexjobb2010.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oracleexjobb2010.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oracleexjobb2010.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oracleexjobb2010.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oracleexjobb2010.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oracleexjobb2010.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oracleexjobb2010.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oracleexjobb2010.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oracleexjobb2010.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=46&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oracleexjobb2010.wordpress.com/2010/04/26/week-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83af66026be7c67e6e3dd0122ddf4b60?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">guitarkalle</media:title>
		</media:content>
	</item>
		<item>
		<title>Wednesday April 14th</title>
		<link>http://oracleexjobb2010.wordpress.com/2010/04/14/wednesday-april-14th/</link>
		<comments>http://oracleexjobb2010.wordpress.com/2010/04/14/wednesday-april-14th/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 13:38:59 +0000</pubDate>
		<dc:creator>guitarkalle</dc:creator>
				<category><![CDATA[Oracle / ODP / .NET]]></category>

		<guid isPermaLink="false">http://oracleexjobb2010.wordpress.com/?p=43</guid>
		<description><![CDATA[Reading: Pro ODP.NET for Oracle 11G &#8211; About Bulkcopy and Associative arrays for insertion. Oracle PL/SQL &#8211; Create procedures which accepts arrays and inserts using FORALL. Work: I have spent some time configuring my inserts so they use an automatically incremented value for ID instead of an already given value. This is done with an [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=43&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Reading:</p>
<p>Pro ODP.NET for Oracle 11G &#8211; About Bulkcopy and Associative arrays for insertion.<br />
Oracle PL/SQL &#8211; Create procedures which accepts arrays and inserts using FORALL.</p>
<p>Work:<br />
I have spent some time configuring my inserts so they use an automatically incremented value for ID instead of an already given value. This is done with an Oracle sequence and in the INSERT SQL statement use &lt;sequence&gt;.nextval. There seems to be a small performance hit (which is expected) in using this. The question is if this approach will lead to problems using parallel insertions or direct path insert using SQL*Loader and such. It seems to be possible, the question is how much performance will degrade and if there can be duplicate ids. A sequence in Oracle can specify a cache, which caches a number of sequence values. This will improve performance since Oracle does not need to check a system table for the next sequence number. A trade off is that if the database goes down, you will loose the cached sequence numbers.</p>
<p>I have not found any notes on if ODP.NETs bulkcopy command can utilize these sequences.</p>
<p>I have implemented a test-version of inserts using associative arrays using an Oracle stored procedure (which uses FORALL) and ODP.NET. My initial impression is that performance is very good, but not as good as Array  Binding in ODP.NET. According to Pro ODP.NET for ORacle 11g, this is because associative arrays pass down the insert values to the PL/SQL engine which executes the inserts, but Array Binding goes directly to the SQL engine. The PL/SQL engine sends each insert statement one at a time to the SQL engine if using a regular FOR-loop. This results in a lot of context switches between the two engines (Oracle PL/SQL Programming) degrading performance. We can minimize these context switches by using the FORALL statement, which bulks commands and sends them to the SQL engine as a batch.</p>
<p>I have made some work charts describing the work plan and different approaches to test.</p>
<p>Also tried to get the .NET performance counters working for ODP.NET but I didn&#8217;t get it to work on either the server or development computer.</p>
<p>/Karl Trumstedt</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oracleexjobb2010.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oracleexjobb2010.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oracleexjobb2010.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oracleexjobb2010.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oracleexjobb2010.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oracleexjobb2010.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oracleexjobb2010.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oracleexjobb2010.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oracleexjobb2010.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oracleexjobb2010.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oracleexjobb2010.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oracleexjobb2010.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oracleexjobb2010.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oracleexjobb2010.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=43&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oracleexjobb2010.wordpress.com/2010/04/14/wednesday-april-14th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83af66026be7c67e6e3dd0122ddf4b60?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">guitarkalle</media:title>
		</media:content>
	</item>
		<item>
		<title>Monday April 12th</title>
		<link>http://oracleexjobb2010.wordpress.com/2010/04/12/monday-april-12th/</link>
		<comments>http://oracleexjobb2010.wordpress.com/2010/04/12/monday-april-12th/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 14:39:42 +0000</pubDate>
		<dc:creator>guitarkalle</dc:creator>
				<category><![CDATA[Oracle / ODP / .NET]]></category>

		<guid isPermaLink="false">http://oracleexjobb2010.wordpress.com/2010/04/12/monday-april-12th/</guid>
		<description><![CDATA[Today I have done a bit of reading in Oracle Database 9i Performance Tuning Exam Guide. The initial chapters were mostly an introduction, briefly explaining different areas in Oracle that can be tuned and common sources of performance problems. Fun Oracle fact discovered today: Initrans defined in a table specifies how many sessions that may [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=41&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I have done a bit of reading in Oracle Database 9i Performance Tuning Exam Guide. The initial chapters were mostly an introduction, briefly explaining different areas in Oracle that can be tuned and common sources of performance problems. </p>
<p>Fun Oracle fact discovered today: Initrans defined in a table specifies how many sessions that may access the table using the same data block. Freelists are lists of data blocks under the high water mark that can be used for insertions. Multiple freelists allows several sessions to insert data into the database with minimized contention.</p>
<p>I have set up a simple example table in the database, and have a python script that generates a csv file for this table. I have tested a csv reader for .NET that is supposed to be very fast, but I havn&#8217;t had a chance to check the source code yet. </p>
<p>I have tried to insert 20000 rows into the example table with regular slow insert using bind variables. Mission accomplished but performance was very slow (expected). I also tried to insert using Array Binding, this was several factors faster (20000 rows under 1 second) but this method failed when trying to bind very large arrays (2 million) insertion failed. Will try different values ranging from 30000 to 60000 to see performance differences. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oracleexjobb2010.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oracleexjobb2010.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oracleexjobb2010.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oracleexjobb2010.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oracleexjobb2010.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oracleexjobb2010.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oracleexjobb2010.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oracleexjobb2010.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oracleexjobb2010.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oracleexjobb2010.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oracleexjobb2010.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oracleexjobb2010.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oracleexjobb2010.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oracleexjobb2010.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oracleexjobb2010.wordpress.com&amp;blog=12598862&amp;post=41&amp;subd=oracleexjobb2010&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oracleexjobb2010.wordpress.com/2010/04/12/monday-april-12th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83af66026be7c67e6e3dd0122ddf4b60?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">guitarkalle</media:title>
		</media:content>
	</item>
	</channel>
</rss>
