<?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: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-8910665</id><updated>2012-02-01T02:50:08.826+08:00</updated><category term='plsql'/><category term='troubleshooting'/><category term='sql'/><category term='opinion'/><category term='unix'/><category term='bug'/><category term='howto'/><category term='veritas'/><category term='development'/><category term='oracle11g'/><category term='solaris'/><category term='adrci'/><category term='oracle'/><category term='database'/><category term='backup'/><category term='svn'/><category term='san'/><title type='text'>My IT Life</title><subtitle type='html'>This blog is all about my everyday IT life. I will share my experience , skills and opinions about Solaris, Oracle, Veritas and SAN here. Pretty much from my everyday work. Hope you enjoy it!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8910665.post-4118488338983741035</id><published>2007-11-16T14:23:00.001+08:00</published><updated>2007-11-16T14:23:43.534+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle11g'/><category scheme='http://www.blogger.com/atom/ns#' term='adrci'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Some issues about ADRCI in Oracle 11g</title><content type='html'>In Oracle11g Oracle introduced a new feature called Automatic Diagnostic Repository (ADR). All the diagnostic information including the found incidents will be stored in the repository. The repository is actually an OS directory. Along with this feature, Oracle also introduced a new command line utility called adrci (Automatic Diagnostic Repository Command Interpreter) to make the info. retrieval&amp;nbsp; from the ADR easy. There are already some articles around talking a lot of ADR. Here is a good one: &lt;a href="http://viragsharma.blogspot.com/2007/08/automatic-diagnostic-repository-adr.html"&gt;ADR&lt;/a&gt; So I am not going to get in depth about ADR itself. Instead I am going to talk about some issues I encountered using 'adrci'.&lt;br /&gt;&lt;br /&gt;Some reported there was an editor issue using adrci 'show alert'. This can be easily solved by 'set editor'. While the error messages may appear different on UNIX and Windows, 'set editor' works on both platforms.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left: 40px;"&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;adrci&amp;gt; show alert&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;ADR Home = /app/oracle/diag/rdbms/chooyu/chooyu:&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;*************************************************************************&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;Output the results to file: /tmp/alert_12361_1_chooyu_1.ado&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;screen: Unknown terminal type&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;I don't know what kind of terminal you are on - all I have is 'screen'.&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;[Using open mode]&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;"/tmp/alert_12361_1_chooyu_1.ado" 989 lines, 43823 characters&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;2007-11-13 12:27:30.840000 +08:00&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;:q&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;Additional information: 256&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;Additional information: 13&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;adrci&amp;gt; set editor vim&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Another issue is related to the OS permissions. Usually nobody will encounter this issue. However, if you create 2 OS groups, one is for Oracle Software Owner and the other is for DBA, you will probably hit this issue while signing in under DBA group. This is because Oracle sets all the directories under the owner's control during the installation. In my case, I created 2 groups 'oinstall' and 'dba' as well as 2 users 'oracle' and 'swong'. I use 'oracle' as the Software owner as always. The ownership of all the directories would be oracle:oinstall. If I sign in as 'swong' which I put under 'dba', I won't be able to find any home but only listener. How to solve the issue then? In Solaris, I need to use 'setfacl' to allow 'dba' group to access DIAGNOSTIC_DEST. After that you'll be able to see several homes using 'show home' adrci command. You may need to 'set base' first. Please see below.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left: 40px;"&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;$ adrci&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;ADRCI: Release 11.1.0.6.0 - Beta on Fri Nov 16 14:18:17 2007&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;Copyright (c) 1982, 2007, Oracle.&amp;nbsp; All rights reserved.&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;No ADR base is set&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;adrci&amp;gt; set base /app/oracle&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;adrci&amp;gt; show home&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;ADR Homes:&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;diag/rdbms/orcl/orcl&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;diag/clients/user_unknown/host_411310321_11&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;diag/tnslsnr/myhost/listener&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;diag/diagtool/user_swong/host_2847951770_11&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;   &lt;p style="text-align: right; font-size: 8px"&gt;Blogged with &lt;a href="http://www.flock.com/blogged-with-flock" title="Flock" target="_new"&gt;Flock&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-4118488338983741035?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/4118488338983741035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=4118488338983741035' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/4118488338983741035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/4118488338983741035'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/11/some-issues-about-adrci-in-oracle-11g.html' title='Some issues about ADRCI in Oracle 11g'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-1940273688550878541</id><published>2007-11-16T10:25:00.001+08:00</published><updated>2007-11-16T10:25:22.323+08:00</updated><title type='text'>Oracle11gR1 installation on Solaris 10</title><content type='html'>Generally speaking, the Oracle11gR1 installation on Solaris 10 is pretty smooth. I didn't encounter any problem during the installation. Neverthless burning a DVD for Solaris 64-bit really frustrated me. &lt;br /&gt;&lt;br /&gt;I downloaded the Oracle11gR1 for Sparc Solaris 64-bit into my windows laptop. At the 1st time I burned a DVD-R with the default option (ISO9660 + Joliet). I realized it's wrong and doesn't work when using it to install the Oracle11g into my SUN Ultra 25 (SPARC architecture) on the next day. File names have been shortened. Afterwards I burned another DVD-RW with the carefully chosen option (ISO9660:1999) since this guarantees a file name longer than 250 characters. I thought this one would work but it still didn't work even worse. My U25 even doesn't recognize this DVD. What's wrong? I have no idea. I may need to figure out later. At last I FTPed the downloaded Oracle11gR1 ZIP file to the U25 and install Oracle11g from the hard disk natively.&lt;br /&gt;&lt;br /&gt;The installation procedure is pretty much like the previous versions. An OS user and an OS group need to be created as the Oracle software owner. Depending on your security preference, you can create only one group 'dba' as both software owner and DBA group; you also can create 2 groups. One is the software owner and the other is the DBA group. For me, I created 2 groups. One is called 'oinstall' as the software owner and the other is called 'dba' as the DBA group. An user 'oracle' has also been created. Put some basic environment variables into 'oracle' profile. They are all similar to the previous versions. Here are mine:&lt;br /&gt;&lt;div style="margin-left: 40px;"&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;ORACLE_BASE=/app/oracle&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;ORACLE_HOME=$ORACLE_BASE/product/11.1&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;ORACLE_SID=orcl&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/sfw/lib:/usr/local/lib:$ORACLE_HOME/lib&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;PATH=$PATH:/usr/ucb:/usr/ccs/bin:/usr/sbin:$ORACLE_HOME/bin&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;You may want to pre-create some directories and change the ownership.&lt;br /&gt;&lt;br /&gt;The next step is to check your /etc/system to see if all the necessary IPC parameters are configured or not. Otherwise you won't be able to create a database since Share Memory is required. If configured already, you are ready to install; otherwise you need to reboot your machine to take /etc/system changes effective. Here are mine:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left: 40px;"&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set semsys:seminfo_semmni=100&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set semsys:seminfo_semmns=5000&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set semsys:seminfo_semmap=5000&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set semsys:seminfo_semmsl=50&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set semsys:seminfo_semmnu=100&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set semsys:seminfo_semume=25&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set semsys:seminfo_semopm=50&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set shmsys:shminfo_shmmax=4294967296&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set shmsys:shminfo_shmmni=256&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set shmsys:shminfo_shmseg=64&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set shmsys:shminfo_shmmin=1&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set msgsys:msginfo_msgmap=258&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set msgsys:msginfo_msgmnb=65535&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set msgsys:msginfo_msgseg=8192&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0); font-family: Courier;" /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: Courier;"&gt;set msgsys:msginfo_msgtql=512&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;We are ready to go! Sign in as 'oracle' and execute 'runInstaller'. All the pre-check has been passed by the installer. I chosen a customized installation and followed most of the default options. As I mentioned earlier, the installation was pretty smooth and no problem was encountered.&lt;br /&gt;&lt;br /&gt;At last I'd like to give my machine configurations.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left: 40px;"&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Model: SUN Sparc Ultra 25&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0);" /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;CPU Model: Sparc Ultra IIIi&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0);" /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;RAM: 2GB&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0);" /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Hard disk: 2x80GB, 2x250GB&lt;/span&gt;&lt;br style="color: rgb(153, 0, 0);" /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;OS: SunOS 5.10 Generic_125100-07&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;   &lt;p style="text-align: right; font-size: 8px"&gt;Blogged with &lt;a href="http://www.flock.com/blogged-with-flock" title="Flock" target="_new"&gt;Flock&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-1940273688550878541?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/1940273688550878541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=1940273688550878541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/1940273688550878541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/1940273688550878541'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/11/oracle11gr1-installation-on-solaris-10.html' title='Oracle11gR1 installation on Solaris 10'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-2241447621160288687</id><published>2007-05-04T13:50:00.000+08:00</published><updated>2007-05-04T14:31:48.880+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>Install BeleniX (OpenSolaris Live CD) into a USB thumb drive</title><content type='html'>&lt;a style="font-weight: bold;" href="http://www.genunix.org/distributions/belenix_site/"&gt;BeleniX&lt;/a&gt; Live CD works just fine. But when you try to install it into a USB thumb drive following the installation instruction, you may get frustrated. The installer doesn't work! At least it doesn't work for me. I had to debug the installer script step by step to see where the problems result from. Finally, I worked out and successfully installed it into a USB drive. There are two places in the script to which you need to pay attention.&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;the command at line 211&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote style="color: rgb(153, 0, 0); font-family: courier new;"&gt;# rmformat -s /tmp/slices /dev/rdsk/c0t0d0p0&lt;br /&gt;&lt;/blockquote&gt;This command simply doesn't work in my case. Maybe the slices information in &lt;span style="font-weight: bold;"&gt;/tmp/slices&lt;/span&gt; generated by the script are not correct, maybe not. Since there was no error returned, I have no idea why it failed. After running this command, 2 slices are supposed to be created and labeled. However, if you run the following command&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(153, 0, 0);"&gt;# newfs /dev/rdsk/c0t0d0s0 &lt; /dev/null&lt;/blockquote&gt;You will get error "&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;no such device&lt;/span&gt;" sth. like that. In this case, you can run the command below instead to create the slices and label them based on &lt;span style="font-weight: bold;"&gt;/tmp/slices&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(153, 0, 0);"&gt;# format -e&lt;/blockquote&gt;It's interactive. You just follow the instructions to do so.&lt;br /&gt;&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;The command at line 281&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote style="font-family: courier new; color: rgb(153, 0, 0);"&gt;#  installgrub -mf stage1 stage2 $devs &gt; /dev/null&lt;/blockquote&gt;You will get error "&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;can not read stage1 file stage1&lt;/span&gt;" if you follow the provided installer. The reason is there is no such a file called stage1 in &lt;span style="font-weight: bold;"&gt;/boot/grub&lt;/span&gt; directory. Where you can get the required stage1? Don't run&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0); font-family: courier new;"&gt;&lt;blockquote&gt;# umount /mnt/belenix&lt;/blockquote&gt;&lt;/span&gt;at line 274. You need to run the commands below first:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(153, 0, 0);"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family: courier new; color: rgb(153, 0, 0);"&gt;# cd /mnt/belenix/boot/grub&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(153, 0, 0);"&gt;# installgrub -mf stage1 stage2 /dev/rdsk/c0t0d0s0 &gt; /dev/null&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(153, 0, 0);"&gt;# umount /mnt/belenix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(153, 0, 0);"&gt;# lofiadm -d $BELENIX_ISO_PATH&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family: courier new; color: rgb(153, 0, 0);"&gt;&lt;/span&gt;All the required files to run installgrub are in &lt;span style="font-weight: bold;"&gt;/mnt/belenix/boot/grub&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;A successful installation! You can enjoy the LiveUSB boot from now on!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-2241447621160288687?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/2241447621160288687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=2241447621160288687' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/2241447621160288687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/2241447621160288687'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/05/install-belenix-opensolaris-live-cd.html' title='Install BeleniX (OpenSolaris Live CD) into a USB thumb drive'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-3391856115318682205</id><published>2007-04-26T12:36:00.001+08:00</published><updated>2007-04-26T14:34:31.882+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='plsql'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Oracle bug 3744836 while using table function in 9205</title><content type='html'>Recently I use a pipelined table function in a package to tabularize multiple rows into columns. It's my first time to write pipelined table function. It's very cool.&lt;br /&gt;&lt;br /&gt;However, after refine the package and recompile it several times, I start to hit an Oracle bug 3744836. The symptom is:&lt;br /&gt;&lt;div style="text-align: left;"&gt;        While compiling the package at 1st time in a session, I encountered ORA-04043 error. The error message is something like: &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;object SYS_PLSQL_84730_110_1 does not exist&lt;/span&gt;. If I attempt to recompile it again and again in the same session, ORA-00600 internal error will appear. You won't be able to drop the package either.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;After searching on &lt;a style="font-weight: bold;" href="http://metalink.oracle.com"&gt;Oracle metalink&lt;/a&gt;, I found out the &lt;a style="font-weight: bold;" href="https://metalink.oracle.com/metalink/plsql/f?p=130:14:6656538421987333191::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,3744836.8,1,1,1,helvetica"&gt;Note:3744836.8&lt;/a&gt; that matches the symptom. Actually, it's an Oracle bug 3744836. In the note, the bug is said to be fixed in several Oracle patchsets including 9207. Since I don't wanna apply Oracle 9207 patchset at the time, I downloaded the &lt;a style="font-weight: bold;" href="http://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=3744836"&gt;interim patch&lt;/a&gt; for the bug as there is and applied to the problematic 9205 server. After applying the patch, the problem seemed to be solved as I was able to either recompile/drop the package. But it's not true actually! Some time later, while trying to recompile the package, I got ORA-04043 and ORA-00600 errors again! I felt very frustrated of getting these errors after the patch had already been applied. It's supposed to work but it doesn't! Still, I don't wanna apply the patchset 9207 yet due to some reasons. Finally, I figure out a workaround.&lt;br /&gt;&lt;br /&gt;The root cause of ORA-04043 is from the PLSQL TYPEs (Record, Table) defined in the package which are used by the pipelined table function. Every time the package is compiled, Oracle will generate a new version of these TYPEs. It's so-called Versioned Objects. These versioned objects can be selected from user_objects.&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: courier new; font-weight: bold; color: rgb(102, 0, 0);"&gt;           select * from user_objects where object_type = 'TYPE';&lt;/blockquote&gt;&lt;br /&gt;They are something like &lt;strong&gt;SYS_PLSQL_%s_%c_%v. &lt;/strong&gt;The last substiute variable is the VERSION. Oracle manages the relationship between packages and their verioned objects. Due to the bug, the relationship is somehow broken. Even the versioned objects are there in user_objects, Oracle would tell you they don't exist while dropping/compiling the package. e.g. before applying the interim patch, SYS_PLSQL_%s_%c_1 and SYS_PLSQL_%s_%c_2 could co-exist and Oracle would tell you SYS_PLSQL_%s_%c_1 doesn't exist when trying to drop/compile the package; after applying the interim patch, there is only SYS_PLSQL_%s_%c_2. It's getting better coz Oracle knows how to drop the version 1 objects. Unfortunately, Oracle still associates the package with SYS_PLSQL_%s_%c_1 rather than SYS_PLSQL_%s_%c_2. Since the version 1 objects have been dropped and are not there any more, Oracle will still stubbornly tell you SYS_PLSQL_%s_%c_1 doesn't exist and you won't be able to compile/drop the package.&lt;br /&gt;&lt;br /&gt;Here is a simple way to bypass the bug before 9207 patchset is applied. Convert those PLSQL TYPEs which are used by table function in the package to Oracle Stored TYPEs. This way, you take control on packages, types and their relationships. Oracle won't version the stored TYPEs automatically as it does for the packaged TYPEs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-3391856115318682205?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/3391856115318682205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=3391856115318682205' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/3391856115318682205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/3391856115318682205'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/04/oracle-bug-3744836-while-using-table.html' title='Oracle bug 3744836 while using table function in 9205'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-2503359524653586968</id><published>2007-04-25T17:31:00.000+08:00</published><updated>2007-04-26T12:00:08.215+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Working with SVN on windows</title><content type='html'>&lt;div dir="ltr" align="left"&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Arial;font-size:100%;"  &gt;&lt;span class="224363906-20042007"&gt;Before using the version control, I encourage you to  read the documentation first. Here you can get it: &lt;a href="http://subversion.tigris.org/"&gt;SubVersion&lt;/a&gt;&lt;a title="http://subversion.tigris.org/" href="http://subversion.tigris.org/"&gt;&lt;strong title="http://subversion.tigris.org/"&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div dir="ltr" align="left"&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Arial;font-size:100%;"  &gt;&lt;span class="224363906-20042007"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt; &lt;div dir="ltr" align="left"&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Arial;font-size:100%;"  &gt;&lt;span class="224363906-20042007"&gt;To start your journey on version control, you may need  to install some client software first if you are using windows platform. If you are using Linux/Unix, things become very simple. Depending on your experience and  preference, the requirements may vary. Here I'd like to give you several solutions.&lt;br /&gt;&lt;br /&gt;1. Check-in/out locally on SVN server and map the directory to your local drive on windows probably using SAMBA&lt;br /&gt;   This is the one I am using currently. :-) Coz I like to use VIM editor in windows more than the one in Solaris. It's more colorful.&lt;br /&gt;&lt;br /&gt;2. Install &lt;a href="http://cygwin.com/"&gt;cygwin&lt;/a&gt; package including both SSH &amp; SVN on your windows platform&lt;br /&gt;   You may need to generate RSA/DSA keys and install the public key into your directory on SVN server. Otherwise, you will probably get frustrated to input your password coz it will prompt you to input the password many times.&lt;br /&gt;   Below is how to check-out remotely over SSH protocol in a cygwin shell&lt;br /&gt; &lt;br /&gt;&lt;blockquote style="color: rgb(153, 0, 0);"&gt;$ svn co svn+ssh://scott@myhost/svn_repository/myproj/trunk&lt;/blockquote&gt;&lt;br /&gt;3. Using a SVN GUI client called TortoiseSVN&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div dir="ltr" align="left"&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Arial;font-size:100%;"  &gt;&lt;span class="224363906-20042007"&gt;    The well-known free SSH client PUTTY is required. You  can obtain the package here: &lt;a href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/"&gt;PUTTY&lt;/a&gt; &lt;a title="http://www.chiark.greenend.org.uk/~sgtatham/putty/" href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/"&gt;&lt;strong title="http://www.chiark.greenend.org.uk/~sgtatham/putty/"&gt;&lt;/strong&gt;&lt;/a&gt;. Please make sure you get the whole package but not the PUTTY.exe  only! Especially plink.exe which we are going to use with the SVN client.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div dir="ltr" align="left"&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Arial;font-size:100%;"  &gt;&lt;span class="224363906-20042007"&gt;    You can get the GUI  client here. &lt;a title="http://tortoisesvn.net/downloads" href="http://tortoisesvn.net/downloads"&gt;&lt;strong title="http://tortoisesvn.net/downloads"&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;a title="http://tortoisesvn.net/downloads" href="http://tortoisesvn.net/downloads"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;a title="http://tortoisesvn.net/downloads" href="http://tortoisesvn.net/downloads"&gt;&lt;strong title="http://tortoisesvn.net/downloads"&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Arial;font-size:100%;"  &gt;&lt;span class="224363906-20042007"&gt;&lt;a title="http://tortoisesvn.net/downloads" href="http://tortoisesvn.net/downloads"&gt;&lt;strong title="http://tortoisesvn.net/downloads"&gt;&lt;/strong&gt;&lt;/a&gt;&lt;a href="http://tortoisesvn.net/downloads"&gt;TortoiseSVN&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Arial;font-size:100%;"  &gt;&lt;span class="224363906-20042007"&gt;    First, install the SVN client and reboot your windows, you'll see the options integrated into your context menu in the window explorer.&lt;br /&gt;   In &lt;span style="color: rgb(102, 0, 0);"&gt;TortoiseSVN -&gt; Settings -&gt; Network&lt;/span&gt;, configure SSH client to use plink.exe which you installed in the previous step&lt;br /&gt;   Seems like using plink.exe without the public-key authentication doesn't work, so you need to generate RSA/DSA keys using puttygen.exe and install the public part into your directory on the SVN server&lt;br /&gt;   Finally, in the local directory into which you want to check-out, choose &lt;span style="color: rgb(102, 0, 0);"&gt;SVN checkout ...&lt;/span&gt; in the pop-up context menu and type in the URL, what you want to check-out should be put in the local directory. Everything is done.&lt;br /&gt;   URL: &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 0, 0);font-family:Arial;font-size:100%;"  &gt;&lt;span class="224363906-20042007"&gt;svn+ssh://scott@myhost/svn_repository/myproj/trunk&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-2503359524653586968?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/2503359524653586968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=2503359524653586968' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/2503359524653586968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/2503359524653586968'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/04/working-with-svn-on-windows.html' title='Working with SVN on windows'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-7256904848835247363</id><published>2007-03-29T17:01:00.000+08:00</published><updated>2007-03-29T17:05:57.072+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><title type='text'>Replace tape and tape drive using Veritas NetBackup</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;To replace a tape drive:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Physically replace it&lt;/li&gt;&lt;li&gt;Synchronize the S/N of the new one with the database&lt;/li&gt;&lt;/ul&gt;# tpautoconf -report_disc&lt;br /&gt;# tpautoconf -replace_drive drive_name -path drive_path&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;To replace a tape:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Expire it manually first&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;# bpexpdate -m A00001 -d 0 -h host&lt;ul&gt;&lt;li&gt;Delete the volume using Veritas Netbackup GUI&lt;/li&gt;&lt;li&gt;Remove it's label and replace it with a new one attached to the old label&lt;/li&gt;&lt;li&gt;Import the new tape back into the library&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-7256904848835247363?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/7256904848835247363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=7256904848835247363' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/7256904848835247363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/7256904848835247363'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/03/replace-tape-and-tape-drive-using.html' title='Replace tape and tape drive using Veritas NetBackup'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-5020475279196887222</id><published>2007-03-29T16:49:00.001+08:00</published><updated>2007-03-29T16:49:34.912+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><title type='text'>It's difficult to do things in a proactive way</title><content type='html'>As things get older, it becomes more &amp;amp; more difficult to identify what is the root cause of the problem whenever there is a problem. The problem could happen at any point or multiple points down to the whole path. You have to isolate them from each other and fix them one by one. Sometimes it's just not possible to figure out the root cause. You don't know which is caused by which since they are all correlated. It's pretty much like us, human-beings. It may take several days or even several weeks to fix all the issues and get the problematic system back to normal. The system availability drops a lot during this period, of course. So proactive is always much better than reactive. Sounds like everybody knows this.&lt;br /&gt;&lt;br /&gt;However, in a real world, usually it's hard to actively replace things until it has a problem. People would say "why do we need to replace it as there is no problem at all? look, it's running well!". Or sometimes they would say "I understand your concern. But you know, we currently have a tight budget. It's hard to get approved if we raise the request. After all, things are still running well. Let's play by ear!" But, when a serious problem happens and the system becomes unavailable, these guys just get nervous. "You must fix it ASAP! You must bring the system back by today! I don't care how you do it, you gotta get this done!" Sounds pretty similar? This happens in our life almost every day.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-5020475279196887222?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/5020475279196887222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=5020475279196887222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/5020475279196887222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/5020475279196887222'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/03/its-difficult-to-do-things-in-proactive.html' title='It&apos;s difficult to do things in a proactive way'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-3734540613246139538</id><published>2007-03-07T11:22:00.000+08:00</published><updated>2007-03-13T21:09:09.343+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>The storage representation for number zero</title><content type='html'>Yesterday I found out something interesting in an Oracle 9205 database. One column called is_mandatory is defined as NUMBER(1,0). Based on the business rule, only 0 or 1 can be stored in the column. The strange things happen to 0. There are 2 different storage representations for the number zero!&lt;br /&gt;&lt;pre style="color: rgb(51, 51, 51);"&gt;09:18:50 &gt; select is_mandatory, dump(is_mandatory) storage from t where is_mandatory != 1;&lt;br /&gt;&lt;br /&gt;IS_MANDATORY STORAGE&lt;br /&gt;------------ ------------------------------&lt;br /&gt;0 Typ=2 Len=1: 128&lt;br /&gt;0 Typ=2 Len=1: 128&lt;br /&gt;0 Typ=2 Len=2: 193,1&lt;br /&gt;0 Typ=2 Len=2: 193,1&lt;br /&gt;0 Typ=2 Len=2: 193,1&lt;br /&gt;0 Typ=2 Len=2: 193,1&lt;br /&gt;0 Typ=2 Len=2: 193,1&lt;br /&gt;0 Typ=2 Len=2: 193,1&lt;br /&gt;0 Typ=2 Len=2: 193,1&lt;br /&gt;&lt;br /&gt;9 rows selected.&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.01&lt;br /&gt;09:19:00 &gt; select is_mandatory, dump(is_mandatory) storage from t where is_mandatory = 0;&lt;br /&gt;&lt;br /&gt;IS_MANDATORY STORAGE&lt;br /&gt;------------ ------------------------------&lt;br /&gt;0 Typ=2 Len=1: 128&lt;br /&gt;0 Typ=2 Len=1: 128&lt;br /&gt;&lt;br /&gt;2 rows selected.&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.01&lt;/pre&gt;In a normal case, the 0 should be always stored in Oracle like:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;11:14:16 &gt; select dump(0) from dual;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DUMP(0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Typ=2 Len=1: 128&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Elapsed: 00:00:00.08&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, there is another storage scheme for 0 in the table&lt;br /&gt;&lt;pre style="color: rgb(51, 51, 51);"&gt;Typ=2 Len=2: 193,1&lt;/pre&gt;This value should be zero as well based on Oracle storage internal. However, I couldn't fetch these rows using is_mandatory = 0 since 0 will be always interpreted as &lt;span style="font-weight: bold;"&gt;'Typ=2 Len=1: 128'&lt;/span&gt;. Even I couldn't reproduce this scenario simply using SQL. Originally, these values are inserted/updated by a database stored procedure which takes a set of values as parameters from a front-end Java program via JDBC thin client. I am wondering under what kind of condition 0 would be stored this strange way. It seems like &lt;span style="font-weight: bold;"&gt;'Typ=2 Len=2: 193,1'&lt;/span&gt; is something between 0 and 1.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style="font-family:courier new;"&gt;11:42:02 &gt; select is_mandatory from t where is_mandatory &gt; 0 and is_mandatory &lt;&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;" &gt;           0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;" &gt;           0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;" &gt;           0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;" &gt;           0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;" &gt;           0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;" &gt;           0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;" &gt;           0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;" &gt;7 rows selected.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-family:courier new;" &gt;Elapsed: 00:00:00.00&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;I raised a question about this to &lt;a href="http://asktom.oracle.com/pls/asktom/f?p=100:11:3225727574797570::NO::P11_QUESTION_ID:1619552483055"&gt;ASKTOM&lt;/a&gt;. So this post will be updated once I got the answer from Tom.&lt;br /&gt;&lt;br /&gt;The problem is caused by the incompatible JDBC and RDBMS version. We are running an Oracle 9205 database as we are using JDBC 8174 in the middle tier to access the database. After I point to JDBC 9205 driver and re-run the program, number zero can be stored correctly with 'Len=1: 128'. According to what one said:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;'Len=2: 193,1' is definitely an invalid NUMBER; in 10.2.0.3 :&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;&lt;span style="font-size:130%;"&gt;SQL&gt; select dump ( utl_raw.cast_to_number ('C101') ) from dual;&lt;br /&gt;&lt;br /&gt;DUMP(UTL_RAW.CAST_TO_NUMBER('C101'))&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;Typ=2 Len=2: 193,1&lt;br /&gt;&lt;br /&gt;SQL&gt; select 1 / utl_raw.cast_to_number ('C101') from dual;&lt;br /&gt;select 1 / utl_raw.cast_to_number ('C101') from dual&lt;br /&gt;      *&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-03113: end-of-file on communication channel&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;Just an illegal bit representation that doesn't map to any NUMBER, and so produces unpredictable results (including process termination) if used.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;br /&gt;I also did some tests by myself in Oracle SQL Developer:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:130%;" &gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;select utl_raw.cast_to_number('c101') from dual&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;UTL_RAW.CAST_TO_NUMBER('C101') &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;------------------------------ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;0                              &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;1 rows selected&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;select utl_raw.cast_to_number('C101')/1 from dual&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;UTL_RAW.CAST_TO_NUMBER('C101')/1 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-------------------------------- &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;146150163.7229892817193583822615272918645831532875 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;1 rows selected&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;br /&gt;If the 2nd SQL is executed in SQL*Plus, seems like it will never end. A different result! Completely unpredictable, indeed!&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-3734540613246139538?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/3734540613246139538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=3734540613246139538' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/3734540613246139538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/3734540613246139538'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/03/storage-representation-for-number-zero.html' title='The storage representation for number zero'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-304544964705582574</id><published>2007-03-02T17:41:00.000+08:00</published><updated>2007-03-02T18:00:17.812+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Finally Oracle SQL Developer 1.1 patch can be applied</title><content type='html'>Oracle SQL Developer 1.1 'check for updates ...' had been pending for over a month. Seems like the option only was made available for a short while. So even there had been a 1.1 patch 1, I was not able to apply it via 'Check for updates ...'. The only way to apply the patch is to install the whole SQL Developer which I don't like. I've been waiting for the option to be made available again.&lt;br /&gt;&lt;br /&gt;This morning, I tried to run 'Check for updates ...' again and found that the option was made available! I upgraded my SQL Developer to the latest version finally. Meanwhile, Oracle released a new patch for SQL Developer 1.1, it's called patch 2. However, there is still some problem regarding the patch application via 'Check for updates ...'. Is it the reason Oracle disabled the option for over one month? The problem is that SQL developer still tells you there is a new patch found to be applied even you've already applied it. This gets me confused. I don't know what will happen if I reapply the patch 2. Maybe nothing will happen. It's just repeating this application itself over and over again. Oracle should sort it out as soon as possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-304544964705582574?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/304544964705582574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=304544964705582574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/304544964705582574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/304544964705582574'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/03/finally-oracle-sql-developer-11-patch.html' title='Finally Oracle SQL Developer 1.1 patch can be applied'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-5245815161247748543</id><published>2007-03-01T10:07:00.000+08:00</published><updated>2007-03-01T10:55:00.296+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>XML audit trail and RMAN</title><content type='html'>Oracle 10g introduces a new feature concerning the audit. In 10g, we are able to write the audit trail into XML files on the operating system level.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;&lt;span style="font-family: arial;"&gt;alter system set audit_trail=XML;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This sounds very exciting since we could do a lot of things with XML. At least, the audit trail is well structured, isn't it?&lt;br /&gt;&lt;br /&gt;But, there seems a problem using RMAN with this auditing feature enabled.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;&lt;span style="font-family: arial;"&gt;alter system set audit_sys_operation=true;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I only enable auditing for the privileged account 'SYS' in the statement above. Now, when I try to connect RMAN, I will get the errors below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial; color: rgb(51, 51, 51);font-size:85%;" &gt;swong@mars:flyhorse &gt; rman target / nocatalog&lt;br /&gt;&lt;br /&gt;Recovery Manager: Release 10.2.0.1.0 - Production on Thu Mar 1 10:28:10 2007&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2005, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-00554: initialization of internal recovery manager package failed&lt;br /&gt;RMAN-06003: ORACLE error from target database:&lt;br /&gt;ORA-09817: Write to audit file failed.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I encountered this error in Oracle 10.2.0.1. This is because of an unpublished bug 4600757. You can refer to Oracle &lt;a href="https://metalink.oracle.com/help/usaeng/Search/search.html#file"&gt;DOC ID:&lt;/a&gt; &lt;a href="https://metalink.oracle.com/metalink/plsql/f?p=130:14:4813065845487916679::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,391787.1,1,1,1,helvetica"&gt;Note:391787.1&lt;/a&gt; to get more about this problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-5245815161247748543?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/5245815161247748543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=5245815161247748543' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/5245815161247748543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/5245815161247748543'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/03/xml-audit-trail-and-rman.html' title='XML audit trail and RMAN'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-1769614641597013714</id><published>2007-02-28T17:59:00.000+08:00</published><updated>2007-02-28T22:07:02.604+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Make a unique constraint deferrable</title><content type='html'>Is it possible to create an unique deferrable constraint enforced by an unique index? No, it's impossible! You can create an unique constraint with 'deferrable' state. You can create an unique constraint enforced by an unique index. But you can't have both.&lt;br /&gt;&lt;br /&gt;Below statement will create an unique constraint enforced by an unique index by default.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="color: rgb(102, 102, 102);font-family:arial;" &gt;21:36:13 SQL&gt; alter table p_product_ce_determinants add constraint p_pced_uk unique&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-family:arial;" &gt;21:36:36   2  (charge_element_id, ce_det_version_no, display_order) using index;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-family:arial;" &gt;Table altered.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will create an unique constraint with 'deferrable' state enforced by an non-unique index by default.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:arial;"&gt;21:39:29 SQL&gt; alter table p_product_ce_determinants add constraint p_pced_uk unique&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;21:39:40   2  (charge_element_id, ce_det_version_no, display_order) deferrable using index;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Table altered.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You need to drop the constraint and the index separately.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You will get an error when trying to add an unique constraint with 'deferrable' state enforced by an existing unique index.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-family:arial;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;21:40:14 SQL&gt; create unique index p_pced_uk on p_product_ce_determinants&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;21:40:44   2  (charge_element_id, ce_det_version_no, display_order);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Index created.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Elapsed: 00:00:00.03&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;21:40:49 SQL&gt; alter table p_product_ce_determinants add constraint p_pced_uk unique&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;21:40:57   2  (charge_element_id, ce_det_version_no, display_order) deferrable using index p_pced_uk;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;alter table p_product_ce_determinants add constraint p_pced_uk unique&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ERROR at line 1:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ORA-14196: Specified index cannot be used to enforce the constraint.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Elapsed: 00:00:00.06&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, if you add the constraint solely enforced by the unique index, the statement will succeed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:arial;"&gt;21:41:08 SQL&gt; alter table p_product_ce_determinants add constraint p_pced_uk unique&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;21:41:23   2  (charge_element_id, ce_det_version_no, display_order) using index p_pced_uk;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Table altered.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Elapsed: 00:00:00.01&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You still need to drop the constraint and the index separately.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Instead the statement below will succeed and an unique constraint with 'deferrable' state will be created as enforced by an existing non-unique index.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-family:arial;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;21:42:17 SQL&gt; create index p_pced_uk on p_product_ce_determinants&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;21:42:28   2  (charge_element_id, ce_det_version_no, display_order);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Index created.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Elapsed: 00:00:00.03&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;21:42:33 SQL&gt; alter table p_product_ce_determinants add constraint p_pced_uk unique&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;21:42:37   2  (charge_element_id, ce_det_version_no, display_order) deferrable using index p_pced_uk;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Table altered.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Elapsed: 00:00:00.03&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I tested in both 9i and 10g. While they have the same behavior, 10g gives more clear messages than 9i.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-1769614641597013714?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/1769614641597013714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=1769614641597013714' title='26 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/1769614641597013714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/1769614641597013714'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/02/make-unique-constraint-deferrable.html' title='Make a unique constraint deferrable'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>26</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-3644570428343518103</id><published>2007-02-28T17:33:00.000+08:00</published><updated>2007-02-28T17:58:33.954+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>Put tapes into a tape library</title><content type='html'>To import a ordinary tape into a tape library using Veritas NetBackup, there are 2 ways. One is to use '&lt;span style="font-weight: bold;"&gt;new volumes ...&lt;/span&gt;' via 'Media' interface, the other one is to use '&lt;span style="font-weight: bold;"&gt;Inventory Robot&lt;/span&gt;'. While using 'Inventory Robot', you don't have to set up anything in the 'advanced option', just remember to check 'clear media access port', the library will take care of the rest. To use 'new volumes ...', you need to choose the proper tape type, the slot number, Media ID and so forth. It's important &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;NOT&lt;/span&gt; to click on '&lt;span style="font-weight: bold;"&gt;Apply&lt;/span&gt;' button to take the action. Instead, click on '&lt;span style="font-weight: bold;"&gt;Close&lt;/span&gt;' button. Otherwise, you will get the error 'The Media ID is not unique in the database'.&lt;br /&gt;&lt;br /&gt;To import a cleaning tape into a tape library, seems like 'Inventory Robot' must be used to do so. Also, 'Advanced Option' needs to be accessed to configure sth. You need to add a new rule in 'barcode rule' tab. In the pop window, you need to choose the proper cleaning tape type, e.g. DLT_CLN. You need to give the barcode tag. e.g. CLN (Seems like we don't have to append the barcode number. 'CLN' is enough) At last, a number of the remaining cleanings must be given. Usually it's 25 times. Every time the cleaning tape is used, the number decrements by 1 until 0 automatically. If you did't follow these instructions, even the cleaning tape could be put into the library successfully, the library wouldn't recognize it as a cleaning tape by any means. You will get errors whenever you want to clean a tape drive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-3644570428343518103?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/3644570428343518103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=3644570428343518103' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/3644570428343518103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/3644570428343518103'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/02/put-tapes-into-tape-library.html' title='Put tapes into a tape library'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-1260844776169099834</id><published>2007-02-26T14:40:00.000+08:00</published><updated>2007-02-26T15:32:48.807+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='san'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>How to get HBA WWNs on Solaris</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;Recently I want to get the WWNs of the HBAs in our servers to match them with a SAN report generated by a tool in order to know which node in the report represents which server. Basically, there are two methods.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;One of them is to run the command below:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&lt;span style="color: rgb(102, 102, 102);"&gt;# prtpicl -v -c scsi&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  SUNW,fas (scsi, 1140000032a)&lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  :manufacturer  JNIC &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  :fcode_revision        Version 3.9 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  :copyright     Copyright (c) 2000-2002 by JNIC &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  :reg  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; 00  00  00  00  00  40  00  00  00  00  10  00  00  00  00  00  00  40  40  00  00  00  04  00  00  00  00  00  00  40  50  00  00 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt; 00  01  00  00  00  00  00  00  00  00  00  00  08  00  00 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  :emerald_id    0 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  :sbus_slot     0 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  :model         FCE-1063 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  :parity-generated&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  :xilinx_rev    0x2000b &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  :revision-id   0x4 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  :device-id     0x1160 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  :my_wwn_lo     0x69a4966b &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  :my_wwn_hi     0x100000e0 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  :lport_cfg     0 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;  :board_id      0x4966b &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;...&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;br /&gt;root@boxwood # prtpicl -v -c scsi-fcp&lt;br /&gt;SUNW,qlc (scsi-fcp, 120000003b8)&lt;br /&gt;...&lt;br /&gt;:reg&lt;br /&gt;00  00  10  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  01  00  10  10  00  00  00  00  00  00  00  00  00&lt;br /&gt;00  00  00  00  00  01  00  02  00  10  14  00  00  00  00  00  00  00  00  00  00  00  00  00  00  10  00&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  :node-wwn      20  00  00  e0  8b  1a  90  85 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  :port-wwn      21  00  00  e0  8b  1a  90  85 &lt;/span&gt;&lt;br /&gt;:assigned-addresses&lt;br /&gt;81  00  10  10  00  00  00  00  00  00  03  00  00  00  00  00  00  00  01  00  82  00  10  14  00  00  00  00  00  10  00  00  00&lt;br /&gt;00  00  00  00  00  20  00  82  00  10  30  00  00  00  00  00  12  00  00  00  00  00  00  00  02  00  00&lt;br /&gt;...&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  :manufacturer  QLGC &lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;:reg&lt;br /&gt;00  00  08  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  01  00  08  10  00  00  00  00  00  00  00  00  00&lt;br /&gt;00  00  00  00  00  01  00  02  00  08  14  00  00  00  00  00  00  00  00  00  00  00  00  00  00  10  00&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  :node-wwn      20  00  00  e0  8b  1a  55  63 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  :port-wwn      21  00  00  e0  8b  1a  55  63 &lt;/span&gt;&lt;br /&gt;:assigned-addresses&lt;br /&gt;81  00  08  10  00  00  00  00  00  00  03  00  00  00  00  00  00  00  01  00  82  00  08  14  00  00  00  00  08  00  00  00  00&lt;br /&gt;00  00  00  00  00  20  00  82  00  08  30  00  00  00  00  08  02  00  00  00  00  00  00  00  02  00  00&lt;br /&gt;:hba0-adapter-hard-loop-ID     0&lt;br /&gt;:hba0-enable-adapter-hard-loop-ID      0&lt;br /&gt;:devfs-path    /ssm@0,0/pci@19,700000/SUNW,qlc@1&lt;br /&gt;:driver-name   qlc&lt;br /&gt;:binding-name  pci1077,2300&lt;br /&gt;:bus-addr      1&lt;br /&gt;:instance      1&lt;br /&gt;:_class        scsi-fcp&lt;br /&gt;:name  SUNW,qlc&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;The other method is to use 'prtconf'. Here is an example:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-family:arial;font-size:85%;"  &gt;# prtconf -vp &gt; /tmp/prtconf.out&lt;br /&gt;# cd /tmp; vim prtconf.out&lt;br /&gt;&lt;br /&gt;     Node 0xf00fa738&lt;br /&gt;         port-wwn:  210000e0.8b111339&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;            node-wwn:  200000e0.8b111339&lt;/span&gt;&lt;br /&gt;         compatible: 'pci1077,2200.1077.4082.5' + 'pci1077,2200.1077.4082' + 'pci1077,4082' + 'pci1077,2200' + 'pciclass,010000' + 'pciclass,0100'&lt;br /&gt;         interrupts:  00000004&lt;br /&gt;         vendor-id:  '1077'&lt;br /&gt;         device-id:  '2200'&lt;br /&gt;         revision-id:  '5'&lt;br /&gt;         subsystem-id:  00004085&lt;br /&gt;         subsystem-vendor-id:  '1077'&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;            manufacturer:  'QLGC'&lt;/span&gt;&lt;br /&gt;         reg:  00000002.00030000.00000400.00000002.00030800.00000400&lt;br /&gt;         device_type:  'scsi-fcp'&lt;br /&gt;         name:  'SUNW,qlc'&lt;br /&gt;         version: 'ISP2200 Sbus FC-AL Host Adapter Driver: 1.13.07 09/16/02'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-1260844776169099834?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/1260844776169099834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=1260844776169099834' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/1260844776169099834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/1260844776169099834'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/02/how-to-get-hba-wwns-on-solaris.html' title='How to get HBA WWNs on Solaris'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-8533846321363858709</id><published>2007-02-22T20:37:00.000+08:00</published><updated>2007-02-22T21:37:27.957+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>How to catch an user defined error message</title><content type='html'>Recently I am working on a project. In this project, there is a database package in which I put all the related functions and procedures. I want a function to generate user defined errors while calling it directly in the hosting environment; meanwhile, I want the calling stored procedure to ignore some of the user generated errors if the function is being called by a stored procedure. The point here is to catch some user defined errors but not the oracle predefined errors.&lt;br /&gt;&lt;br /&gt;There is a RAISE_APPLICATION_ERROR statement in the function to generate the user defined error. e.g.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;function test&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;    return number&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;is&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;    e_no_rate_found exception;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;    raise e_no_rate_found;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;exception&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;    when e_no_rate_found then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;            raise_application_error(-20306, 'No rate found!');&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;end;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If this function is called directly from sqlplus, the user defined error -20306 will be raised. I want to ignore this error in a procedure which calls this function. Actually, it's same to catch an user defined error as to catch an oracle predefined error. Here we go. In the procedure, we could write the code block below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;declare&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;    e_no_rate_found exception;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;    pragma exception_init(e_no_rate_found, -20306);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;    call test;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;exception&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;    when e_no_rate_found then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;            NULL;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;end;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;The user defined error -20306 is associated with the user defined exception e_no_rate_found using exception_init pragma in the calling procedure.&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-8533846321363858709?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/8533846321363858709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=8533846321363858709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/8533846321363858709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/8533846321363858709'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/02/how-to-catch-user-defined-error-message.html' title='How to catch an user defined error message'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-5420818346692968576</id><published>2007-02-22T14:05:00.000+08:00</published><updated>2007-02-22T14:19:18.886+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>Solaris utility which can be used to connect to MS SQLServer</title><content type='html'>Sometimes we need to access MS SQLServer from Solaris platform. In many cases, we need to get  the data out of MS SQLServer and import it into Oracle. I wonder if there is any utility on Solaris which can do the similar things to what&lt;span style="font-style: italic; font-weight: bold;"&gt; isql&lt;/span&gt;(the interactive SQL client comes with MS SQLServer) can do on Windows platform. Here come two resources:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;One is called &lt;a style="font-weight: bold;" href="http://www.freetds.org/"&gt;FreeTDS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;There is one more tools using FreeTDS to connect to MS SQL Server. It's called &lt;a href="http://www.sqsh.org/"&gt;&lt;span style="font-weight: bold;"&gt;sqsh&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-5420818346692968576?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/5420818346692968576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=5420818346692968576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/5420818346692968576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/5420818346692968576'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/02/solaris-utility-which-can-be-used-to.html' title='Solaris utility which can be used to connect to MS SQLServer'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-1500436867391737960</id><published>2007-01-30T10:32:00.000+08:00</published><updated>2007-01-30T11:39:50.367+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Interesting things during housekeeping a database</title><content type='html'>These days I've been housekeeping a database. Some tablespaces were created inefficiently which all have unnecessary huge extent size 16MB. As a result, even most of segments in those tablespaces have only few rows, they still occupy at least 16MB. Since there are a lot of such segments, the database has grown unnecessarily big. My job is to move these segments out of the tablespaces and shrink their size.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Move small tables to the small-extent 128KB tablespaces. Move big tables and table partitions to the big-extent 16MB tablespaces. Moving tables must be done at first as the rows movement will invalidate all the associated indexes.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;select 'alter table '||owner||'.'||segment_name||' move tablespace '||&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;    case when bytes/1048576 &lt;&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;from dba_segments&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;where tablespace_name = 'ts_unnecessary_big' and segment_type = 'TABLE'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;union&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;select 'alter table '||owner||'.'||segment_name||' move partition '||&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;    partition_name||' tablespace ts_big;'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;from dba_segments&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;where tablespace_name = 'ts_unnecessary_big' and segment_type = 'TABLE PARTITION'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;order by 1;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;ul&gt;&lt;li&gt;Rebuild small indexes into the small-extent 128KB tablespaces. Rebuild big indexes and index partitions into the big-extent 1MB tablespaces.&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;select 'alter index '||owner||'.'||segment_name||' rebuild tablespace '||&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;case when bytes/1048576 &lt;&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;from dba_segments&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;where tablespace_name = 'ts_unnecessary_big' and segment_type = 'INDEX'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;union&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;select 'alter index '||owner||'.'||segment_name||' rebuild partition '||&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;    partition_name||' tablespace ts_big_idx nologging;'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;from dba_segments &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;where tablespace_name = 'ts_unnecessary_big' and segment_type = 'INDEX PARTITION'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;order by 1;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;&lt;ul style="color: rgb(0, 0, 0);"&gt;&lt;li&gt;Even the tablespaces into which those segments are being moved are created as locally managed and have uniformly small extents, the segments being moved into them will be created with a big initial extent which equals to their original size. After moving the segments, I need to deallocate the unused blocks and shrink their initial extent size. Firstly, I need to find out which segments are candidates to be deallocated. Probably whose initial extents are larger than the tablespace initial extent and the initial extent size is equal to it's segment size.&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;select 'alter table '||owner||'.'||segment_name||' deallocate unused keep 128k;'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;from dba_segments&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;where tablespace_name = 'ts_small'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;and segment_type = 'TABLE'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;and initial_extent != 128*1024 and initial_extent = bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;order by initial_extent;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Some interesting things show up during deallocating the segments:&lt;/span&gt;&lt;br /&gt;&lt;ol style="color: rgb(0, 0, 0);"&gt;&lt;li&gt;Some segments can be deallocated down to 128k, the tablespace initial extent size; some can NOT even their high watermark is not above 128k.&lt;/li&gt;&lt;li&gt;Some segments can be deallocated down to the nearest size to the high watermark; some can NOT.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Some statements will tell you how many unused blocks there are above the segment high watermark while some won't.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;After more aggressively changing 'keep 128k' to 'keep 64k' or down to another level, some segments which are not able to be shrank to 128k mentioned in point 1 have been deallocated to 128k.&lt;/li&gt;&lt;li&gt;After more aggressively changing 'keep 128k' to 'keep 64k' or down to another level, some segments which are not able to be shrank to their possibly smallest size in point 2 have been deallocated more.&lt;/li&gt;&lt;/ol&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;I need to invest more time to figure out these interesting things.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;&lt;span style="color: rgb(102, 0, 0); font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-1500436867391737960?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/1500436867391737960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=1500436867391737960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/1500436867391737960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/1500436867391737960'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/01/interesting-things-during-housekeeping.html' title='Interesting things during housekeeping a database'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-24465814707734040</id><published>2007-01-30T09:04:00.000+08:00</published><updated>2007-01-30T09:59:26.149+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Forward or backward?</title><content type='html'>Recently I was assigned to a project. Actually, the project itself is pretty simple in terms of business logic. There are only 4 screens which need to be maintained on the front-end web pages. The maintenance is also pretty straightforward. Users just want to insert, update, delete or get a report on the data. What about the data? The data itself is relatively static as well. Till now, everybody would think this project is easy to be done and the data would be easy to be manipulated. I could think it's enough to have up to 4 or 5 tables out there in the database.&lt;br /&gt;&lt;br /&gt;Wrong! The data model designed by somebody is extremely complicated. There are tens of tables in the database to support his idea and backup the front-end interface. This guy seems to live in a perfect world. He wants everything to be flexible. He wants users to control which table columns to be displayed on the web interface. He wants everything to be stored as their IDs rather than their real values. To find the real value, I need to come down 3 or more tables to fetch it. I could think even the simplest SQL needs to join 5 or more tables to get what we want. This guy wants to build a RDBMS system instead of an application on top of the Oracle RDBMS!&lt;br /&gt;&lt;br /&gt;Yes, he can say the model is very flexible. Users can control almost everything even the data type and some constraints. But the price we pay here is a hard-to-understand data model(sometimes even the designer himself has no idea what he's doing during project meetings, funny!), the inevitable database performance overhead and the unnecessary flexibility. Users may not want those flexibilities we introduce to them at all! Actually, He complicates things completely!&lt;br /&gt;&lt;br /&gt;I've been thinking about this. The database technology has been emerging for decades. From the layered database to the networking database to the relational database to the object-oriented database. One of the most important goals is to simplify the data model as much as possible so that developers can focus on the real business logic instead of the complicated data model. We do ours and you do yours! In this project, everything seems inversed! Instead of putting our effort to enforcing the business logic, we have to spend 90% of the project time to understand the data model, manipulate the data to stay consistent with one another. Is it really worth doing all of these? Are we going forward or backward? Time will tell!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-24465814707734040?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/24465814707734040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=24465814707734040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/24465814707734040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/24465814707734040'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2007/01/forward-or-backward.html' title='Forward or backward?'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-114784005155736162</id><published>2006-05-17T12:15:00.000+08:00</published><updated>2007-01-29T21:55:46.015+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>Install vim 7.0 on Solaris 10</title><content type='html'>Seems like I only have luck to compile vim source code and install it successfully on Solaris 9 with gcc 3.3.2. Since there is no vim 7.0 compiled package yet for Solaris, at least I couldn't find it on the &lt;a href="http://sunfreeware.com/"&gt;free SUN software website&lt;/a&gt;, I have to compile the source code by myself. I tried to install vim 7.0 on Solaris 10 with gcc 3.3.2 and Solaris 8 with gcc 3.4.2, neither was successful. I got errors while using make. It said there was something wrong in some .h header files.&lt;br /&gt;Well... here is an alternative to install. I am not sure if it's safe or stable, but so far so good. Since I successfully installed it on Solaris 9 with gcc 3.3.2, I use this compiled version as the source. Here we go.&lt;br /&gt;&lt;br /&gt;in the box in which I installed vim 7.0:&lt;br /&gt;$ tar cpvf vim70.tar vim70&lt;br /&gt;$ scp vim70.tar test:/tmp&lt;br /&gt;&lt;br /&gt;in the box in which I want to install vim 7.0:&lt;br /&gt;$ cd /tmp&lt;br /&gt;$ tar xvf vim70.tar&lt;br /&gt;$ cd vim70; make install&lt;br /&gt;&lt;br /&gt;That's all! Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-114784005155736162?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/114784005155736162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=114784005155736162' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/114784005155736162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/114784005155736162'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2006/05/install-vim-70-on-solaris-10.html' title='Install vim 7.0 on Solaris 10'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-113395055804253772</id><published>2005-12-07T17:55:00.000+08:00</published><updated>2007-04-26T13:52:37.946+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Configure Subversion server</title><content type='html'>It's surprisingly easy to configure Subversion server using SSH authentication. Actually, as long as SSH is in place, you don't need to set up anything extra to get the Subversion server working. Simply install the Subversion client into your client box, that's all you need to do.&lt;br /&gt;&lt;br /&gt;Here I give a sample:&lt;br /&gt;&lt;br /&gt;$ svn co svn+ssh://john@host/data/svn/myproject&lt;br /&gt;&lt;br /&gt;Of course, this is the simplest configuration to get started. There are some others which you can find in some svn book.&lt;br /&gt;&lt;br /&gt;Note: Only one thing you may be aware. You may need to modify /etc/default/login to set the initial shell path properly so that the SSH daemon can find where svnserve is. Otherwise, you will get error on the client side.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-113395055804253772?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/113395055804253772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=113395055804253772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113395055804253772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113395055804253772'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/12/configure-subversion-server.html' title='Configure Subversion server'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-113215062619629057</id><published>2005-11-16T22:10:00.000+08:00</published><updated>2005-11-16T22:17:06.493+08:00</updated><title type='text'>Invalid permissions after installing 10.2</title><content type='html'>Afeter installing Oracle 10gR2 on Solaris 64-bit, the permission bit of the directories and files under $ORACLE_HOME has been set incorrectly. A lot of directories and files have been set to &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;0&lt;/span&gt; for others. Hence they are inaccessbile for any other user. This is related to an Oracle bug 4516865. The Doc. 612605.992 in MetaLink discussed how to work around this problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-113215062619629057?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/113215062619629057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=113215062619629057' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113215062619629057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113215062619629057'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/11/invalid-permissions-after-installing.html' title='Invalid permissions after installing 10.2'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-113196250985340925</id><published>2005-11-14T17:54:00.000+08:00</published><updated>2005-11-14T18:01:49.863+08:00</updated><title type='text'>Triple size as the source table after copying tables through database links</title><content type='html'>Today I find out an interesting symptom. After copying tables from the source database in 9.2.0.5 to the target database in 10.1.0.2 via a database link, the size of every column related to CHAR including CHAR and VARCHAR2 in the target database is three times as large as the their source. There is no problem while using exp/imp to clone the tables from the source to the target. I suspect the different character sets in the 2 databases affect the result. It's UTF8 in the source DB as it's AL32UTF8 in the target DB.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-113196250985340925?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/113196250985340925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=113196250985340925' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113196250985340925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113196250985340925'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/11/triple-size-as-source-table-after.html' title='Triple size as the source table after copying tables through database links'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-113170151433869756</id><published>2005-11-11T17:24:00.000+08:00</published><updated>2007-02-23T15:10:33.283+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Database duplication using RMAN</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Scenario 1:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Starting on Nov. 3, 2005&lt;/span&gt;&lt;br /&gt;Duplicate ARBORBP without a password file and SQLNET connection, after restoring a full backup taken on Oct. 14, 2005, RMAN errors below appear&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00571:===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS===============&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00571:===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-03002: failure of Duplicate Db command at 11/04/2005 06:51:49&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-06136: ORACLE error from auxiliary database: ORA-01503: CREATE CONTROLFILE failed&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01990: error opening password file '/dg04/vol01/app/oracle/product/9.2/dbs/orapw'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-27037: unable to obtain file status&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;SVR4 Error: 2: No such file or directory&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion:&lt;/span&gt;&lt;br /&gt;A password file must be created before using RMAN to duplicate a database&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Scenario 2:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Starting on Nov. 4, 2005&lt;/span&gt;&lt;br /&gt;Creating a password file for the auxiliary instance TEST&lt;br /&gt;Add entry for TEST to listener.ora and tnsnames.ora as well&lt;br /&gt;Duplicate ARBORBP without specifying UNTIL clause, lasting for around 17 hours, after applying the incremental backup taken on Oct. 31, 2005, RMAN errors below appear&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Oracle Error:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01152: file 1 was not restored from a sufficiently old backup&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01110: data file 1: '/dg02/vol01/oradata/restore/system_01.dbf'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;released channel: ch1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00571: ===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00571: ===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-03002: failure of Duplicate Db command at 11/05/2005 14:33:05&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-03015: error occurred in stored script Memory Script&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-06053: unable to perform media recovery because of missing log&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-06025: no backup of log thread 1 seq 44833 scn 572637893394 found to restore&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-06025: no backup of log thread 1 seq 44832 scn 572637892189 found to restore&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-06025: no backup of log thread 1 seq 44831 scn 572637891001 found to restore&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-06025: no backup of log thread 1 seq 44830 scn 572637889406 found to restore&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion:&lt;/span&gt;&lt;br /&gt;This is a known problem of DUPLICATE command refers to Oracle Metalik Doc. 274118.1. You must make sure all the archived log required to clone a database have been backed up. UntilNov. 7, 2005, only the archived logs prior to 44635 have been backed up but not all. This caused this try to fail.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Scenario 3:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Starting on Nov. 8, 2005&lt;/span&gt;&lt;br /&gt;Specify the UNTIL clause 'sysdate - 2', date back to Nov. 6, 2005&lt;br /&gt;Since there is another incremental backup on Nov. 7, 2005, it's expected all the necessary archived log have already been backed up&lt;br /&gt;On Nov. 4, 2005, there is a new tablespace BCS2004 added into the DB, hence a new datafile. At the first try, there is no entry for the newly added datafile in RMAN command file. The below error appears.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00571: ===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00571: ===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-03002: failure of Duplicate Db command at 11/08/2005 10:31:08&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-05501: aborting duplication of target database&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-05001: auxiliary filename /dg02/vol04/oradata/arborbp/bcs2004_01.dbf conflicts with a file used by the target database&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;At the second try, an entry below added into RMAN command file to reflect this change.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;SET NEWNAME FOR DATAFILE 27 TO '/dg02/vol01/oradata/restore/bcs2004_01.dbf';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, still get the error below&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00571: ===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00571: ===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-03002: failure of Duplicate Db command at 11/08/2005 11:09:38&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-03015: error occurred in stored script Memory Script&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-06026: some targets not found - aborting restore&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-06023: no backup or copy of datafile 27 found to restore&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finally, the file entry is removed from the RMAN command file and a SKIP TABLESPACE claus is added to skip the newly added tablespace BCS2004. Moreover, to specify the point in time more accurately, using UNTIL SEQUENCE instead of TIME. A sequence number 44965 of the last archive log which has been backed up to tape on Nov. 7, 2005 has been specified. Without restoring the incremental backup taken on Nov. 7, 2005, the incremental backup taken on Oct. 31, 2005 has been applied. Afterwards, Oracle began to applying the archived log from 44635 which is generated right after finishing the incremental backup on Oct. 31, 2005. After applying around 200 archived logs without any problem, the below erros appear while encountering the log 44835.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00571: ===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00571: ===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-03002: failure of Duplicate Db command at 11/10/2005 05:16:51&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-03015: error occurred in stored script Memory Script&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00283: recovery session canceled due to errors&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-11003: failure during parse/execution of SQL statement: alter database recover logfile '/dg02/vol01/oradata/restore/arch/arch_1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;_44835.arc'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00283: recovery session canceled due to errors&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01244: unnamed datafile(s) added to controlfile by media recovery&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01110: data file 27: '/dg02/vol04/oradata/arborbp/bcs2004_01.dbf'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The log 44835 was produced on Nov. 4, 2005. The newly added datafile was recorded in it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion:&lt;/span&gt;&lt;br /&gt;You must use a full set of backups to duplicate a database. From the time when the latest inremental 0 backup is taken to a point in time you want the duplicating database recovered to, there should NOT be any structural change like adding datafile.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Scenario 4:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Starting on Nov. 10, 2005&lt;/span&gt;&lt;br /&gt;Still no entry for the newly added file and SKIP TABLESPACE BCS2004, this time the archived log 44640 is specified in SET UNTIL clause. This should meet all the requirements to duplicate a database. All the necessary logs have been backed up to tape; from the last incremental level 0 backup taken on Oct. 14, 2005 to the archived log 44640, no datafile has been added. There are 2 incremental level 1 backup taken on Oct. 24, 2005 and Oct. 31, 2005 respectively and a few number of archived logs between 44635 and 44640 to be applied.&lt;br /&gt;Without luck, got errors below again!&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01152: file 1 was not restored from a sufficiently old backup&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01110: data file 1: '/dg02/vol01/oradata/restore/system_01.dbf'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;released channel: ch1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00571: ===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-00571: ===========================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-03002: failure of Duplicate Db command at 11/11/2005 11:32:07&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-03015: error occurred in stored script Memory Script&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-06053: unable to perform media recovery because of missing log&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN-06025: no backup of log thread 1 seq 44635 scn 572614439208 found to restore&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After looking into the case, the root cause of this error is because we are using CONTROLFILE of the target database rather than the RMAN catalog. Due to the limited space in the controlfile, after finishing the incremental level 1 backup taken on Nov. 7, 2005, all the archived log backed up on Oct. 31, 2005 have been flushed out of the controlfile. Since 44635 is the last one, there is no trace of it.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN&gt; list backup of archivelog all completed before '31-oct-2005';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;RMAN&gt; exit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, all the archived logs from 44636 do exist in the control file since they have been backed up on Nov. 7, 2005 in the inremental level 1 backup.&lt;br /&gt;&lt;br /&gt;Finally things turn out to be a little simple! According to the Metalink Doc. 274118.1, I manually restored the required archived logs between 44635 and 44640 in the production database ARBORBP by connecting to the RMAN catalog. I then transferred them to the auxiliary box to be applied to the auxiliary instance. The rest of work is pretty straightforward! Using SQL*Plus to recover the auxiliary instance and open it with RESETLOGS option. I didn't bring the instance to 44640 since it's not necessary. I only brought it to 44638, a consistent state!&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;$ sqlplus /nolog&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;SQL*Plus: Release 9.2.0.5.0 - Production on Fri Nov 11 12:17:08 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;SQL&gt; connect / as sysdba&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Connected.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;SQL&gt; recover database using backup controlfile;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00279: change 572614439988 generated at 10/31/2005 17:28:33 needed for&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;thread 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00289: suggestion : /dg02/vol01/oradata/restore/arch/arch_1_44635.arc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00280: change 572614439988 for thread 1 is in sequence #44635&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Specify log: {&lt;ret&gt;=suggested | filename | AUTO | CANCEL}&lt;/ret&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00279: change 572614473618 generated at 10/31/2005 20:09:22 needed for&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;thread 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00289: suggestion : /dg02/vol01/oradata/restore/arch/arch_1_44636.arc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00280: change 572614473618 for thread 1 is in sequence #44636&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00278: log file '/dg02/vol01/oradata/restore/arch/arch_1_44635.arc' no&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;longer needed for this recovery&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Specify log: {&lt;ret&gt;=suggested | filename | AUTO | CANCEL}&lt;/ret&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;cacel&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00308: cannot open archived log 'cacel'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-27037: unable to obtain file status&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;SVR4 Error: 2: No such file or directory&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Additional information: 3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Specify log: {&lt;ret&gt;=suggested | filename | AUTO | CANCEL}&lt;/ret&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;CANCEL&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Media recovery cancelled.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;SQL&gt; alter database open resetlogs;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;alter database open resetlogs&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;*&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ERROR at line 1:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01113: file 1 needs media recovery&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01110: data file 1: '/dg02/vol01/oradata/restore/system_01.dbf'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;SQL&gt; recover database using backup controlfile;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00279: change 572614473618 generated at 10/31/2005 20:09:22 needed for&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;thread 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00289: suggestion : /dg02/vol01/oradata/restore/arch/arch_1_44636.arc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00280: change 572614473618 for thread 1 is in sequence #44636&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Specify log: {&lt;ret&gt;=suggested | filename | AUTO | CANCEL}&lt;/ret&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00279: change 572614824171 generated at 11/01/2005 06:06:40 needed for&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;thread 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00289: suggestion : /dg02/vol01/oradata/restore/arch/arch_1_44637.arc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00280: change 572614824171 for thread 1 is in sequence #44637&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00278: log file '/dg02/vol01/oradata/restore/arch/arch_1_44636.arc' no&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;longer needed for this recovery&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Specify log: {&lt;ret&gt;=suggested | filename | AUTO | CANCEL}&lt;/ret&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;CANCEL&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Media recovery cancelled.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;SQL&gt; alter database open resetlogs;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;alter database open resetlogs&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;*&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ERROR at line 1:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01113: file 1 needs media recovery&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-01110: data file 1: '/dg02/vol01/oradata/restore/system_01.dbf'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;SQL&gt; recover database until cancel using backup controlfile;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00279: change 572614824171 generated at 11/01/2005 06:06:40 needed for&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;thread 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00289: suggestion : /dg02/vol01/oradata/restore/arch/arch_1_44637.arc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00280: change 572614824171 for thread 1 is in sequence #44637&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Specify log: {&lt;ret&gt;=suggested | filename | AUTO | CANCEL}&lt;/ret&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00279: change 572614825088 generated at 11/01/2005 06:07:50 needed for&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;thread 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00289: suggestion : /dg02/vol01/oradata/restore/arch/arch_1_44638.arc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00280: change 572614825088 for thread 1 is in sequence #44638&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;ORA-00278: log file '/dg02/vol01/oradata/restore/arch/arch_1_44637.arc' no&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;longer needed for this recovery&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Specify log: {&lt;ret&gt;=suggested | filename | AUTO | CANCEL}&lt;/ret&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;CANCEL&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Media recovery cancelled.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;SQL&gt; alter database open resetlogs;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Database altered.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;SQL&gt; exit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Disconnected from Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;With the Partitioning, OLAP and Oracle Data Mining options&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;JServer Release 9.2.0.5.0 - Production&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-113170151433869756?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/113170151433869756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=113170151433869756' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113170151433869756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113170151433869756'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/11/database-duplication-using-rman.html' title='Database duplication using RMAN'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-113134341333831571</id><published>2005-11-07T14:03:00.000+08:00</published><updated>2005-11-07T14:03:34.996+08:00</updated><title type='text'>My problematic 7D get replaced yesterday</title><content type='html'>&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt; &lt;a href="http://www.flickr.com/photos/16943969@N00/60714679/" title="photo sharing"&gt;&lt;img src="http://static.flickr.com/33/60714679_a574f02bd9_m.jpg" alt="" style="border: solid 2px #000000;" /&gt;&lt;/a&gt; &lt;br /&gt; &lt;span style="font-size: 0.9em; margin-top: 0px;"&gt;  &lt;a href="http://www.flickr.com/photos/16943969@N00/60714679/"&gt;Lotus&lt;/a&gt;  &lt;br /&gt;  Originally uploaded by &lt;a href="http://www.flickr.com/people/16943969@N00/"&gt;Flyhorse@LonelyPlanet&lt;/a&gt;. &lt;/span&gt;&lt;/div&gt;Last saturday the shopper Digi 33 called me and said there are Minolta 7Ds available while I was on the way to Shen Zhen. Pretty excited since I was told previously I may have to wait for a long time.&lt;br /&gt;&lt;br /&gt;Well... yesterday I went to the shop to replace the problematic 7D. Again, obviously the so-called new 7D is not a brand-new one. I found out the S/N is even earlier than mine. With the caution, I thoroughly chcked it. There was some hair on the mirror and the WB button was moved. These made me very uncomfortable since the shopper is not honest at all! They even told me there is no way to replace once more and they were out of stock again! What they can do is to fix my problematic one! Jesus! I don't want them to fix my 7D. Who knows where they will bring my 7D, probably not the Minolta maintenance centre. I'd rather pay Minolta to fix it if I must fix it! Anyway, using my blower, I wiped the hair off the mirror. Through a thorough examination, there was not any other problem for the time being.&lt;br /&gt;&lt;br /&gt;My wife and I were going to Repulse Bay after the replacement. However, we decided to go to Hong Kong park to test this new 7D. This picture has been taken in the park yesterday. Using Sigma 70-210/2.8 at 210mm end, I took this picture without a tripod at f5.6@40 with ISO 100. Minolta's unique anti-shake function is pretty cool. This picture is very sharp even it's was taken at 1/40" at 210mm without a tripod.&lt;br clear="all" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-113134341333831571?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/113134341333831571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=113134341333831571' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113134341333831571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113134341333831571'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/11/my-problematic-7d-get-replaced.html' title='My problematic 7D get replaced yesterday'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-113092576370959437</id><published>2005-11-02T17:43:00.000+08:00</published><updated>2007-02-23T15:12:09.217+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='veritas'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>How to install Veritas DB Agent for Oracle on Solaris</title><content type='html'>Well... it's pretty straightforward. If you install from a CD natively, it won't be a problem; if you install from a CD remotely, you need to &lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;tar &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:100%;"&gt;the whole CD first and untar into a temporary directory in the target box as root. Simply run 'install' shell script and complete the installation by following the steps.&lt;br /&gt;&lt;br /&gt;After the installation, you need to make a symbolic link for the Media Manager library in the Oralce home.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;$ &gt; cd $ORACLE_HOME/lib&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;$ &gt; ln -s /usr/openv/netbackup/bin/libobk.so64.1 libobk.so&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, there is &lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;no need&lt;/span&gt;&lt;/span&gt; to relink the Oracle executable as some doc. ask you to do so. When you make a call in RMAN, the library will be linked dynamically by Oracle.&lt;br /&gt;&lt;br /&gt;To test the connectivity, run RMAN:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;RMAN&gt; run {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;2&gt; allocate channel ch1 device type 'sbt_tape' parms 'ENV=(NB_ORA_POLICY=ipdev_oracle,NB_ORA_SERV=maple)';&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;3&gt; }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;allocated channel: ch1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;channel ch1: sid=27 devtype=SBT_TAPE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;channel ch1: VERITAS NetBackup for Oracle - Release 5.1 (2004043016)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;released channel: ch1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A successful installation!&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-113092576370959437?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/113092576370959437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=113092576370959437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113092576370959437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113092576370959437'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/11/how-to-install-veritas-db-agent-for.html' title='How to install Veritas DB Agent for Oracle on Solaris'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-113074811176827305</id><published>2005-10-31T16:21:00.000+08:00</published><updated>2005-10-31T16:41:51.773+08:00</updated><title type='text'>A beautiful dusk</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3344/627/640/PICT0024.jpg"&gt;&lt;img style="CLEAR: all; FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3344/627/320/PICT0024.jpg" border="0" /&gt;&lt;/a&gt;     This picture has been taken by Minolta Dynax 7D at 6pm Oct. 30, 2005 while my wife and I was walking back to my parent's home.&lt;br /&gt;     Actually the visibility was not good at the day time. Everything looked gray. But close to dusk the sky turned clear. It's breezing softly. What a beautiful evening! The view was quite breath-taking at the time. Sun already sank and the street lamps were lit. The clouds formed a long beautiful curve and were being burned by the sunset glow.&amp;nbsp;&lt;a href='http://picasa.google.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbp.gif' alt='Posted by Picasa' style='border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;' align='middle' border='0' /&gt;&lt;/a&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-113074811176827305?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/113074811176827305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=113074811176827305' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113074811176827305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113074811176827305'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/10/beautiful-dusk.html' title='A beautiful dusk'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-113033727266538414</id><published>2005-10-26T22:34:00.000+08:00</published><updated>2005-10-26T22:39:01.466+08:00</updated><title type='text'>Photo Gallery: Best Wildlife Photos Announced</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://news.nationalgeographic.com/news/2005/10/images/051024_best_photos.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://news.nationalgeographic.com/news/2005/10/images/051024_best_photos.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Wildlife Photographer of the Year is the world's largest wildlife- photograph competition. Organized by London's Natural History Museum and BBC Wildlife Magazine, the 2005 competition's top images are on exhibit at the museum through April 23, 2006. The exhibition will then tour internationally.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://news.nationalgeographic.com/news/2005/10/1024_051024_best_photos.html"&gt;&lt;b&gt;Overall Winner: "Sky Chase"&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://news.nationalgeographic.com/news/2005/10/1024_051024_best_photos.html"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-113033727266538414?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/113033727266538414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=113033727266538414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113033727266538414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/113033727266538414'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/10/photo-gallery-best-wildlife-photos.html' title='Photo Gallery: Best Wildlife Photos Announced'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-112985394616151110</id><published>2005-10-21T08:19:00.000+08:00</published><updated>2007-01-31T09:17:36.912+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Learn Something New Every Day: Easy Connect Identifier</title><content type='html'>Prior to Oracle 10g, after creating a new database and configuring the listener, to connect to the DB from other box, you must first either create a TNSNAMES.ORA file in your local box or set up an entry for the DB in some name services (Oracle NAMES or LDAP). Sometimes it's annoying. Since Oracle 10g Release 1, you don't have to do this any more. Just like using thin JDBC to connect to a DB by providing host, port and SID, you can now easily connect to a DB via SQLNET by providing host, port and sevice name without any extra configuration.&lt;br /&gt;&lt;br /&gt;Pretty cool! Below are from Oracle SQL*Plus Documentation&lt;br /&gt;&lt;quote&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 0);font-family:times new roman;font-size:130%;"  &gt;&lt;span style="font-weight: bold;"&gt;Easy Connection Identifier&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 0);font-family:times new roman;" &gt;        The easy or abbreviated connection identifier has the syntax:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 0);font-family:times new roman;" &gt;        [//]host[:port][/[service_name]]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-weight: bold; color: rgb(153, 51, 0);font-family:times new roman;" &gt;Example 4–4&lt;/span&gt;&lt;span style="color: rgb(153, 51, 0);font-family:times new roman;" &gt; Start a command-line session to the sales database using the easy connection identifier&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 0);font-family:times new roman;" &gt;        sqlplus hr/password@sales-server:1521/sales.us.acme.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-weight: bold; color: rgb(153, 51, 0);font-family:times new roman;" &gt;Example 4–5&lt;/span&gt;&lt;span style="color: rgb(153, 51, 0);font-family:times new roman;" &gt; CONNECT to the sales database using the easy connection identifier&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 0);font-family:times new roman;" &gt;        connect hr/password@sales-server:1521/sales.us.acme.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 0);font-family:times new roman;" &gt; The easy connection identifier can be used wherever you can use a full connection identifier, or a net service name. The easy syntax is less complex, and no tnsnames.ora entry is required.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;However, through some tests, I found out you still have to put the below entry into SQLNET.ORA file. Otherwise, you will keep receiving ORA-12154 error either using 'sqlplus' or 'connect'. It's very frustrating!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:arial;"&gt;NAMES.DIRECTORY_PATH= (EZCONNECT, TNSNAMES)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;After adding the EZCONNECT entry, I tried the command line 'sqlplus' many times but without success. Below are some output. Still trying ... :-(&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;swong@sun:nemo &gt; sqlplus sysman@"mars:1521/flyhorse.domain"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;SQL*Plus: Release 10.1.0.2.0 - Production on Fri Oct 21 11:27:33 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Copyright (c) 1982, 2004, Oracle.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ERROR:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ORA-12514: TNS:listener does not currently know of service requested in connect&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;descriptor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Enter user-name: ^C&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;swong@sun:nemo &gt; sqlplus sysman@'mars:1521/flyhorse.domain'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;SQL*Plus: Release 10.1.0.2.0 - Production on Fri Oct 21 11:27:46 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Copyright (c) 1982, 2004, Oracle.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ERROR:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ORA-12514: TNS:listener does not currently know of service requested in connect&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;descriptor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Enter user-name: ^C&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;swong@sun:nemo &gt; sqlplus sysman@'//mars:1521/flyhorse.domain'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;SQL*Plus: Release 10.1.0.2.0 - Production on Fri Oct 21 11:27:53 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Copyright (c) 1982, 2004, Oracle.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Usage: SQLPLUS [ [] [&lt;logon&gt;] [&lt;start&gt;] ]&lt;/start&gt;&lt;/logon&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;where  ::= -H | -V | [ [-C &lt;v&gt;] [-L] [-M &lt;o&gt;] [-R &lt;n&gt;] [-S] ]&lt;/n&gt;&lt;/o&gt;&lt;/v&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;      &lt;logon&gt;  ::= &lt;username&gt;[/&lt;password&gt;][@&lt;connect_identifier&gt;] | / | /NOLOG&lt;/connect_identifier&gt;&lt;/password&gt;&lt;/username&gt;&lt;/logon&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;      &lt;start&gt;  ::= @&lt;url&gt;|&lt;filename&gt;[.&lt;ext&gt;] [&lt;parameter&gt; ...]&lt;/parameter&gt;&lt;/ext&gt;&lt;/filename&gt;&lt;/url&gt;&lt;/start&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-H" displays the SQL*Plus version banner and usage syntax&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-V" displays the SQL*Plus version banner&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-C" sets SQL*Plus compatibility version &lt;v&gt;&lt;/v&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-L" attempts log on just once&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-M &lt;o&gt;" uses HTML markup options &lt;o&gt;&lt;/o&gt;&lt;/o&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-R &lt;n&gt;" uses restricted mode &lt;n&gt;&lt;/n&gt;&lt;/n&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-S" uses silent mode&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;swong@sun:nemo &gt; sqlplus sysman@"//mars:1521/flyhorse.domain"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;SQL*Plus: Release 10.1.0.2.0 - Production on Fri Oct 21 11:28:00 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Copyright (c) 1982, 2004, Oracle.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Usage: SQLPLUS [ [] [&lt;logon&gt;] [&lt;start&gt;] ]&lt;/start&gt;&lt;/logon&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;where  ::= -H | -V | [ [-C &lt;v&gt;] [-L] [-M &lt;o&gt;] [-R &lt;n&gt;] [-S] ]&lt;/n&gt;&lt;/o&gt;&lt;/v&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;      &lt;logon&gt;  ::= &lt;username&gt;[/&lt;password&gt;][@&lt;connect_identifier&gt;] | / | /NOLOG&lt;/connect_identifier&gt;&lt;/password&gt;&lt;/username&gt;&lt;/logon&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;      &lt;start&gt;  ::= @&lt;url&gt;|&lt;filename&gt;[.&lt;ext&gt;] [&lt;parameter&gt; ...]&lt;/parameter&gt;&lt;/ext&gt;&lt;/filename&gt;&lt;/url&gt;&lt;/start&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-H" displays the SQL*Plus version banner and usage syntax&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-V" displays the SQL*Plus version banner&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-C" sets SQL*Plus compatibility version &lt;v&gt;&lt;/v&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-L" attempts log on just once&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-M &lt;o&gt;" uses HTML markup options &lt;o&gt;&lt;/o&gt;&lt;/o&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-R &lt;n&gt;" uses restricted mode &lt;n&gt;&lt;/n&gt;&lt;/n&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-S" uses silent mode&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;swong@sun:nemo &gt; sqlplus sysman@//mars:1521/flyhorse.domain&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;SQL*Plus: Release 10.1.0.2.0 - Production on Fri Oct 21 11:28:10 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Copyright (c) 1982, 2004, Oracle.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Usage: SQLPLUS [ [] [&lt;logon&gt;] [&lt;start&gt;] ]&lt;/start&gt;&lt;/logon&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;where  ::= -H | -V | [ [-C &lt;v&gt;] [-L] [-M &lt;o&gt;] [-R &lt;n&gt;] [-S] ]&lt;/n&gt;&lt;/o&gt;&lt;/v&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;      &lt;logon&gt;  ::= &lt;username&gt;[/&lt;password&gt;][@&lt;connect_identifier&gt;] | / | /NOLOG&lt;/connect_identifier&gt;&lt;/password&gt;&lt;/username&gt;&lt;/logon&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;      &lt;start&gt;  ::= @&lt;url&gt;|&lt;filename&gt;[.&lt;ext&gt;] [&lt;parameter&gt; ...]&lt;/parameter&gt;&lt;/ext&gt;&lt;/filename&gt;&lt;/url&gt;&lt;/start&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-H" displays the SQL*Plus version banner and usage syntax&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-V" displays the SQL*Plus version banner&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-C" sets SQL*Plus compatibility version &lt;v&gt;&lt;/v&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-L" attempts log on just once&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-M &lt;o&gt;" uses HTML markup options &lt;o&gt;&lt;/o&gt;&lt;/o&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-R &lt;n&gt;" uses restricted mode &lt;n&gt;&lt;/n&gt;&lt;/n&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        "-S" uses silent mode&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;swong@sun:nemo &gt; sqlplus sysman@mars:1521/flyhorse.domain&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;SQL*Plus: Release 10.1.0.2.0 - Production on Fri Oct 21 11:28:14 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Copyright (c) 1982, 2004, Oracle.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ERROR:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ORA-12514: TNS:listener does not currently know of service requested in connect&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;descriptor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Enter user-name: ^C&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I worked out another way to bypass this problem, that's using 'connect'. &lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;You need to enclose the connection identifier with quote marks!&lt;/span&gt; Here are some tests including both success and failure. Here we go!&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;swong@sun:nemo &gt; sqlplus /nolog&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;SQL*Plus: Release 10.1.0.2.0 - Production on Fri Oct 21 11:08:30 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Copyright (c) 1982, 2004, Oracle.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;11:08:31 connect sysman@"//mars:1521/flyhorse.domain"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Enter password:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Connected.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;11:08:48 sysman@flyhorse&gt; connect sysman@'//mars:1521/flyhorse.domain'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Enter password:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Connected.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;11:09:03 sysman@flyhorse&gt; connect sysman@//mars:1521/flyhorse.domain&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;SP2-0306: Invalid option.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Usage: CONN[ECT] [logon] [AS {SYSDBA|SYSOPER}]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;where &lt;logon&gt;  ::= &lt;username&gt;[/&lt;password&gt;][@&lt;connect_identifier&gt;] | /&lt;/connect_identifier&gt;&lt;/password&gt;&lt;/username&gt;&lt;/logon&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;11:09:16 sysman@flyhorse&gt; connect sysman@mars:1521/flyhorse.domain&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ERROR:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ORA-12514: TNS:listener does not currently know of service requested in connect descriptor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Warning: You are no longer connected to ORACLE.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;11:09:28 sysman@flyhorse&gt; connect sysman@"mars:1521/flyhorse.domain"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Enter password:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Connected.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;11:10:33 sysman@flyhorse&gt; connect sysman@'mars:1521/flyhorse.domain'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Enter password:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Connected.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Guess what? You still have to enclose the connection identifier with quote marks while using the command line 'sqlplus' no matter you use the double slashes or not. &lt;span style="font-weight: bold; color: rgb(102, 0, 0);"&gt;Slash doesn't matter but the quote marks really matter here! The only difference from 'connect' is you need an extra step, that's to escape the quote marks!&lt;/span&gt; It's Oracle to interpret the quote marks rather than Solaris (I am working on Solaris). So you need to pass the connection identifier with the quote marks to Oracle. Below are some samples.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;swong@sun:nemo &gt; sqlplus sysman@\"mars:1521/flyhorse.domain\"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;SQL*Plus: Release 10.1.0.2.0 - Production on Fri Oct 21 11:39:22 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Copyright (c) 1982, 2004, Oracle.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Enter password:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Connected to:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;With the Partitioning, OLAP and Data Mining options&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;11:39:27 sysman@flyhorse&gt; exit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;With the Partitioning, OLAP and Data Mining options&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;swong@sun:nemo &gt; sqlplus sysman@\'mars:1521/flyhorse.domain\'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;SQL*Plus: Release 10.1.0.2.0 - Production on Fri Oct 21 11:39:51 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Copyright (c) 1982, 2004, Oracle.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Enter password:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Connected to:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;With the Partitioning, OLAP and Data Mining options&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;11:39:53 sysman@flyhorse&gt; exit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;With the Partitioning, OLAP and Data Mining options&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;swong@sun:nemo &gt; sqlplus sysman@\"//mars:1521/flyhorse.domain\"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;SQL*Plus: Release 10.1.0.2.0 - Production on Fri Oct 21 11:40:35 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Copyright (c) 1982, 2004, Oracle.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Enter password:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Connected to:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;With the Partitioning, OLAP and Data Mining options&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;11:40:37 sysman@flyhorse&gt; exit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;With the Partitioning, OLAP and Data Mining options&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;swong@sun:nemo &gt; sqlplus sysman@\'//mars:1521/flyhorse.domain\'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;SQL*Plus: Release 10.1.0.2.0 - Production on Fri Oct 21 11:40:55 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Copyright (c) 1982, 2004, Oracle.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Enter password:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Connected to:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;With the Partitioning, OLAP and Data Mining options&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;11:40:58 sysman@flyhorse&gt; exit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;With the Partitioning, OLAP and Data Mining options&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This connection mechamism can also be used to create a database link.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 0);"&gt;17:17:11 ops$swong@FLYHORSE&gt; create database link report@user&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 0);"&gt;17:17:41   2  connect to user identified by password&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 0);"&gt;17:17:48   3  using 'mybox.com:1521/testdb.com';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 0);"&gt;Database link created.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 0);"&gt;Elapsed: 00:00:00.36&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/quote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-112985394616151110?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/112985394616151110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=112985394616151110' title='57 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112985394616151110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112985394616151110'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/10/learn-something-new-every-day-easy.html' title='Learn Something New Every Day: Easy Connect Identifier'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>57</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-112971775396639368</id><published>2005-10-19T17:49:00.000+08:00</published><updated>2005-10-19T18:29:13.973+08:00</updated><title type='text'>Most of films have been saved in this roll!</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3344/627/640/05990013.jpg"&gt;&lt;img style="CLEAR: all; FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3344/627/320/05990013.jpg" border="0" /&gt;&lt;/a&gt;       This roll of film is the 1st roll which I loaded into my Minolta 800si, one of two I brought with me for this Tibet trip. In the morning of Sep. 16, 2005, near the holy mountain Kailash, I loaded it in and took few pictures. At dawn on Sep. 19, 2005, the day after Chinese mid-autumn festival, while waiting for the sunrise at Gu Ge Dynasty, I took it out and used it again for those beautiful clouds in the morning sunlight as well as the Gu Ge Dynasty. Absolutely it's precious time for me and it's difficult to catch them again! Unfortunately, 2 days later, I opened the camera back accidentally while the whole roll has not been rolled back into the box! How careless I am! Usually rolls will be automatically rolled back after the last one has been exposed. The reason why it didn't work this time is because I changed the default setting in order to take 1 incompleted roll out for the future reload. However, I forgot to change it back. So the automatic rolling back was disabled. I didn't realize at the time and opened the back. Even I closed it almost in no time, but I know some of films must be fully exposed. I am even afraid all of them have been destroyed! Just like a nightmare! I had been blaming myself all the time. How come on the earth I am reckless like this! This is not me! But I know it happened. No matter how much I blame myself. The only one thing I wanna do is to print and develop this roll as soon as possible. However, I dare not to process it in Shi Quan He. I have to wait until we go back to Lhasa. Meanwhile, I was suffering from this. I was really angry at myself!&lt;br /&gt;&lt;br /&gt;After going back to Lhasa, I was going to process this roll in one pro-like shop. I just couldn't wait more. My wife told me not to do so there. "You've already been waiting for many days! Why don't you wait for few more and take all of them back to HK to process them safely and securely?" I was convinced again even I was dying to see the final impact.&lt;br /&gt;&lt;br /&gt;Finally I came back to HK and processed all the rolls. Thank God! Things were not like that bad as I thought previously! Only the last 10 films have been fully exposed but the rest are all preserved! Especially for those I took in that morning at Gu Ge Dynasty! The attached photo is one of them! Is it Kailash's blessing?&amp;nbsp;&lt;a href='http://picasa.google.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbp.gif' alt='Posted by Picasa' style='border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;' align='middle' border='0' /&gt;&lt;/a&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-112971775396639368?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/112971775396639368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=112971775396639368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112971775396639368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112971775396639368'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/10/most-of-films-have-been-saved-in-this.html' title='Most of films have been saved in this roll!'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-112970776428808518</id><published>2005-10-19T15:42:00.000+08:00</published><updated>2005-10-19T15:42:44.293+08:00</updated><title type='text'>Oracle Secure Backup (OSB) - a replacement for Veritas DB Agent for Oracle</title><content type='html'>Sounds cool! If it's the case, we don't have to buy Veritas DB agent for Oracle any more. Previously, we must buy Veritas DB agent for Oracle as well as NetBackup client to backup a Oracle DB directly to tape library. Otherwise, the tape library can only been seen by Veritas MML and unseen by RMAN. To backup a DB to offline tapes, we can only backup it to hard disks as a staging place first and load the backup files onto tapes later via NetBackup Client. Despite the inconvenience, this method will cause a lot of other problems such as availability and managebility. One of them is like this: RMAN thinks all the backups remain in the hard disks by the data in the repository, but actually they are not since they have been archived to offline storage. There will be always inconsistencies between RMAN repository and Veritas MM database.&lt;br /&gt;&lt;br /&gt;&lt;a href="In Oracle Database 10g Release 2, a new tool called Oracle Secure Backup (OSB), available in the first quarter of 2006, makes this requirement much more affordable by replacing the MML specific to third-party tape management systems. OSB can back up to a tape library directly, so you don't need any other media management layer. And, best of all, OSB is tightly integrated with the database engine and thus can be controlled and administered via Oracle Enterprise Manager."&gt;Oracle Database 10g Release 2: Top Features for DBAs&lt;/a&gt;: "In Oracle Database 10g Release 2, a new tool called Oracle Secure Backup (OSB), available in the first quarter of 2006, makes this requirement much more affordable by replacing the MML specific to third-party tape management systems. OSB can back up to a tape library directly, so you don't need any other media management layer. And, best of all, OSB is tightly integrated with the database engine and thus can be controlled and administered via Oracle Enterprise Manager."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-112970776428808518?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/112970776428808518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=112970776428808518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112970776428808518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112970776428808518'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/10/oracle-secure-backup-osb-replacement.html' title='Oracle Secure Backup (OSB) - a replacement for Veritas DB Agent for Oracle'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-112951775839955880</id><published>2005-10-17T10:55:00.000+08:00</published><updated>2005-10-17T10:56:00.186+08:00</updated><title type='text'>Oracle Database 10g Release 2: Online Limit Changes</title><content type='html'>This feature is pretty useful as we don't have to re-create the controlfile to make the changes any more. Previously, taking such an action is critical and dangerous. You must be very careful to rebuild the controlfile. Moreover, the database must be opened in RESETLOG mode and a lot of information will be lost during the process.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/pub/articles/10gdba/nanda_10gr2dba_part2.html"&gt;Oracle Database 10g Release 2: Top Features for DBAs&lt;/a&gt;: "Online Limit Changes&lt;br /&gt;&lt;br /&gt;&lt;Quote&gt;&lt;br /&gt;When you want change parameters defined during the creation of the database, such as MAXDATAFILES, MAXLOGFILES, and so on, what are your options? Prior to Oracle Database 10g Release 2, the only option is to follow these steps:&lt;br /&gt;&lt;br /&gt;   1. Take a backup of controlfile to trace.&lt;br /&gt;   2. Modify the parameter you want to change in that trace file.&lt;br /&gt;   3. Shut the database down.&lt;br /&gt;   4. Startup Mount.&lt;br /&gt;   5. Recreate the control file.&lt;br /&gt;   6. Open the database in RESETLOGS mode.&lt;br /&gt;&lt;br /&gt;Needless to say, this approach degrades availability. In addition, because RMAN keeps the metadata about backups in the control file as well as in the catalog, that information is lost during this process. The controlfile is created in RESETLOGS mode, so some backup information may be lost too.&lt;br /&gt;&lt;br /&gt;In Oracle Database 10g Release 2, you needn't recreate the control file to change these parameters. Thus, you do not have to lose the RMAN information stored there."&lt;br /&gt;&lt;/Quote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-112951775839955880?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/112951775839955880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=112951775839955880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112951775839955880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112951775839955880'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/10/oracle-database-10g-release-2-online.html' title='Oracle Database 10g Release 2: Online Limit Changes'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-112922781327515756</id><published>2005-10-14T01:53:00.000+08:00</published><updated>2005-10-14T02:23:33.280+08:00</updated><title type='text'>My first time to see a group of Tibetan Antelope</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3344/627/640/05880034.jpg"&gt;&lt;img style="CLEAR: all; FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3344/627/320/05880034.jpg" border="0" /&gt;&lt;/a&gt;        In the morning on Sep. 16, 2005, it's the first time in my life to see wild life, a group of Tibetan Antelope. They are such amazing animals, slim, alert and active. All the group members I encountered are male with long horns on their heads. Doubtlessly, three of us, meimei, my wife and I all felt very excited at the time. We were trying to get closer to them but without success. They were so alert and always sprung away when we still were 200 or 300m away from them. The electrical poles in the background are not harmonized with the whole natural environment but truly exist there. Do they feel strange about the poles or already get used to such civilization products? Who knows? This is reality, anyway. &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;The conflicts and collissions between the nature and our civilization progress!&lt;/span&gt; &lt;/strong&gt;Let's pray they will live a safe life forever on their own land!&amp;nbsp;&lt;a href='http://picasa.google.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbp.gif' alt='Posted by Picasa' style='border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;' align='middle' border='0' /&gt;&lt;/a&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-112922781327515756?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/112922781327515756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=112922781327515756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112922781327515756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112922781327515756'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/10/my-first-time-to-see-group-of-tibetan.html' title='My first time to see a group of Tibetan Antelope'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-112900737128438488</id><published>2005-10-11T13:09:00.000+08:00</published><updated>2005-10-11T13:09:31.306+08:00</updated><title type='text'>Google's New Service </title><content type='html'>个人一直都比较喜欢Google推出的各种新服务，不仅方便，而且实用。可以看出，Google一直在努力地提升着自己的服务，仍然是一家朝气蓬勃的公司，发展潜力依旧是巨大的！公司的竞争力也还在不断增强！昨天，继前一阶段推出了Google Talk之后，Google又在Google Lab里面推出了一个新服务的测试，名字叫Google Reader。大家看到这里，也许已经猜到了这项新服务的用处。对，它就是一个新闻阅读器，也是时下非常流行的RSS阅读器。那么，它和其它类似的RSS新闻阅读器差别又在哪里呢？又有什么特别之处呢？&lt;br /&gt;第一，最大的差别我想就是无需再安装软件或者插件，它是一个完全基于WEB的服务，只要你能够上网，任何一个浏览器都可以用到这个服务。由于所有订购的新闻都存储在Google服务器中，在何时何地我们都可以浏览自己感兴趣的新闻！省去了用OPML在软件之间来回导入导出的麻烦，而且，有些RSS阅读器还不支持OPML。&lt;br /&gt;第二，仍然是Google在这项新服务中集成了搜索功能，这也是Google的一贯宗旨。我们可以对自己感兴趣的话题进行查找，Google可以把相关的新闻源列出来，我们可以再从中选择然后进行订购。省去了自己在网上大海捞针式查找的麻烦。&lt;br /&gt;第三，标签功能也是必不可少的，这一概念也被其它的公司所逐渐采用，如Yahoo。具体应用在这项服务中，是对所订购的新闻源进行标签，一个新闻源可能与科学有关，同时又是关心健康的一些话题。这样，我们可以把这个新闻源同时标以科学和健康，便于准确定位。当然，只有在订购的新闻源数量特别多的时候才会体会到这项功能的方便性，道理和Gmail是一样的。&lt;br /&gt;此外的功能还有将自己感兴趣的某一具体话题用Starred标注起来。可以将话题直接Gmail给自己的朋友，也可以对话题直接进行博客等等。&lt;br /&gt;因为现阶段只是测试版本，相信Google还会对一些功能进行改良，并逐渐加入一些更加好的新的功能进来。&lt;br /&gt;大家可以到以下这个网址试用这个服务：&lt;br /&gt;&lt;br /&gt;http://reader.google.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-112900737128438488?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/112900737128438488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=112900737128438488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112900737128438488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112900737128438488'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/10/googles-new-service.html' title='Google&apos;s New Service &lt;Google Reader&gt;'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-112426713707059105</id><published>2005-08-17T14:44:00.000+08:00</published><updated>2005-08-17T16:25:37.960+08:00</updated><title type='text'>万事具备,只欠东风</title><content type='html'>朝思暮想的，魂牵梦萦的西藏之行终于就要实现了。四年，整整想了它四年，中间都因为种种因素而放弃。其中有个人的原因，也有工作的原因。今年想怎么着也得趁着新婚之喜，和老婆一起同游西藏，那一片对于我来说仍旧陌生，仍旧神秘的土地。&lt;br /&gt;在过去的四年中，不知有多少次就在它的旁边经过，在从那片土地上孕育出来的江河上穿过，在从那里延伸出来的山脉上走过，可就是无法踏足它。无奈，遗憾的同 时，想去的欲望也就越来越强烈。眼前总是不时出现它的影像，有从照片上获得的，也有自己的想象。甚至于，繁忙都市中偶尔一次晴朗的天，偶尔一丝凉爽的风都 能勾起我对西藏的遐想。&lt;br /&gt;终于，无法再忍受这种煎熬，和老婆商量决定了出行日期之后，于7月初便请了9月中的长假。搞得同事们都说用得着这么早请嘛，提前快3个月。可是要知道，请 3个星期，15个工作日的长假对于我来说是怎样的困难。我是做IT的，自从2000年IT不景之后，能生存下来已经很不容易了。可是，生存的代价便是无休 止的工作，一个人做以前几个人的活儿。而且这个职位上只有自己一个人，我离开了公司，就意味着没有人能够继续我的工作。所以，3个星期的长假能够获得批准 是非常难得的。这恐怕是我第一次请这么长时间的假期，也将会成为我最后一次，起码在这间公司。前几天，收到上级的邮件，说我这次是例外，以后最长只能请 10个工作天。也就是说，以后最多请17天假期。17天，怎么能够来得及走川藏？除非走马观花。所以，这一次的出行对我显得尤其重要。为了成行，我拼命地 工作，尽量减低在我离开公司期间出问题的可能性，尽量给领导好的印象，争取在成行之前完成今年设定的项目。总之，不惜一切来保证这次出行。可是，总有你计 划不到的情况出现，一个同事被通知成为陪审团的候选人，就在今天去报到！一旦被正式选为陪审团，就要上庭履行义务。如果开庭时间和我的放假时间有冲突，那 上级就很有可能取消我的假期，尽管已经批准了。毕竟，一个是社会责任，一个是私人理由。这就是为什么只欠东风的原因。大部分人，一生可能也不会被通知成为 陪审团候选人。可这个同事就偏偏在这个节骨眼上收到通知。虽然自己的工作他不能承担，但是监视服务器，报告问题他还是可以的，而这也是我不在公司期间能够 让他代为执行的一切，以前我放假也是此人代替我的职务。我想，现在我的心情一定比他本人还紧张（或许他丝毫不紧张）。我反而象是一个站在被告席上的被告， 已经完成了结案陈词，等着还没有成为陪审员的他履行着陪审员的义务，等着他口中Guilty或者Not Guilty的宣判。天知道，我是无罪的！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-112426713707059105?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/112426713707059105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=112426713707059105' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112426713707059105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112426713707059105'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/08/blog-post.html' title='万事具备,只欠东风'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-112251999242158577</id><published>2005-07-28T11:06:00.000+08:00</published><updated>2005-07-28T11:06:32.436+08:00</updated><title type='text'>Response time analysis for tuning Oracle SQL query</title><content type='html'>Jul. 21, 2005, Last Thursday I received a request from my manager to tune a SQL query statement. At the time, this SQL always take around 4 hours to finish. It's really an unacceptable response time!&lt;br&gt; &lt;br&gt; After receiving this request, the first thing came in my mind is the methodology, response time analysis. Throughout these years, the methods about how to tune the Oracle performance comes and goes. It has been being developed and revised. &lt;br&gt; &lt;br&gt; As the 1st generation, DBAs liked to use so-called ratio analysis. As the name indicated, people usually collect the hit ration of the various database SGA area from those statistics tables. After collecting people try to maximize the hit-ratio by enlarging the corresponding memory area and so forth. It's somewhat effective but most of time it's not. It does have it's own limitation as well.&lt;br&gt; &lt;br&gt; Afterwards, the wait analysis emerged. It measures what the database is really waiting for at the time. This improved much in tuning Oracle performance. Many DBAs including me are still using this method to tune SQL, most of time. It can tell you immediately what a running SQL is waiting. By concentrating on what caused the waits and reduce/eliminate them, most of time you can efficiently and effectively improve the SQL performance. However, it can only tell you what the DB is waiting for, it can NOT tell you where the majority of time is being consumed. That's why the response time analysis comes in place and take the role!&lt;br&gt; &lt;br&gt; The response time analysis measures how and where applications eat the time before the completion. It needs to turn on the Oracle trace feature. There is a lot of information in Oracle raw trace file as well as the TKPROF file produced from the raw file. By turn on TIME_STATISTICS parameter and enable the event 10046 trace, everything during the SQL execution could be recorded in raw trace file including CPU time, elapsed time, physical reads, consistent gets, db block gets and so on. You will be able to exactly know which part of a SQL consumes the time aggressively regardless the cache ratio and the waiting time. Hence you can focus on it and work against it!&lt;br clear="all"&gt;&lt;br&gt; Time to get back to the case! In this case, the wait analysis doesn't help much. There is always 'db file sequential read' in v$session_wait and a high CPU usage on OS level. Based on these facts, I really have no idea what's going on during the SQL execution. Even there is always 'db file sequential read' in v$session_wait, the total waited time is only a small portion of the total execution time told by v$session_event after finishing. So the root cause is neither an inefficient index nor the I/O problem. By turning on Oracle trace using 'oradebug' utility, I find out the root cause is there are too many consistent gets. The more the consistent gets, the longer elapsed time, the longer the CPU time. This also is the cause of the high CPU usage! This also bring another popular tuning topic out, minimizing the logical I/O. Once the logical I/O has been minimized, the physical ones will be minimized as well automatically. If you take care pennies, dollar will take care of itself! Following this clue, I also figure out the abnormal consistent gets are produced by the improper order of nested loops in the SQL execution plan generated by Oracle. By reversing the order, consistent gets dropped dramatically. From user's point of view, the response time dropped down by 87.5%, from original 80 minutes to 9 minutes! A big improvement!&lt;br&gt; &lt;br&gt;-- &lt;br&gt;Flyhorse@LonelyPlanet&lt;br&gt;=================================&lt;br&gt;Life can only be understood backwards,&lt;br&gt;but it must be lived forwards!&lt;br&gt;================================= &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-112251999242158577?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/112251999242158577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=112251999242158577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112251999242158577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/112251999242158577'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/07/response-time-analysis-for-tuning.html' title='Response time analysis for tuning Oracle SQL query'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-111797653242469902</id><published>2005-06-05T21:02:00.000+08:00</published><updated>2005-06-05T21:02:12.456+08:00</updated><title type='text'>My Web BETA - Yahoo!</title><content type='html'>&lt;a href="http://myweb.search.yahoo.com/myresults/myresults?tbff=1"&gt;My Web BETA - Yahoo!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yahoo! 最近退出了一个叫做My Web的服务,试用了一下,觉得想法相当不错!也许也是Internet发展的一个趋势!&lt;br /&gt;先简单介绍一下什么是My Web.基本概念就是把你感兴趣的网站或者网页收藏起来.你也是会说,这有什么稀奇,不是早就有了吗,IE早就可以把网站收藏到收藏夹里了.可是你想过没有,浏览器所做的只是把那些网站收藏到你的本地电脑里面.当你随身没有携带那部电脑而又想不起来你感兴趣的一个网站的地址怎么办?只好通过搜索引擎查找了.你也许又会说,反正现在搜索引擎很强大,应该可以找得到.可是,往往事实并非如此,搜索的结果也许让你非常泄气.如果时间紧迫,更是如此.有了Yahoo! My Web,你就无需担心了.你可以把你感兴趣的网站存在属于你自己的Yahoo! 帐户里,是在Yahoo!的服务器里,而不是你本人的电脑里!这样,无论你在哪里,只要你可以上网,便能够立即找到你感兴趣的网站!&lt;br /&gt;告诉你吧!还有一个更加强大,方便的功能,就是My Web不止可以存放你感兴趣的网页或者网站,而且还可以存放你当时浏览它们的拷贝,也就是一个Snapshot!这个有什么用?用处可大了!我们都知道,网页会不断地更新.你在之后通过一个网址看到的网页未必就是你之前在同一地址所看到的.原因就是内容被更新了.这时我们如果只对之前看到的内容感兴趣该怎么办?不要紧,My Web可以帮助你!在你将一个网址存到My Web的时候,可以选择同时也保存一份拷贝.同样,这份拷贝也是放在Yahoo的服务器里面的.这样一来,无论什么时候你需要看之前的内容的话,都可以通过My Web来办到.个人觉得这个功能非常有用!也是我喜欢My Web的最重要一点!&lt;br /&gt;另外还有一个功能就是可以把你曾经通过Yahoo搜索引擎查找所用过的关键字存下来.Google也提供有相同的功能.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-111797653242469902?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/111797653242469902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=111797653242469902' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111797653242469902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111797653242469902'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/06/my-web-beta-yahoo.html' title='My Web BETA - Yahoo!'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-111778644486773971</id><published>2005-06-03T16:14:00.000+08:00</published><updated>2005-06-03T16:14:04.876+08:00</updated><title type='text'>远期自助旅游 -- 05年春季西藏计划（阿里，珠峰，修订版） </title><content type='html'>&lt;a href="http://www.lvye.org/modules/lvyebb/viewtopic.php?view=1&amp;amp;post_id=1061969&amp;amp;mode=1"&gt;远期自助旅游 -- 05年春季西藏计划（阿里，珠峰，修订版） &lt;/a&gt;&lt;br /&gt;从绿野抄录的一个西藏阿里地区行程表，似乎还不错。可以借鉴一下！&lt;br /&gt;行程中包括两天冈仁波齐神山的转山，第一天23公里需时9小时，第二天32公里需时12小时。平均时速不到3公里，但由于高海拔，估计还是比较辛苦。必须要有心理准备。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-111778644486773971?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/111778644486773971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=111778644486773971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111778644486773971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111778644486773971'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/06/05.html' title='远期自助旅游 -- 05年春季西藏计划（阿里，珠峰，修订版） '/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-111728680061040576</id><published>2005-05-28T21:26:00.000+08:00</published><updated>2005-05-28T21:26:40.633+08:00</updated><title type='text'>Milnota Configuration</title><content type='html'>&lt;a href="http://flyhorse127.blogspot.com/"&gt;Flyhorse@LonelyPlanet&lt;/a&gt;&lt;br /&gt;www.kangrinpoche.com&lt;br /&gt;NB-2A, S-2A&lt;br /&gt;&lt;br /&gt;50/2.8, 20/2.8, 80-200/2.8G APO, 28-70/2.8G, 17-35/3.5G&lt;br /&gt;&lt;br /&gt;Gitzo 1226&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-111728680061040576?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/111728680061040576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=111728680061040576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111728680061040576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111728680061040576'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/05/milnota-configuration.html' title='Milnota Configuration'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-111718279127669374</id><published>2005-05-27T16:33:00.000+08:00</published><updated>2005-05-27T16:33:11.276+08:00</updated><title type='text'>香港相机商铺一览</title><content type='html'>&lt;a href="http://flyhorse127.blogspot.com/"&gt;Flyhorse@LonelyPlanet&lt;/a&gt;&lt;br /&gt;友好商戶推介&lt;br /&gt;　&lt;br /&gt;&lt;br /&gt;    * 先達 ND (買行水DC平)&lt;br /&gt;      九龍旺角亞皆老街 83號先達廣場壹樓 F68 號&lt;br /&gt;      ND Mongkok : 23805199&lt;br /&gt;      ND Wan Chai : 21470188&lt;br /&gt;      　&lt;br /&gt;    * 好世界攝影器材(買自捲film, SLR/DSLR+腳架等貨品比較平)&lt;br /&gt;      地址: 中環機利文新街8號地下&lt;br /&gt;      電話: 2543-5657&lt;br /&gt;      　&lt;br /&gt;    * 新三共 (買filter平)&lt;br /&gt;      地址: 尖沙咀彌敦道50號金域假日酒店G19地鋪&lt;br /&gt;      電話: 23670350&lt;br /&gt;      　&lt;br /&gt;    * 相機維修中心 (買step ring 齊)&lt;br /&gt;      地址: 尖沙咀 香檳大廈&lt;br /&gt;      電話: 2366 3002&lt;br /&gt;&lt;br /&gt;    *&lt;br /&gt;&lt;br /&gt;      旺角&lt;br /&gt;&lt;br /&gt;      先達 ND (買行水DC平)  &lt;br /&gt;      九龍旺角亞皆老街 83號先達廣場壹樓 F68 號&lt;br /&gt;      電話: 23805199&lt;br /&gt;&lt;br /&gt;      萬成攝影器材&lt;br /&gt;      九龍旺角通菜街 106 號地下&lt;br /&gt;      電話: 2396 2996&lt;br /&gt;&lt;br /&gt;      永成攝影器材&lt;br /&gt;      九龍旺角西洋菜街 66 號地下&lt;br /&gt;      電話: 2396 6886, 2396 6961&lt;br /&gt;&lt;br /&gt;      旺角鐳射&lt;br /&gt;      九龍旺角花園街 85-87 號地下&lt;br /&gt;      電話:  2391 5451&lt;br /&gt;      CITICALL Limited 雷射&lt;br /&gt;      G/F, 85-87 Fa Yuen Street, Mongkok, Kln.&lt;br /&gt;      CITICALL Limited 雷射&lt;br /&gt;      Shop 3-4, G/F, Mongkok City Centre, 74-78 Sai Yeung Choi St. South, Mongkok&lt;br /&gt;      CITICALL Limited 雷射&lt;br /&gt;      Shop G06-07, G/F, Hollywood Plaza, No. 610 Nathan Road, Mongkok, Kln.&lt;br /&gt;&lt;br /&gt;      Ultro Pro Computer LTD&lt;br /&gt;      Causeway Bay 皇室堡 1123-1124 (電話: 28817052)&lt;br /&gt;      Mongkok 先達 一樓 F88 (電話:  23803082)&lt;br /&gt;&lt;br /&gt;      莫斯科專門店&lt;br /&gt;      九龍旺角彌敦道信和中心閣樓 M25 店&lt;br /&gt;      電話: 2332 5765&lt;br /&gt;      　&lt;br /&gt;    *&lt;br /&gt;&lt;br /&gt;      尖沙咀、佐敦&lt;br /&gt;&lt;br /&gt;      新三共 (filter 抵)&lt;br /&gt;      尖沙咀彌敦道50號金域假日酒店G19地鋪&lt;br /&gt;      電話: 23670350&lt;br /&gt;&lt;br /&gt;      九龍生活攝影器材&lt;br /&gt;      九龍油麻地吳淞街 5 號地下&lt;br /&gt;      電話: 2384 9302&lt;br /&gt;&lt;br /&gt;      沙龍影音&lt;br /&gt;      九龍尖沙咀宜昌街 3 號地下 (HMV後面)&lt;br /&gt;      電話: 2376 0906&lt;br /&gt;&lt;br /&gt;      陳烘相機公司&lt;br /&gt;      九龍尖沙咀金巴利道 16 號香檳大廈 15 號&lt;br /&gt;      電話:  2723 3886&lt;br /&gt;&lt;br /&gt;      大家好&lt;br /&gt;      九龍尖沙咀金巴利道 16 號香檳大廈 B4 地下&lt;br /&gt;      電話: 2721 3761&lt;br /&gt;&lt;br /&gt;      天祥 (星期日下晝都開)&lt;br /&gt;      九龍尖沙咀彌敦道 100 號東英大廈 26 室&lt;br /&gt;      電話: 2722 1265&lt;br /&gt;&lt;br /&gt;      照相館&lt;br /&gt;      九龍尖沙咀彌敦道 100 號東英大廈 G36&lt;br /&gt;      電話: 2722 0068, 2722 0161&lt;br /&gt;&lt;br /&gt;      松屋影音&lt;br /&gt;      九龍尖沙咀彌敦道 83-97 號華源大廈 15 號&lt;br /&gt;      電話:  2724 0893&lt;br /&gt;&lt;br /&gt;      忠誠相機公司&lt;br /&gt;      九龍尖沙咀金巴利道 16 號香檳大廈地下商場 2 號舖&lt;br /&gt;      電話: 2721 2308, 2722 4299&lt;br /&gt;&lt;br /&gt;      好友相機公司&lt;br /&gt;      九龍尖沙咀彌敦道 100 號東英大廈 G1C&lt;br /&gt;      電話:  2368 7332&lt;br /&gt;&lt;br /&gt;      回音 Echo Photo &amp; Audio Ltd&lt;br /&gt;      尖沙咀漢口道14號&lt;br /&gt;      電話: 23760478,  23762523&lt;br /&gt;&lt;br /&gt;      金馬攝影器材公司&lt;br /&gt;      尖沙咀 凱悅酒店商場&lt;br /&gt;      電話：2369 1063&lt;br /&gt;&lt;br /&gt;      富山懾影材公司&lt;br /&gt;      尖沙咀 樂道&lt;br /&gt;      電話：2369 5677&lt;br /&gt;&lt;br /&gt;      影藝攝影器材公司&lt;br /&gt;      尖沙咀 香檳大廈&lt;br /&gt;      電話：2721 4391&lt;br /&gt;&lt;br /&gt;      相機服務中心&lt;br /&gt;      尖沙咀 香檳大廈&lt;br /&gt;      電話：2367 6548 傳真：2367 6567&lt;br /&gt;      　&lt;br /&gt;    *&lt;br /&gt;&lt;br /&gt;      深水步&lt;br /&gt;&lt;br /&gt;      遠達攝影器材公司&lt;br /&gt;      九龍青山道 74 號地下&lt;br /&gt;      電話:  2728 6783&lt;br /&gt;      　&lt;br /&gt;    *&lt;br /&gt;&lt;br /&gt;      中環 及上環&lt;br /&gt;&lt;br /&gt;      好世界攝影器材&lt;br /&gt;      中環機利文新街8號地下&lt;br /&gt;      電話:2543-5657 (Mon-Sat 9:30am-6:30pm)&lt;br /&gt;&lt;br /&gt;      攝影科學&lt;br /&gt;      香港中環士丹尼街 6 號地下&lt;br /&gt;      電話: 25229979&lt;br /&gt;&lt;br /&gt;      永佳攝影器材&lt;br /&gt;      香港中環士丹利街 28 號地下 (電話:25236916)&lt;br /&gt;      香港中環士丹利街 27 號地下 (電話:25234708 )&lt;br /&gt;&lt;br /&gt;      世界攝影器材有限公司&lt;br /&gt;      香港中環士丹利街 66 - 68 號地下&lt;br /&gt;      電話: 2523 2087, 2524 6249&lt;br /&gt;&lt;br /&gt;      中大攝影器材&lt;br /&gt;      香港中環域多利皇后街 13 號地下&lt;br /&gt;      電話: 2526 6281&lt;br /&gt;&lt;br /&gt;      鍾沛攝影器材行&lt;br /&gt;      香港中環士丹利街 40 號地下 (電話: 2868-4135)&lt;br /&gt;      廣大照相器材行 (電話: 25228648 )&lt;br /&gt;      香港中環士丹利街 32 號地下&lt;br /&gt;&lt;br /&gt;      興利相機公司&lt;br /&gt;      服務 : 香港中環擺花街 25 號地下&lt;br /&gt;      電話:  2544 7593, 2544 9043&lt;br /&gt;&lt;br /&gt;      美麗華相機音響公司&lt;br /&gt;      香港中環士丹利街 25 號地下 &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-111718279127669374?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/111718279127669374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=111718279127669374' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111718279127669374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111718279127669374'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/05/blog-post_27.html' title='香港相机商铺一览'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-111718229838551484</id><published>2005-05-27T16:24:00.000+08:00</published><updated>2005-05-27T16:24:58.393+08:00</updated><title type='text'>摄影真是一个无底洞</title><content type='html'>&lt;a href="http://flyhorse127.blogspot.com/"&gt;Flyhorse@LonelyPlanet&lt;/a&gt;&lt;br /&gt;为了实现今年去西藏的梦想,为了能让短暂的旅程变为永恒,为了好好的准备这次旅程,狠了狠心,在一些朋友怂恿之下买了一部二手的Minolta顶级专业35mm相机Maxxum 9.由此,便开始了在摄影器材上的执着.&lt;br /&gt;首先需要一个Tripod,这么好的一部相机,怎么着也不能随便买一部次的三角架吧?如果不好,那还不如不买.于是,又锁定了差不多最好的Gitzo.但实在狠不下心来买新的,太贵!&lt;br /&gt;其次,需要闪光灯,配合高级闪光灯,高速闪灯同步速度可以达到1/12000秒!没理由让这个功能浪费!而且,外置闪灯说什么也比内置的功能要强很多.以前用800si,也不是太多机会用闪光,内置的也凑合了.可是这部9,不能凑合,一切都要配合,否则,心里总是觉得个应!好吧,Minolta 5600HS又被加进了购物车中.&lt;br /&gt;镜头!原来的Sigma 28-200镜头AF对焦坏了,不止是自己坏,如果继续用,可能会损害到机身!而且,成像质量也一般.不能再继续用下去了!买一部好的,一定要买一部好的!我不是一个纯粹的品牌追求者,可是却是一个质量的高要求者.Sigma的28-70/2.8似乎还不错?那么就先锁定它吧!还是不够,以前的出行就觉得高不成,低不就,长焦不够长是广角不够广.哎,还需要一个广角外加一个增距镜.嗯,差不多了,好像齐活儿了!慢着!还有滤镜呢?起码得有保护性的UV和偏振镜吧?对于户外摄影,偏振镜可是必不可少的一种武器!&lt;br /&gt;就是这样,我在下坠,并且还没有看见底!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-111718229838551484?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/111718229838551484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=111718229838551484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111718229838551484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111718229838551484'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/05/blog-post.html' title='摄影真是一个无底洞'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-111718101695850626</id><published>2005-05-27T16:03:00.000+08:00</published><updated>2005-05-27T16:03:36.973+08:00</updated><title type='text'>还是Gmail最好用</title><content type='html'>&lt;a href="http://flyhorse127.blogspot.com/"&gt;Flyhorse@LonelyPlanet&lt;/a&gt;&lt;br /&gt;自从申请了Gmail以后,一直被它深深地吸引住.当然,同时也还在使用之前申请的一些邮件服务.一方面是为了做比较,另一方面是很多朋友已经不清楚我在使用哪个邮箱了.以至于在任何一个邮箱里我都可能收到来自一些朋友的邮件.&lt;br /&gt;在刚开始,我觉得Gmail好可能还是出于对它的新鲜感.可是,到今天,差不多申请了1年了,我仍然坚定不移地认为Gmail是我用过里面感觉最好的Web邮件服务.速度快(也许对内地用户并非如此,常常有人抱怨进不去),没有乱七八糟的广告,易操作性.所有这些都让我对Gmail情有独钟.而且,我们可以看到,Gmail还在不断改善它的服务,比如更好的中文支持,甚至有了中文界面,一度这是很多朋友抗拒使用它的主因.最近,存储容量也大幅增加,而且仍然在增加着.当然,很难知道是否真的有那么大,我想,没有多少人的邮箱可以达到2GB而去测试它的最大容量是否真的如它所说如此大.不过,仍旧说明了一个问题,就是Google一直在提升自己的服务!&lt;br /&gt;最不好用的当属MSN Hotmail,尽管它也许是拥有最大用户量的一个邮件服务,部分归功于它的即时通讯工具MSN Messenger.就其邮件服务来讲,真是不敢恭维.速度慢,而且没有什么定制功能.看一个附件需要层层进入.当然,我们了解这也许出于安全理由,可也实在不用如何繁琐,毕竟我们要在安全和操作性中间取得平衡.如果一个东西不好用,安全性再好,我想也没有多少人会喜欢.很后悔,当初居然付费买了Hotmail的大容量服务.如果再等几个月,我就会知道Gmail了.哎!事后诸葛亮!另外一个原因就是微软是最多惹人攻击的,它的邮件服务自然也不例外!垃圾邮件非常多,也许正由于这个原因,一些公司会封住Hotmail的网址禁止员工上去,本人公司便是如此!&lt;br /&gt;Yahoo!邮件还不错.容量也还过得去.就是垃圾邮件和广告多了些.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-111718101695850626?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/111718101695850626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=111718101695850626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111718101695850626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111718101695850626'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/05/gmail.html' title='还是Gmail最好用'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-111711968499829148</id><published>2005-05-26T23:01:00.000+08:00</published><updated>2005-05-26T23:01:25.003+08:00</updated><title type='text'></title><content type='html'>&lt;a href='http://photos1.blogger.com/img/273/3163/640/DSC_0167.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/273/3163/320/DSC_0167.jpg'&gt;&lt;/a&gt;&lt;br /&gt;My wife and myself in Yangshuo in Mar 2005&amp;nbsp;&lt;a href='http://www.hello.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbh.gif' alt='Posted by Hello' border='0' style='border:0px;padding:0px;background:transparent;' align='absmiddle'&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-111711968499829148?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/111711968499829148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=111711968499829148' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111711968499829148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/111711968499829148'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2005/05/my-wife-and-myself-in-yangshuo-in-mar.html' title=''/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-109941015384265713</id><published>2004-11-02T23:42:00.000+08:00</published><updated>2004-11-02T23:42:33.843+08:00</updated><title type='text'>A new powerful browser</title><content type='html'>&lt;a href="http://flyhorse-hk.blogspot.com/"&gt;Flying Horse @ This Lonely Planet&lt;/a&gt;&lt;br /&gt;Here I am going to recommend a new browser called 'firefox'. It's free, fast and stable!&lt;br /&gt;Feel free to download it!&lt;br /&gt;&lt;a href="http://www.mozilla.org/products/firefox/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-109941015384265713?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/109941015384265713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=109941015384265713' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/109941015384265713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/109941015384265713'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2004/11/new-powerful-browser.html' title='A new powerful browser'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-109901629169797781</id><published>2004-10-29T10:13:00.000+08:00</published><updated>2004-10-29T10:18:11.696+08:00</updated><title type='text'>A new powerful utility from Google</title><content type='html'>Hi everybody, here I'd like to recommend a new powerful software utility from Google to all of you! The software is called "Google Desktop Search". Just like the name, you can imagine what the software can offer. Yes! It will help you to lookup almost everything in your own PC as fast as WEB search using Google. Just a second, you will get what you want. I hope you all can enjoy using it! Give it a try!&lt;br /&gt;&lt;br /&gt;You can go to the site below to download and install this amazing software!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://desktop.google.com/"&gt;http://desktop.google.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-109901629169797781?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flyhorse127.blogspot.com/feeds/109901629169797781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8910665&amp;postID=109901629169797781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/109901629169797781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/109901629169797781'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2004/10/new-powerful-utility-from-google.html' title='A new powerful utility from Google'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8910665.post-109901541578749138</id><published>2004-10-29T09:48:00.000+08:00</published><updated>2004-10-29T10:03:35.786+08:00</updated><title type='text'>Welcome you all, my friends!</title><content type='html'>Hi, just found out this service via Google yesterday. Hope it's not too late.&lt;br /&gt;&lt;br /&gt;Anyways, I opened an account. From now onward, everybody can discuss here, our own community!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8910665-109901541578749138?l=flyhorse127.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/109901541578749138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8910665/posts/default/109901541578749138'/><link rel='alternate' type='text/html' href='http://flyhorse127.blogspot.com/2004/10/welcome-you-all-my-friends.html' title='Welcome you all, my friends!'/><author><name>秦人木夫(Ocean)</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://lh6.google.com/image/sean.wy/ReL40WLmEXI/AAAAAAAAABc/JGT2qADX4tg/s288/me_in_hkpark.JPG'/></author></entry></feed>
