<?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>Neil Chandler&#039;s DBA Blog</title>
	<atom:link href="http://chandlerdba.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://chandlerdba.wordpress.com</link>
	<description>A resource for Database Professionals</description>
	<lastBuildDate>Fri, 17 Feb 2012 22:31:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='chandlerdba.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Neil Chandler&#039;s DBA Blog</title>
		<link>http://chandlerdba.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://chandlerdba.wordpress.com/osd.xml" title="Neil Chandler&#039;s DBA Blog" />
	<atom:link rel='hub' href='http://chandlerdba.wordpress.com/?pushpress=hub'/>
		<item>
		<title>DROP DATABASE command</title>
		<link>http://chandlerdba.wordpress.com/2012/02/14/drop-database/</link>
		<comments>http://chandlerdba.wordpress.com/2012/02/14/drop-database/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 15:59:56 +0000</pubDate>
		<dc:creator>Neil Chandler</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[drop database]]></category>
		<category><![CDATA[restrict mouint]]></category>

		<guid isPermaLink="false">http://chandlerdba.wordpress.com/?p=411</guid>
		<description><![CDATA[I have been DBA-ing for a while now, and I today I used a &#8220;new&#8221; command which I have never used in the previous 20+ years I have worked with Oracle: DROP DATABASE. It&#8217;s amazing what you miss sometimes! So, what does it do? As the name implies, it drops the database. That is, it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=411&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been DBA-ing for a while now, and I today I used a &#8220;new&#8221; command which I have never used in the previous 20+ years I have worked with Oracle: DROP DATABASE. It&#8217;s amazing what you miss sometimes!</p>
<p>So, what does it do? As the name implies, it drops the database. That is, it deletes all of your database files. This is significantly safer than using traditional Operating System methods (assuming you even have access and are not using ASM), and for added safety you have to be running the database in RESTRICT MOUNT mode.</p>
<p>What a lovely command. It goes to all the trouble of locating and removing those troublesome files that were put into the wrong place by another DBA that you would have missed if cleaning up manually.</p>
<p>It certainly made the pre-production clone script (cloning from the Physical Standby) that I have just written quite a bit easier to code.</p>
<p>Does anybody know if there is any other reason for running the database in RESTRICT MOUNT mode, or was it designed just for this command?</p>
<p>EDIT: I was just informed via Twitter (@chandlerdba) by <strong><s></s></strong>@pfierens that this also takes out your SPFILE. If you are using an SPFILE (you should be!) and want to keep your db parameters for a db rebuild, I would recommend creating a pfile from the spfile first&#8230;</p>
<p>Has anyone ever done an RMAN &#8220;drop database including backups&#8221; ?   You REALLY need to be sure you don&#8217;t want it back to run that one!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chandlerdba.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chandlerdba.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chandlerdba.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chandlerdba.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chandlerdba.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chandlerdba.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chandlerdba.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chandlerdba.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chandlerdba.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chandlerdba.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chandlerdba.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chandlerdba.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chandlerdba.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chandlerdba.wordpress.com/411/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=411&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chandlerdba.wordpress.com/2012/02/14/drop-database/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b772fd78342fcb9d284a1fc651904ad7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chandlerdba</media:title>
		</media:content>
	</item>
		<item>
		<title>SAN Migration: When modern SANs &#8220;Fail&#8221;</title>
		<link>http://chandlerdba.wordpress.com/2012/01/13/san-migration-when-modern-sans-fail/</link>
		<comments>http://chandlerdba.wordpress.com/2012/01/13/san-migration-when-modern-sans-fail/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 08:40:15 +0000</pubDate>
		<dc:creator>Neil Chandler</dc:creator>
				<category><![CDATA[Migration]]></category>
		<category><![CDATA[Performance and Tuning]]></category>
		<category><![CDATA[Problem Solving]]></category>
		<category><![CDATA[SAN]]></category>
		<category><![CDATA[awr]]></category>
		<category><![CDATA[dba_hist_system_event]]></category>
		<category><![CDATA[db_file_scattered_read]]></category>
		<category><![CDATA[db_file_sequential_read]]></category>
		<category><![CDATA[emc]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[log_file_parallel_write]]></category>
		<category><![CDATA[log_file_single_write]]></category>
		<category><![CDATA[metalun]]></category>
		<category><![CDATA[oltp]]></category>
		<category><![CDATA[orion]]></category>
		<category><![CDATA[SAME]]></category>
		<category><![CDATA[san]]></category>
		<category><![CDATA[thin provisioning]]></category>
		<category><![CDATA[v$system_event]]></category>
		<category><![CDATA[xp20000]]></category>

		<guid isPermaLink="false">http://chandlerdba.wordpress.com/?p=371</guid>
		<description><![CDATA[&#8230; or at least, when they don&#8217;t behave like you were expecting them to. I recently performed a major migration of a dozen missions critical Oracle and SQL Server systems from a pair of old EMC CX700&#8242;s to 2 brand new shiny HP XP 20000&#8242;s. This blog post is intended to show, at a very [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=371&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8230; or at least, when they don&#8217;t behave like you were expecting them to.</p>
<p>I recently performed a major migration of a dozen missions critical Oracle and SQL Server systems from a pair of old EMC CX700&#8242;s to 2 brand new shiny HP XP 20000&#8242;s. This blog post is intended to show, at a very high level, what steps were taken to ensure the new SAN could cope with the volume of traffic. It also shows that, despite the new SAN being much more modern and intelligent, how you can still get caught out by unexpected behaviour.</p>
<p>The databases to be migrated varied from high throughput OLTP, low throughput &#8211; fast response time OLTP, a small Data Warehouse and Grid Control. The systems are 24 x 7 x 365, but a nightly maintenance window can be arranged on some days of the week between midnight and 3am. Not a large window, but invaluable.</p>
<p><span style="text-decoration:underline;"><strong>What are we migrating?</strong></span></p>
<p>For a successful SAN migration, we first need to understand what we are migrating. To do this we need to profile the I/O requirement of each Oracle database. Oracle provides us with all of the tools we need to be able to do this. If you have the Tuning and Diagnostics Pack licensed (which all Oracle sites should have &#8211; it should really be part of base product.) then you can pull the information you need directly out of the AWR table DBA_HIST_SYSTEM_EVENT. By default your AWR stats gather every hour and only last a week. Hourly averages of system event wait times will give a good starting point, but I would not want to use them to determine peak volumes. If you capacity plan to your averages, you will run out of resources before you hit your peaks. A lot can happen in an hour when you are looking at millisecond response times. You need to be much more granular than an hourly average, but you might not want change AWR to gather all of its information as frequently as you need for the I/O events. You need to develop some code to gather the information from v$system_event directly, so I did [I will post this code up shortly]. You can be as granular as you want, but I balanced peaks against volume of information and the impact of gathering it and was running every 5 minutes. Mostly. I also took some much more frequent samples to ensure that I wasn&#8217;t wildly wrong with the 5 minute averages, and that I wasn&#8217;t experiencing very short peaky loads. This method also has the advantage of not needing any additional pack licensing from Oracle. Sorry Larry.</p>
<p><span style="text-decoration:underline;"><strong>What are the resources available on the new SAN?</strong></span></p>
<p>The second requirement for a SAN migration is to understand the capabilities of your new SAN. There were already some systems on the new SAN so I was unable to test to destruction. However, some dedicated resources were available on the shared SAN, namely dedicated disks, cache and front-end ports. I needed to throw substantial workloads at the SAN to stress the resources and find the tipping point.  There are many workload tools available, such as Hammerora and RAT. Some are expensive, such as RAT. However, for my purposes I was only looking to stress the SAN and get a comfortable feeling about the IOPS and throughput performance. This was achieved using Oracle&#8217;s free SAN stress tool, <strong>Orion</strong> [I will hopefully post more details about this shortly]. By taking all of the profiled I/O rates, adding them up and comparing against the new SAN and it&#8217;s much greater cache capacity (16GB dedicated to my systems, up from 4GB on the EMC&#8217;s), we were able to see that the footprint of the databases to be migrated fitted comfortably into the capabilities of the new SAN. And so the migrations began.</p>
<p><span style="text-decoration:underline;"><strong>Thin Provisioning</strong></span></p>
<p>To provide resilience for the databases, LUNs were presented from each SAN to each cluster node, and were mirrored at the Operating System level, either using native mirroring on the Unix platforms, or Veritas on the Windows platforms. This allows either SAN (or SAN location) to fail with no loss of service. The LUNs were either RAID-10 or RAID-5, and were carved out of the storage pools using Thin Provisioning.</p>
<p>Thin Provisioning (or using Meta-Luns or similar techniques from your SAN provider) is a way to allow LUN&#8217;s to be easily carved out of storage pools and extended at a later date. They are wonderful for SAN administrators and people who have not capacity planned their systems due to their dynamic nature and minimization of space wastage. However, they work on the basis of providing a bit of storage to your LUN from every disk in the array. This gives a maximum concurrency, maximum contention model. Every LUN is on the same disk competing for the same resource. Lots of IOPS, but everyone wants them. The Thin Provisioning also adds a small overhead to the I/O processing. Not much. Not even a whole milli-second.</p>
<p><span style="text-decoration:underline;"><strong>Migration Problem</strong></span></p>
<p>The migrations progressed well, from least critical to most critical system. As each system was migrated, we kept monitoring and measuring the I/O response times. Migrating the Data Warehouse showed that the new SAN was performing as expected. Processing times were lower. Not much, but in line with expectation and allocated resources. However, Grid Control was exhibiting some strange response times. Despite theoretically having more resources, some I/O response time metrics were worse on average, and much more variable than before. With the EMC SAN&#8217;s, we  had experienced a good, consistent level of performance for each LUN. The XP&#8217;s were proving to be more erratic.</p>
<p>I did a lot of investigation, moving resources around (e.g. dedicated front-end ports for the Grid Control LUN&#8217;s.) and measuring the affect. The level of I/O associated with Grid Control, with only a couple of hundred servers under management, was substantially lower than that of systems competing for shared resources (e.g. the Data Warehouse, which was exponentially more demanding). It seemed that Grid Control&#8217;s LUNs were not able to survive in the SAN cache. The old EMC cx700&#8242;s were relatively &#8220;dumb&#8221; compared to the new XP20000&#8242;s, and had effectively dedicated an amount of  cache to each LUN. The more intelligent XP&#8217;s would not be so potentially wasteful of resources, and so deemed the (relatively) low level of activity from the Grid Controls LUN&#8217;s to be unimportant and aged the blocks out.</p>
<p>We could live with this for Grid Control. Blisteringly fast response time is not a critical factor in the success of Grid Control. The same could not be said for one of our mission critical applications. It requires a very low end-to-end response time for each transaction. We carefully measure each step &#8211; client, calculation, render, network latency, database response time, etc. It needs to be <span style="text-decoration:underline;">fast and consistent</span>. From the database, it really needs to hit cache or SSD&#8217;s. Spinning rust (ordinary disk) is simply too slow. However, the level of activity for this system, in terms of MB/s and IOPS, is relatively low compared to all of the other systems competing for SAN resources. About 3% of the whole. Add to this the overhead of Thin Provisioning and we have a problem. When a 2ms average turns into a nearly 4ms average with much higher peaks, as it did for <em>db_file_sequential_read</em> on Grid Control, that would be a major problem for this application.</p>
<p><span style="text-decoration:underline;"><strong>Solution</strong></span></p>
<p>Talking to HP, they would only guarantee the response time we demand by using SSD&#8217;s and a cost that made my eyes spin and think of buying a Supercar instead. A more practical (i.e. cheaper) solution had to be found, and it was (with the help amd support of HP, just no guarantees <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ). We bought some more conventional disk and configured it into a traditional Raid-10 storage pool. No Thin Provisioning. We then partitioned the 16GB SAN cache into a 4GB cache dedicated to this system, and left the 12GB cache behind for everything else. We were migrating from 4GB, and understood that we had plenty of wriggle room in this configuration.</p>
<p>And the result? After migration, the performance of the mission critical low throughput system improved substantially, with <span style="text-decoration:underline;">consistent</span> <em>log_file_parallel_write</em> times of less than 2ms and <em>db_file_sequential_read</em> times of less than 1ms, better than we were experiencing on the old reliable EMC&#8217;s. I mean, less than 1ms? That&#8217;s fast.</p>
<p><span style="text-decoration:underline;"><strong>I/O Response Times</strong> &#8211; Graph</span></p>
<p style="text-align:center;"><a href="http://chandlerdba.files.wordpress.com/2012/01/san-io.jpg"><img class="aligncenter size-full wp-image-386" title="I/O response times of Oracle Grid Control (graph has been modified but is broadly representative) before the migration, after the migraiton to the SAME (Stripe and Mirror Everything) Thin Provisioned storage pool, and then with the dedicated resources." src="http://chandlerdba.files.wordpress.com/2012/01/san-io.jpg?w=700&#038;h=433" alt="" width="700" height="433" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chandlerdba.wordpress.com/371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chandlerdba.wordpress.com/371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chandlerdba.wordpress.com/371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chandlerdba.wordpress.com/371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chandlerdba.wordpress.com/371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chandlerdba.wordpress.com/371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chandlerdba.wordpress.com/371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chandlerdba.wordpress.com/371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chandlerdba.wordpress.com/371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chandlerdba.wordpress.com/371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chandlerdba.wordpress.com/371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chandlerdba.wordpress.com/371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chandlerdba.wordpress.com/371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chandlerdba.wordpress.com/371/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=371&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chandlerdba.wordpress.com/2012/01/13/san-migration-when-modern-sans-fail/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b772fd78342fcb9d284a1fc651904ad7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chandlerdba</media:title>
		</media:content>

		<media:content url="http://chandlerdba.files.wordpress.com/2012/01/san-io.jpg" medium="image">
			<media:title type="html">I/O response times of Oracle Grid Control (graph has been modified but is broadly representative) before the migration, after the migraiton to the SAME (Stripe and Mirror Everything) Thin Provisioned storage pool, and then with the dedicated resources.</media:title>
		</media:content>
	</item>
		<item>
		<title>SYSTIMESTAMP INTERVAL Processing</title>
		<link>http://chandlerdba.wordpress.com/2011/12/12/systimestamp-interval-processing/</link>
		<comments>http://chandlerdba.wordpress.com/2011/12/12/systimestamp-interval-processing/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 07:59:36 +0000</pubDate>
		<dc:creator>Neil Chandler</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Problem Solving]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[calculate]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[interval]]></category>
		<category><![CDATA[sysdate]]></category>
		<category><![CDATA[systimestamp]]></category>
		<category><![CDATA[timestamp]]></category>

		<guid isPermaLink="false">http://chandlerdba.wordpress.com/?p=316</guid>
		<description><![CDATA[&#8230;or how to calculate dates in Oracle. This is just a quick post to try to encourage the use of the INTERVAL function when adjusting (sys)timestamps (or dates). I thought this would be better expressed through a quick script with comments to show how using the traditional Oracle method of calculating fractions of a day [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=316&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8230;or how to calculate dates in Oracle.</p>
<p>This is just a quick post to try to encourage the use of the INTERVAL function when adjusting (sys)timestamps (or dates). I thought this would be better expressed through a quick script with comments to show how using the traditional Oracle method of calculating fractions of a day can cause problems and make you have to think more than necessary.</p>
<p>There are 2 main issues with using the traditional Oracle method of calculating date/time changes. Firstly, it&#8217;s strange. You have to calculate fractions of a day. 1 second is 1/86400, 1 minute is 1/1440 [maybe 1/(24*60) expresses it better]. Secondly, with timestamps it causes an <a href="http://chandlerdba.wordpress.com/2011/11/28/implicit-conversion-errors/" title="Implicit Conversion&nbsp;Errors">implicit conversion</a> to a date type, with all of the unintended consequences that implicit conversion carries.</p>
<p>Lets run the script and see what happens:</p>
<pre><span style="text-decoration:underline;"><strong>Script Output</strong></span>
<BR>
&gt; -- Lets just set the date format explicitly before we start.
&gt; <span style="color:#ff0000;">alter session set nls_date_format = 'DD-MON-YYYY HH24:MI:SS'</span>
session SET altered.
<BR>
&gt; -- Lets start simple and add a day.
&gt; <span style="color:#ff0000;">select systimestamp, systimestamp + 1 from dual</span>
<BR>
<span style="color:#0000ff;">SYSTIMESTAMP&nbsp; SYSTIMESTAMP+1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span>
<span style="color:#0000ff;">------------- ------------------------- </span>
<span style="color:#0000ff;">09-DEC-11 18.39.53.026000000 +00:00 10-DEC-2011 18:39:53&nbsp;&nbsp;</span>
<BR>
&gt; -- Hang on, doing this the traditional Oracle way has implicitly cast
&gt; -- the timestamp into a sysdate format. We need to convert it back.
&gt; -- Lets try that again, but add 3 hours instead
&gt;<span style="color:#ff0000;"> select systimestamp, to_timestamp(</span>
&gt;<span style="color:#ff0000;">        systimestamp + (3/24),</span>
&gt;<span style="color:#ff0000;">  &nbsp;&nbsp;&nbsp;&nbsp; 'DD-MON-YYYY HH24:MI:SS' ) from dual</span>
<BR>
<span style="color:#0000ff;">SYSTIMESTAMP&nbsp; TO_TIMESTAMP(SYSTIMESTAMP+(3/24),'DD-MON-YYYYHH24:MI:SS') </span>
<span style="color:#0000ff;">------------- ------------------------- </span>
<span style="color:#0000ff;">09-DEC-11 18.39.53.026000000 +00:00 09-DEC-11 21.39.53.000000000</span>
<BR>
&gt; -- So we have an implicit conversion, and we've lost the timestamp precision.
&gt; -- Now lets add 3 hours, 5 minutes 10.5 seconds.
&gt;<span style="color:#ff0000;">select systimestamp, to_timestamp(</span>
&gt;<span style="color:#ff0000;">       systimestamp + (3/24) + (5/(24*60)) + (10.5/24/60/60),</span>
&gt;<span style="color:#ff0000;">      'DD-MON-YYYY HH24:MI:SS') from dual </span>
<BR>
<span style="color:#0000ff;"> SYSTIMESTAMP&nbsp; TO_TIMESTAMP(SYSTIMESTAMP+(3/24)+(5/(24*60))+(10.5/24/60/60),'DD-MON-YYYYHH24:MI:SS') </span>
<span style="color:#0000ff;">------------- ------------------------- </span>
<span style="color:#0000ff;">09-DEC-11 18.39.53.026000000 +00:00 09-DEC-11 21.45.04.000000000</span>
<BR>
&gt; -- And we completely lost the .5 in the 10.5 as we've converted to a sysdate.
&gt; -- It was rounded up. You might also have noticed that I have used some
&gt; -- different date processing to calculate fractions of a day.
&gt; -- There are many different way to calculate time in Oracle:
&gt; -- 10 minutes can be 10/1440, 10/60/24, 10/(60*24), 0.00694, 600/86400 etc,
&gt; -- It's all tricky to understand and standards vary from company to company,
&gt; -- if the company actually has a standard.
&gt; -- There is a better way, using the INTERVAL function. It goes like this:
&gt; -- Lets start simple and add a day.
<BR>
&gt; <span style="color:#ff0000;">select systimestamp, systimestamp + INTERVAL '1' day from dual</span>
<BR>
<span style="color:#0000ff;">SYSTIMESTAMP&nbsp; SYSTIMESTAMP+INTERVAL'1'DAY </span>
<span style="color:#0000ff;">------------- --------------------------- </span>
<span style="color:#0000ff;">09-DEC-11 18.39.53.042000000 +00:00 10-DEC-11 18.39.53.042000000 +00:00</span>
<BR>
&gt; -- So far so good. And we haven't lost the data type either!
&gt; -- No implicit conversion to break our code in the future.
&gt; -- Now lets try to add 3 hours
<BR>
&gt; <span style="color:#ff0000;">select systimestamp, systimestamp + INTERVAL '3' hour from dual</span>
<BR>
<span style="color:#0000ff;">SYSTIMESTAMP&nbsp; SYSTIMESTAMP+INTERVAL'3'HOUR </span>
<span style="color:#0000ff;">------------- ---------------------------- </span>
<span style="color:#0000ff;">09-DEC-11 18.39.53.042000000 +00:00 09-DEC-11 21.39.53.042000000 +00:00</span>
<BR>
&gt; -- Note the indicator is always singular.
&gt; -- Now lets add 3 hours, 5 minutes 10.5 seconds
<BR>
&gt; <span style="color:#ff0000;">select systimestamp, </span>
&gt; <span style="color:#ff0000;">       systimestamp + INTERVAL '3' hour</span>
&gt; <span style="color:#ff0000;">                    + INTERVAL '5' minute</span>
&gt; <span style="color:#ff0000;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + INTERVAL '10.5' second</span>
&gt; <span style="color:#ff0000;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from dual </span>
<BR>
<span style="color:#0000ff;">SYSTIMESTAMP&nbsp; SYSTIMESTAMP+INTERVAL'3'HOUR+INTERVAL'5'MINUTE+INTERVAL'10.5'SECOND</span>
<span style="color:#0000ff;">------------- ------------------------------------------------------------------- </span>
<span style="color:#0000ff;">09-DEC-11 18.39.53.042000000 +00:00 09-DEC-11 21.45.03.542000000 +00:00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span>
<BR>
&gt; -- Spot on - and the precision is correct too
&gt; -- My mam/mum/mom* could read it and work out what was going on.
&gt; -- But she is an OCA** (* delete as applicable) (**not really)
&gt; -- There you go. Get your company to use this nomenclature and you're home free.
&gt; -- No more strange time-base calculations or implicit conversion errors.
&gt; -- It also works with DATE types too.
<BR>
<BR>
<span style="text-decoration:underline;color:#0000ff;"><strong>Original Script</strong></span>
<strong></strong>set echo on
<BR>
-- Lets just set the date format explicitly before we start.
alter session set nls_date_format = 'DD-MON-YYYY HH24:MI:SS';

-- Lets start simple and add a day.
select systimestamp, systimestamp + 1 from dual;

-- Hang on, doing this the traditional Oracle way has implicitly cast
-- the timestamp into a sysdate format. We need to convert it back.
-- Lets try that again, but add 3 hours instead
select systimestamp, to_timestamp(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; systimestamp + (3/24),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'DD-MON-YYYY HH24:MI:SS' ) from dual; 

-- So we have an implicit conversion, and we've lost the timestamp precision.

-- Now lets add 3 hours, 5 minutes 10.5 seconds.
select systimestamp, to_timestamp(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; systimestamp + (3/24) + (5/(24*60)) + (10.5/24/60/60),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'DD-MON-YYYY HH24:MI:SS') from dual;

-- And we completely lost the .5 in the 10.5 as we've converted to a sysdate.
-- It was rounded up. You might also have noticed that I have used some
-- different date processing to calculate fractions of a day.
-- There are many different way to calculate time in Oracle:
-- 10 minutes can be 10/1440, 10/60/24, 10/(60*24), 0.00694, 600/86400 etc,
-- It's all tricky to understand and standards vary from company to company,
-- if the company actually has a standard.

-- There is a better way, using the INTERVAL function. It goes like this:
-- Lets start simple and add a day.
select systimestamp, systimestamp + INTERVAL '1' day from dual; 

-- So far so good. And we haven't lost the data type either!
-- No implicit conversion to break our code in the future.
-- Now let's try to add 3 hours
select systimestamp, systimestamp + INTERVAL '3' hour from dual;

-- Note the indicator is always singular.
-- Now lets add 3 hours, 5 minutes 10.5 seconds
select systimestamp, systimestamp + INTERVAL '3' hour
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + INTERVAL '5' minute
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + INTERVAL '10.5' second
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from dual;

-- Spot on - and the precision is correct too
-- My mam/mum/mom* could read it and work out what was going on.
-- But she is an OCA** (* delete as applicable) (**not really)
-- There you go. Get your company to use this nomenclature and you're home free.
-- No more strange time-base calculations or implicit conversion errors.
-- It also works with DATE types too.</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chandlerdba.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chandlerdba.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chandlerdba.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chandlerdba.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chandlerdba.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chandlerdba.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chandlerdba.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chandlerdba.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chandlerdba.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chandlerdba.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chandlerdba.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chandlerdba.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chandlerdba.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chandlerdba.wordpress.com/316/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=316&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chandlerdba.wordpress.com/2011/12/12/systimestamp-interval-processing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b772fd78342fcb9d284a1fc651904ad7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chandlerdba</media:title>
		</media:content>
	</item>
		<item>
		<title>UKOUG 2011</title>
		<link>http://chandlerdba.wordpress.com/2011/12/07/ukoug-2011/</link>
		<comments>http://chandlerdba.wordpress.com/2011/12/07/ukoug-2011/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 10:05:46 +0000</pubDate>
		<dc:creator>Neil Chandler</dc:creator>
				<category><![CDATA[UKOUG]]></category>
		<category><![CDATA[oracle user group]]></category>
		<category><![CDATA[ukoug]]></category>
		<category><![CDATA[ukoug2011]]></category>

		<guid isPermaLink="false">http://chandlerdba.wordpress.com/?p=304</guid>
		<description><![CDATA[Well, I&#8217;m back at work today missing the excellent final day of the UKOUG 2011 (@UKOUG  #UKOUG2011), but frankly I&#8217;m worn out. After watching some of the most fantastic presentations by the likes of Doug Burns, Jonathan Lewis, Greg Rahn, Tanel Poder and many others**, my brain is full. I couldn&#8217;t absorb another fact. A [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=304&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;m back at work today missing the excellent final day of the <a href="http://www.ukoug.org/home/">UKOUG 2011</a> (@UKOUG  #UKOUG2011), but frankly I&#8217;m worn out.</p>
<p>After watching some of the most fantastic presentations by the likes of <a href="http://oracledoug.com/serendipity/">Doug Burns</a>, <a href="http://jonathanlewis.wordpress.com/">Jonathan Lewis</a>, <a href="http://structureddata.org/">Greg Rahn</a>, <a href="http://blog.tanelpoder.com/">Tanel Poder</a> and many others**, my brain is full. I couldn&#8217;t absorb another fact.</p>
<p>A similar crowd, too numerous to mention, then helped me destroy the information that I had just learned, through the medium of good British Real Ale and Whisky.</p>
<p>Technical blogs to follow, once my brain cools down and my liver recovers.</p>
<p>Neil.</p>
<p>**A special mention to <a href="https://twitter.com/#!/tpresslie">Thomas Presslie</a> for pouring shots of The Balvenie Scottish Single Malt Whisky into me to demonstrate DataGuard Fast Start Failover, at 10:30am. Transactional Whisky indeed. Not sensible but good fun and a novel way to represent a commit <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  &#8211; I&#8217;m on the left <a title="Toilet paper network and whisky transactions..." href="http://lockerz.com/s/162506859">http://lockerz.com/s/162506859</a> (thanks for the Photo, <a href="http://oracledoug.com/serendipity/">Doug</a>)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chandlerdba.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chandlerdba.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chandlerdba.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chandlerdba.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chandlerdba.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chandlerdba.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chandlerdba.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chandlerdba.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chandlerdba.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chandlerdba.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chandlerdba.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chandlerdba.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chandlerdba.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chandlerdba.wordpress.com/304/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=304&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chandlerdba.wordpress.com/2011/12/07/ukoug-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b772fd78342fcb9d284a1fc651904ad7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chandlerdba</media:title>
		</media:content>
	</item>
		<item>
		<title>Industry Experience</title>
		<link>http://chandlerdba.wordpress.com/2011/12/01/industry-experience/</link>
		<comments>http://chandlerdba.wordpress.com/2011/12/01/industry-experience/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 17:26:06 +0000</pubDate>
		<dc:creator>Neil Chandler</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Recruitment]]></category>
		<category><![CDATA[bureaucracy]]></category>
		<category><![CDATA[industry experience]]></category>
		<category><![CDATA[recruitment]]></category>

		<guid isPermaLink="false">http://chandlerdba.wordpress.com/?p=197</guid>
		<description><![CDATA[I don&#8217;t get it. Why do so many jobs and contracts seem to insist upon having experience in a particular industry when, in the overwhelming majority of cases, the specific industry in which we work has no bearing upon the nature of our work. I have worked across many industries, but each time I talk [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=197&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t get it. Why do so many jobs and contracts seem to insist upon having experience in a particular industry when, in the overwhelming majority of cases, the specific industry in which we work has no bearing upon the nature of our work.</p>
<p>I have worked across many industries, but each time I talk to a recruitment agent I get similar questions: &#8220;Have you worked in X industry?&#8221;, &#8220;I won&#8217;t put you forward for Y unless you have worked for Z&#8221;.</p>
<p>It&#8217;s the wrong question. Have I worked in Media? Investment Banking? Accountancy? Property? Logistics? It doesn&#8217;t matter. No, really. It doesn&#8217;t. I have worked in all of those industries and a few more besides, and the nature of the industry was largely irrelevant. A friend recently suggested that you need Investment Banking experience so you understand the inordinate bureaucracy and dreadful boredom that come with working for an Investment Bank. A little unkind, but I know where he&#8217;s coming from.</p>
<p>What is relevant is the type and nature of systems with which you are working. Are they mission critical? Zero downtime? Very High Transaction rate? Enormous Data Warehouses? Hundreds or Thousands of databases? These questions have relevance. A high transaction rate OLTP in a Bank is very similar to a high transaction rate OLTP Web Retailer.  The challenge with these systems is a different to that of an enormous data warehouse, but it&#8217;s still fundamentally an RDBMS. Data is data is data. We don&#8217;t need industry experience &#8211; it doesn&#8217;t help us in the same way as it helps Business Analysts or Project Managers or even Developers.</p>
<p>The recruitment problem for DBA&#8217;s is that recruiters don&#8217;t know the difference between OLTP and Data Warehousing; a large proportion simply keyword match (the great ones don&#8217;t! &#8211; and there are genuinely great recruiters out there, in small numbers) so you need to ensure you have <strong>all</strong> of the relevant keywords on your CV &#8211; I have even been asked to amend my CV to put Word and Excel on there! WTF? Unfortunately you also need to be careful, otherwise you&#8217;re probably getting job adverts sent through for Cobol Programmers, Websphere Guru&#8217;s and all manner of support and helpdesk staff. I removed IBM Assembler Programmer from my CV about 10 years ago, although I suspect there are not too many jobs left for that skill set now.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chandlerdba.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chandlerdba.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chandlerdba.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chandlerdba.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chandlerdba.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chandlerdba.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chandlerdba.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chandlerdba.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chandlerdba.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chandlerdba.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chandlerdba.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chandlerdba.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chandlerdba.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chandlerdba.wordpress.com/197/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=197&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chandlerdba.wordpress.com/2011/12/01/industry-experience/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b772fd78342fcb9d284a1fc651904ad7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chandlerdba</media:title>
		</media:content>
	</item>
		<item>
		<title>Implicit Conversion Errors</title>
		<link>http://chandlerdba.wordpress.com/2011/11/28/implicit-conversion-errors/</link>
		<comments>http://chandlerdba.wordpress.com/2011/11/28/implicit-conversion-errors/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 09:31:21 +0000</pubDate>
		<dc:creator>Neil Chandler</dc:creator>
				<category><![CDATA[Problem Solving]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[conversion]]></category>
		<category><![CDATA[implicit]]></category>
		<category><![CDATA[nls_date_format]]></category>
		<category><![CDATA[ora-01722]]></category>
		<category><![CDATA[ora-01821]]></category>

		<guid isPermaLink="false">http://chandlerdba.wordpress.com/?p=254</guid>
		<description><![CDATA[A while ago, I failed over a database (as planned) to it&#8217;s Dataguard copy, and of course everything worked as expected. Everything, that is, except a couple of reports which get sent directly from the database server early in the morning. The report generation had failed. After some investigation, we discovered that the newly active [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=254&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A while ago, I failed over a database (as planned) to it&#8217;s Dataguard copy, and of course everything worked as expected. Everything, that is, except a couple of reports which get sent directly from the database server early in the morning. The report generation had failed. After some investigation, we discovered that the newly active Dataguard server did not have NLS_DATE_FORMAT set in the environment, and the 2 reports in question were coded something like:</p>
<pre>select col1, col2, col3 from user_data where user_date &gt;= '25-Nov-2011 00:00:00';</pre>
<p></p>
<address>The select was failing with the error.</address>
<address> </address>
<address><span style="color:#ff0000;">ORA-01821: date format not recognized</span></address>
<address> </address>
<p>If the developer had coded an explicit conversion, then we would not have experienced a problem.</p>
<pre>select col1, col2, col3 from user_data
where user_date &gt;= to_date('25-Nov-2011 00:00:00','DD-MON-YYYY HH24:MI:SS');</pre>
<pre> </pre>
<p>
Coding with an implicit date mask is great and works successfully every time, as long as the <strong>NLS_DATE_FORMAT</strong> in your session matches the date mask you have supplied, which is course it <em>always</em> does. Until something changes and it doesn&#8217;t. In my experience, implicit conversion is probably the single greatest source of failure in systems and also one of the hardest to track down. It frequently occurs in a badly designed schema which doesn&#8217;t use the correct datatypes. I have seen schemas where everything is being stored a VARCHAR2, including numeric fields. This works fine as Oracle will happily insert implicit <strong>to_number</strong> functions into your code and return answers in ways which seem correct, until you get some rogue data into the database and everything falls apart.</p>
<pre>USER1 @ orcl &gt; -- Create a table but allow generic data, rather than specifying numeric data
USER1 @ orcl &gt; -- The client will take care of validation. Of course it will.
USER1 @ orcl &gt; create table implicit_problem (col1 varchar2(10), col2 varchar2(10));

Table created.

USER1 @ orcl &gt;
USER1 @ orcl &gt; -- Lets fill the table with reasonable data
USER1 @ orcl &gt; insert into implicit_problem values (1,1);

1 row created.

USER1 @ orcl &gt; insert into implicit_problem values (2,10);

1 row created.

USER1 @ orcl &gt; insert into implicit_problem values (3,66);

1 row created.

USER1 @ orcl &gt;
USER1 @ orcl &gt; -- Oracle is putting an implicit to_number around col1*col2 to allow the calculation
USER1 @ orcl &gt; select col1,col2,col1*col2 from implicit_problem;

COL1       COL2        COL1*COL2
---------- ---------- ----------
1          1                   1
2          10                 20
3          66                198

USER1 @ orcl &gt;
USER1 @ orcl &gt; -- And now lets have some incorrectly validated data
USER1 @ orcl &gt; insert into implicit_problem values (4,'A');

1 row created.

USER1 @ orcl &gt;
USER1 @ orcl &gt;
USER1 @ orcl &gt; -- And now the implicit conversion fails
USER1 @ orcl &gt; select col1,col2,col1*col2 from implicit_problem;
<span style="color:#ff0000;">ERROR:</span>
<span style="color:#ff0000;">ORA-01722: invalid number</span>

no rows selected

USER1 @ orcl &gt;
USER1 @ orcl &gt; -- Cleanup
USER1 @ orcl &gt; drop table implicit_problem;

Table dropped.</pre>
<pre> </pre>
<p><BR><br />
It&#8217;s much easier (and quicker) to catch bad data going into a system than it is to perform problem resolution. Always code explicitly for your data types. Implicit conversion in yuor coding invariably leads to hard-to-find bugs.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chandlerdba.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chandlerdba.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chandlerdba.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chandlerdba.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chandlerdba.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chandlerdba.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chandlerdba.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chandlerdba.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chandlerdba.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chandlerdba.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chandlerdba.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chandlerdba.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chandlerdba.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chandlerdba.wordpress.com/254/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=254&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chandlerdba.wordpress.com/2011/11/28/implicit-conversion-errors/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b772fd78342fcb9d284a1fc651904ad7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chandlerdba</media:title>
		</media:content>
	</item>
		<item>
		<title>The 10046 trace. Largely useless, isn&#8217;t it?</title>
		<link>http://chandlerdba.wordpress.com/2011/11/22/the-10046-trace-largely-useless-isnt-it/</link>
		<comments>http://chandlerdba.wordpress.com/2011/11/22/the-10046-trace-largely-useless-isnt-it/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 20:06:25 +0000</pubDate>
		<dc:creator>Neil Chandler</dc:creator>
				<category><![CDATA[Performance and Tuning]]></category>
		<category><![CDATA[Problem Solving]]></category>
		<category><![CDATA[10046]]></category>
		<category><![CDATA[10053]]></category>
		<category><![CDATA[ash]]></category>
		<category><![CDATA[awr]]></category>
		<category><![CDATA[oltp]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[pub]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tuning]]></category>

		<guid isPermaLink="false">http://chandlerdba.wordpress.com/?p=242</guid>
		<description><![CDATA[The other night I was sat in the pub with some like-minded individuals discussing the relative merits of the 10046 trace (we Rock! in the pub, dudes!) and somebody asked me how often I has actually used it in anger? A well-respected DBA / Architect maintained it was a pretty useless and difficult option to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=242&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The other night I was sat in the pub with some like-minded individuals discussing the relative merits of the 10046 trace (we Rock! in the pub, dudes!) and somebody asked me how often I has actually used it in anger? A well-respected DBA / Architect maintained it was a pretty useless and difficult option to use, given the topology of modern applications (e.g. How do you find the correct session with all that connection pooling going on from multiple web servers.)</p>
<p>My answer surprised me &#8211; I thought back to one client where I spent 90% of my time performance tuning a large (<a title="So how big is that disk?" href="http://chandlerdba.wordpress.com/2011/05/10/so-how-big-is-that-disk/">TiB-ish</a>) OLTP/Batch hybrid system and concluded that I had ran a 10046 against production about once a year. Once. So if the 10046 is the holy grail of plan information, why wasn&#8217;t I using it that much. And why did I never use a 10053 against Production there?</p>
<p>The answer for me is a little more complex than that given in the pub:</p>
<p>1. as stated above, it&#8217;s hard to catch the in-flight session unless the application is instrumented to inject the trace statement when needed (and how many applications are instrumented to help you discover problems? Screen ST03 in SAP is very helpful. Any others in major ERP&#8217;s? Thought not.)</p>
<p>2. In many places that I have worked, getting authorisation to make any a change to a 24&#215;7 mission-critical system is highly bureaucratic, involving cast-iron justification for the change and it&#8217;s positive benefits, requirement that there will be no adverse effects because of the change, very senior sign-off, more red-tape, etc. This causes a significant amount of work simply to put a trace on, even if you can catch the SQL. This can end up being more work than actually fixing the problem.</p>
<p>3. An awful lot of SQL tuning is a fairly blunt affair, as the developer (who is frequently database-blind) has usually missed something obvious. It is frequently to do with incorrectly using or not using an index (or using a poor index), or lack of filtering data at the right point to minimise the I/O.</p>
<p>4. Most importantly, if you have AWR and ASH, it&#8217;s not really needed. For each plan created by the optimizer the database stores the bind variables along with it, so we can usually understand why the optimizer makes the decisions it makes. ASH contains the main event waits. Why bother trying to capture all of the detail in a trace when you really don&#8217;t need that much detail, and it&#8217;s all already there; ready to be extracted from the relevant tables (e.g. dba_hist_active_sess_history, dba_hist_sql_plan and dba_hist_sql_bind.)</p>
<p>I have never used a 10053 trace on a Production system. I have simply never needed to know the decisions taken by the optimizer in that much detail. Like most DBA&#8217;s and Oracle consultants, I don&#8217;t go from site-to-site on a weekly basis resolving edge-case problems that the incumbent DBA&#8217;s haven&#8217;t had the time, or possibly <a title="A little rant about DBA’s" href="http://chandlerdba.wordpress.com/2011/05/05/a-little-rant-about-dbas/">don&#8217;t have the skills</a>, to resolve themselves. I usually don&#8217;t need that level of confirmation that I&#8217;m right about why the plan is wrong, and I don&#8217;t have the time to conclusively prove it over and over again &#8211; I just need to get the fix into place and move onto the next problem.</p>
<p>That said, perhaps I <strong>should</strong> get fully to the bottom of these problems to ensure that they never occur again – which is the fundamental problem with Adaptive Cursor Sharing.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chandlerdba.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chandlerdba.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chandlerdba.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chandlerdba.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chandlerdba.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chandlerdba.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chandlerdba.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chandlerdba.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chandlerdba.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chandlerdba.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chandlerdba.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chandlerdba.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chandlerdba.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chandlerdba.wordpress.com/242/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=242&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chandlerdba.wordpress.com/2011/11/22/the-10046-trace-largely-useless-isnt-it/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b772fd78342fcb9d284a1fc651904ad7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chandlerdba</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle Timestamp Processing &#8211; mildly annoying</title>
		<link>http://chandlerdba.wordpress.com/2011/11/01/oracle-timestamp-processing-mildly-annoying/</link>
		<comments>http://chandlerdba.wordpress.com/2011/11/01/oracle-timestamp-processing-mildly-annoying/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 12:18:33 +0000</pubDate>
		<dc:creator>Neil Chandler</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://chandlerdba.wordpress.com/?p=232</guid>
		<description><![CDATA[I was writing a small piece of SQL this morning which I needed to account for daylight savings time correctly. All of my databases run in UTC, so a quick foray into using TIMESTAMP AS TIME ZONE seemed the easiest way to accomplish this. So, I code it up and want to test my code [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=232&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was writing a small piece of SQL this morning which I needed to account for daylight savings time correctly. All of my databases run in UTC, so a quick foray into using TIMESTAMP AS TIME ZONE seemed the easiest way to accomplish this. So, I code it up and want to test my code to ensure that the timestamp operates correctly on both sides of UK Daylight savings. I figured that the easiest way to do this would be to used the old Oracle initialisation parameter FIXED_DATE. You can set this in the database on the fly and observe the results immediately. So to for testing (in a Dev database which only I was using). Guess what? FIXED_DATE works perfectly for SYSDATE. However, it is completely ignored for SYSTIMESTAMP! WHAT??? Who in Oracle missed this one? Let me show you how this (doesn&#8217;t) work, with a workaround for my testing included in the example to show how neatly TIMESTAMP AS TIME ZONE does work:</p>
<pre>&gt; alter session set nls_date_format='DD-MON-YYYY HH24:MI:SS'

Session altered.

&gt; select * from v$timezone_names where tzname like '%London%'

TZNAME                                                           TZABBREV
---------------------------------------------------------------- ----------------------------------------------------------------
Europe/London                                                    LMT
Europe/London                                                    GMT
Europe/London                                                    BST
Europe/London                                                    BDST

Before we start, check the current date
&gt; select sysdate from dual

SYSDATE
--------------------
01-NOV-2011 11:50:15

Before Daylight Savings Time changes (on 29th October 02:00:00)
&gt; alter system set fixed_date = '28-OCT-2011 08:00:00' scope=memory

System altered.

&gt; select systimestamp at time zone 'Europe/London' from dual

SYSTIMESTAMPATTIMEZONE'EUROPE/LONDON'
---------------------------------------------------------------------------
01-NOV-11 11.50.15.666000 EUROPE/LONDON

The timestamp is unaffected by setting FIXED_DATE!!! Oracle! Grrrr!

&gt; select sysdate from dual

SYSDATE
--------------------
28-OCT-2011 08:00:00

The UTC time is correct.

So I need to take the sysdate and transform it into a timestamp at timezone
London should be 1 hour ahead of UTC at this point
&gt; select to_timestamp(sysdate) at time zone 'Europe/London' from dual

TO_TIMESTAMP(SYSDATE)ATTIMEZONE'EUROPE/LONDON'
---------------------------------------------------------------------------
28-OCT-11 09.00.00 EUROPE/LONDON

###########################################################################
Now to roll the time on and re-test
###########################################################################
After Daylight Savings Time changes (on 29th October 02:00:00)
&gt; alter system set fixed_date = '30-OCT-2011 08:00:00' scope=memory

System altered.

&gt; select sysdate from dual

SYSDATE
--------------------
30-OCT-2011 08:00:00

Now Daylight savings should by the same as UTC, not 1 hour ahead
&gt; select to_timestamp(sysdate) at time zone 'Europe/London' from dual

TO_TIMESTAMP(SYSDATE)ATTIMEZONE'EUROPE/LONDON'
---------------------------------------------------------------------------
30-OCT-11 08.00.00 EUROPE/LONDON

Yey! Daylight davings is correct for London. 

Remove the fixed_date setting
&gt; alter system set fixed_date=NONE scope=memory

System altered.

And check the date
&gt; select sysdate from dual

SYSDATE
--------------------
01-NOV-2011 11:50:16
------------------------------------------------------------</pre>
<p>There you have it. How very mildly annoying. Can&#8217;t use TIME ZONE with SYSDATE, can&#8217;t use FIXED_DATE with SYSTIMESTAMP.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chandlerdba.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chandlerdba.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chandlerdba.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chandlerdba.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chandlerdba.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chandlerdba.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chandlerdba.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chandlerdba.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chandlerdba.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chandlerdba.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chandlerdba.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chandlerdba.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chandlerdba.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chandlerdba.wordpress.com/232/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=232&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chandlerdba.wordpress.com/2011/11/01/oracle-timestamp-processing-mildly-annoying/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b772fd78342fcb9d284a1fc651904ad7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chandlerdba</media:title>
		</media:content>
	</item>
		<item>
		<title>Dennis Ritchie RIP</title>
		<link>http://chandlerdba.wordpress.com/2011/10/16/dennis-ritchie-rip/</link>
		<comments>http://chandlerdba.wordpress.com/2011/10/16/dennis-ritchie-rip/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 17:19:58 +0000</pubDate>
		<dc:creator>Neil Chandler</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[dennis ritchie]]></category>
		<category><![CDATA[ritchie]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://chandlerdba.wordpress.com/?p=226</guid>
		<description><![CDATA[There can be few scientists who have contributed so much to the world as Dennis Ritchie. Completely anonymous to the world at large, and to far too much of the computing fraternity too, his involvement in the development of C &#8211; the first portable programming language, and Unix cannot be understated. Who uses Unix? Well, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=226&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There can be few scientists who have contributed so much to the world as Dennis Ritchie. Completely anonymous to the world at large, and to far too much of the computing fraternity too, his involvement in the development of C &#8211; the first portable programming language, and Unix cannot be understated. Who uses Unix? Well, everybody. What is the O/S on embedded devices? What did Steve Jobs base his Mac O/S and Mobile Operating systems on? Upon what did Bill Gates base the operating system for the new IBM PC in 1980? What do corporations across the world use to power their servers? What is it all built on? Unless you&#8217;re running some proprietary mainframe software, the building blocks of what you are using were set, to some degree, by Dennis Ritchie.</p>
<p>Whilst I never met him myself I did work with his sister, Lynn, for several years at a software house in the North East of England, where she still resides. She told me some of the stories about him; how the invention of C and Unix were really aims in making computing more portable, more standard, easier to use. How all that Ritchie, Ken Thompson, Brian Kernighan and the others got for this was their salary [although they did make a few quid on top out of their books <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ], and the ability to distribute Unix free, with C, to all and sundry as Bell labs, a subsidiary of AT&amp;T, had no financial interest in computing as they were a regulated telephone monopoly at the time.</p>
<p>Thanks Dennis.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chandlerdba.wordpress.com/226/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chandlerdba.wordpress.com/226/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chandlerdba.wordpress.com/226/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chandlerdba.wordpress.com/226/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chandlerdba.wordpress.com/226/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chandlerdba.wordpress.com/226/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chandlerdba.wordpress.com/226/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chandlerdba.wordpress.com/226/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chandlerdba.wordpress.com/226/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chandlerdba.wordpress.com/226/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chandlerdba.wordpress.com/226/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chandlerdba.wordpress.com/226/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chandlerdba.wordpress.com/226/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chandlerdba.wordpress.com/226/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=226&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chandlerdba.wordpress.com/2011/10/16/dennis-ritchie-rip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b772fd78342fcb9d284a1fc651904ad7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chandlerdba</media:title>
		</media:content>
	</item>
		<item>
		<title>Management and Infrastructure SIG &#8211; Thank You</title>
		<link>http://chandlerdba.wordpress.com/2011/10/05/management-and-infrastructure-sig-thank-you/</link>
		<comments>http://chandlerdba.wordpress.com/2011/10/05/management-and-infrastructure-sig-thank-you/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 14:22:13 +0000</pubDate>
		<dc:creator>Neil Chandler</dc:creator>
				<category><![CDATA[UKOUG]]></category>

		<guid isPermaLink="false">http://chandlerdba.wordpress.com/?p=195</guid>
		<description><![CDATA[Well, we had the final Management and Infrastructure SIG last week, and whilst the attendance wasn&#8217;t huge, the content was simply excellent. Two great presentations about Enterprise Manager from Niall Litchfield of Maxima, and from Mark Westwood and Carl Holmes of Morrissons. We also had an insightful and revealing presentation on outsourcing from Piet De [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=195&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well, we had the final Management and Infrastructure SIG last week, and whilst the attendance wasn&#8217;t huge, the content was simply excellent. Two great presentations about Enterprise Manager from <a href="http://orawin.info/blog/">Niall Litchfield</a> of Maxima, and from Mark Westwood and Carl Holmes of Morrissons.</p>
<p>We also had an insightful and revealing presentation on outsourcing from <a href="http://simpleoracledba.blogspot.com/">Piet De Visser</a> from Logica, and an eye-opening technical feast showing how to maximise the performance from your Intel hardware from <a href="http://hammerora.sourceforge.net/">Steve Shaw</a> of Intel.</p>
<p>I would also like to thank <a href="http://www.oracle.com">Oracle </a>for their support, and especially Mike Edgington for his talk about the Oracle support organization and how it is evolving.</p>
<p>Ye Gods, this feels like an Oscars acceptance speech!</p>
<p>Many thanks to the <a href="http://www.ukoug.org/home/">UKOUG </a>Staff in general, and specifically Marisa Harris and Jake Potter for their organisation and assistance in making this SIG work.</p>
<p>Finally, I would like to thank <a href="http://mwidlake.wordpress.com/">Martin Widlake</a> for his Chairmanship, and his opposition during our presentation about what DBA&#8217;s really need to know.</p>
<p>And so ends the <a href="http://www.ukoug.org/our-communities/oracle-technology/management-and-infrastructure/">UKOUG Management and Infrastructure SIG</a>, now to be merged with the <a href="http://www.ukoug.org/our-communities/oracle-technology/rac-and-ha/">RAC SIG </a>and be reborn as the UKOUG Availability, Infrastructure and Management (AIM) SIG, where we will still talk about everything that we have previously, but extend the remit around RAC, Exadata, Goldengate, Partitioning, VLDB&#8217;s, and all those other lovely cost-extra options that Oracle dearly would like to sell to us all.</p>
<p>Thank you to everyone who attended the M&amp;I SIG &#8211; we hope you got as much out of it as we did.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chandlerdba.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chandlerdba.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chandlerdba.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chandlerdba.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chandlerdba.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chandlerdba.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chandlerdba.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chandlerdba.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chandlerdba.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chandlerdba.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chandlerdba.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chandlerdba.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chandlerdba.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chandlerdba.wordpress.com/195/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chandlerdba.wordpress.com&amp;blog=14027734&amp;post=195&amp;subd=chandlerdba&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chandlerdba.wordpress.com/2011/10/05/management-and-infrastructure-sig-thank-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b772fd78342fcb9d284a1fc651904ad7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chandlerdba</media:title>
		</media:content>
	</item>
	</channel>
</rss>
