tag:blogger.com,1999:blog-292307002024-03-07T06:35:44.725-05:00outside the box<hr>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.comBlogger32125tag:blogger.com,1999:blog-29230700.post-80930499746545239342007-03-25T20:39:00.000-05:002007-03-25T21:09:05.477-05:00Blog facelift in progressI've decided to do a blog facelift that I have been wanting to do for a while now. <br /><br />First is the change in the blog template. I liked the look of the old template (Scribe) but the narrow post body made it problematic to format posts that include source code or screen output. The new template is a slightly modified version of the Stretch Denim Light template. As a result of the new template, I will be modifying some posts that include source code or screen output to make them look better with this new blog template. These modifications will be purely cosmetic in nature and subscribers can safely ignore them in their feedreaders if they have read the post before.<br /><br />Next, I have finally started a blogroll (shame on me) :).<br /><br />Finally, I added links of websites that I hope readers of this blog will find useful. If you are running Oracle on Solaris, you should definitely check the links to the Solaris Internals website.jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-49939199325136896722007-03-08T18:44:00.000-05:002007-03-09T10:29:07.125-05:00OraSRP v3.0b - screenshots for discussion<span style="font-weight: bold;">Update</span>:<br /><span style="font-weight: bold;">March 9, 2007</span><br />1. I changed the title of this post from <span style="font-style: italic;">OraSRP v3.0b - short program to approximate session elapsed time </span>to <span style="font-style: italic;">OraSRP v3.0b - screenshots for discussion.</span><br />2. Added another screenshot of a short program to look for the minimum and maximum values of <span style="font-family:courier new;">tim</span>.<br /><br />This entry is created to support some points being made in the <a href="http://www2.blogger.com/comment.g?blogID=29230700&postID=1835910234034287606&isPopup=true">comment section</a> of the entry titled <a href="http://jforonda.blogspot.com/2007/03/orasrp-v30b-questionable-session.html">OraSRP v3.0b - questionable session elapsed time</a>. It was created for the sole purpose of displaying <del>this screenshot</del> <span style="font-style: italic;">the screenshots below</span> because it looks like blogspot does not support screenshots in the comment section.<br /><br /><br />1. A short program to approximate session elapsed time of the trace file being discussed.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB7chxDdyWHbRdywlLVstZ8nvxYFbdsBjYwqFe18ei6V7yCdWFuMhR7A23Q4js4vPVEeVAqTu-7o4jNhu-tsh2nGCkyVsas99ed0jQRsKTYgtIzSN4uvgTGDr0HxnV_qhTc1Aa/s1600-h/10046tim.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB7chxDdyWHbRdywlLVstZ8nvxYFbdsBjYwqFe18ei6V7yCdWFuMhR7A23Q4js4vPVEeVAqTu-7o4jNhu-tsh2nGCkyVsas99ed0jQRsKTYgtIzSN4uvgTGDr0HxnV_qhTc1Aa/s320/10046tim.png" alt="" id="BLOGGER_PHOTO_ID_5039709660212484354" border="0" /></a><br /><br />2. A short program to find the minimum and maximum <span style="font-family:courier new;">tim</span> values of the trace file being discussed.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje9IYkHsCDBTnSb_uqT-XbpYLwbS91Yg59gef-EqRoYTbQ2YPDXI58OJitm722iKainmb6BrQnkdrq724lF8WBraeSfEKWJi-0LBDDQXZmNpOj5M2gZUnh0kDiEMelu2Q9vP-y/s1600-h/10046minmax-tim.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje9IYkHsCDBTnSb_uqT-XbpYLwbS91Yg59gef-EqRoYTbQ2YPDXI58OJitm722iKainmb6BrQnkdrq724lF8WBraeSfEKWJi-0LBDDQXZmNpOj5M2gZUnh0kDiEMelu2Q9vP-y/s320/10046minmax-tim.png" alt="" id="BLOGGER_PHOTO_ID_5039945128557239282" border="0" /></a><br /><br /><br />Comments are disabled for this entry. If you want to join the discussion, please go <a href="http://www2.blogger.com/comment.g?blogID=29230700&postID=1835910234034287606&isPopup=true">here</a>.jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-18359102340342876062007-03-03T14:05:00.000-05:002007-03-05T16:16:34.812-05:00OraSRP v3.0b - questionable session elapsed time<b>Note to subscribers</b>: If your reader does not properly display some formatted content like bold and italics, I suggest you visit the blog site itself.<br /><br /><br /><br />For those who may just be passing by, this is a continuation of two previous blog entries:<p></p> <ul><li><p style="margin-bottom: 0in;"><a href="http://jforonda.blogspot.com/2007/02/orasrp-v30b-very-short-initial.html">OraSRP v3.0b - a very short initial impression</a> </p> </li><li><p><a href="http://jforonda.blogspot.com/2007/03/orasrp-author-replies.html">OraSRP author replies</a> </p> </li></ul> <p><br />If you have not read these two entries, I suggest that you do so first, specially the first one, since that is where the possible problem with the calculation of session elapsed time was initially described. I also suggest that you read <a href="http://www2.blogger.com/comment.g?blogID=29230700&postID=4073077439389222074&isPopup=true">Egor's comment</a> for that entry.<br /><br />As the title says, this entry is about an observation that I made regarding the discrepancy between the session elapsed time reported by OraSRP, and the contents of the raw Oracle Extended SQL Trace File (simply referred to as trace file from hereon). Earlier, I said that OraSRP reports a number that is <span style="font-weight: bold;">around</span> <span style="font-weight: bold;">16 seconds more</span> than what I can readily see and <span style="font-style: italic;">approximate</span> from the trace file. In his comment, Egor explained:</p> <p style="margin-left: 0.49in;"><i>It depends on how to calculate elapsed time.<br />For example, OraSRP ignores 'tim' in 'PARSING IN CURSOR' lines.<br />Also, if trace file starts from WAIT lines then OraSRP will sum up elapsed times of such waits and substract it from the first 'tim' value.</i></p> <p>Thank you, Egor, for that explanation. But please allow me to be more specific.<br /><br /></p> <p><span style="font-weight: bold;">Session Start Timestamp</span><br />Here's a screenshot that shows the top of the trace file (sensitive information has been crossed out, please click to enlarge):</p> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxwJsGNnQUFECtJ6Pw9i8Dj3zaXAZvdkh8R9Y9Rbu6rdHLSoSPs13mlomOm3obSOLeLBdaOUdA7M649DI4jk3sU6_xS0zm6SHNqVMxslP5NQ3hYSG5Jgoy6FTDPNxyaMalwnyQ/s1600-h/1st26lines.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxwJsGNnQUFECtJ6Pw9i8Dj3zaXAZvdkh8R9Y9Rbu6rdHLSoSPs13mlomOm3obSOLeLBdaOUdA7M649DI4jk3sU6_xS0zm6SHNqVMxslP5NQ3hYSG5Jgoy6FTDPNxyaMalwnyQ/s320/1st26lines.png" alt="" id="BLOGGER_PHOTO_ID_5037853209093494466" border="0" /></a><br /><p>From that screenshot, I make the following observations:</p> <ul> <li>There are no WAIT lines before the first 'PARSING IN CURSOR' line so the mention of WAIT lines in Egor's comments is not applicable to this specific situation.</li> </ul> <ul> <li>Let's follow Egor's comment and ignore the <span style="font-family:courier new;">tim</span> value from the 'PARSING IN CURSOR' line (line 22). The next <span style="font-family:courier new;">tim</span> value after line 22 comes from the EXEC line (line 25). The value of <span style="font-family:courier new;">tim</span> for that line is 3928564402472. Those who are closely following the values of the timestamps may notice that the value of <span style="font-family:courier new;">tim</span> from the EXEC line (line 25) is less than the value of <span style="font-family:courier new;">tim</span> from the 'PARSING IN CURSOR' line. In this specific case, the EXEC <span style="font-family:courier new;">tim</span> is 488 microseconds (or 488/1,000,000 of a second) <span style="font-weight: bold;">before</span> the <span style="font-family:courier new;">tim</span> from 'PARSING IN CURSOR'. This may seem a little bit odd but if you happen to have the <a href="http://www.amazon.com/Optimizing-Oracle-Performance-Cary-Millsap/dp/059600527X/sr=8-1/qid=1172637809/ref=pd_bbs_sr_1/002-8675612-7195214?ie=UTF8&s=books">Optimizing Oracle Performance</a> book, the reason why this is so is explained on pages 100-101 in the section titled "Oracle Release 9".<br /><br /></li></ul><p>At this point, I think it is safe to make the following statements regarding the start timestamp:</p> <ul><li> <p>The actual start timestamp can <b>not</b> be greater than 3928564402472. By that I mean that it <span style="font-weight: bold;">can</span> be less, but not 16,000,000 microseconds less.<br /></p> </li><li> <p>I believe that the earliest timestamp that one can get from this specific tracefile is the one in the 'SESSION ID' line (line 19). In fact, the <a href="http://www.amazon.com/Optimizing-Oracle-Performance-Cary-Millsap/dp/059600527X/sr=8-1/qid=1172637809/ref=pd_bbs_sr_1/002-8675612-7195214?ie=UTF8&s=books">Optimizing Oracle Performance</a> book describes this line as the line that "<span style="font-style: italic;">identifies the time and the session at which the first trace line was emitted</span>" (page 104). Purists will probably disagree with me but <span style="font-style: italic;">personally</span>, I <span>can</span> <span style="font-style: italic;">tolerate</span> not using the value in line 19 as start time, specially in cases where the session elapsed time is big (like in this case where it is more than 14,171 seconds). I say this for the following reasons:<br /></p> <ul> <li>The 'SESSION ID' time is in a <span style="font-style: italic;">different format</span> and converting it to the <span style="font-family:courier new;">tim</span> format is not always straightforward. Of course, if one can figure out a <span style="font-weight: bold;">reliable</span> way to convert the 'SESSION ID' time to <span style="font-family:courier new;">tim</span> format, then this is the time that should be used as session start time.<br /></li> </ul> <span style="font-weight: bold;"><br /></span> <ul> <li>The difference between the times that are represented between lines 19 and 25 is likely very small, just like the difference between lines 22 and 25 is also small (488 microseconds). I can <span style="font-style: italic;">personally</span> <span style="font-style: italic;">tolerate</span> this difference <span>knowing</span> that it is <span style="font-weight: bold;">a </span><span style="font-weight: bold;">small</span><span style="font-weight: bold;"> one-time occurence</span>. And in the context of what is being discussed here now, I can not imagine a valid case where this difference would go as high as 16 seconds (or 16,000,000 microseconds).<br /><br /></li> </ul> </li></ul><span style="font-weight: bold;"><br />Session End Timestamp</span><br />Here's a screenshot that shows the bottom of the trace file (sensitive information has been crossed out, please click to enlarge):<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDbzO5I_ZXpzmmZHzmksFxBY6g58OtPVcPauR03zNM4Mwe5H7bgcuyB9ctZZKZymP9bppqQ6lnqKB2b7nIHxC80FRMIkrfYsfv-xVsnKj8r74790vNisuEUY-uIqa4TEEQ5eda/s1600-h/last50lines.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDbzO5I_ZXpzmmZHzmksFxBY6g58OtPVcPauR03zNM4Mwe5H7bgcuyB9ctZZKZymP9bppqQ6lnqKB2b7nIHxC80FRMIkrfYsfv-xVsnKj8r74790vNisuEUY-uIqa4TEEQ5eda/s320/last50lines.png" alt="" id="BLOGGER_PHOTO_ID_5037854128216495826" border="0" /></a><br />From that screenshot, I make the following observations:<br /><ul> <li> The <i>last</i> line that has a <span style="font-family:courier new;">tim</span> is the EXEC line (line 2156805) and the value of <span style="font-family:courier new;">tim</span> from this line is 3942736181428.</li><li><p>I said in <a href="http://jforonda.blogspot.com/2007/02/orasrp-v30b-very-short-initial.html">the first post</a> that the actual end timestamp can <b>not</b> be less than the <span style="font-family:courier new;">tim</span> value in the EXEC line above. By that, I implied that it can be more, but <span style="font-weight: bold;">not</span> 16,000,000 microseconds more. In this specific case, there are several WAIT lines that follow this EXEC line. The <span style="font-family:courier new;">ela</span> values for these WAIT lines must be accounted for.</p></li></ul>The total amount of time that can be attributed to these WAIT lines is the sum of their <span style="font-family:courier new;">ela</span> values:<br /><pre><br />Line # ela<br />------- -----<br />2156806 1<br />2156807 560<br />2156809 917<br />2156810 2<br />2156811 518<br />------- -----<br />Total 1,998<br /></pre><span style="font-family:courier new;"><br /></span><p><span style="font-family:courier new;">jforonda@u20$ bc<br /></span><span style="font-family:courier new;">1+560+917+2+518</span><br /><span style="font-weight: bold;font-family:courier new;" >1998</span><br /><span style="font-family:courier new;">jforonda@u20$</span><br /><br /></p> <p>To get the session's end timestamp, simply add the last <span style="font-family:courier new;">tim</span> value (3942736181428 from line 2156805) to the total <span style="font-family:courier new;">ela</span> of the WAIT lines above (see Clock Walk Formulas, p101-102, <a href="http://www.amazon.com/Optimizing-Oracle-Performance-Cary-Millsap/dp/059600527X/sr=8-1/qid=1172637809/ref=pd_bbs_sr_1/002-8675612-7195214?ie=UTF8&s=books">Optimizing Oracle Performance</a>).<br /></p> <p><span style="font-family:courier new;">jforonda@u20$ bc<br />3942736181428+1998<br /><span style="font-weight: bold;">3942736183426</span><br />jforonda@u20$<br /></span><br />To the best of my knowledge, that's the <span style="font-weight: bold;">maximum</span> value of the end timestamp that one can get from this specific tracefile. If anyone can see anything that I've missed, I will welcome your corrections.<br /></p> <p><br /></p> <p><span style="font-weight: bold;">Session Elapsed Time</span></p> The session elapsed time should just be the difference between the end timestamp and start timestamp:<br /><br /><span style="font-family:courier new;">jforonda@u20$ bc</span><br /><span style="font-family:courier new;">scale=6</span><br /><span style="font-family:courier new;">(3942736183426-3928564402472)/1000000</span><br /><span style="font-weight: bold;font-family:courier new;" >14171.780954</span><br /><span style="font-family:courier new;">jforonda@u20$</span><br /><span style="font-size:100%;"><span style="font-family:courier new;"></span></span><br />So there you go. That is how I would calculate this specific trace file's session elapsed time. Is this how others would do it? If what I presented above is wrong, where did it go wrong? If the method above is wrong, is it so way off to a point that it can not be relied on? Is it even <span style="font-style: italic;">reasonably close</span> enough to be within the bounds of what is acceptable? <span style="font-weight: bold;">Comments are welcome</span><span style="font-weight: bold;">, whether you agree or disagree</span>. Moderation is on to control spam.<br /><p><br />Assuming that the calculation above is correct (or at least <span style="font-style: italic;">reasonably close</span> enough to what it should be), it means that nothing much has changed from the initial observations that I made in the <a href="http://jforonda.blogspot.com/2007/02/orasrp-v30b-very-short-initial.html">first post</a> -- that is, there is a discrepancy of around 16 seconds from the value reported by OraSRP:<br /></p> <span style="font-family:courier new;">jforonda@u20$ bc<br />scale=6<br />14187.9512-14171.780954<br /><span style="font-weight: bold;">16.170246</span><br />jforonda@u20$<br /><br /><br /></span>Again, assuming that the calculation above is correct, some people might then ask:<b> why bother with 16 seconds specially since it is just around 0.11% of the total?</b> I'm very interested to hear what others think about this. Does this 16-second discrepancy tell you anything? At the very least, does it <span style="font-style: italic;">suggest</span> anything? What kinds of questions come up on your mind as a result of this? If you are a person who does Oracle performance analysis and improvement in <span style="font-style: italic;">high profile situations</span>, is this 16-second discrepancy acceptable to you? If you have some level of understanding of the trace file and you have a programming background at the same time, is this discrepancy acceptable to you? Why? Why not? Again, your comments are welcome. If there are no comments, I will take this up in a future post when my schedule permits.<br /><br />If you find this series of posts was worth your time, I would be honored if you <a href="http://feeds.feedburner.com/blogspot/wdPK">subscribe</a>.jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com17tag:blogger.com,1999:blog-29230700.post-48764880047852726042007-03-01T14:42:00.000-05:002007-03-01T16:58:53.319-05:00OraSRP author replies<b>Note to subscribers</b>: If your reader does not properly display some formatted content like bold and italics (I know that at the very least, <a href="http://www.bloglines.com/">Bloglines</a> has this problem), I suggest you visit the blog site itself.<p></p> <p style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color rgb(0, 0, 0); border-width: medium medium 1px; padding: 0in 0in 0.03in; font-style: normal;"><br /></p> <p style="font-style: normal;"><br /><span style="font-style: normal;">First of all, I would like to thank <a href="http://oracledba.ru/orasrp/">OraSRP</a>'s author, <a href="http://www.blogger.com/profile/00292831520490238675">Egor Starostin</a>, for dropping by and making a <a href="http://www2.blogger.com/comment.g?blogID=29230700&postID=4073077439389222074&isPopup=true">comment</a> on yesterday's blog entry, </span><a href="http://jforonda.blogspot.com/2007/02/orasrp-v30b-very-short-initial.html">OraSRP v3.0b - a very short initial impression</a>. I've decided to put my reply in a separate blog entry so that readers who do not subscribe to comment feeds can pick it up.<br /><br /></p> <p style="font-style: normal;">With regards to my observation that the number of lines that OraSRP reports is not equal to the actual number of lines in the raw trace file, Egor says:</p> <p style="margin-left: 0.49in;"><i>OraSRP ignores some lines like<br />'===' or '*** 2007-02-28 12:45:08.424' and doesn't report them as 'processed'. So, 'Total lines processed in trace file' != 'Total lines in trace file'.</i><br /><br /></p> <p>That's good to know, and I suspected that much. But without that clarification, a different line count <i>may</i> mean that there are some <i>relevant</i> lines that are being missed. And when relevant lines are missed, it then becomes possible that the output <i>may</i> be affected to a point that it <i>no longer presents a correct profile</i>. When the profile is not correct, then that <i>may</i> lead people to try to solve problems that are not the real ones to begin with. This is very important to me because the real strength of a correct profile, at least as far as I'm concerned, is its ability to pinpoint the <b>root cause</b> of a problem. </p> <p><br />Of course, I have no problems bypassing <i>irrelevant</i> lines and since this is already being done, I respectfully suggest that the number of lines in the raw trace file still be reported, <i>even as a separate line item</i>, so that people don't get thrown off by differing numbers.</p> <p><br />Now, let's double check the numbers and take into account the types of lines that Egor mentioned above. Let me deal with the '^===' lines first:</p> <span style="font-size:85%;">jforonda@u20$ egrep '^===' 4071.trc | head -5</span><br /><span style="font-size:85%;">=====================</span><br /><span style="font-size:85%;">=====================</span><br /><span style="font-size:85%;">=====================</span><br /><span style="font-size:85%;">=====================</span><br /><span style="font-size:85%;">=====================</span><br /><span style="font-size:85%;">jforonda@u20$</span> <p><br />That looks good enough. Now, let's count them:</p> <p style="margin-left: 0.49in;"><span style="font-size:130%;"><br /></span></p><span style="font-size:130%;"><code><span style="font-family:Courier New,monospace;">jforonda@u20$ egrep '^===' 4071.trc | wc -l</span></code></span><br /><span style="font-size:130%;"><code> <span style="font-family:Courier New,monospace;">2165</span></code></span><br /><span style="font-size:130%;"><code><span style="font-family:Courier New,monospace;">jforonda@u20$</span></code></span> <p><br />So we have 2,165 lines that fit this criteria.</p> <p><br />For the date/timestamp lines:</p><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">jforonda@u20$ egrep '\*\*\* 200' 4071.trc | head -5</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">*** 2004-10-18 19:51:28.453</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">*** 2004-10-18 19:55:50.302</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">*** 2004-10-18 19:56:07.899</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">*** 2004-10-18 19:56:48.561</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">*** 2004-10-18 19:57:41.135</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">jforonda@u20$</span></span><br /><br /> <span style="font-family:Courier New,monospace;"><span style="font-size:85%;">jforonda@u20$ egrep '\*\*\* 200' 4071.trc | wc -l</span></span><br /> <span style="font-family:Courier New,monospace;"><span style="font-size:85%;">106</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">jforonda@u20$</span></span> <p><br /></p> <p>That's another 106 lines. If we add these two numbers to the total reported by OraSRP, we get a total of 2,152,611:<br /><br /></p> <span style="font-family:Courier New,monospace;"><span style="font-size:85%;">jforonda@u20$ bc</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">2150340+106+2165</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">2152611</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">jforonda@u20$</span></span><br /><p>This means that <span style="font-weight: bold;">there are still 4,239 lines that are not accounted for</span>:<br /><br /></p> <span style="font-family:Courier New,monospace;"><span style="font-size:85%;">jforonda@u20$ bc</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">2156850-2152611</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">4239</span></span><br /><span style="font-family:Courier New,monospace;"><span style="font-size:85%;">jforonda@u20$</span></span> <p><br /><br />This is still a lot of lines that are not unaccounted for. Now, Egor's comment said "<i>OraSRP ignores some lines like..." </i>and that makes me think that there are other types of lines, aside from those that were already mentioned, that are being bypassed on purpose. If Egor gives me a <span style="font-style: italic;">complete list</span> of the types of lines that are being <span style="font-weight: bold;">bypassed on purpose</span>, I'd be happy to check my trace file.</p> <p><br />With regards to the different totals between the “with idle” and "without idle” runs, Egor said:</p> <p style="margin-left: 0.49in;"><i>As for different times with/without idle waits recognition -- I believe it's a bug. Unfortunatey, I can't reproduce it yet, so I can't fix it too. </i> </p> <p>In as much as I want to help, I will say now that I can <b>not</b> give this trace file to Egor. As most people reading this probably know, <span style="font-style: italic;">10046 trace files contain confidential information</span>. This is also the reason why I crossed out the instance and node names from the screenshots that I posted yesterday. If there are readers who can share their trace files to Egor, I suggest that they try to do what I've done here and see if they can reproduce the problems that I have described.<br /></p> <p><br /></p> <p>Now, there's still that issue about the total elapsed time but I have to attend to other things so I will stop for now. I will post another entry to talk about the elapsed time within the next day or so. If you want to follow this topic, it will make it easier if you <a href="http://feeds.feedburner.com/blogspot/wdPK">subscribe</a>. :)</p>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com3tag:blogger.com,1999:blog-29230700.post-40730774393892220742007-02-27T23:31:00.000-05:002007-03-08T10:17:58.445-05:00OraSRP v3.0b - a very short initial impression<span style="font-weight: bold;">Update:</span> This has evolved into a series of posts so I added links at the bottom to guide readers who may want to read the entire series of posts.<br /><hr /><br /><br />Last Friday, February 23, <a href="http://oracledoug.com/cv.html">Doug Burns</a> <a href="http://oracledoug.com/serendipity/index.php?/archives/1212-OraSRP.html">mentioned in his blog</a> that <a href="http://oracledba.ru/orasrp/">OraSRP</a> v3.0b (beta) has been released. I have a special interest in the Oracle Extended SQL Trace File because I have used it to help me solve a lot of performance problems. My interest with the trace file started after reading the excellent book <a href="http://www.amazon.com/Optimizing-Oracle-Performance-Cary-Millsap/dp/059600527X/sr=8-1/qid=1172637809/ref=pd_bbs_sr_1/002-8675612-7195214?ie=UTF8&s=books">Optimizing Oracle Performance</a> by Cary Millsap and Jeff Holt of <a href="http://www.hotsos.com/">Hotsos</a>.<br /><br />Anyway, I've tried earlier versions of OraSRP but I had some problems. Off the top of my head:<br /><ul> <li>It could not finish processing certain files. This has <span style="font-style: italic;">nothing</span> to do with speed. It had something to do with OraSRP not being able to finish processing large files with a lot of BIND lines in them. I had two big files (44+ and 66+ million lines) where OraSRP would just stall. I ran OraSRP against these files on several platforms (Solaris, Linux, Windows) and I had to kill them after two days. The workaround to this type of problem was to bypass or limit the processing of BIND lines.</li> </ul> <ul> <li>I compared the output to that of the <a href="https://portal.hotsos.com/products/P5">Hotsos profiler</a> (v4.0.16). There were some numbers that were too far apart, so far that they can not be attributed to rounding off. This does not mean, of course that OraSRP was wrong. I'm just saying the outputs of the two profilers were vastly different in some sections.<br /></li> </ul> Again, those two bullet points are for an <span style="font-style: italic;">earlier</span> version of OraSRP. I also want to make clear that I did not have time to prove which output is correct and so I could not conclude that OraSRP was wrong; after all, it is entirely possible that there are some bugs in the Hotsos profiler itself. But I have to say that the big differences in the numbers made me <span style="font-style: italic;">very </span><span style="font-style: italic;">uncomfortable</span> not only because I know that the people at Hotsos wrote <a href="http://www.amazon.com/Optimizing-Oracle-Performance-Cary-Millsap/dp/059600527X/sr=8-1/qid=1172637809/ref=pd_bbs_sr_1/002-8675612-7195214?ie=UTF8&s=books">THE book</a> on the Oracle Extended SQL Trace File, but also because I have used earlier versions of the Hotsos profiler to help me solve some very nasty performance problems at some of Sun's big customers.<br /><br />And so it is natural for me to want to see what is new with OraSRP v3.0b. This new version is a complete rewrite from <a href="http://www.python.org/">Python</a> to the <a href="http://www.digitalmars.com/d/">D programming language</a> (not to be confused with a similarly named language for <a href="http://www.opensolaris.org/os/community/dtrace/">Solaris DTrace</a>). It is also in binary-only format for Linux and Windows.<br /><br />These days, my main workstation runs <a href="http://www.opensolaris.org/os/">Solaris</a> and I no longer have a machine that runs Linux so I had to use the Windows version. Here's a screenshot of the first two sections of the report:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbJbp1V7pab0G1S0VgoZuPxZgVsHSCIus8XFtLAp9OSCPhtf7bDg4voVq8j68XgbQNRczsJ9Vz43TQQfhEqBW17WtcTlF7m5O4cPGEN81OWbNX7Lb-qSMbgugr8ROoZHKfSB-D/s1600-h/4071.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbJbp1V7pab0G1S0VgoZuPxZgVsHSCIus8XFtLAp9OSCPhtf7bDg4voVq8j68XgbQNRczsJ9Vz43TQQfhEqBW17WtcTlF7m5O4cPGEN81OWbNX7Lb-qSMbgugr8ROoZHKfSB-D/s320/4071.png" alt="" id="BLOGGER_PHOTO_ID_5036599733430473154" border="0" /></a><br />Please note the second arrow pointing at <span style="font-style: italic;">"Total lines processed in trace file". </span>OraSRP is reporting 2,150,340 lines. That did not look right to me. So I went back to the raw trace file and did this:<br /><br /><span style="font-family:courier new;">jforonda@u20$ wc -l 4071.trc<br />2156850 4071.trc<br />jforonda@u20$<br /><br />jforonda@u20$ bc<br />2156850-2150340<br />6510<br />jforonda@u20$</span><span style="font-family:courier new;"></span><br /><br />Hmm... I know that this specific trace file is 'clean' and it does not have things like those "dump from memory" lines. So it seems like there are 6,510 lines that are somehow not accounted for. What does this mean? Is it a big deal? I'll let the reader draw their own conclusions.<br /><br />Next, I looked at the total elapsed time for the session. In the image above, that information would be where I drew an arrow at the very bottom of the page. For the total elapsed time, OraSRP reports 14,187.9512 seconds. Again, that didn't look right to me. So again, I went back to the raw trace file. To get a <span style="font-style: italic;">quick approximation</span> of the session start timestamp, I did this:<br /><br /><span style="font-size:85%;"><span style="font-family:courier new;">jforonda@u20$ grep tim 4071.trc | <span style="font-weight: bold;">head</span> -1</span><br /><span style="font-family:courier new;">PARSING IN CURSOR #5 len=69 dep=1 uid=413 oct=42 lid=413 <span style="font-weight: bold;">tim=3928564402960</span> hv=2004533713 ad='ab3a9520'</span><br /><span style="font-family:courier new;">jforonda@u20$</span></span><br /><br />And to get a <span style="font-style: italic;">quick approximation</span> of the session end timestamp:<br /><br /><span style="font-size:85%;"><span style="font-family:courier new;">jforonda@u20$ grep tim 4071.trc | <span style="font-weight: bold;">tail</span> -1</span><br /><span style="font-family:courier new;">EXEC #15:c=0,e=1077,p=0,cr=3,cu=1,mis=0,r=1,dep=0,<br />og=4,<span style="font-weight: bold;">tim=3942736181428</span></span><br /><span style="font-family:courier new;">jforonda@u20$</span></span><br /><br />I used the term "<span style="font-style: italic;">quick approximation</span>" because I understand that <span style="font-style: italic;">those values may not be the absolute start and end timestamps</span>. However, for the purpose of this blog entry, they should be good enough. I think it is safe to say the following:<br /><br /><ul> <li> the actual start timestamp can <span style="font-weight: bold;">not</span> be greater than 3928564402960</li> <li> the actual end timestamp can <span style="font-weight: bold;">not</span> be less than 3942736181428</li> </ul> So I went back to my trusty old command line calculator. :) Note that I set the scale to 6 and divided by 1,000,000 because this is an Oracle9i trace file and so the <span style="font-family:courier new;">tim</span> value is expressed in microseconds.<br /><br /><span style="font-size:85%;"><span style="font-family:courier new;">jforonda@u20$ bc</span><br /><span style="font-family:courier new;">scale=6</span><br /><span style="font-family:courier new;">(3942736181428-3928564402960)/1000000</span><br /><span style="font-family:courier new;">14171.778468</span><br /><span style="font-family:courier new;">jforonda@u20$</span></span><br /><br />So according to the raw trace file, the elapsed time is approximately 14,171 seconds. In fact, I can probably conclude at this point that the elapsed time can <span style="font-weight: bold;">not</span> be less than 14,171 seconds. OraSRP reports 14,187 seconds or around 16 seconds more. Okay, OraSRP's elapsed time is not less than my rough estimate but a 16-second difference does not look quite right. Hmm...<br /><br />Then I noticed that OraSRP has an option to recognize idle 'SQL*Net message from client' events which was turned on in my initial run. So I made one more run with this option turned off. Here's a screenshot:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJruTKuX1IG982gVqjiwXXts7bNpksKD3lStc9MR7ccI0oa96nJP2EkJaoNgprDjqMj8hXFkoiB2Aulg2nucroBtD9j1l3jMhyQC9LmlNXOe-33fTN9QcJ57LG8UfghTTN0Gd2/s1600-h/4071.noidle.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJruTKuX1IG982gVqjiwXXts7bNpksKD3lStc9MR7ccI0oa96nJP2EkJaoNgprDjqMj8hXFkoiB2Aulg2nucroBtD9j1l3jMhyQC9LmlNXOe-33fTN9QcJ57LG8UfghTTN0Gd2/s320/4071.noidle.png" alt="" id="BLOGGER_PHOTO_ID_5036616647011684818" border="0" /></a><br /><br />Now, the title of this blog entry partly reads "a <span style="font-style: italic;">very short</span> initial impression" and it is getting too long :). So... can you spot the difference between the two screenshots?<br /><br /><br /><span style="font-weight: bold;">OraSRP v3.0b posts to date</span><br /><br /><a href="http://jforonda.blogspot.com/2007/02/orasrp-v30b-very-short-initial.html">OraSRP v3.0b - a very short initial impression</a><br /><a href="http://jforonda.blogspot.com/2007/03/orasrp-author-replies.html">OraSRP author replies</a><br /><a href="http://jforonda.blogspot.com/2007/03/orasrp-v30b-questionable-session.html">OraSRP v3.0b - questionable session elapsed time</a>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com3tag:blogger.com,1999:blog-29230700.post-6963114865242608812007-01-31T16:38:00.000-05:002007-01-31T23:15:06.736-05:00Faulty FC port meets ZFSRight now, I'm in a project that is taking a lot of my time and as such, I am behind my normal readings. Whenever I'm in this situation, my mailing list subscriptions are usually the first ones to suffer.<br /><br />Anyway, I just saw <a href="http://www.opensolaris.org/jive/thread.jspa?threadID=19181&tstart=0">this post</a> from the <a href="http://www.opensolaris.org/jive/forum.jspa?forumID=80&start=0">zfs-discuss mailing list</a> at <a href="http://www.opensolaris.org/os/">opensolaris.org</a>. It was posted about two months ago but I think that it is worth posting here as well specially since a lot of my <a href="http://jforonda.blogspot.com/search/label/ZFS">ZFS posts</a> have been getting some <a href="http://jforonda.blogspot.com/2007/01/what-pleasant-surprise-power-of-google.html">encouraging levels of page hits</a>.<br /><br /><a href="http://www.opensolaris.org/jive/thread.jspa?threadID=19181&tstart=0">The post</a> talks about how <a href="http://www.opensolaris.org/os/community/zfs/">ZFS</a> caught a situation where different layers of the I/O stack were trusting each other to a point where data was being silently corrupted. In fact, even the administrators trusted their hardware so much. The post says (all emphasis mine):<br /><blockquote style="font-style: italic;">there was no mirroring or protection at the server level, we had <span style="font-weight: bold;">delegated that function to the DMX3500</span></blockquote><br />I've seen this kind of "trust" in some sites. But that turned out to be a bad decision:<br /><br /><blockquote><span style="font-style: italic;">As it turns out our trusted SAN was </span><span style="font-weight: bold; font-style: italic;">silently corrupting data</span><span style="font-style: italic;"> due to a bad/flaky FC port in the switch. </span><span style="font-weight: bold; font-style: italic;">DMX3500 faithfully wrote the bad data and returned normal ACKs back to the server</span><span style="font-style: italic;">, thus all our servers reported no storage problems.</span><br /><span style="font-style: italic;">...</span><br /><span style="font-style: italic;">ZFS was the first one to pick up on the silent corruption</span><br /></blockquote><br />Ah, <a href="http://jforonda.blogspot.com/2006/06/silent-data-corruption.html">silent data corruption</a>, the kind of problem that <a href="http://www.opensolaris.org/os/community/zfs/">used to</a> keep me up at night. :)jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-48629720624413671292007-01-30T19:35:00.000-05:002007-01-30T21:13:03.666-05:00What a pleasant surprise (the power of google)I use <a href="http://www.google.com/analytics/">Google Analytics</a> and <a href="http://blogs.feedburner.com/feedburner/archives/2007/01/a_360_degree_view_of_audience.php">FeedBurner SiteStats</a> to monitor the traffic and subscriptions of this blog. This site has a very modest traffic but for the past few months now, I noticed that more and more readers are landing to this site from a google search. I also noticed that most of the searches were for <span style="font-style: italic;">silent data corruption</span>, a topic which I had <a href="http://jforonda.blogspot.com/2006/06/silent-data-corruption.html">a previous entry</a>. Currently, this specific entry is <span style="font-weight: bold;">number two</span> on google search result when one uses the search term <a style="font-style: italic;" href="http://www.google.com/search?hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&hs=AwN&q=silent+data+corruption&btnG=Search">silent data corruption</a>.<br /><br />When I tried this search today, I got this:<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBYeUKOG5AGHEOgC_86GidVwigDzjyBYGKbiFJLLRx1RvJ_8tPN1m5W5jgu_PNg8z1lh_74-W-U8Aln0HaEoTR-eT7nQi35XMSMdi6GGcihMUaOrXnL8i1qvP2iMoyopDU7FeY/s1600-h/google-silent-data-corruption.PNG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBYeUKOG5AGHEOgC_86GidVwigDzjyBYGKbiFJLLRx1RvJ_8tPN1m5W5jgu_PNg8z1lh_74-W-U8Aln0HaEoTR-eT7nQi35XMSMdi6GGcihMUaOrXnL8i1qvP2iMoyopDU7FeY/s320/google-silent-data-corruption.PNG" alt="" id="BLOGGER_PHOTO_ID_5025989976724929426" border="0" /></a><br />No wonder. What a pleasant surprise! :)jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-87082797892306986192007-01-14T00:00:00.003-05:002007-03-25T21:47:11.020-05:00ZFS CompressionThis post is a result of <a href="http://www.freelists.org/archives/oracle-l/01-2007/threads.html#00267">a thread in oracle-l</a>. It is provided to show the basics of <a href="http://www.opensolaris.org/os/community/zfs/">ZFS</a> compression.<br /><br />This was done on my single core <a href="http://www.sun.com/desktop/workstation/ultra20/">Sun Ultra 20</a> workstation running <a href="http://www.sun.com/software/solaris/get.jsp">Solaris</a>. The output has been slightly reformatted to make it fit the screen.<br /><br /><br />Note that this is a very simple case on a machine that is not doing any significant amount of work. Please don't use the information here as the basis of any decision you will make, specially for critical systems. <b>Your mileage <u>will most likely</u> vary</b>.<br /><br />Here's a ZFS pool named <span style="font-family:courier new;">p1</span> whose compression bit is turned on.<br /><pre><br /> root@u20# zfs get compression p1<br /> NAME PROPERTY VALUE SOURCE<br /> p1 compression <b>on</b> local<br /> root@u20#<br /></pre><br />Let's create two filesystems under this pool and name them <b style="font-family: courier new;">u</b> (for uncompressed) and <b style="font-family: courier new;">c</b> (for compressed).<br /><pre><br /> root@u20# zfs create p1/<b>u</b><br /> root@u20# zfs create p1/<b>c</b><br /></pre><br />By default, their compression bits are turned on because they inherit this characteristic from their parent (p1).<br /><pre><br /> root@u20# zfs get compression p1/u p1/c<br /> NAME PROPERTY VALUE SOURCE<br /> p1/c compression <b>on</b> <b>inherited from p1</b><br /> p1/u compression <b>on</b> <b>inherited from p1</b><br /> root@u20#<br /></pre><br />Let's turn off the compression bit for the <span style="font-weight: bold;">u</span> (uncompressed) filesystem.<br /><pre><br /> root@u20# zfs set compression=<b>off</b> p1/<b>u</b><br /></pre><br />Let's verify that it was actually turned off.<br /><pre><br /> root@u20# zfs get compression p1/u p1/c<br /> NAME PROPERTY VALUE SOURCE<br /> p1/<b>c</b> compression on inherited from p1<br /> p1/<b>u</b> compression <b>off</b> local<br /> root@u20#<br /></pre><br />Let's go get some reasonably-sized test file.<br /><pre><br /> root@u20# pwd<br /> /10046/tmp<br /> root@u20# ls -l<br /> total 1589543<br /> -r--r--r-- 1 jforonda staff 2962342454 Sep 11 2004 test_ora_17255_t.trc<br /> root@u20#<br /></pre><br />There... that file is an Oracle extended SQL trace file that is around 2.8G in size.<br /><br />Let's make two copies of this file. First, to the uncompressed filesystem: <br /><pre><br /> root@u20# ptime cp /10046/tmp/test_ora_17255_t.trc /p1/<b>u</b><br /> real <b>1:20.604</b><br /> user 0.002<br /> sys 14.613<br /> root@u20#<br /></pre><br />Then, to the compressed filesystem:<br /><pre><br /> root@u20# ptime cp /10046/tmp/test_ora_17255_t.trc /p1/<b>c</b><br /> real <b>1:20.228</b><br /> user 0.002<br /> sys 12.637<br /> root@u20#<br /></pre><br />Before going further, please note the output of <span style="font-family:Courier,monospace;">ptime</span> for each of the times we copied the files. There's less than one second difference between the two out of an approximate duration of 80 seconds for each copy operation. Also, note that the copy operation to the <i>compressed</i> filesystem was actually <i>faster</i>. Hmm... interesting.<br /><br />Doing an <span style="font-family:Courier,monospace;">ls</span> on the two files will show that they have exactly the same number of bytes.<br /><pre><br /> root@u20# ls -l /p1/[uc]/*<br /> -r--r--r-- 1 root root <span style="font-weight: bold;">2962342454</span> Jan 13 14:23 /p1/<span style="font-weight: bold;">c</span>/test_ora_17255_t.trc<br /> -r--r--r-- 1 root root <span style="font-weight: bold;">2962342454</span> Jan 13 14:21 /p1/<span style="font-weight: bold;">u</span>/test_ora_17255_t.trc<br /> root@u20#<br /></pre><br />And in fact, the Solaris <span style="font-family:Courier,monospace;">digest</span> command tells us that they have exactly the same contents.<br /><pre><br /> root@u20# digest -a md5 -v /p1/[uc]/*<br /> md5 (/p1/<b>c</b>/test_ora_17255_t.trc) = <b>97f86fcfdfc3f21a68ffc1892a945e77</b><br /> md5 (/p1/<b>u</b>/test_ora_17255_t.trc) = <b>97f86fcfdfc3f21a68ffc1892a945e77</b><br /> root@u20#<br /></pre><br />But the amount of space that they occupy on disk is not the same. The file residing in the compressed filesystem is around 1/3 the size of the file that resides in the uncompressed filesystem.<br /><pre><br /> root@u20# du -sh /p1/[uc]/*<br /> <b>776M</b> /p1/<span style="font-weight: bold;">c</span>/test_ora_17255_t.trc<br /> <b>2.8G</b> /p1/<span style="font-weight: bold;">u</span>/test_ora_17255_t.trc<br /> root@u20#<br /></pre><br />A better way to see the compression ratio is to use the <span style="font-family:Courier,monospace;">zfs get</span> command:<br /><pre><br /> root@u20# zfs get compressratio p1/u p1/c<br /> NAME PROPERTY VALUE SOURCE<br /> p1/<b>c</b> compressratio <b>3.64x</b> -<br /> p1/<b>u</b> compressratio <b>1.00x</b> -<br /> root@u20#<br /></pre><br />Applications don't have to know that a file is compressed -- ZFS does the compression and decompression on the fly. Applications should be able to read the files normally like this:<br /><pre><br /> root@u20# tail -5 /p1/<b>u</b>/test_ora_17255_t.trc<br /> END OF STMT<br /> PARSE #21:c=0,e=123,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=740525621053<br /> BINDS #21:<br /> EXEC #21:c=0,e=259,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=740525621393<br /> EXEC #3:c=0,e=3416,p=0,cr=1,cu=3,mis=0,r=1,dep=0,og=4,tim=740525622047<br /> root@u20#<br /> <br /> root@u20# tail -5 /p1/<b>c</b>/test_ora_17255_t.trc<br /> END OF STMT<br /> PARSE #21:c=0,e=123,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=740525621053<br /> BINDS #21:<br /> EXEC #21:c=0,e=259,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=740525621393<br /> EXEC #3:c=0,e=3416,p=0,cr=1,cu=3,mis=0,r=1,dep=0,og=4,tim=740525622047<br /> root@u20#<br /></pre><br />Now, how good is the default ZFS compression compared to something like <span style="font-family:Courier,monospace;">gzip</span>? Let's find out by compressing the file that is in the uncompressed filesystem.<br /><pre><br /> root@u20# ptime gzip /p1/<b>u</b>/test_ora_17255_t.trc<br /> real 1:27.206<br /> user 1:19.614<br /> sys 2.985<br /> root@u20#<br /></pre><br />As expected, gzip is much better.<br /><pre><br /> root@u20# ls -hl /p1/[uc]/*<br /> -r--r--r-- 1 root root <b>2.8G</b> Jan 13 14:23 /p1/c/test_ora_17255_t.trc<br /> -r--r--r-- 1 root root <b>99M</b> Jan 13 14:21 /p1/u/test_ora_17255_t.trc.gz<br /> root@u20#<br /><br /> root@u20# ls -l /p1/[uc]/*<br /> -r--r--r-- 1 root root <b>2962342454</b> Jan 13 14:23 /p1/c/test_ora_17255_t.trc<br /> -r--r--r-- 1 root root <b>104023266</b> Jan 13 14:21 /p1/u/test_ora_17255_t.trc.gz<br /> root@u20#<br /><br /> root@u20# du -sh /p1/[uc]/*<br /> <b>776M</b> /p1/c/test_ora_17255_t.trc<br /> <b>99M</b> /p1/u/test_ora_17255_t.trc.gz<br /> root@u20#<br /></pre><br />The above shows the following:<br /><br />Size of original file: 2.8GB<br />Size of file compressed by ZFS: 776MB<br />Size of file compressed by gzip: 99MB<br /><br />Why is this so? Well, programs like gzip can take their time and optimize for compression ratio in favor of elapsed time. ZFS, on the other hand, is concerned about other things beside compression ratio so it has to strike the right balance between speed and compression ratio. That said, the ZFS man page says:<br /><p style="margin-bottom: 0in;"></p><blockquote><p style="margin-bottom: 0in;">compression=on | off | lzjb</p><br />Controls the compression algorithm used for this dataset. There is currently only one algorithm, "lzjb", though this may change in future releases. </blockquote>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com3tag:blogger.com,1999:blog-29230700.post-18287413650262090802007-01-13T13:18:00.000-05:002007-02-20T11:08:07.532-05:00The day is coming...This is in reference to <a href="http://jforonda.blogspot.com/2007/01/is-day-coming.html">my previous entry titled "Is the day coming..."</a>.<br /><br />Sun's <a href="http://blogs.sun.com/ThinGuy/">ThinGuy </a>says it is coming soon. You can see a demo <a href="http://blogs.sun.com/ThinGuy/entry/coming_soon">here</a>.<br /><br />And yes, it is called win4solaris.jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com2tag:blogger.com,1999:blog-29230700.post-69121476485650278342007-01-11T17:20:00.000-05:002007-01-11T19:10:02.903-05:00Is the day coming...... when you will be able to run Windows on top of Solaris x64, just like you can run Windows on top of Linux using <a href="http://www.vmware.com/">VMWare</a> today? As of today, Solaris is supported only as a <span style="font-style: italic;">guest</span> operating system under VMWare.<br /><br />If Solaris can be a <span style="font-style: italic;">host</span> operating system to another OS, then it is possible to use some of the Solaris features on the hosted OS. For example, today, it is possible to use <a href="http://blogs.sun.com/ahl/entry/dtrace_for_linux">DTrace on a Linux system</a> running on a <a href="http://opensolaris.org/os/community/brandz/">Solaris BrandZ Zone</a>. In a similar fashion, if one can run Windows on top of Solaris, it is then possible for Windows to <span style="font-style: italic;">indirectly</span> take advantage of features such as <a href="http://www.opensolaris.org/os/community/dtrace/">DTrace</a> and <a href="http://jforonda.blogspot.com/2006/06/silent-data-corruption.html">ZFS</a>. And with things like <a href="http://www.opensolaris.org/os/community/zones/faq/#rm-cpu">resource management</a>, it then becomes possible to cap the resources used by that instance of the Windows OS. The thought of being able to do this excites me no end. :)<br /><br />Anyway, I've always wondered what Sun is going to do in this area. A few years ago, we had a product called <a href="http://www.sun.com/desktop/products/sunpci/">SunPCi</a>. This product is a combination of hardware and software. The hardware component was a card that goes into a SPARC box. This card had an AMD processor. With this hardware/software combination, one can then install Windows and some Linux distros on top of Solaris. It was similar to VMWare in so many ways. I used SunPCi a lot and I loved it.<br /><br />When Solaris x86/64 was announced, I thought that Sun would then take the SunPCi software component and make it run on Solaris x64/86. But that has not happened.<br /><br />Then, last October, <a href="http://blogs.sun.com/thinguy/">ThinGuy</a> mentioned that Sun is working with <a href="http://blogs.sun.com/ThinkThin/entry/virtual_desktops">Win4Lin</a>. Today, I see <a href="http://jimcurtin.com/wp/?p=23">this</a>.<br /><br />Hmmm.... win4solaris, anyone?jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-4993579981620894242006-12-20T09:55:00.000-05:002006-12-27T12:14:17.110-05:00Merry Christmas/Season's Greetings - in 38+ dialects/languagesFive years ago, somebody at Sun started an email thread about how the different forms of this season's greetings are said in different languages. This is what we came up with.<br /><br />If you want to add, correct, or translate something, please leave it as a comment and I will update the list.<br /><br /><span style="font-weight: bold;">Updates:</span><br /><ul> <li>Added translation to the French greeting (courtesy of my daughter).<br /></li><li>Corrected/added/translated German (courtesy of <a href="http://blog.oracloid.com/">Alex Gorbachev</a>).</li><li>This post was accepted to <a href="http://www.problogger.net/reviews-and-previews-group-writing-project-reader-submissions/">Darren Rowse's ProBlogger Group Writing Project</a>. This, in turn, generated <a href="http://jforonda.blogspot.com/2006/12/merry-christmashappy-holidays-in-38.html#links">several links to this post</a>, and I'm happy to see that it made it to <a href="http://infomaniaworld.com/modules/wordpress/archives/277">someone's favorite picks</a>.<br /></li><li>Added/corrected Russian (courtesy of Alex Gorbachev).</li><li>Added Oracle (courtesy of Alex Gorbachev).</li> <li>I'm submitting this post to <a href="http://www.problogger.net/reviews-and-previews-group-writing-project-reader-submissions/">Darren Rowse's ProBlogger Group Writing Project</a>.<br /></li> <li>Changed all references to 2002 to 2007. I purposely didn't do this initially because I was not sure if some of the non-translated greetings mentioned the year in words, as in: two thousand and two instead of 2002. If somebody wrote "two thousand two" in Mandarin, I wouldn't catch it. :)</li> <li>Added Russian and Latvian (courtesy of Edgar).<br /></li> </ul><br />So with that, here's a Merry Christmas / Happy Holidays / Season's Greetings to you!<br /><br /><br /><br /><ol> <li>Chinese<br />koan hay fat choi (wishing you prosperity in the new year)<br /><br /></li> <li>French<br />à tous et toutes, UN TRES JOYEUX NOEL ET UNE BONNE ANNEE 2007! (To all, A VERY MERRY CHRISTMAS AND A HAPPY NEW YEAR 2007!)<br /><br /></li> <li>English<br />Merry Christmas and a prosperous 2007<br /><br /></li> <li>Italian<br />Buon anno, Happy New Year<br /><br /></li> <li>Tagalog (Philippines - national language)<br />Maligayang Pasko at Manigong Bagong Taon (Merry Christmas and a Prosperous New Year)<br /><br /></li> <li>Ilocano (a dialect in northern Philippines)<br />Naimbag a Paskua ken Naragsak a Baro a Tawen (Merry Christmas and a Happy New Year)<br /><br /></li> <li>Dutch<br />Iedereen een gelukkig kerstfeest en een goed oud en nieuwjaar toegewenst.<br />- Wishing all of you a Merry Christmas and a happy Old and New Year.<br /><br /></li> <li>Persian 1<br />etoon mobarak bashe, baba in che va'zesheh to ham maro film kardi<br /><br /></li> <li>Spanish<br />Feliz Navidad<br /><br /></li> <li>Bulgarian<br />Vessela Koleda & Chestita Nova Godina 2007<br /><br /></li> <li>Russian<br />S Rozhdestvom (Merry Christmas)<br />S Novym 2007 Godom ( Happy new year 2007)<br />S Novym Dve Tysyachi Sed'mym Godom. ("d'" means soft d)<br /><br /></li> <li>Latvian<br />Priecigus ziemassvetkus (Merry Christmas)<br />Laimigu jauno 2007. gadu (Happy new year 2007)<br /><br /><br /></li> <li>Bengali<br />'Shubho Naboborsho' (Happy New Year in Bangla)<br /><br /></li> <li>Portuguese<br />Feliz Natal e Próspero Ano Nôvo!<br /><br /></li> <li>Urdu<br />Aap Sabko Naya Saal Mubarak ho<br /><br /></li> <li>Persian 2<br />Azizan; eideh shoma mobark- dombeh shomah secharak.<br /><br /></li> <li>Hebrew<br />Hag sameah (Happy Holiday)<br />Shana tova ve-metuka (sweet and happy year)<br /><br /></li> <li>Indonesian<br />Selamat hari natal dan tahun baru 2007!<br /><br /></li> <li>Lebanese<br />Milad Majid wa Aam Saeid! (Merry Christmas and Happy New Year)<br /><br /></li> <li>Yiddish<br />A Git Yoor - (Happy New Year in Yiddish (Oy, we don't have Christmas))<br /><br /></li> <li>Hindi<br />"Naye Saal kee Hardik Shubhkamnayen" (Heartfelt Best wishes to all for the New year)<br /><br /></li> <li>Danish<br />Glædelig jul og godt nytår (Merry Christmas and Happy New Year!)<br /><br /></li> <li>Albanian<br />Gezuar Krishtlindjet! Gezuar Vitin e Ri 2007!<br /><br /></li> <li>Tamil Version 2.62<br />pudhu aandu valthukkal 2007<br /><br /></li> <li>Marathi<br />Navin Warsha sarwanna Sukhache wa Samruddhiche jaavo (Wish you all Happy and Prosperous New Year)<br /><br /></li> <li>German<br />Schöne Weinachten und Gutes Neues Jahr! (Literal: "Nice Christmas and Good New Year" but you would say "Merry Christmas and Happy New Year.")<br />Ein Fröhliches Weihnachtsfest und einen glücklichen Rutsch ins Neue Jahr! ( Means something like: "Happy Christmas festival and successful journey in the new year.")<br /><br /></li> <li>Turkish<br />Yeni Yiliniz kutlu olsun (have a happy new year)<br /><br /></li> <li>Bosnian, Croatian and Serbian<br />SRETAN BOZIC AND NOVA GODINA (Happy Christmas and New Year)<br /><br /></li> <li>Greek, phonetic<br />Kala Hristuyenna ke eftihismeno to neo etos!<br /><br /></li> <li>Romanian<br />Craciun bun si an nou fericit!<br /><br /></li> <li>Vietnamese<br />Chuc Mung Nam Moi (Happy New Year)<br /><br /></li> <li>Gaelic (Irish)<br />Nollaig chridheil agus Bliadhna mhath ùr! or Beannachtaí an tSéasúir (Greetings of the Season)<br /><br /></li> <li>Zulu<br />Sinifesela Ukhisimusi Omuhle Nonyaka Omusha Onempumelelo (Merry Christmas and a Happy New Year)<br /><br /></li> <li>Slovak<br />Vesle Vainoce a Stastlivi Novy Rok! (Merry Christmas and Happy New Year!)<br /><br /></li> <li>Kokani (India)<br />Tumka saglyak natalachi aani aanandache nave varsh zav.<br /><br /></li> <li>Swahili<br />Kuwa na Krismasi njema (Merry Christmas)<br /><br /></li> <li>Lugandi (Uganda)<br />Amazalibwa Agesanyu or Nkwagaliza Sekukulu Omulunji<br /><br /></li> <li>Ukranian<br />Z Novym Rokom ta Rizdtvom Hrystovym!<br /><br /></li> <li>Ukranian 2<br />Chrystos Rodihvsya ee Shchaslihvoho Novoho Roku (Christ is Born - have a Happy and Prosperous New Year)</li> </ol><br /><br />Some folks added these funny ones:<br /><br /><ol> <li>Binary<br />0100100001100001011100000111<br /><br /></li> <li>C<br />printf("%s %s %s.\n", "Jesus", "is the Reason", "For the Season");<br /><br /></li><li>Oracle<br />SELECT 'Happy New Year ' || TO_CHAR(ADD_MONTHS(SYSDATE,12),'YYYY') FROM DUAL;<br /><br /></li> <li>Klingon <span class="moz-smiley-s3"><span> ;-)<br /></span></span> Cho chey kr'uug my-uk pogn'r<br /><br /></li> <li>The Dyslexic Canadian<br />!samtsirhC yrreM<br /><br /></li> <li>Pig Latin<br />Appyhay Ewnay Earyay<br /><br /></li> <li>Elven<br />valin winya atendea (Tribute to Lord of the Rings)</li> </ol>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com10tag:blogger.com,1999:blog-29230700.post-6167236841876463982006-12-14T10:09:00.000-05:002006-12-14T10:19:36.783-05:00T2000 - eBay's Database Platform of Choice for 2007<p>I've always loved it when a quote comes directly from a customer. Here's a recent one that describes the T2000 as <span style="font-style: italic;">scary</span> fast :)<br /></p><div class="quote"> <b></b><blockquote><b><blockquote></blockquote>“</b> Niagaras run much cooler than our previous servers, plus they are scary fast. They’ve cut our total cost of operations [TCO] through lower acquisition and management costs. The Sun Fire T2000 will be our database platform of choice in 2007. <b>”</b></blockquote><b></b> </div> <div style="text-align: right;" class="small"> — Heather Peck, Infrastructure Manager, eBay Inc. </div><br />eBay mainly uses Oracle.<br /><br />You can read about it <a href="http://www.sun.com/customers/servers/ebay.xml">here</a>.jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com1tag:blogger.com,1999:blog-29230700.post-6044301011965921402006-12-09T07:48:00.000-05:002006-12-09T20:59:15.251-05:00Why stop there?Today, <a href="http://www.theregister.co.uk/2006/12/09/cool_server_bill/">this article</a> from The Register caught my attention:<br /><br /><a href="http://www.theregister.co.uk/2006/12/09/cool_server_bill/"><span style="font-weight: bold;">US politicos demand cool servers</span></a><br /><blockquote>US politicians have joined the great call for energy-friendly data centers, as the Senate this week approved a bill that promotes low-power server technology. <p>Senators unanimously pushed through the legislation that asks the Environmental Protection Agency (EPA) to study the energy consumption of data centers. The EPA has been instructed to bone up on items such as low-power chips, power supplies and energy distribution. It will also consider how incentives could be used to promote power-efficient data centers in the government and private sectors.<br /></p> </blockquote> <p>Energy efficient computing is becoming more and more of a topic these days. I'm glad to see that politicians are finally putting in place legislation to promote green/cool computing.<br /></p> <p>Even utility companies have started to offer incentives to promote green/cool computing. A few months ago, PG&E teamed up with Sun to offer up to US$1,000 rebate for servers:<br /></p><a href="http://www.sun.com/smi/Press/sunflash/2006-08/sunflash.20060815.2.xml"><span style="font-weight: bold;">Sun Teams with PG&E On First Ever Rebate For Servers, Up To $1000 In Savings</span></a><p></p><p></p><blockquote><p>Sun Microsystems (NASDAQ: SUNW) today announced that Pacific Gas and Electric Company (PG&E), one of the largest natural gas and electric utilities in the United States serving 350,000 California businesses, is offering significant rebates as part of a new energy incentive program for computer servers. The CoolThreads technology Sun Fire T1000 and T2000 servers -- which are three to five times more energy efficient than competing systems and take up less space(1)-- were the only servers to qualify for the rebate program. As part of PG&E’s Non Residential Retrofit program, customers replacing existing equipment with these eco-responsible servers can receive a cash savings between $700-$1000 per server or up to 35 percent when combined with the Sun Upgrade Advantage Program(2). This is the first-ever incentive rebate offered by a public utility company for servers.</p></blockquote>Very nice and cool. I think its definitely a step in the right direction.<br /><br />But why stop there? Right now, the focus is on servers. But there are also <span style="font-weight: bold;">millions</span> (billions?) of power-hungry <span style="font-weight: bold;">desktops</span> that are out there. How much power does an average desktop, without the monitor, consume? 200 watts? More? At Sun, our <a href="http://www.sun.com/sunray/sunray2/index.xml">standard "desktop" hardware</a> consumes as low as 4 watts. Yes, as low as <span style="font-weight: bold;">four watts</span>.<br /><br />We used to call the Sun Ray an ultra-thin client to differentiate it from other thin client solutions. Other terms such as <span style="font-style: italic;">Display Over IP</span> (DOIP) were also used to describe the technology but some of us sometimes replaced the meaning of D to Desktop so that DOIP would mean <span style="font-style: italic;">Desktop Over IP</span>. Because that's what it really is -- our entire desktops are being delivered to us over the network. Then, just recently, "ultra-thin client" has been replaced with <span style="font-style: italic;">Virtual Display Client</span>.<br /><br />I'll be blogging more about this soon. In the meantime, you can look it up <a href="http://www.sun.com/sunray/sunray2/index.xml">here</a>.jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-1077766613903911562006-12-08T18:40:00.000-05:002006-12-08T19:24:43.491-05:00Scaling out?Kevin Closson has a couple of interesting posts about Sun gear and Oracle <a href="http://kevinclosson.wordpress.com/2006/11/30/marketing-efforts-prove-sunfire-t2000-is-not-fit-for-oracle/">here</a> and <a href="http://kevinclosson.wordpress.com/2006/12/08/oracle-performance-on-suns-rock-processors-and-oracle-scalability/">here</a>.<br /><br />In the <a href="http://kevinclosson.wordpress.com/2006/12/08/oracle-performance-on-suns-rock-processors-and-oracle-scalability/">second post</a>, he says:<br /><blockquote><blockquote></blockquote>But even for the “heavy” databases, it wont be long until they too only require some of the cores that a single socket offers.<br />...<br />OK, remind me again who actually needs to “scale-out” a database to multiple servers?</blockquote>Very good point. Very good question.<br /><br />I personally believe that a lot of the companies who use Oracle RAC today don't need it.<br /><br />As to when "heavy" databases will need only <span style="font-style: italic;">some cores</span> that a single socket offers, I'm already seeing this situation today. While a lot of people talk about scaling out - and some companies are <span style="font-style: italic;">actually</span> scaling out - I also see companies that are <span style="font-style: italic;">consolidating</span> their databases on more powerful machines. Right now, I'm working on a project for one of the big telcos in North America. You would think that these guys would be scaling out like crazy. On the contrary, they are consolidating all sorts of things, including big databases, on more powerful machines.jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-1565234515080253332006-12-03T20:01:00.000-05:002006-12-03T20:34:35.451-05:00Done with setup mode<p>I've finally moved all my posts from my old blog to here. I could not find a blogspot feature to easily import the data from a Wordpress blog. I did not look that hard since I only had a few posts so I just did the move manually.</p>I am aware that each of the posts that I moved over resulted in a feed to those who subscribed via aggregators so my apologies to you if I flooded your aggregators the past couple of days. The worst should be over now. :)<br /><p>Just to let you know, I’m planning to post a little bit more frequently soon. But since I do all this <span style="font-style: italic;">outside of Sun</span> activities during my personal time, please bear with me as I try to get into a rythm amidst all the work I’m doing in my day job -- a rythm that will still allow me to keep a balance in my personal life.</p>As of now, I plan to blog mostly about Sun technologies and databases. I’ve also been taking a deeper look at the Oracle Extended SQL Trace file (event 10046, level 8+) and I might blog about that as well. So please stay tuned.<br /><br />And lastly, please note that I've added a blog subscription by email. I am aware that a lot of people still prefer email and if you are one of them, the email subscription is for you. :)jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-17368391896101561172006-11-30T21:13:00.000-05:002006-12-01T18:18:44.329-05:00NewsGator: Why?I was playing around with different <a href="http://jforonda.blogspot.com/2006/07/things-i-take-for-granted-syndication.html">news readers/aggregators</a> when I remembered that I have an existing <a href="http://www.newsgator.com/">NewsGator</a> account that I set up a while back. So I went to the NewsGator site and tried to login but I forgot my password. Like most sites, NewsGator has a "Forgot your password?" link. Using that function sent me this email:<br /><blockquote><br /><table class="messageheader" border="0" cellpadding="0" cellspacing="0"> <tbody><tr><td class="label" nowrap="nowrap">From:</td><td>support@newsgator.com</td></tr> <tr><td class="label" nowrap="nowrap">To:</td><td><snip>[My Email Address here]</snip><span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"></span></td></tr> <tr><td class="label" nowrap="nowrap">Subject:</td><td> NewsGator Online credentials</td></tr> <tr><td class="label" nowrap="nowrap">Date:</td><td> Thu, 30 Nov 2006 19:04:09 -0700</td></tr> </tbody> </table> <!-- type = text --> <pre><tt><!-- -->As you requested online, we are sending your NewsGator<br />Online credentials to you. They are as follows:<br /><br />Username: [My Username was here]<br />Password: [<span style="color: rgb(255, 0, 0);">My <span style="font-weight: bold;">unencrypted</span> password was here</span>]<br /><br />Customer Support<br />NewsGator Technologies</tt><span style="font-family:georgia,serif;"><br /></span></pre></blockquote>Huh?<br /><br />If this was a <span style="font-style: italic;">password reset</span> or <span style="font-style: italic;">new account creation</span>, that would have been acceptable -- as long as I am then required to change it the next time I log on. But what they sent me is a password that I created months ago.<br /><br />This could only mean that in NewsGator's servers, my password is <span style="font-weight: bold;">stored</span> either in unencrypted format, or if it is encrypted, it is reversible. I know that a lot of smaller sites do this... but NewsGator? What happened to one-way encryption?<br /><br />Comments? Good, bad, tolerable, unacceptable?jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-57707302554023632232006-11-30T09:39:00.000-05:002006-12-01T21:35:29.635-05:00Still in setup modeAs of yesterday, my main blog was still at <a href="http://jforonda.vintarinian.com/">http://jforonda.vintarinian.com</a>. However, I was trying to revive this blog account because I was planning to move back here (long story that I will explain later). I was playing around with <a href="http://www.feedburner.com/">feedburner</a> for my feed and to my surprise this morning, there are already people subscribed! Well... thanks! :)<br /><br />So to you who have subscribed, please bear with me as I move my posts over. Because of you who subscribed, I am now making this the main blog as of today.<br /><br />The http://jforonda.vintarinian.com blog will be decommissioned before December 15, 2006.jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-75752729320461436362006-09-26T11:52:00.000-05:002006-12-02T18:40:05.220-05:00TOUG folks meet Solaris 10 :)<p>I am very happy that even if we (Sun) were not able to make a formal presentation at the Toronto Oracle Users group yesterday, there were a lot of people who stopped by our booth. The number of people, the kinds of questions asked, the comments given, and the lenghts of conversations we had -- all of these gives me a very good feeling about how Sun and Solaris are being viewed these days.</p><p>So... as promised, here are the initial notes and links to the major points we talked about yesterday, together with some brief comments:</p><ul><li><a href="http://www.opensolaris.org/os/">Solaris is Open source</a>. FAQ for the CDDL license is <a href="http://www.opensolaris.org/os/about/faq/licensing_faq/">here</a>.<br /><br /></li><li>While it is true that Solaris traditionally ran on SPARC, it also now runs on x86 (32-bit) and x64 (64-bit) platforms. The SPARC and x86/64 versions are built from a <strong>single source tree</strong>.<br /><br /></li><li>Sun sells <a href="http://www.sun.com/servers/index.jsp?gr0=arch&#038;fl0=arch1&gr1=">SPARC</a> as well as <a href="http://www.sun.com/servers/index.jsp?gr0=arch&amp;amp;#038;fl0=arch4&gr1=">Opteron</a> based hardware and of course, these are all certified against Solaris. <em>However</em>, it is not correct to think that you have to get the hardware from Sun in order to run Solaris. Solaris x86/64 runs on a lot of existing hardware; I've been running it on my Toshiba Tecra M2 laptop for more than a year without any problems. Here's the <a href="http://www.sun.com/bigadmin/hcl/">Hardware Compatibility List</a>. Another way to see if your hardware can run Solaris 10 is to test it using the <a href="http://www.sun.com/bigadmin/hcl/hcts/install_check.html">Solaris x86 Installation Check Tool</a>.<br /><br /></li><li>The DVDs that we gave away yesterday contain Solaris 10 Update 1 (S10U1). S10U1 includes Zones but <strong>not</strong> ZFS. The latest supported release of Solaris 10 is Update 2 (S10U2) and it includes ZFS. You can download S10U2 <a href="http://www.sun.com/software/solaris/get.jsp">here</a>. Solaris license is free. Support pricing <a href="http://www.sun.com/software/solaris/get_support.jsp">starts at $120/yr</a>.<br /><br /></li><li>Non-RAC Oracle database is certified on Solaris Zones. There's a note on Metalink about this (I'll put the link later). RAC is not certified with Zones but RAC <strong>is</strong> certified to run from the global Zone.<br /><br /></li><li>Solaris Zones home page is <a href="http://www.opensolaris.org/os/community/zones/">here</a> and the Zones FAQ is <a href="http://www.opensolaris.org/os/community/zones/faq/">here</a>. The Apache Software Foundation <a href="http://www.apache.org/dev/solaris-zones.html">uses Solaris Zones</a>.<br /><br /></li><li>Solaris ZFS home page is <a href="http://www.opensolaris.org/os/community/zfs/">here</a>. I also have a couple of ZFS posts <a href="http://jforonda.blogspot.com/2006/06/silent-data-corruption.html">here</a> and <a href="http://jforonda.blogspot.com/2006/08/zfs-another-way-to-recover-from-screw.html">here</a>.<br /><br /></li><li>DTrace home page is <a href="http://www.opensolaris.org/os/community/dtrace/">here</a>. DTrace has been <a href="http://blogs.sun.com/bmc/date/20060807">ported to Mac OS X</a> and there are talks that Apple is also <a href="http://www.osnews.com/story.php?news_id=14473">considering ZFS for OS X</a>.<br /><br /></li><li>Oracle's preferred OS for 64-bit development and deployment environment is Solaris. Here's the <a href="http://www.oracle.com/corporate/press/2005_nov/solaris10.html">press release from Oracle's web site</a>.</li></ul><p>I think that's it for high-level notes and links. Now, quite a number of you also asked if I could post some tutorial type of examples on what we talked about yesterday. I will be doing that as soon as my schedule permits. So please check this blog often. Better yet, please <a href="http://jforonda.blogspot.com/2006/07/things-i-take-for-granted-syndication.html">subscribe</a>.</p><p>That was a great day yesterday. Thanks for dropping by and I hope that at the very least, you now see why a lot of people say that Solaris 10 rocks! :)</p>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-28329849651391630912006-09-20T12:02:00.000-05:002006-12-01T18:27:41.086-05:00Sept 25 - Free format Solaris/Oracle demo at Toronto Oracle Users Group<p>I was asked to man Sun's booth at the <a href="http://www.toug.org/">Toronto Oracle Users Group's</a> <a href="http://www.toug.org/?q=node/12">Oracle Day 2006</a> this coming Monday, Sept 25. If you happen to be attending this event, drop by the Sun booth and see how you can use Solaris 10 features with Oracle.</p><br /><p>I don't have any canned presentation. This will be free-format -- just come by and ask your questions and we will answer what we can.</p><br /><p>See you there.</p>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-25613046997028061112006-08-31T22:29:00.000-05:002006-12-02T18:35:30.977-05:00ZFS - Another way to recover from a screw up... :)<p>Doug Burns wrote in his <a href="http://oracledoug.com/serendipity/">blog </a>how he <a href="http://oracledoug.com/serendipity/index.php?/archives/1072-If-youre-gonna-screw-up-....html">accidentally messed up some of his Oracle database development environments</a>. Doug, I remember that a little while back, we had a short chat over at <a href="http://www.pythian.com/blogs/212/zfs-vm-for-storage">Christo Kutrovsky's follow-up blog entry</a> to <a href="http://jforonda.blogspot.com/2006/06/silent-data-corruption.html">my ZFS post</a>.</p><br /><p>If you've had the chance to install Solaris 10 update 2 (6/06 release), it would be a good time to try ZFS, specially on development environments. ZFS has a snapshot feature and this is one of the ZFS features that I really love.</p><br /><p>For example, I use this to create snapshots of entire filesystems. In your case, if there was a snapshot of /ora/data2, recovering the data from the snapshot would have been very f-a-s-t (most likely seconds). I routinely do this with my development environments.</p><br /><p>I also use ZFS snapshots in place of the OS-level copy command when doing Oracle hot backups. When done this way, hot backups can be completed in seconds no matter how big the datafiles are.</p><br /><p>Another place where I use ZFS snapshots is when I upgrade Oracle or any other software that is mounted under ZFS. If something does not work as I expect, a zfs rollback will quickly (again, seconds) bring order to a messy situation. :)</p><br /><p>But my favorite use of ZFS snapshots is to snapshot entire Solaris 10 zones. Sometimes, these zones host Oracle databases. If something gets messed up, I simply issue a zfs rollback command and the entire zone goes back to its state when the snapshot was taken. Very fast and very neat. :)</p><br /><p>I've been meaning to make a more detailed post about this for a while now, complete with examples for Oracle. Maybe now is a good time for me to do that. I hope I can make time to write something soon.</p>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-70497312678602138592006-08-16T18:10:00.000-05:002006-12-01T18:35:48.370-05:002 suggestions for Boston<p>My family and I were just in Boston for the first time as part of our summer vacation.</p><br /><p>Boston is a beatiful city. Of course, different people have different tastes, but to me, Boston is easily one of the most beatiful American cities I've seen. Great architecture, people, and of course, food!</p><br /><p>I love to walk and I take public trasportation when I can because doing so gives me the opportunity to have a closer interaction with the people. 'Up close and personal' is what others would say. :) So I was happy when I learned that Boston has a good subway system and that it is a city that encourages walking. They have walking tours and they also have 'Walking Boston' maps and guides.</p><br /><p>We all had a great time but taking Boston's subway system and walking its city tours made me think that even great cities like Boston can make small changes that can make the experience even better. So here are my two small suggestions for Boston:</p><br /><p>1. Please stop selling those automated subway tickets specially to tourists. Why? Because not all the subway stations have machines to process those tickets. Before we bought our subway tickets, I spoke with a subway employee and he advised us to get the automated tickets. I asked if that kind of ticket would be honored in all stations and he said yes. But he was wrong; there are several stations that don't have machines to process those tickets. We were forced to buy additional tokens at one station even if our tickets were not yet completely used up because the attendant simply refused to let us through. He said something like: "We are aware that it is a problem but we were told that we are not supposed to let people with automated tickets through". Huh?? Fortunately, attendants at other stations were willing to "bend the rules" and they let us through.</p><br /><p>So, Boston... at the very least, please put big signs on automated ticket dispensers saying that the automated tickets won't work everywhere. And if there are readers who are planning to take the subway to go around Boston, I think it is a lot better to just buy the subway tokens instead of the automated tickets.</p><br /><p>2. I'm not sure how much Boston embraces recycling but if they do embrace it, I think they should put more recycling bins specially along the walking trails and subway stations. Majority of people who love to walk will be carrying some form of drink with them. I held on to my empty water bottle for around one hour hoping that I will see a recycling bin. I did not see one and when I finally made the decision to toss it to a garbage bin, I noticed that the garbage bin had a lot of empty plastic bottles in it. Now, I'm not saying that there were no recycling bins at all. I'm just saying that if there were, I did not see them despite the fact that I was consciously looking for them.</p><br /><p>That said, I have to say again that Boston is a very beatiful city. There are other parts of the city that I want to see that's why I'm looking forward to my business trip there in a couple of weeks.</p>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-80603865317204392332006-08-04T00:43:00.000-05:002006-12-01T20:49:41.186-05:00A tough day @ Sun<p>Today was a very tough day at Sun. Once more, I see some friends affected by the <a target="_blank" href="http://blogs.sun.com/roller/page/jonathan/20060531">announced reduction in force</a> of up to 5,000 employees worldwide.</p><p>To my colleagues who have lost their jobs, hats off to you. Please take care of yourselves and keep in touch.</p><p>It's not clear if it is all over. Anything can still happen.</p><p>And with this, I unplug myself from this blog for a couple of weeks of vacation.</p>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-44288015972152284542006-07-31T14:13:00.000-05:002006-12-01T20:54:40.647-05:00If my blog looked funny over the weekend...<p>... it was because I messed up something while playing around with some WordPress themes. It looked fine from my computer but then a reader using MS Internet Explorer informed me that my pages didn't look like they used to.</p><p>My main workstation is running Solaris. I guess that's what I get for not using MS Internet Explorer.</p><p>Sorry about that. I'll be more careful next time.</p>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-62858340085207633602006-07-28T09:49:00.000-05:002006-12-01T20:59:58.299-05:00I hope they can make this work<p>This <a target="_blank" href="http://www.wired.com/news/technology/0,71460-0.html?tw=rss.index">Wired article</a> just caught my attention.</p><p><a target="_blank" href="http://www.wired.com/news/technology/0,71460-0.html?tw=rss.index"><strong>Powering Up, One Step at a Time</strong></a></p><p>Excerpts:</p><blockquote><p>British engineers are converting street vibrations into electricity and predict a working prototype by Christmas capable of powering facility lights in the busiest areas of a city.</p><p>"We can harvest between 5 to 7 watts of energy per footstep that is currently being wasted into the ground," says Claire Price, director of The Facility Architects, the British firm heading up the Pacesetters Project. "And a passing train can generate very useful energy to run signaling or to power lights."<br />...</p><p>Gilbert is working with hydraulic-powered heel-strike generators, which he believes could be installed in the floors of busy public places like subway stations. Those stations typically capture the footfall of 20,000 commuters an hour during peak usage -- multiplied by 5 to 7 watts a person, that's more than enough to power a building's lights for the day.</p><p>...</p><p>The prototypes are scheduled for assembly by December 2006.</p></blockquote><p>I think it's a cool idea. I hope they can make it work.</p>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0tag:blogger.com,1999:blog-29230700.post-72894140832964232632006-07-26T23:39:00.000-05:002006-12-01T21:23:02.529-05:00India rejects 'One Laptop per Child'<p>The Times of India has <a target="_blank" href="http://timesofindia.indiatimes.com/articleshow/msid-1698603,curpg-1.cms">reported</a> that India's Ministry of Human Resource Development has rejected the idea of <a target="_blank" href="http://www.laptop.org/index.en_US.html">One Laptop per Child</a>.</p><p>Excerpt:</p><blockquote><p></p><p>The HRD ministry has rejected the idea of 'one-laptop-per-child' (OLPC) being aggressively marketed by Nicholas Negroponte of MIT Media Laboratory. "India must not allow itself to be used for experimentation with children in this area," the ministry has said.</p><p>The ministry's detailed objection based on technical, social and financial grounds was sent to the Planning Commission two weeks ago.</p></blockquote><p></p>It is not clear what the technical objections are; there was nothing mentioned in the article. As for me, I have my own personal reservations about OLPC's approach. At this time, I am not convinced that they are headed in the right direction. Why? Here's something from <a target="_blank" href="http://www.laptop.org/faq.en_US.html">OLPC's FAQ page</a>:<br /><p><strong></strong></p><blockquote><p><strong>What is the $100 Laptop, really?</strong></p><p>The proposed $100 machine will be a Linux-based, with a dual-mode display—both a full-color, transmissive DVD mode, and a second display option that is black and white reflective and sunlight-readable at 3× the resolution. The laptop will have a 500MHz processor and 128MB of DRAM, with 500MB of Flash memory; it will not have a hard disk, but it will have four USB ports. The laptops will have wireless broadband that, among other things, allows them to work as a mesh network; each laptop will be able to talk to its nearest neighbors, creating an ad hoc, local area network. The laptops will use innovative power (including wind-up) and will be able to do most everything except store huge amounts of data.</p></blockquote>Here's my concern: considering that the target users are young children (6-12 year olds, if I'm not mistaken), how wise is it to make a machine that is run by a full-blown operating system? Do we expect these kids to "play system administrators" on their laptops? Do we expect them to know how to patch their systems when there are security vulnerabilities in the operating system or application programs? Or are they planning to have professional system administrators push the updates to these laptops? Is that really going to succeed?<br /><p><br />I am not picking on Linux just because I am a Sun employee. I will still have the same reservations even if they use Solaris as the operating system. The fact is all operating systems will have their own vulnerabilities even if these operating systems are stripped down of unnecessary services. And when these vulnerabilities are discovered, they have to be dealt with. Besides, no matter what operating system is used, there are still application programs that will also have their own vulnerabilities.</p><p><br />OLPC is talking about deploying <strong>millions</strong> of these laptops. Wouldn't it be better if they are engineered in such a way that the end users will no longer have to worry about securing their individual laptops?</p><p><br />I think it makes sense to study the viability of a thin client model -- a device that has no operating system to begin with. That way, there is nothing to maintain on the laptop itself.</p>jforondahttp://www.blogger.com/profile/17229528787660811259noreply@blogger.com0