<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5821401</id><updated>2024-10-04T05:16:42.053+08:00</updated><title type='text'>Geng Mao&#39;s Blog</title><subtitle type='html'>some random thoughts</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5821401.post-1779264552672458638</id><published>2009-07-13T00:33:00.002+08:00</published><updated>2009-07-13T00:44:33.567+08:00</updated><title type='text'>GAppProxy + AutoProxy</title><content type='html'>实在是受不了GFW，利用AppEngine帐号setup了一个&lt;a href=&quot;http://code.google.com/p/gappproxy&quot;&gt;GAppProxy&lt;/a&gt;。&lt;br /&gt;很简单。再配合&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/11009&quot;&gt;AutoProxy&lt;/a&gt;，可以自由访问blogger，facebook了。&lt;br /&gt;唯一的困难是https还有问题，不能正常使用twitter。&lt;br /&gt;有人已经有些&lt;a href=&quot;http://blog.solrex.cn/articles/fix-gappproxy-set-cookie-and-https-cert-bugs.html&quot;&gt;思路&lt;/a&gt;。期待能够解决</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/1779264552672458638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/1779264552672458638' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/1779264552672458638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/1779264552672458638'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2009/07/gappproxy-autoproxy.html' title='GAppProxy + AutoProxy'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-8229063586103547029</id><published>2009-04-19T00:05:00.003+08:00</published><updated>2009-04-19T00:28:18.029+08:00</updated><title type='text'>two bad things for database server on linux</title><content type='html'>Today saw a &lt;a href=&quot;http://www.pythian.com/news/1913/what-exactly-is-swappiness&quot;&gt;post&lt;/a&gt; about swappiness in pythian. It recalls my memory of tuning oracle on linux. &lt;br /&gt;Linux is great, but not all things on linux are optimal for database. There are two bad things. One is swappiness, another one is file cache. If you run oracle on linux default, you may find the file system cache often grabs huge memory and system is busy in paging out oracle processes. It&#39;s too bad. &lt;br /&gt;The solution is 1) setting swappiness to zero, it tells linux to release file cache instead of swapping processes to disk when memory is tight 2) use DIRECT_IO (no file system caching in db2), it bypass file cache so not suffers double-buffering.</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/8229063586103547029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/8229063586103547029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/8229063586103547029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/8229063586103547029'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2009/04/two-bad-things-for-database-server-on.html' title='two bad things for database server on linux'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-7898217558425442850</id><published>2008-11-06T00:29:00.008+08:00</published><updated>2008-11-06T01:07:35.706+08:00</updated><title type='text'>32位系统上如何让Oracle数据库使用超过2G内存</title><content type='html'>今天一个朋友问到这个问题，记录一下。&lt;br /&gt;&lt;br /&gt;32位系统都有个地址空间的问题，它限制了可以使用的Oracle SGA大小。&lt;br /&gt;&lt;br /&gt;32位Windows有两个boot设置:/3G允许进程使用3GB的用户地址空间;&lt;a href=&quot;http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx&quot;&gt;/PAE&lt;/a&gt;允许进程使用超过4GB的内存。&lt;br /&gt;修改boot.ini如下，然后重启系统。&lt;br /&gt;[boot loader]&lt;br /&gt;timeout=30&lt;br /&gt;default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS&lt;br /&gt;[operating systems]&lt;br /&gt;multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=&quot;Windows Server 2003, Enterprise&quot; /fastdetect &lt;span style=&quot;font-weight: bold;&quot;&gt;/3G /PAE&lt;/span&gt;&lt;br /&gt;如果启用/3G，可以设置Oracle SGA大小到接近3GB；如果启用/PAE，再设置use_indirect_data_buffer=TRUE和db_block_buffers，data buffer大小不受4GB限制，可以很大。&lt;br /&gt;&lt;br /&gt;而32位Linux下增大SGA limits需要relink；设置ramfs和use_indirect_data_buffer可以支持很大的data buffer。</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/7898217558425442850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/7898217558425442850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/7898217558425442850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/7898217558425442850'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2008/11/32oracle2g.html' title='32位系统上如何让Oracle数据库使用超过2G内存'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-4371681075181213656</id><published>2008-09-02T17:29:00.000+08:00</published><updated>2008-09-02T17:29:09.841+08:00</updated><title type='text'>Get out of ORA-28002: the password will expire within n days</title><content type='html'>Today, a colleage meet this ORA-28002 when starting Content Server. It&#39;s a bit annoying. &lt;br /&gt;So try to find the way to get out of this error.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://arjudba.blogspot.com/2008/07/solution-of-ora-28002-password-will.html&quot;&gt;This post&lt;/a&gt; does great to explain the problem. While even followed its solution B, the ORA-28002 remains there. &lt;br /&gt;Then from Metalink note 162818.1, &quot;ORA-28002 On User Connection Immediately After PASSWORD_LIFE_TIME Changed&quot;, it is known that &quot;Accounts that have entered their grace &lt;br /&gt;period will have to change their passwords.&quot;, even though the PASSWORD_LIFE_TIME is set back to unlimited.&lt;br /&gt;Final workaround is altering user&#39;s password to the previous one. It doesn&#39;t change password, but bypass the annoying password life management.&lt;br /&gt;&lt;br /&gt;Steps to record:&lt;br /&gt;1. check out the password limits set to the user.&lt;br /&gt;SQL&gt; select LIMIT, RESOURCE_NAME from dba_profiles where RESOURCE_NAME in &#39;PASSWORD_GRACE_TIME&#39;,&#39;PASSWORD_LIFE_TIME&#39;,&#39;PASSWORD_REUSE_MAX&#39;,&#39;PASSWORD_REUSE_TIME&#39;) and PROFILE=(select profile from dba_users where username=&lt;user_name&gt;);&lt;br /&gt;&lt;br /&gt;2. check out the profile of the user.&lt;br /&gt;SQL&gt; select profile from dba_users where username=&lt;user_name&gt;;&lt;br /&gt;&lt;br /&gt;3. alter the profile, set the limits to unlimited.&lt;br /&gt;SQL&gt; alter profile &lt;profile_name&gt; limit PASSWORD_LIFE_TIME UNLIMITED;&lt;br /&gt;SQL&gt; alter profile &lt;profile_name&gt; limit PASSWORD_GRACE_TIME UNLIMITED;&lt;br /&gt;&lt;br /&gt;4. if the user has entered the grace period (ORA-28002 when login), the password has to be altered. Fortunately you need not really change it. &lt;br /&gt;SQL&gt; alter user &lt;user_name&gt; identified by &lt;previous_password&gt;;&lt;br /&gt;&lt;br /&gt;That&#39;s all.</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/4371681075181213656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/4371681075181213656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/4371681075181213656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/4371681075181213656'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2008/09/get-out-of-ora-28002-password-will.html' title='Get out of ORA-28002: the password will expire within n days'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-9206930738410327979</id><published>2008-08-05T18:20:00.004+08:00</published><updated>2008-08-05T21:23:23.143+08:00</updated><title type='text'>Virtualization is amazing</title><content type='html'>I knew VMWare before. I even tried VMWare Workstation before. I thought virtualization tech is interesting, but performance-slow and resource-inefficiency.&lt;br /&gt;Until now, I found that the new company proactively utilizes various VMWare products, such as ESX Server, Virtual Center and Lab Manager. They are awasome. Tremendous installation/setup time are saved. Repeated tasks are automated. Daily works are extremely simplied. Productivity are largely promoted.&lt;br /&gt;&lt;br /&gt;Check out this video of Lab Manager. &lt;a href=&quot;http://download3.vmware.com/demos/labmanager/&quot;&gt;http://download3.vmware.com/demos/labmanager/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;EMC buying VMWare is a great deal. Don&#39;t let it slip way.</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/9206930738410327979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/9206930738410327979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/9206930738410327979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/9206930738410327979'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2008/08/virtualization-is-amazing.html' title='Virtualization is amazing'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-5965691944451696834</id><published>2008-01-17T01:34:00.000+08:00</published><updated>2008-01-17T01:34:13.073+08:00</updated><title type='text'>Oracle to Acquire BEA Systems</title><content type='html'>&lt;a href=&quot;http://www.oracle.com/corporate/press/2008_jan/bea.html&quot;&gt;Oracle to Acquire BEA Systems&lt;/a&gt;&lt;br /&gt;&quot;The addition of BEA products and technology will significantly enhance and extend Oracle&#39;s Fusion middleware software suite,&quot; said Oracle CEO Larry Ellison.&lt;br /&gt;终于把BEA买下来了，是个好事。一直觉得OC4J不咋的，希望WebLogic以后做为Fusion middleware的核心。</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/5965691944451696834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/5965691944451696834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/5965691944451696834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/5965691944451696834'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2008/01/oracle-to-acquire-bea-systems.html' title='Oracle to Acquire BEA Systems'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-8377212290800250495</id><published>2007-12-20T20:38:00.000+08:00</published><updated>2007-12-20T20:42:10.091+08:00</updated><title type='text'>Pythian Group Blog » Blog Archive » Pythian Goodies: The Answer to Free Memory, Swap, Oracle, and Everything</title><content type='html'>&lt;a href=&quot;http://www.pythian.com/blogs/741/pythian-goodies-free-memory-swap-oracle-and-everything&quot;&gt;Pythian Group Blog » Blog Archive » Pythian Goodies: The Answer to Free Memory, Swap, Oracle, and Everything&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&quot;# Linux Oracle servers must use HugePages.&lt;br /&gt;# Being low on free memory is not an issue.&lt;br /&gt;# Using DirectIO is important to maintaining a useful file system cache.&quot;&lt;br /&gt;&lt;br /&gt;&quot;If the system is capable of running 64-bit Linux then it should. Using the VLM workaround adds significant overhead to database cache access.&quot;</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/8377212290800250495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/8377212290800250495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/8377212290800250495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/8377212290800250495'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2007/12/pythian-group-blog-blog-archive-pythian.html' title='Pythian Group Blog » Blog Archive » Pythian Goodies: The Answer to Free Memory, Swap, Oracle, and Everything'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-1225617901891856677</id><published>2007-11-08T17:08:00.000+08:00</published><updated>2007-11-08T17:30:15.621+08:00</updated><title type='text'>real world sql tuning tips</title><content type='html'>1. only CBO. RBO is dead.&lt;br /&gt;2. 90-9-1 stats methodology. Don&#39;t touch optimizer parameters, refine your stats!&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnNF-IxCggyQRXafV29vY_ENODm7dGPyp-uamRIb-xW19-AOS_414J0E5mO7AS6ih5L0NT37SnjNyuGynOgk_et0_stggU6LeI1tx_MYlRMArERuTtHtHSlZaniwGZVyjGxON6RQ/s1600-h/sql_tuning.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnNF-IxCggyQRXafV29vY_ENODm7dGPyp-uamRIb-xW19-AOS_414J0E5mO7AS6ih5L0NT37SnjNyuGynOgk_et0_stggU6LeI1tx_MYlRMArERuTtHtHSlZaniwGZVyjGxON6RQ/s320/sql_tuning.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5130395240605125826&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;3. check the cardinality, compare the optimizer estimated and the actual one.&lt;br /&gt;&lt;p:colorscheme colors=&quot;#FFFFFF,#000000,#777777,#000000,#FD0000,#C0C0C0,#4D4D4D,#667263&quot;&gt;  &lt;/p:colorscheme&gt;&lt;div shape=&quot;_x0000_s3074&quot; class=&quot;O&quot;&gt;      &lt;div&gt;&lt;span style=&quot;;font-family:&amp;quot;;font-size:100%;&quot;  lang=&quot;EN-US&quot; &gt;&lt;span style=&quot;;font-family:&amp;quot;;font-size:50;&quot;  lang=&quot;EN-US&quot; &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;SQL&gt; alter session set statistics_level=all;&lt;br /&gt;SQL&gt; &lt;execute the=&quot;&quot; query=&quot;&quot;&gt;&lt;br /&gt;&lt;/execute&gt;&lt;/span&gt;&lt;execute&gt;&lt;/execute&gt;&lt;/span&gt;SQL&gt; select * from table(dbms_xplan.display_cursor(null,null,&#39;allstats last&#39;));&lt;/span&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUIRh-i2yHcPQVLkSh5sqi0wR8dolxXUgkvC3WvlS49qDjytAU5IhwtRmaOMnw9Ab55KJpe39f6KVnSXdHIK5G_xEw2G1pr8drK4OUByw0NGFiBDgqIshC9T5omRdl1ctTautzhA/s1600-h/sql_tuning2.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUIRh-i2yHcPQVLkSh5sqi0wR8dolxXUgkvC3WvlS49qDjytAU5IhwtRmaOMnw9Ab55KJpe39f6KVnSXdHIK5G_xEw2G1pr8drK4OUByw0NGFiBDgqIshC9T5omRdl1ctTautzhA/s320/sql_tuning2.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5130396812563156178&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;you can also find actual plan with stats from v$sql_plan_statistics_all&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;/div&gt;  &lt;/div&gt;4. notice when stats are not enough and optimizer exceptions&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQzAAecFgcy2yObVljTQCz-BP1F7v8McOM89EfwoCbK3jte4fk7kjiYii7tHJfE6iTDKCbi-11v5H1QtRVPABjsINK-RZ0TiaVjIwD8phfO44bDxxpTtcDRTeVnwe5-Ybkc0jecw/s1600-h/sql_tuning3.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQzAAecFgcy2yObVljTQCz-BP1F7v8McOM89EfwoCbK3jte4fk7kjiYii7tHJfE6iTDKCbi-11v5H1QtRVPABjsINK-RZ0TiaVjIwD8phfO44bDxxpTtcDRTeVnwe5-Ybkc0jecw/s320/sql_tuning3.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5130398517665172706&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjmvDFqg5lg0DeYu_Z0XFA-RbL8y-7O89wy3BSeyysOGw-DxD_Rh8sm_B7S52WNMMFxQbL17ZyFB7aha4DpgcV5UyrO00m7vLTi4iUzSiGnrzweAA5AoFMV2u-lfg0QYz4jINiNA/s1600-h/sql_tuning4.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjmvDFqg5lg0DeYu_Z0XFA-RbL8y-7O89wy3BSeyysOGw-DxD_Rh8sm_B7S52WNMMFxQbL17ZyFB7aha4DpgcV5UyrO00m7vLTi4iUzSiGnrzweAA5AoFMV2u-lfg0QYz4jINiNA/s320/sql_tuning4.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5130398521960140018&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/1225617901891856677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/1225617901891856677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/1225617901891856677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/1225617901891856677'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2007/11/real-world-sql-tuning-tips.html' title='real world sql tuning tips'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnNF-IxCggyQRXafV29vY_ENODm7dGPyp-uamRIb-xW19-AOS_414J0E5mO7AS6ih5L0NT37SnjNyuGynOgk_et0_stggU6LeI1tx_MYlRMArERuTtHtHSlZaniwGZVyjGxON6RQ/s72-c/sql_tuning.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-6075850401611946693</id><published>2007-10-09T10:10:00.000+08:00</published><updated>2007-10-09T10:10:45.570+08:00</updated><title type='text'>A tip for changing JDK used by JDeveloper</title><content type='html'>&lt;a href=&quot;http://ws-rx.blogspot.com/2006/11/changing-version-of-jdk-used-by.html&quot;&gt;Web Services on Drugs: Changing the version of JDK used by JDeveloper&lt;/a&gt;&lt;br /&gt;In short, move (rename) the embedded JDK to another place. Then restart JDev.</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/6075850401611946693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/6075850401611946693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/6075850401611946693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/6075850401611946693'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2007/10/tip-for-changing-jdk-used-by-jdeveloper.html' title='A tip for changing JDK used by JDeveloper'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-9037010270792147099</id><published>2007-09-21T14:46:00.000+08:00</published><updated>2007-11-08T17:35:22.828+08:00</updated><title type='text'>How to find out JDBC statement leaks in Oracle</title><content type='html'>Serious leaks can be identified with then following SQL (10g):&lt;br /&gt;select oc.inst_id, oc.sid, oc.hash_value, oc.sql_text, count(*)&lt;br /&gt;from gv$open_cursor oc&lt;br /&gt;where sql_text not like &#39;COMMIT%&#39;&lt;br /&gt;group by inst_id, sid, hash_value, sql_text&lt;br /&gt;having count(*) &gt; 5&lt;br /&gt;order by 5;&lt;br /&gt;&lt;br /&gt;9i or belower use v$open_cursor instead of gv$open_cursor</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/9037010270792147099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/9037010270792147099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/9037010270792147099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/9037010270792147099'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2007/09/how-to-find-out-jdbc-statement-leaks-in.html' title='How to find out JDBC statement leaks in Oracle'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-5485657456462737584</id><published>2007-07-27T18:54:00.000+08:00</published><updated>2007-09-17T15:46:42.335+08:00</updated><title type='text'>Java packages management system</title><content type='html'>Linux has RPM/APT, Mac has &lt;a href=&quot;http://www.finkproject.org/&quot;&gt;Fink&lt;/a&gt;, Ruby has &lt;a href=&quot;http://rubygems.org/&quot;&gt;RubyGems&lt;/a&gt;, why Java hasn&#39;t a good packages management system yet? Experienced Java developers know the &quot;Jar-Hell&quot;. They know the difficulties to management the dependencies of various jar files. They know the problems when J2EE applications use different versions of common libraries...&lt;br /&gt;Will this Jar-Hell be solved by &lt;a href=&quot;http://www.jcp.org/en/jsr/detail?id=277&quot;&gt;JSR 277: Java Module System&lt;/a&gt; or anything else?</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/5485657456462737584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/5485657456462737584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/5485657456462737584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/5485657456462737584'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2007/07/random-thoughts-java-packages.html' title='Java packages management system'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-57934742340269335</id><published>2007-05-24T00:49:00.000+08:00</published><updated>2007-09-17T15:49:25.506+08:00</updated><title type='text'>Text of Steve Jobs&#39; Commencement address (2005)</title><content type='html'>&lt;a href=&quot;http://news-service.stanford.edu/news/2005/june15/jobs-061505.html&quot;&gt;Text of Steve Jobs&#39; Commencement address (2005)&lt;/a&gt;&lt;br /&gt;Steve Jobs says:&lt;br /&gt;...&lt;br /&gt;You can&#39;t connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something — your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life.&lt;br /&gt;...&lt;br /&gt;Sometimes life hits you in the head with a brick. Don&#39;t lose faith. I&#39;m convinced that the only thing that kept me going was that I loved what I did. You&#39;ve got to find what you love. And that is as true for your work as it is for your lovers. Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven&#39;t found it yet, keep looking. Don&#39;t settle. As with all matters of the heart, you&#39;ll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don&#39;t settle.&lt;br /&gt;...&lt;br /&gt;And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become.</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/57934742340269335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/57934742340269335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/57934742340269335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/57934742340269335'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2007/05/text-of-steve-jobs-commencement-address.html' title='Text of Steve Jobs&#39; Commencement address (2005)'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-4132087565366959352</id><published>2007-04-23T19:29:00.000+08:00</published><updated>2007-09-17T15:57:25.157+08:00</updated><title type='text'>7 Habits For Effective Text Editing 2.0 - Google Video</title><content type='html'>Basic rules:&lt;br /&gt;find inefficiency; find a quicker way; make it a habit&lt;br /&gt;&lt;a title=&quot;Photo Sharing&quot; href=&quot;http://www.flickr.com/photos/49097958@N00/469781480/&quot;&gt;&lt;img height=&quot;375&quot; alt=&quot;effective text editing&quot; src=&quot;http://farm1.static.flickr.com/221/469781480_25da008385.jpg&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Habit 1: Moving around quickly&lt;br /&gt;/ to search&lt;br /&gt;use * again and again. * - search for next&lt;br /&gt;use folding&lt;br /&gt;&lt;br /&gt;Habit 2: Don&#39;t type it twice&lt;br /&gt;Ctrl-N - keyword completion&lt;br /&gt;Omni-completion in Vim 7&lt;br /&gt;&lt;br /&gt;Habit 3: Fix it when it&#39;s wrong&lt;br /&gt;spellchecker in Vim 7&lt;br /&gt;add new abbrevation - :iabbrev teh the&lt;br /&gt;add keyword for spellcheck - : syntax keyword WordError teh&lt;br /&gt;&lt;br /&gt;Habit 4: A file seldom comes alone&lt;br /&gt;ways to find your old files.&lt;br /&gt;:!ctags -R . generate tags for all files under current directory (and sub directory)&lt;br /&gt;:tag init&lt;br /&gt;:tnext&lt;br /&gt;:grep &quot;\&lt;k_home&gt;\&gt;&quot; **/*.h&lt;br /&gt;:cnext&lt;br /&gt;&lt;br /&gt;Go to the file&lt;br /&gt;gf&lt;br /&gt;&lt;br /&gt;Habit 5: Let&#39;s work together&lt;br /&gt;copy text from vi to Word or other editors.&lt;br /&gt;&lt;br /&gt;Habit 6: Text is structured&lt;br /&gt;how to go from warnings/errors to source&lt;br /&gt;map&lt;br /&gt;:cfile %&lt;br /&gt;&lt;br /&gt;Habit 7: Sharpen the saw&lt;br /&gt;keep on tuning the set of commands you use&lt;br /&gt;folding&lt;br /&gt;automatic indenting&lt;br /&gt;Plugins&lt;br /&gt;edit files over a network&lt;br /&gt;advanced scripting&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/k_home&gt;</content><link rel='enclosure' type='text/html' href='http://video.google.com/videoplay?docid=2538831956647446078' length='0'/><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/4132087565366959352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/4132087565366959352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/4132087565366959352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/4132087565366959352'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2007/04/7-habits-for-effective-text-editing-20.html' title='7 Habits For Effective Text Editing 2.0 - Google Video'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm1.static.flickr.com/221/469781480_25da008385_t.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-2953035689273886928</id><published>2007-03-07T09:38:00.000+08:00</published><updated>2007-09-18T11:16:44.906+08:00</updated><title type='text'>2007 Annual Dinner</title><content type='html'>2007 Annual Dinner&lt;br /&gt;&lt;br /&gt;It&#39;s a wonderful evening. People present a tons of funny staff, make everyone laugh all the time. Laddies&#39; dance,  Shui Hu video, YMCA, OOTV, Xiang Sheng brought by Frank &amp;amp; Minmin,  song name guessing and Pascal&#39;s &#39;singing&#39;... There are so many wonderful things, I couldn&#39;t count them all. I also showed my voice - not singing, but narrating in our team&#39;s stage play, &lt;span style=&quot;font-style: italic;&quot;&gt;In the Mood for Love&lt;/span&gt;. Fortunately I didn&#39;t ruin this, as the show was interrupted by applause dozens times :)&lt;br /&gt;&lt;br /&gt;Someone said, &lt;span style=&quot;font-style: italic;&quot;&gt;Life is full, full of surprises&lt;/span&gt;. So, to be surprised, I took a &#39;first-class&#39; seat this evening - right beside Pascal! Yeah, it&#39;s a real exciting &amp;amp; funny experience for me :)  And, I picked a &#39;018&#39; number and wan a first-lass prize at Lucky Draw, an iPod shuffle! I am a lucky man :) I believe it&#39;s a sign of good fortune in 2007, year of pig. Wish everyone in OARDC have a fruitful piggy year too&lt;iframe style=&quot;display: block;&quot; id=&quot;richeditorframe&quot;&gt;&lt;/iframe&gt;!</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/2953035689273886928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/2953035689273886928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/2953035689273886928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/2953035689273886928'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2007/03/2007-annual-dinner-its-wonderful.html' title='2007 Annual Dinner'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-1533584982096403888</id><published>2007-03-01T11:00:00.000+08:00</published><updated>2007-09-18T11:15:24.685+08:00</updated><title type='text'>An awesome demo movie about integrating Forms &amp; JSF!</title><content type='html'>&lt;a href=&quot;http://www.oratransplant.nl/2007/01/22/flash-movie-showing-forms-and-jsf-integration/&quot;&gt;An awesome demo movie about integrating Forms &amp;amp; JSF!&lt;/a&gt;&lt;br /&gt;It is created by Wilfred van der Deijl, from oraTransplant.  He is also going to present his work in ODTUG 2007. Looking forward his great paper:)&lt;br /&gt;www.oraTransplant.nl, it&#39;s a good site with many useful material of oracle develop tools. Why I didn&#39;t find it ealier?</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/1533584982096403888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/1533584982096403888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/1533584982096403888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/1533584982096403888'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2007/02/awesome-demo-movie-about-integrating.html' title='An awesome demo movie about integrating Forms &amp; JSF!'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-116213697659834112</id><published>2006-10-29T23:49:00.000+08:00</published><updated>2007-09-18T11:15:05.974+08:00</updated><title type='text'>I am not a Big Fan of Hate...</title><content type='html'>&lt;a href=&quot;http://home.wangjianshuo.com/archives/20061028_i_am_not_a_big_fan_of_hate.htm&quot;&gt;I am not a Big Fan of Hate...&lt;/a&gt;&lt;br /&gt;Wang Jian Shuo, a famous blogger from Shanghai, China, talk about his opinion about patriotism and hate. It&#39;s really touchable, I can&#39;t agree him more. Hate others is not a shape of love.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/116213697659834112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/116213697659834112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/116213697659834112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/116213697659834112'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2006/10/i-am-not-big-fan-of-hate.html' title='I am not a Big Fan of Hate...'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-116174262515846060</id><published>2006-10-25T10:17:00.000+08:00</published><updated>2007-09-18T11:14:43.825+08:00</updated><title type='text'>Worst practices when using Oracle JDBC Drivers</title><content type='html'>&lt;a href=&quot;http://technology.amis.nl/blog/?p=1385&quot;&gt;AMIS Technology blog » Blog Archive » Worst practices when using Oracle JDBC Drivers - great presentation by Douglas Surber&lt;/a&gt;&lt;br /&gt;Fortunately Oracle is really making his JDBC driver more standard. I always dislike the former ugly proprietary extensions. Anyway, these bad practices are very helpful.</content><link rel='replies' type='application/atom+xml' href='http://gengmao.blogspot.com/feeds/116174262515846060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5821401/116174262515846060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/116174262515846060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/116174262515846060'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2006/10/amis-technology-blog-blog-archive-worst.html' title='Worst practices when using Oracle JDBC Drivers'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821401.post-106438118103690152</id><published>2005-08-31T06:26:00.000+08:00</published><updated>2007-09-18T11:09:07.239+08:00</updated><title type='text'>immediate exception when insert duplicate unique key</title><content type='html'>When 2 sessions simultaneously insert the same primary key value to a table, oracle will block the later session. After the first session is committed, oracle throws an ORA-00001 error: unique constraint ... violated error.&lt;br /&gt;If you hope that oracle don&#39;t block insert sessions, you need to implement something using dbms_lock package. Using this, errors will immediately be thrown out when many sessions insert same primary key value, even if these &#39;insert&#39; haven&#39;t be committed. There is an good &lt;a href=&quot;http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:340617419132&quot;&gt;example&lt;/a&gt; from Tom Kyte.&lt;br /&gt;I had thought that &#39;read uncommitted&#39; transaction isolation level will simply solve this problem. But Oracle doesn&#39;t support &#39;read uncommitted&#39;, it implements only 2 transaction isolation levels: read committed(default) and serializable.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/106438118103690152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821401/posts/default/106438118103690152'/><link rel='alternate' type='text/html' href='http://gengmao.blogspot.com/2005/08/when-2-sessions-simultaneously-insert.html' title='immediate exception when insert duplicate unique key'/><author><name>gengmao</name><uri>http://www.blogger.com/profile/14332014229995478447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM04qJppben3kppwBBxlj5brz7980dKrg8Ru2Yl1jZF2nBQStHGLU03-_rO-A_9zhIkq95an0MYlW8_vhBPhmq2v3rM2Bg2iR75ly7LGZ8ApcTKOtk-sInAarDYP2jYmU/s220/profile_s.jpg'/></author></entry></feed>