<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[乌托邦——思想贩的自留地]]></title>
<link>http://www.5tobang.com/</link>
<description><![CDATA[人生就是如此]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[caijianchao@gmail.com(超哥)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>乌托邦——思想贩的自留地</title>
	<url>http://www.5tobang.com/images/logos.gif</url>
	<link>http://www.5tobang.com/</link>
	<description>乌托邦——思想贩的自留地</description>
</image>

			<item>
			<link>http://www.5tobang.com/article.asp?id=95</link>
			<title><![CDATA[年年岁岁花相似，岁岁年年人不同!]]></title>
			<author>caijianchao@gmail.com(nero)</author>
			<category><![CDATA[心情日志]]></category>
			<pubDate>Fri,12 Feb 2010 23:49:08 +0800</pubDate>
			<guid>http://www.5tobang.com/default.asp?id=95</guid>
		<description><![CDATA[天气好冷啊，全球变暖被俄罗斯黑客披露是本世纪最大的骗局，不能信春哥和曾哥，不然肯定死的很惨，电影连续剧害了多少人，造成多少剩男剩女～<br/><br/>独立之人格，自由之思想，一般人根本达不到，社会就是如此现实，提高自身其实很难，趁着今天没放爆竹，还比较清净，思考了一下自己～<br/><br/>长相：如果我身在泰国那还算好，身在中国就是小黑，间接造成了找老婆的困难，女生骨子里喜欢小帅哥，皮肤白，卖相好还是很有市场滴，说实话我对自己的皮肤都不满意，又没钱也没胆子跟michael学习～<br/><br/>身材：这点还算好，不胖不瘦，进来长了几斤猪肉，被我发现，加强了锻炼给消灭了，基本不吃肉，只吃鱼～<br/>性格：在一点点变好，看人越来越爽，比较能掌控自己的情绪，毕竟这世道都是打工的，都不容易，也不是台巴子企业环境压抑，男的当驴用，搞的人精神崩溃想砍人～<br/><br/>教育：感谢我党的关怀，自费小本，公费小硕，毕业后流动党支部还经常让我去接受学习，每年两次去景点一日游，感觉还是有组织的～<br/><br/>经济条件：跟新中国差不多，建立在一穷二白的基础上，还是感谢我党把我家给拆迁了，造了栋又高又大的乡村小别野，在加上装潢，后果是欠了点钱，倍感压力，不过现在很多女生喜欢公房，住上公房一是感觉是城里人了，一是和父母分开可以不用在装了，唉累啊～<br/><br/>家庭背景：倒，这是俺前20年苦难的来源，都是老实人没啥本事，小时候对我疏于管理，没教我啥厚黑术，结果是俺没啥心机，人又比较老实，老是被村上小朋友欺负，一般都是一群PK我一个，当然俺也不是吃素的，借助于砖头，铁棍，有时也能把几个送卫生院，不过还是我吃亏，每次都是伤痕累累，独自在角落里疗伤，崩，感觉像在写小说，可事实比小说还残酷～也间接造成了我性格里刚硬的成分～<br/><br/>气质：这个很大部分是遗传，还有就是读书了，腹有诗书气自华，书我算是读了不少了，气质却还是一乡村农夫，崩溃，这个对我打击很大～<br/><br/>人品：这个对我打击更大，崩，一次一个女生对我说你很好，但是我们不适合，崩盘，传说中的好人卡～逃命啊～<br/><br/><br/>综上所述，俺今年任重而道远，赚钱糊口还要团结一切可以团结的力量走进围城，还要确保自己不出意外，唉，人在江湖，身不由己，大家保重，睡觉时间到，崩～]]></description>
		</item>
		
			<item>
			<link>http://www.5tobang.com/article.asp?id=94</link>
			<title><![CDATA[2009小人物大事记，2010血仍未冷！]]></title>
			<author>caijianchao@gmail.com(nero)</author>
			<category><![CDATA[心情日志]]></category>
			<pubDate>Sat,06 Feb 2010 23:36:55 +0800</pubDate>
			<guid>http://www.5tobang.com/default.asp?id=94</guid>
		<description><![CDATA[人生天地间，若白驹过隙，忽然而已。在过两周就新年了，套用东坡大师的话，回首向来萧瑟处，归去也无风雨也无情。身为平凡小人物，也为了打发时间，MARK一下。<br/><br/>2009：<br/><br/>1.技术培训：OCP认证，旁听了几个ORACLE讲师的公开课，感觉照本宣科，语言枯燥，面目可憎，唉，但是照样有人去听，没办法，商业模式害死人啊，不培训，无证书，小花5000大米，其实感觉证书和厕纸差不多，可以忽悠一下HR，没啥鸟用，适合求职打酱油用～<br/><br/>2.跳槽：为了防止俺们跑路，居然把一个月工资的年终奖分成两次发，直到6月份才发完，五帝和王SIR提前跑路，居然那一半也省了～不过有一点还是值得肯定的，租了嘉定的顶级写字楼，马甲还是忽悠了很多人，7月一年合同到期，不准备干了，在家呆了2个月，天气太热，来回穿梭在市区写字楼和地铁之间，很多都是雷企，嘴上说的天王乱坠，感觉不靠谱，最后来到现在这家公司面试，面试官给了我很大的帮助，技术面试放过我了，后来第五轮技术面试虽然碰上了DBA killer不过还是进去了，没想到上月Killer也走了～唉，一声叹惜，两月期间，车费，书籍，来回奔波小花2000大米～<br/><br/>3.迷你小摩托：因嘉定离我家很近，电瓶车半个小时就到了，小花2500大米买了辆豪华型电瓶车，每天朝九晚五比较规律，结果一天清早发现被盗，第二天请假小花2500大米搞了辆燃油助力车，每天上下班必备，很好很强大。<br/><br/>4.小车祸：<br/>晚上下班在马路的十字路口等绿灯被小轿车碰撞，电瓶车被撞的面目全非，胳膊酸疼，获赔600大米，修掉150大米，还好人没事，车还在，可惜好景不长，还是被偷了～<br/><br/>5.出游<br/>09年去了很多地方，嘉兴南湖，海宁皮革城，苏州三山，东山雕花楼，常州中华恐龙园～回来途中丢失数码相机一部～，感觉很好。<br/><br/>6.写书<br/>平时历史和人文书籍看的比较多，大学深受李敖影响，酷爱收集历史人物黑资料，感觉历史就像一个小姑娘任人打扮，但自身水平有限功底不深，只有将来再说了～<br/><br/>总的来说，还是波澜不惊，平平淡淡就是真～]]></description>
		</item>
		
			<item>
			<link>http://www.5tobang.com/article.asp?id=93</link>
			<title><![CDATA[rlwrap终极解决方案]]></title>
			<author>caijianchao@gmail.com(nero)</author>
			<category><![CDATA[读书笔记]]></category>
			<pubDate>Fri,28 Aug 2009 10:48:10 +0800</pubDate>
			<guid>http://www.5tobang.com/default.asp?id=93</guid>
		<description><![CDATA[当在Linux Shell中运行SQL*Plus的时候，并不提供浏览历史命令行的功能。相反的，在Windows操作系统上，当在DOS命令窗口中运行SQL*Plus的时候，可以使用向上，向下键来跳回之前已经执行过的SQL语句。<br/>但是rlwrap可以实现，于是乎去下载了最新版的rlwrap-0.30.tar.gz,按照网上的步骤，结果编译出错，就是不行啊，在ITPUB，和CU论坛发帖问，也是无人解决～自己也琢磨了半天就是无解，于是准备换个思路用旧版本试试看，一试居然成功了，顶不住啊，感觉是柳暗花明又一村啊～<br/>安装步骤如下：<br/><br/>1.下载rlwrap-0.24，见附件，^_^<img src="http://www.5tobang.com/images/download.gif" alt="下载文件" style="margin:0px 2px -4px 0px"/> <a href="http://www.5tobang.com/attachments/month_0908/rlwrap-0.24.tar.gz" target="_blank">点击下载此文件</a><br/>～<br/>[root@nero /]# cd rlwrap-0.24<br/><br/>[root@nero rlwrap-0.24]# ls<br/>aclocal.m4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ChangeLog&nbsp;&nbsp;&nbsp;&nbsp;configure.ac&nbsp;&nbsp;INSTALL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;README&nbsp;&nbsp;tools<br/>AUTHORS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; completions&nbsp;&nbsp;COPYING&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Makefile.am&nbsp;&nbsp;src<br/>bash30-005.patch&nbsp;&nbsp;config.h.in&nbsp;&nbsp;distribution&nbsp;&nbsp;Makefile.in&nbsp;&nbsp;test<br/>BUGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;configure&nbsp;&nbsp;&nbsp;&nbsp;doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NEWS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TODO<br/>2.进行配置<br/>[root@nero rlwrap-0.24]# ./configure<br/>checking build system type... i686-pc-linux-gnu<br/>checking host system type... i686-pc-linux-gnu<br/>checking for a BSD-compatible install... /usr/bin/install -c<br/>checking whether build environment is sane... yes<br/>checking for gawk... gawk<br/>checking whether make sets $(MAKE)... yes<br/>checking for a BSD-compatible install... /usr/bin/install -c<br/>checking whether make sets $(MAKE)... (cached) yes<br/>ENABLE ENZ &lt;&gt;<br/>ENABLE ENZ &lt;&gt;<br/>checking for gcc... gcc<br/>checking for C compiler default output file name... a.out<br/>checking whether the C compiler works... yes<br/>checking whether we are cross compiling... no<br/>checking for suffix of executables...<br/>checking for suffix of object files... o<br/>checking whether we are using the GNU C compiler... yes<br/>checking whether gcc accepts -g... yes<br/>checking for gcc option to accept ANSI C... none needed<br/>checking for style of include used by make... GNU<br/>checking dependency style of gcc... gcc3<br/>checking how to run the C preprocessor... gcc -E<br/>checking for perl... /usr/bin/perl<br/>checking for strip... strip<br/>checking for egrep... grep -E<br/>checking for ANSI C header files... yes<br/>checking for sys/wait.h that is POSIX.1 compatible... yes<br/>checking for sys/types.h... yes<br/>checking for sys/stat.h... yes<br/>checking for stdlib.h... yes<br/>checking for string.h... yes<br/>checking for memory.h... yes<br/>checking for strings.h... yes<br/>checking for inttypes.h... yes<br/>checking for stdint.h... yes<br/>checking for unistd.h... yes<br/>checking errno.h usability... yes<br/>checking errno.h presence... yes<br/>checking for errno.h... yes<br/>checking fcntl.h usability... yes<br/>checking fcntl.h presence... yes<br/>checking for fcntl.h... yes<br/>checking for stdlib.h... (cached) yes<br/>checking for string.h... (cached) yes<br/>checking sys/ioctl.h usability... yes<br/>checking sys/ioctl.h presence... yes<br/>checking for sys/ioctl.h... yes<br/>checking for sys/wait.h... (cached) yes<br/>checking stddef.h usability... yes<br/>checking stddef.h presence... yes<br/>checking for stddef.h... yes<br/>checking termios.h usability... yes<br/>checking termios.h presence... yes<br/>checking for termios.h... yes<br/>checking for unistd.h... (cached) yes<br/>checking time.h usability... yes<br/>checking time.h presence... yes<br/>checking for time.h... yes<br/>checking getopt.h usability... yes<br/>checking getopt.h presence... yes<br/>checking for getopt.h... yes<br/>checking whether term.h exists and compiles... yes<br/>checking whether your getopt() correctly understands double colons in option string... yes<br/>checking for an ANSI C-conforming const... yes<br/>checking for pid_t... yes<br/>checking whether time.h and sys/time.h may both be included... yes<br/>checking whether gcc needs -traditional... no<br/>checking return type of signal handlers... void<br/>checking for getopt_long... yes<br/>checking for sel&#101;ct... yes<br/>checking for snprintf... yes<br/>checking for strlcpy... no<br/>checking for strlcat... no<br/>checking for strnlen... yes<br/>checking for getopt_long... (cached) yes<br/>checking for setsid... yes<br/>checking for isastream... yes<br/>checking for mkstemp... yes<br/>checking for system... yes<br/>checking for openpty... no<br/>checking for _getpty... no<br/>checking for grantpt... yes<br/>checking for unlockpt... yes<br/>checking for getpt... yes<br/>checking for pty/tty type... GLIBC<br/>configure: checking for pty ranges...<br/>checking for tgetent... no<br/>checking for tgetent in -lcurses... yes<br/>checking for readline in -lreadline... yes<br/>checking whether your readline knows about rl_set_screen_size... yes<br/>Will rlwrap find command&#39;s working directory under /proc/&lt;commands pid&gt;/cwd? let&#39;s see...<br/>checking for /proc/9130/cwd/configure.ac... yes<br/><br/><br/>configure: creating ./config.status<br/>config.status: creating Makefile<br/>config.status: creating doc/Makefile<br/>config.status: creating src/Makefile<br/>config.status: creating doc/rlwrap.man<br/>config.status: creating distribution/rlwrap.spec<br/>config.status: creating config.h<br/>config.status: executing depfiles commands<br/><br/>Now do:<br/>&nbsp;&nbsp;&nbsp;&nbsp;make (or gmake)&nbsp;&nbsp;to build rlwrap<br/>&nbsp;&nbsp;&nbsp;&nbsp;make check&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for instructions how to test it<br/>&nbsp;&nbsp;&nbsp;&nbsp;make install&nbsp;&nbsp;&nbsp;&nbsp; to install it<br/><br/>3.编译<br/><br/>[root@nero rlwrap-0.24]# make<br/>make&nbsp;&nbsp;all-recursive<br/>make[1]: Entering directory `/rlwrap-0.24&#39;<br/>Making all in doc<br/>make[2]: Entering directory `/rlwrap-0.24/doc&#39;<br/>sed -e &#39;s#@DATADIR@#/usr/local/share#&#39;&nbsp;&nbsp;rlwrap.man &gt; rlwrap.1<br/>make[2]: Leaving directory `/rlwrap-0.24/doc&#39;<br/>Making all in src<br/>make[2]: Entering directory `/rlwrap-0.24/src&#39;<br/>source=&#39;main.c&#39; object=&#39;main.o&#39; libtool=no \<br/>depfile=&#39;.deps/main.Po&#39; tmpdepfile=&#39;.deps/main.TPo&#39; \<br/>depmode=gcc3 /bin/sh ../tools/depcomp \<br/>gcc -DHAVE_CONFIG_H -I. -I. -I..&nbsp;&nbsp;&nbsp;&nbsp;-DDATADIR=\&#34;/usr/local/share\&#34;&nbsp;&nbsp;-g -O2 -c `test -f &#39;main.c&#39; || echo &#39;./&#39;`main.c<br/>source=&#39;signals.c&#39; object=&#39;signals.o&#39; libtool=no \<br/>depfile=&#39;.deps/signals.Po&#39; tmpdepfile=&#39;.deps/signals.TPo&#39; \<br/>depmode=gcc3 /bin/sh ../tools/depcomp \<br/>gcc -DHAVE_CONFIG_H -I. -I. -I..&nbsp;&nbsp;&nbsp;&nbsp;-DDATADIR=\&#34;/usr/local/share\&#34;&nbsp;&nbsp;-g -O2 -c `test -f &#39;signals.c&#39; || echo &#39;./&#39;`signals.c<br/>source=&#39;utils.c&#39; object=&#39;utils.o&#39; libtool=no \<br/>depfile=&#39;.deps/utils.Po&#39; tmpdepfile=&#39;.deps/utils.TPo&#39; \<br/>depmode=gcc3 /bin/sh ../tools/depcomp \<br/>gcc -DHAVE_CONFIG_H -I. -I. -I..&nbsp;&nbsp;&nbsp;&nbsp;-DDATADIR=\&#34;/usr/local/share\&#34;&nbsp;&nbsp;-g -O2 -c `test -f &#39;utils.c&#39; || echo &#39;./&#39;`utils.c<br/>source=&#39;readline.c&#39; object=&#39;readline.o&#39; libtool=no \<br/>depfile=&#39;.deps/readline.Po&#39; tmpdepfile=&#39;.deps/readline.TPo&#39; \<br/>depmode=gcc3 /bin/sh ../tools/depcomp \<br/>gcc -DHAVE_CONFIG_H -I. -I. -I..&nbsp;&nbsp;&nbsp;&nbsp;-DDATADIR=\&#34;/usr/local/share\&#34;&nbsp;&nbsp;-g -O2 -c `test -f &#39;readline.c&#39; || echo &#39;./&#39;`readline.c<br/>source=&#39;pty.c&#39; object=&#39;pty.o&#39; libtool=no \<br/>depfile=&#39;.deps/pty.Po&#39; tmpdepfile=&#39;.deps/pty.TPo&#39; \<br/>depmode=gcc3 /bin/sh ../tools/depcomp \<br/>gcc -DHAVE_CONFIG_H -I. -I. -I..&nbsp;&nbsp;&nbsp;&nbsp;-DDATADIR=\&#34;/usr/local/share\&#34;&nbsp;&nbsp;-g -O2 -c `test -f &#39;pty.c&#39; || echo &#39;./&#39;`pty.c<br/>source=&#39;completion.c&#39; object=&#39;completion.o&#39; libtool=no \<br/>depfile=&#39;.deps/completion.Po&#39; tmpdepfile=&#39;.deps/completion.TPo&#39; \<br/>depmode=gcc3 /bin/sh ../tools/depcomp \<br/>gcc -DHAVE_CONFIG_H -I. -I. -I..&nbsp;&nbsp;&nbsp;&nbsp;-DDATADIR=\&#34;/usr/local/share\&#34;&nbsp;&nbsp;-g -O2 -c `test -f &#39;completion.c&#39; || echo &#39;./&#39;`completion.c<br/>source=&#39;term.c&#39; object=&#39;term.o&#39; libtool=no \<br/>depfile=&#39;.deps/term.Po&#39; tmpdepfile=&#39;.deps/term.TPo&#39; \<br/>depmode=gcc3 /bin/sh ../tools/depcomp \<br/>gcc -DHAVE_CONFIG_H -I. -I. -I..&nbsp;&nbsp;&nbsp;&nbsp;-DDATADIR=\&#34;/usr/local/share\&#34;&nbsp;&nbsp;-g -O2 -c `test -f &#39;term.c&#39; || echo &#39;./&#39;`term.c<br/>source=&#39;ptytty.c&#39; object=&#39;ptytty.o&#39; libtool=no \<br/>depfile=&#39;.deps/ptytty.Po&#39; tmpdepfile=&#39;.deps/ptytty.TPo&#39; \<br/>depmode=gcc3 /bin/sh ../tools/depcomp \<br/>gcc -DHAVE_CONFIG_H -I. -I. -I..&nbsp;&nbsp;&nbsp;&nbsp;-DDATADIR=\&#34;/usr/local/share\&#34;&nbsp;&nbsp;-g -O2 -c `test -f &#39;ptytty.c&#39; || echo &#39;./&#39;`ptytty.c<br/>gcc -DDATADIR=\&#34;/usr/local/share\&#34;&nbsp;&nbsp;-g -O2&nbsp;&nbsp; -o rlwrap&nbsp;&nbsp;main.o signals.o utils.o readline.o pty.o completion.o term.o ptytty.o&nbsp;&nbsp;-lreadline -lcurses<br/>make[2]: Leaving directory `/rlwrap-0.24/src&#39;<br/>make[2]: Entering directory `/rlwrap-0.24&#39;<br/>make[2]: Nothing to be done for `all-am&#39;.<br/>make[2]: Leaving directory `/rlwrap-0.24&#39;<br/>make[1]: Leaving directory `/rlwrap-0.24&#39;<br/><br/>4.安装<br/><br/>[root@nero rlwrap-0.24]# make install<br/>Making install in doc<br/>make[1]: Entering directory `/rlwrap-0.24/doc&#39;<br/>make[2]: Entering directory `/rlwrap-0.24/doc&#39;<br/>make[2]: Nothing to be done for `install-exec-am&#39;.<br/>/bin/sh ../tools/mkinstalldirs /usr/local/man/man1<br/>mkdir -p -- /usr/local/man/man1<br/> /usr/bin/install -c -m 644 ./rlwrap.1 /usr/local/man/man1/rlwrap.1<br/>make[2]: Leaving directory `/rlwrap-0.24/doc&#39;<br/>make[1]: Leaving directory `/rlwrap-0.24/doc&#39;<br/>Making install in src<br/>make[1]: Entering directory `/rlwrap-0.24/src&#39;<br/>make[2]: Entering directory `/rlwrap-0.24/src&#39;<br/>/bin/sh ../tools/mkinstalldirs /usr/local/bin<br/>&nbsp;&nbsp;/usr/bin/install -c rlwrap /usr/local/bin/rlwrap<br/>make[2]: Nothing to be done for `install-data-am&#39;.<br/>make[2]: Leaving directory `/rlwrap-0.24/src&#39;<br/>make[1]: Leaving directory `/rlwrap-0.24/src&#39;<br/>make[1]: Entering directory `/rlwrap-0.24&#39;<br/>make[2]: Entering directory `/rlwrap-0.24&#39;<br/>make[2]: Nothing to be done for `install-exec-am&#39;.<br/>/bin/sh ./tools/mkinstalldirs /usr/local/share/rlwrap<br/>mkdir -p -- /usr/local/share/rlwrap<br/> /usr/bin/install -c -m 644 completions/ftp /usr/local/share/rlwrap/ftp<br/> /usr/bin/install -c -m 644 completions/testclient /usr/local/share/rlwrap/testclient<br/>make[2]: Leaving directory `/rlwrap-0.24&#39;<br/>make[1]: Leaving directory `/rlwrap-0.24&#39;<br/><br/>5.OK了<br/><br/>[root@nero rlwrap-0.24]# rlwrap<br/>Usage: rlwrap [options] command ...<br/><br/>Options:<br/>&nbsp;&nbsp; -a, --always-readline[=password:]<br/>&nbsp;&nbsp; -b, --break-chars &lt;chars&gt;<br/>&nbsp;&nbsp; -c, --complete-filenames<br/>&nbsp;&nbsp; -C, --command-name &lt;name|N&gt;<br/>&nbsp;&nbsp; -f, --file &lt;file&gt;<br/>&nbsp;&nbsp; -h, --help<br/>&nbsp;&nbsp; -H, --history-filename &lt;file&gt;<br/>&nbsp;&nbsp; -i, --case-insensitive<br/>&nbsp;&nbsp; -l, --logfile &lt;file&gt;<br/>&nbsp;&nbsp; -n, --no-warnings<br/>&nbsp;&nbsp; -m, --multi-line[=newline substitute]<br/>&nbsp;&nbsp; -r, --remember<br/>&nbsp;&nbsp; -v, --version<br/>&nbsp;&nbsp; -s, --histsize &lt;size&gt;&nbsp;&nbsp;(negative: readonly)<br/><br/>bug reports, suggestions, up&#100;ates:<br/><a href="http://utopia.knoware.nl/~hlub/uck/rlwrap/" target="_blank" rel="external">http://utopia.knoware.nl/~hlub/uck/rlwrap/</a><br/>[root@nero rlwrap-0.24]# vi /home/oracle/.bash_profile<br/>添加<br/>alias sqlplus=&#39;rlwrap sqlplus&#39;<br/>alias rman=&#39;rlwrap rman&#39;<br/>[root@nero rlwrap-0.24]# su - o&#114;acle<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;sqlplus / as sysdba<br/><br/><br/><br/>OK，大功告成，现在就具备了，记忆历史命令行的功能，大功告成了～<br/><br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.5tobang.com/article.asp?id=92</link>
			<title><![CDATA[Oracle 9i&amp;10g编程艺术1]]></title>
			<author>caijianchao@gmail.com(nero)</author>
			<category><![CDATA[读书笔记]]></category>
			<pubDate>Thu,27 Aug 2009 12:04:41 +0800</pubDate>
			<guid>http://www.5tobang.com/default.asp?id=92</guid>
		<description><![CDATA[每本书的开头是哥们作序，然后作者自序，呵呵，其实就是互相吹捧啦，不过吹的还不错啊，现摘要经典吹水语句～～<br/>* 不要相信神话，要自己思考。&nbsp;&nbsp;<br/>* 不要墨守成规，所有人都知道的事情其实很可能是错的！&nbsp;&nbsp;<br/>* 不要相信传言，要自己测试，根据经过证明的示例做出决定。<br/>* 将问题分解为更简单的小问题，再把每一步的答案组合为一个优秀、高效的解决方案。&nbsp;&nbsp;<br/>* 如果数据库能更好、更快地完成工作，就不要事必躬亲地自己编写程序来完成。&nbsp;&nbsp;<br/>* 理解理想和现实之间的差距。&nbsp;&nbsp;<br/>* 对于公司制定的未加证实的技术标准，要敢于提出质疑。&nbsp;&nbsp;<br/>* 要针对当前需求从大局考虑怎样做最好。&nbsp;&nbsp;<br/>* 要花时间充分地思考。&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thomas 建议，不要只是把 o&#114;acle 当作一个黑盒。你不只是在 o&#114;acle 中放入和取出数据。他会帮助你理解 o&#114;acle 是如何工作的，如何充分利用它强大的能力。通过学习如何深思熟虑地、创造性地应用Oracle 技术，你会更快、更好地解决大多数应用设计问题。&nbsp;&nbsp;<br/><br/>通过阅读这本书，你会了解到 o&#114;acle 数据库技术的许多新动态，还会掌握应用设计的一些重要概念。 <br/>如果你确实领会了这些思想，相信你肯定也会对所面对的难题“换角度思考”。&nbsp;&nbsp;<br/>&nbsp;&nbsp;IBM 的 Watson 曾经说过：“自始以来，每一个进步都源自于思考。仅仅因为‘没有思考’，就造成全世界白白浪费了无数资金。”Thomas 和我都赞同这种说法。学完这本书后，利用你掌握的知识和技术,希望你能为这个世界（至少能为你的企业）节省无数资金，把工作干得更出色。&nbsp;&nbsp;]]></description>
		</item>
		
			<item>
			<link>http://www.5tobang.com/article.asp?id=91</link>
			<title><![CDATA[《Oracle DBA的UNIX 袖珍参考手册》笔记13(完结篇)]]></title>
			<author>caijianchao@gmail.com(nero)</author>
			<category><![CDATA[读书笔记]]></category>
			<pubDate>Thu,27 Aug 2009 11:18:31 +0800</pubDate>
			<guid>http://www.5tobang.com/default.asp?id=91</guid>
		<description><![CDATA[汗，13就结束了～顶不住啊<br/>最后一节，主要是一些磁盘管理的常用命令～<br/><br/>&#39;2.70&#39;*orcl-/home/oracle&gt;df -k<br/>Filesystem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1K-块&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;已用&nbsp;&nbsp;&nbsp;&nbsp; 可用 已用% 挂载点<br/>/dev/sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14452776&nbsp;&nbsp; 6470268&nbsp;&nbsp; 7248340&nbsp;&nbsp;48% /<br/>none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;517248&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;517248&nbsp;&nbsp; 0% /dev/shm<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;<br/><br/>df -k 命令是比较通用的查看逻辑卷信息的命令。<br/><br/>一个根据不同的Unix 使用不同的命令来查看磁盘挂接位置的脚本HP-UX 下查看磁盘mount 位置可用bdf 命令，而其他好多版本都可以用df –k 命令。我们这个脚本的名字就叫做df.sh。<br/>[root@nero ~]# uname -a<br/>Linux nero 2.6.9-78.ELsmp #1 SMP Wed Jul 9 15:39:47 EDT 2008 i686 athlon i386 GNU/Linux<br/>uname可显示电脑以及操作系统的相关信息。<br/>OSF1<br/>Open Software Foundation [system] /1 (OSF, OS, DEC), &#34;OSF/1&#34; <br/>note that OSF1 is the older name for Tru64 Unix<br/> &#39;2.70&#39;*orcl-/home/oracle&gt;cat -v df.sh<br/>#!/bin/bash<br/>os=`uname -a|awk &#39;{print $1}&#39;`<br/><br/>if [ $os = &#34;Linux&#34; ]<br/>then<br/><br/>df -k<br/><br/>fi<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;/bin/sh df.sh<br/>Filesystem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1K-块&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;已用&nbsp;&nbsp;&nbsp;&nbsp; 可用 已用% 挂载点<br/>/dev/sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14452776&nbsp;&nbsp; 6470312&nbsp;&nbsp; 7248296&nbsp;&nbsp;48% /<br/>none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;517248&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;517248&nbsp;&nbsp; 0% /dev/shm<br/><br/>创建软连接 <br/>Unix 下的所有文件或者目录都可以创建软连接，访问这个软连接实际上就是访问真正的文件/ 目录。可以用ln -s来创建软连接。<br/>-s : 进行软链结(symbolic link)<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;ln -s /tmp/exp_trans.dmp exp_trans.dmp<br/>上面的命令中，软连接文件是exp_trans.dmp，指向/tmp/exp_trans.dmp 。可以用file 命令看出来： <br/>&#39;2.70&#39;*orcl-/home/oracle&gt;file exp_trans.dmp<br/>exp_trans.dmp: symbolic link to `/tmp/exp_trans.dmp&#39;<br/><br/>根据日期创建目录：<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;date<br/>三&nbsp;&nbsp;8月 26 17:52:17 CST 2009<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;mkdir `date|awk &#39;{print $6$2$1}&#39;`<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;ls -l<br/>总用量 348<br/>drwxr-xr-x&nbsp;&nbsp;2 o&#114;acle oinstall&nbsp;&nbsp; 4096&nbsp;&nbsp;8月 26 17:50 20098月三<br/><br/>用crontab 来创建计划任务 <br/>大多数Unix 都支持一个叫做 cron&nbsp;&nbsp;的实用程序。术语cron 是 chronological 的缩写。 <br/>cron 实用程序可以用来创建定期运行的任务。cron 有两个主要的命令： <br/> crontab -l <br/>显示现有的任务 <br/>&#39;2.70&#39;*orcl-/home/oracle&gt;crontab -l<br/>no crontab for o&#114;acle<br/>crontab -e <br/>编辑修改crontab 文件。<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;crontab -l<br/>*/3 6-12 * 8 * /home/oracle/df.sh<br/>时程表的格式如下 : <br/>f1 f2 f3 f4 f5 program <br/>其中 f1 是表示分钟，f2 表示小时，f3 表示一个月份中的第几日，f4 表示月份，f5 表示一个星期中的第几天。program 表示要执行的程式。老外的书中也搞错了，顶不住<br/>在 每年的8 月内, 每天的早上 6 点到 12 点中，每隔 3 分钟执行一次 /home/oracle/df.sh。<br/><br/>全部结束了，感觉错误还是比较多的，尽信书不如无书啊～ <br/> <br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.5tobang.com/article.asp?id=90</link>
			<title><![CDATA[数据库备份与恢复测试2]]></title>
			<author>caijianchao@gmail.com(nero)</author>
			<category><![CDATA[听过的课]]></category>
			<pubDate>Wed,26 Aug 2009 13:50:30 +0800</pubDate>
			<guid>http://www.5tobang.com/default.asp?id=90</guid>
		<description><![CDATA[第一种：<br/>如果损坏的是下列文件，必须在关闭状态下作恢复:系统数据文件，回滚段(Undo)表空间的数据文件，整个数据库大多数文件损坏。<br/><br/><br/>SQL&gt; startup<br/>o&#114;ACLE instance started.<br/><br/>Total System Global Area&nbsp;&nbsp;612368384 bytes<br/>Fixed Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1250428 bytes<br/>Variable Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 180358020 bytes<br/>Database Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;423624704 bytes<br/>Redo Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7135232 bytes<br/>Database mounted.<br/>o&#114;A-01113: file 1 needs media recovery<br/>o&#114;A-01110: data file 1:<br/>&#39;D:\ORACLE\10.2.0\ORADATA\NERO\DATAFILE\O1_MF_SYSTEM_56X0H67B_.DBF&#39;<br/><br/><br/>SQL&gt; recover datafile 1;<br/>Media recovery complete.<br/>SQL&gt; alt&#101;r database open;<br/><br/>第二种：<br/>适合场景：数据库当前是关闭的，某个文件丢失损坏，介质故障的文件不包括系统表空间和Undo表空间的文件，为了减少恢复对业务的影响，在恢复过程之前首先将数据库打开。<br/><br/>SQL&gt; startup<br/>o&#114;ACLE instance started.<br/><br/>Total System Global Area&nbsp;&nbsp;612368384 bytes<br/>Fixed Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1250428 bytes<br/>Variable Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 180358020 bytes<br/>Database Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;423624704 bytes<br/>Redo Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7135232 bytes<br/>Database mounted.<br/>o&#114;A-01113: file 4 needs media recovery<br/>o&#114;A-01110: data file 4:<br/>&#39;D:\ORACLE\10.2.0\ORADATA\NERO\DATAFILE\O1_MF_USERS_56X0J0SD_.DBF&#39;<br/><br/>SQL&gt; sel&#101;ct * from v$recover_file;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; FILE# ONLINE&nbsp;&nbsp;ONLINE_<br/>---------- ------- -------<br/>ERROR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGE#<br/>----------------------------------------------------------------- ----------<br/>TIME<br/>------------<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4 ONLINE&nbsp;&nbsp;ONLINE<br/>FILE NOT FOUND&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br/><br/><br/>SQL&gt; alt&#101;r database datafile 4 offline;<br/><br/>Database alt&#101;red.<br/><br/>SQL&gt; alt&#101;r database open;<br/><br/>Database alt&#101;red.<br/><br/>SQL&gt; recover tablespace users;<br/>o&#114;A-00279: change 3782263 generated at 08/24/2009 21:06:54 needed for thread 1<br/>o&#114;A-00289: suggestion :<br/>D:\ORACLE\10.2.0\FLASH_RECOVERY_AREA\NERO\ARCHIVELOG\2009_08_26\O1_MF_1_146_%U_.<br/><br/>ARC<br/>o&#114;A-00280: change 3782263 for thread 1 is in sequence #146<br/><br/><br/>Specify log: {&lt;RET&gt;=suggested | filename | AUTO | CANCEL}<br/>auto<br/>Log applied.<br/>Media recovery complete.<br/>SQL&gt; alt&#101;r tablespace users online;<br/><br/>Tablespace alt&#101;red.<br/><br/>SQL&gt;<br/><br/>第三种：<br/>恢复一个从未备份过的数据文件<br/>适合场景：丢失的数据文件从未备份过，恢复没备份的数据文件有严格的要求：需要恢复的不能是系统表空间的数据文件，必须存在从数据文件创建以来所有的归档日志，在创建文件之后控制文件没有被重建过<br/>上面的要求都必须满足，否则不能恢复<br/><br/>SQL&gt; cr&#101;ate tablespace test datafile &#39;D:\oracle\10.2.0\oradata\NERO\DATAFILE\test01.dbf&#39; size 5m;<br/><br/>Tablespace cr&#101;ated.<br/><br/>SQL&gt; alt&#101;r system switch logfile;<br/><br/>System alt&#101;red.<br/><br/>SQL&gt; /<br/><br/>System alt&#101;red.<br/><br/>SQL&gt; sel&#101;ct * from v$log;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;GROUP#&nbsp;&nbsp;&nbsp;&nbsp;THREAD#&nbsp;&nbsp;SEQUENCE#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BYTES&nbsp;&nbsp;&nbsp;&nbsp;MEMBERS ARC STATUS<br/>---------- ---------- ---------- ---------- ---------- --- ----------------<br/>FIRST_CHANGE# FIRST_TIME<br/>------------- ------------<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;151&nbsp;&nbsp; 52428800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3 NO&nbsp;&nbsp;CURRENT<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3822169 26-AUG-09<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;149&nbsp;&nbsp; 52428800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3 YES ACTIVE<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3815287 25-AUG-09<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;150&nbsp;&nbsp; 52428800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3 YES ACTIVE<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3822167 26-AUG-09<br/><br/><br/><br/>SQL&gt; alt&#101;r system switch logfile;<br/><br/>System alt&#101;red.<br/><br/>SQL&gt; shutdown immediate;<br/>Database closed.<br/>Database dismounted.<br/>o&#114;ACLE instance shut down.<br/>SQL&gt; startup mount;<br/>o&#114;ACLE instance started.<br/><br/>Total System Global Area&nbsp;&nbsp;612368384 bytes<br/>Fixed Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1250428 bytes<br/>Variable Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 184552324 bytes<br/>Database Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;419430400 bytes<br/>Redo Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7135232 bytes<br/>Database mounted.<br/>SQL&gt; sel&#101;ct * from v$recover_file;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; FILE# ONLINE&nbsp;&nbsp;ONLINE_<br/>---------- ------- -------<br/>ERROR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHANGE#<br/>----------------------------------------------------------------- ----------<br/>TIME<br/>------------<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11 ONLINE&nbsp;&nbsp;ONLINE<br/>FILE NOT FOUND&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br/><br/><br/><br/>SQL&gt; alt&#101;r database datafile 11 offline;<br/><br/>Database alt&#101;red.<br/><br/>SQL&gt; alt&#101;r database open;<br/><br/>Database alt&#101;red.<br/>SQL&gt; alt&#101;r database cr&#101;ate datafile&nbsp;&nbsp;&#39;D:\oracle\10.2.0\oradata\NERO\DATAFILE\tes<br/>t01.dbf&#39;as&nbsp;&nbsp;&#39;D:\oracle\10.2.0\oradata\NERO\DATAFILE\test01.dbf&#39;;<br/><br/>Database alt&#101;red.<br/><br/>SQL&gt; recover datafile 11;<br/>o&#114;A-00279: change 3822136 generated at 08/26/2009 13:36:50 needed for thread 1<br/>o&#114;A-00289: suggestion :<br/>D:\ORACLE\10.2.0\FLASH_RECOVERY_AREA\NERO\ARCHIVELOG\2009_08_26\O1_MF_1_149_%U_.<br/><br/>ARC<br/>o&#114;A-00280: change 3822136 for thread 1 is in sequence #149<br/><br/><br/>Specify log: {&lt;RET&gt;=suggested | filename | AUTO | CANCEL}<br/>auto<br/>Log applied.<br/>Media recovery complete.<br/>SQL&gt; alt&#101;r tablespace test online;<br/><br/>Tablespace alt&#101;red.<br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.5tobang.com/article.asp?id=89</link>
			<title><![CDATA[《Oracle DBA的UNIX 袖珍参考手册》笔记12]]></title>
			<author>caijianchao@gmail.com(nero)</author>
			<category><![CDATA[读书笔记]]></category>
			<pubDate>Wed,26 Aug 2009 12:29:15 +0800</pubDate>
			<guid>http://www.5tobang.com/default.asp?id=89</guid>
		<description><![CDATA[续上回～越来越简单了～<br/>如果我们要查看某个目录的总大小，可以用&nbsp;&nbsp;du -sk&nbsp;&nbsp;命令。例如<br/><br/>&#39;2.70&#39;*orcl-/home/oracle&gt;du -sk /home/oracle<br/>1888&nbsp;&nbsp;&nbsp;&nbsp;/home/oracle<br/><br/>定位包含特定字符串的文件<br/><br/>&#39;2.70&#39;*orcl-/home/oracle&gt;find . -name &#34;*.sql&#34; -print|xargs grep -i v\$session<br/>./1.sql:sel&#101;ct * from v$session;<br/><br/>查找最近创建的文件<br/><br/>&#39;2.70&#39;*orcl-/home/oracle&gt; find . -mtime -1 -print<br/>.<br/>./find<br/>./.ICEauthority<br/>./du<br/>./.bash_history<br/>./1.sql<br/>./.gconfd<br/>./.gconfd/saved_state<br/>./.gnome2<br/>下面的命令查找 1 天内创建的文件。<br/><br/>查找系统中的大文件 <br/>下面的命令查找大于 10000 字节的文件：<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;find . -size +10000c -print<br/>./Desktop/oracle dba?unix??????.pdf<br/>./.nautilus/sysstat-5.0.5-19.el4.i386.rpm<br/>./.bash_profile.swo<br/>./.kde/share/config/khotkeysrc<br/>./.kde/share/apps/kconf_up&#100;ate/up&#100;ate.log<br/>./.recently-used<br/><br/>如果不加 c，那么就是查文件大于 10000 个块（512 字节）的文件。有的 Unix 下可以加k，单位就是kb 。<br/><br/>查找大小在某个区间内的文件： 例如，查找大小在 100 到 120 个字节的文件 <br/># find . -size +100c -size -120c -print <br/>如果要查找大小正好是多大的文件，可以这样： <br/># find . -size 100c -print <br/>上面的命令查找大小正好是 100 个字节的文件。<br/><br/>批量删除修改时间大于7 天的文件 <br/># find . -mtime +7 -exec rm {} \; <br/><br/>批量删除过期的trace 文件脚本(del.sh)<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;cat -v del.sh<br/>#!/bin/bash<br/>for o&#114;ACLE_SID in `cat /etc/oratab|\<br/>egrep &#39;:N|:Y&#39;|cut -f1 -d&#39;:&#39;`<br/><br/>do<br/>o&#114;ACLE_HOME=`cat /etc/oratab|grep ^$ORACLE_SID|cut -d&#34;:&#34; -f2`<br/><br/>DBA=`echo $ORACLE_HOME|sed -e&#39;s:/product/.*::g&#39;`/admin<br/>find $DBA/$ORACLE_SID/bdump -name &#34;*.trc&#34; -mtime -10 -exec rm {} \;<br/>find $DBA/$ORACLE_SID/udump -name &#34;*.trc&#34; -mtime -10 -exec rm {} \;<br/>done<br/>这里需要解释一下DBA=`echo $ORACLE_HOME|sed -e&#39;s:/product/.*::g&#39;`/admin<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;DBA=`echo $ORACLE_HOME|sed -e&#39;s:/product/.*::g&#39;`/admin<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;echo $DBA<br/>/oracle/admin<br/>将所有的/product/.*替换为空。这里就是把分割符号换成了冒号。你也可以这么来：<br/>sed -e\&#39;s%/product/.*%%g&#39;`/admin<br/>sed -e\&#39;s#/product/.*##g&#39;`/admin<br/>:或#或%中间的特殊符号不被转义<br/><br/>生成空文件(touch) <br/>touch 命令可以用来生成空文件，例如<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;touch cjc.txt<br/><br/>修改默认的文件访问权限(Permissions)<br/>使用umask 命令来设置默认的文件访问权限。掩码的值是服务器默认值（通常是777或者 644）和实际的Unix 用户默认文件权限的差值。例如，如果系统默认 777，用户创建文件的时候访问权限是 755，那么掩码就是 022。下面让我们先来理解 Unix下文件访问权限。 <br/>Unix 下文件访问权限分为 3 部分。每一部分代表不同类别用户的访问权限。这三类用户是： <br/><br/>文件所有者 <br/>和文件所有者在同一个组中的成员 <br/>其它的Unix 用户 <br/>因此，如果一个文件的访问权限是751，那么7 分配给所有者，5 分配给和所有者在同一个组中的其他成员，1 分配给其他用户。那么，这些数字到底代表什么意思呢？ <br/>&nbsp;&nbsp; 访问权限值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 含义 <br/>&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 读权限 <br/>&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 写权限 <br/>&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;执行权限 <br/>通过上表我们可以推算出，7 代表全部权限，5 代表读和执行权限，以此类推。下面,让我们来看一个文件的具体权限。 <br/><br/>plain text 纯文本 <br/>&#39;2.70&#39;*orcl-/home/oracle&gt;ls -l cjc.txt<br/>-rw-r--r--&nbsp;&nbsp;1 o&#114;acle oinstall 0&nbsp;&nbsp;8月 25 19:25 cjc.txt<br/>-l 列出文件的详细信息。<br/>-表明这是一个plain 文件。如果是d 则表明是路径<br/>这个文件的访问权限是644<br/><br/>不同的umask 的效果 <br/>假设系统默认的用户权限是 777，而我们不希望这样，就应该设置合适的umask。<br/><br/>Unix 的chown 命令可以修改文件的所有者。例如：<br/># chown o&#114;acle:oinstall * <br/>&#39;2.70&#39;*orcl-/home/oracle&gt;ls -al<br/> <br/>&nbsp;&nbsp; -rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;229&nbsp;&nbsp;8月 20 23:18 a.sh<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;8月 20 23:15 a.sh~<br/>-rw-------&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;18268&nbsp;&nbsp;8月 25 05:45 .bash_history<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp; 24&nbsp;&nbsp;7月 28 15:43 .bash_logout<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;952&nbsp;&nbsp;8月 25 19:19 .bash_profile<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;12288&nbsp;&nbsp;7月 28 17:59 .bash_profile.swo<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;12288&nbsp;&nbsp;7月 28 16:21 .bash_profile.swp<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;124&nbsp;&nbsp;8月 10 22:44 .bashrc<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;235&nbsp;&nbsp;8月 21 01:45 b.sh<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;8月 21 00:23 b.sh~<br/>-rwxr-xr-x&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;248&nbsp;&nbsp;8月 16 21:57 chaoge.sh<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;8月 16 21:53 chaoge.sh~<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;402&nbsp;&nbsp;8月 19 20:06 chao.sh<br/><br/>上面的命令将文件所有者改成 o&#114;acle，所属的组改成 oinstall。如果想将所有子目录及其下面的都改掉，那么用-R 选项。 <br/><br/>修改文件的访问权限 <br/>&nbsp;&nbsp; Unix 的chmod 命令可以修改文件的访问权限。例如： <br/>&nbsp;&nbsp; # chmod 755 * <br/>&nbsp;&nbsp; # chmod +x * <br/>&nbsp;&nbsp; # chmod –r * <br/>同样，如果想带子目录修改所有权限，也可以用&nbsp;&nbsp;-R <br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.5tobang.com/article.asp?id=88</link>
			<title><![CDATA[《Oracle DBA的UNIX 袖珍参考手册》笔记11]]></title>
			<author>caijianchao@gmail.com(nero)</author>
			<category><![CDATA[读书笔记]]></category>
			<pubDate>Tue,25 Aug 2009 18:35:23 +0800</pubDate>
			<guid>http://www.5tobang.com/default.asp?id=88</guid>
		<description><![CDATA[续上回，内容都比较简单～<br/><br/>列出最近动过（touched ）的文件<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;ls -alt|head<br/>总用量 540<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall 115545&nbsp;&nbsp;8月 24 14:39 sysstat-5.0.5-1.src.rpm<br/>-rw-------&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;17488&nbsp;&nbsp;8月 24 06:26 .bash_history<br/>drwx------&nbsp;&nbsp;21 o&#114;acle oinstall&nbsp;&nbsp; 4096&nbsp;&nbsp;8月 24 06:26 .<br/>drwx------&nbsp;&nbsp; 2 o&#114;acle oinstall&nbsp;&nbsp; 4096&nbsp;&nbsp;8月 24 06:26 .gconfd<br/>-rw-------&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;378&nbsp;&nbsp;8月 24 06:26 .ICEauthority<br/>drwx------&nbsp;&nbsp; 7 o&#114;acle oinstall&nbsp;&nbsp; 4096&nbsp;&nbsp;8月 24 06:26 .gnome2<br/>-rw-------&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;10710&nbsp;&nbsp;8月 23 21:56 .recently-used<br/>drwx------&nbsp;&nbsp; 5 o&#114;acle oinstall&nbsp;&nbsp; 4096&nbsp;&nbsp;8月 23 21:48 .gconf<br/>drwxr-xr-x&nbsp;&nbsp; 3 o&#114;acle oinstall&nbsp;&nbsp; 4096&nbsp;&nbsp;8月 23 21:47 .nautilus<br/>当Oracle 文件被读或者写的时候都是被动过。<br/>-l&nbsp;&nbsp;选项显示文件的详请，包括修改时间，-t&nbsp;&nbsp;选项会让结果按照被动过的日期排序， <br/>但是显示中的时间仍然是修改时间。-t&nbsp;&nbsp;会按照被动过的时间倒排序，因此用 head 。 <br/>-a&nbsp;&nbsp;选项显示你目录下的所有文件。<br/> <br/>显示最近修改过的文件<br/><br/>&#39;2.70&#39;*orcl-/home/oracle&gt;ls -alc|tail<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;596&nbsp;&nbsp;8月 20 23:33 text.sh~<br/>drwx------&nbsp;&nbsp; 4 o&#114;acle oinstall&nbsp;&nbsp; 4096&nbsp;&nbsp;8月&nbsp;&nbsp;6 12:05 .thumbnails<br/>-rwxr-xr-x&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;409&nbsp;&nbsp;8月 19 14:03 tian.sh<br/>-rwxr-xr-x&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;408&nbsp;&nbsp;8月 19 14:03 tian.sh~<br/>-rw-r--r--&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;8月 19 06:54 tian.txt~<br/>drwxr-xr-x&nbsp;&nbsp; 2 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4096&nbsp;&nbsp;8月 21 22:05 tmp.7467.old<br/>drwx------&nbsp;&nbsp; 2 o&#114;acle oinstall&nbsp;&nbsp; 4096&nbsp;&nbsp;8月 20 22:51 .Trash<br/>-rwxr-xr-x&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;302&nbsp;&nbsp;8月 19 06:30 vm.sh<br/>-rwxr-xr-x&nbsp;&nbsp; 1 o&#114;acle oinstall&nbsp;&nbsp;&nbsp;&nbsp;303&nbsp;&nbsp;8月 19 06:29 vm.sh~<br/>drwxr-xr-x&nbsp;&nbsp; 2 o&#114;acle oinstall&nbsp;&nbsp; 4096&nbsp;&nbsp;7月 28 15:43 .xemacs<br/>-c 输出文件的 i 节点的修改时间，并以此排序。<br/><br/>删除文件<br/><br/>删除以*.txt结尾的文本文件<br/><br/>&#39;2.70&#39;*orcl-/home/oracle&gt;find /home/oracle -name &#34;*.txt&#34;<br/>/home/oracle/Desktop/tian.txt<br/>/home/oracle/Desktop/cjc.txt<br/>/home/oracle/Desktop/1.txt<br/>/home/oracle/logfile.txt<br/>/home/oracle/tcj.txt<br/>/home/oracle/cjcav.txt<br/>/home/oracle/GOOD.txt<br/>/home/oracle/filelist.txt<br/><br/>&#39;2.70&#39;*orcl-/home/oracle&gt;find /home/oracle -name &#34;*.txt&#34; -exec rm {} \;<br/>rm：是否删除有写保护的一般空文件‘/home/oracle/GOOD.txt’? y<br/>\; 则相当于“宪法”，没什么说头，就是这么规定的，在 -exec 后面需要一个表示该命令终结的的符号。<br/><br/>显示文件大小（512 字节块）<br/><br/>有的时候我们需要快速找到比较大的trace 或者core dump 文件。通过使用du 命令,可以显示文件的大小，单位是 512 字节。如果要以kb 来显示，那么可以用&nbsp;&nbsp;-k <br/>&#39;2.70&#39;*orcl-/home/oracle&gt;du -s *|sort -n|tail<br/>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text.sh<br/>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text.sh~<br/>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tian.sh<br/>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tian.sh~<br/>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vm.sh<br/>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vm.sh~<br/>8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tmp.7467.old<br/>120&nbsp;&nbsp;&nbsp;&nbsp; sysstat-5.0.5-19.el4.i386.rpm<br/>120&nbsp;&nbsp;&nbsp;&nbsp; sysstat-5.0.5-1.src.rpm<br/>228&nbsp;&nbsp;&nbsp;&nbsp; Desktop<br/><br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.5tobang.com/article.asp?id=87</link>
			<title><![CDATA[《Oracle DBA的UNIX 袖珍参考手册》笔记10]]></title>
			<author>caijianchao@gmail.com(nero)</author>
			<category><![CDATA[读书笔记]]></category>
			<pubDate>Mon,24 Aug 2009 15:06:16 +0800</pubDate>
			<guid>http://www.5tobang.com/default.asp?id=87</guid>
		<description><![CDATA[这一章节主要讲的是linux下的内存和CPU管理，非常简单的几个命令～<br/><br/>书上说的这个dmesg也很有用，用来查看启动信息～<br/>[root@nero ~]# dmesg|grep &#34;eth0&#34;<br/>divert: allocating divert_blk for eth0<br/>eth0: registered as PCnet/PCI II 79C970A<br/>eth0: no IPv6 routers present<br/>[root@nero ~]#<br/><br/>free命令用来显示内存的使用情况。<br/><br/>语法结构：<br/>free [-b|-k|-m] [-o] [-s delay] [-t] [-V]<br/><br/>参数<br/>-b -k -m：分别以字节（KB、MB）为单位显示内存使用情况。<br/>-s delay：显示每隔多少秒数来显示一次内存使用情况。<br/>-t：显示内存总和列。<br/>-o：不显示缓冲区调节列。<br/><br/>free命令是用来查看内存使用情况的主要命令。和top命令相比，它的优点是使用简单，并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用，这样可以把它当作一个方便实时监控器。<br/><br/>#free -b -s3<br/>使用这个命令后终端会连续不断地报告内存使用情况（以字节为单位），每3秒更新一次。<br/>[root@nero ~]# free<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; total&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; used&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; free&nbsp;&nbsp;&nbsp;&nbsp; shared&nbsp;&nbsp;&nbsp;&nbsp;buffers&nbsp;&nbsp;&nbsp;&nbsp; cached<br/>Mem:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1034496&nbsp;&nbsp;&nbsp;&nbsp; 465048&nbsp;&nbsp;&nbsp;&nbsp; 569448&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13688&nbsp;&nbsp;&nbsp;&nbsp; 368512<br/>-/+ buffers/cache:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;82848&nbsp;&nbsp;&nbsp;&nbsp; 951648<br/>Swap:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1044216&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;1044216<br/><br/>显示分配的内存段<br/>[root@nero ~]# ipcs - pmb<br/><br/>------ Shared Memory Segments --------<br/>key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shmid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;owner&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nattch&nbsp;&nbsp;&nbsp;&nbsp; status<br/>0x00000000 32768&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gdm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 600&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;393216&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dest<br/>0x734145b8 65537&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;640&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;287309824&nbsp;&nbsp;16<br/><br/>------ Semaphore Arrays --------<br/>key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;semid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;owner&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nsems<br/>0x5f178298 98304&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;640&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;154<br/><br/>------ Message Queues --------<br/>key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msqid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;owner&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used-bytes&nbsp;&nbsp; messages<br/><br/>[root@nero ~]#<br/>-P 写入与共享内存标识有关的 SID（段标识）列表，以及保留在那个段中的字节数。<br/>-m 写入一些关于活动共享内存段的信息。<br/>-b 写入消息队列的队列上消息的最大字节数、共享内存段的大小、每个信号量集中信号量的数量。<br/><br/>说实话，我也看的不是很明白～<br/><br/>手动移除内存段分配 <br/>&nbsp;&nbsp; 有的情况下内存实例崩溃，但是 o&#114;acle&nbsp;&nbsp;的内存段却没释放。可以使用ipcrm 来手动完成这个工作。<br/><br/>上句释放标识符为memid的共享内存，如果我们要释放所有的共享内存，只需要取出所有共享内存的ID，然后挨个ipcrm就行了，下面的程序正表达了此种方法的具体行为，经过我的测试，可以成功共释放共享内存:<br/>#########shut.sh#########<br/>#desp: scripts for releasing share memories<br/>ipcs -m | awk &#39;{if($2~/^[0-9]+$/)print $2}&#39;&nbsp;&nbsp;&gt; out<br/>cat out | while read shid<br/>do<br/>&nbsp;&nbsp;ipcrm shm $shid<br/>done<br/>rm -fr out<br/>要释放共享内存，只需要执行 sh shut.sh就行了<br/><br/>这里需要解释一下，如果第二个字段匹配^[0-9]+$/这个正则的话，那就打印第二个字段<br/>^[0-9]+$/表示一串数字<br/>[root@nero ~]# ipcs -m | awk &#39;{if($2~/^[0-9]+$/)print $2}&#39;<br/>32768<br/>65537<br/><br/>使用top命令来显示Unix 服务器的高CPU 资源占用会话。top显示每个CPU 的使用情况。top 的输出分两部分。第一部分显示每个处理器的负载情况，第二部分显示使用CPU最多的会话信息。<br/>[root@nero ~]# top<br/>top - 21:31:34 up&nbsp;&nbsp;3:19,&nbsp;&nbsp;1 user,&nbsp;&nbsp;load average: 0.00, 0.00, 0.00<br/>Tasks:&nbsp;&nbsp;74 total,&nbsp;&nbsp; 1 running,&nbsp;&nbsp;73 sleeping,&nbsp;&nbsp; 0 stopped,&nbsp;&nbsp; 0 zombie<br/>Cpu(s):&nbsp;&nbsp;0.7% us,&nbsp;&nbsp;2.0% sy,&nbsp;&nbsp;0.0% ni, 97.0% id,&nbsp;&nbsp;0.3% wa,&nbsp;&nbsp;0.0% hi,&nbsp;&nbsp;0.0% si<br/>Mem:&nbsp;&nbsp; 1034496k total,&nbsp;&nbsp; 574304k used,&nbsp;&nbsp; 460192k free,&nbsp;&nbsp;&nbsp;&nbsp;27724k buffers<br/>Swap:&nbsp;&nbsp;1044216k total,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0k used,&nbsp;&nbsp;1044216k free,&nbsp;&nbsp; 451976k cached<br/><br/>&nbsp;&nbsp;PID USER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PR&nbsp;&nbsp;NI&nbsp;&nbsp;VIRT&nbsp;&nbsp;RES&nbsp;&nbsp;SHR S %CPU %MEM&nbsp;&nbsp;&nbsp;&nbsp;TIME+&nbsp;&nbsp;COMMAND<br/> 6391 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;15&nbsp;&nbsp; 0&nbsp;&nbsp;140m 8388 2480 S&nbsp;&nbsp;0.7&nbsp;&nbsp;0.8&nbsp;&nbsp; 0:34.65 X<br/> 6671 o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;16&nbsp;&nbsp; 0&nbsp;&nbsp;7660 1532 1076 S&nbsp;&nbsp;0.7&nbsp;&nbsp;0.1&nbsp;&nbsp; 0:00.96 sshd<br/>&nbsp;&nbsp;634 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16&nbsp;&nbsp; 0&nbsp;&nbsp;3304&nbsp;&nbsp;976&nbsp;&nbsp;768 R&nbsp;&nbsp;0.3&nbsp;&nbsp;0.1&nbsp;&nbsp; 0:00.10 top<br/>&nbsp;&nbsp;&nbsp;&nbsp;1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16&nbsp;&nbsp; 0&nbsp;&nbsp;2936&nbsp;&nbsp;552&nbsp;&nbsp;472 S&nbsp;&nbsp;0.0&nbsp;&nbsp;0.1&nbsp;&nbsp; 0:00.82 init<br/>&nbsp;&nbsp;&nbsp;&nbsp;2 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RT&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;0 S&nbsp;&nbsp;0.0&nbsp;&nbsp;0.0&nbsp;&nbsp; 0:00.00 migration/0<br/>&nbsp;&nbsp;&nbsp;&nbsp;3 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;34&nbsp;&nbsp;19&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;0 S&nbsp;&nbsp;0.0&nbsp;&nbsp;0.0&nbsp;&nbsp; 0:00.01 ksoftirqd/0<br/>作为一个DBA 应该关心的内容有：&nbsp;&nbsp;<br/>Load averages：平均负载。如果大于 1说明服务器负荷过重。&nbsp;&nbsp;<br/>CPU states：CPU 信息概要。0.7% user 的意思是CPU 有 0.7%是用户占用，其他可按字面类推。&nbsp;&nbsp;<br/>Memory：Free 表明可用的内存数量。本例子中可用内存是 27724k。&nbsp;&nbsp;<br/>IDLE：CPU空闲百分比&nbsp;&nbsp;<br/>使用 sar&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;sar在 SVR4(是一个linux标准) 环境中，例如 HP-UX、Solaris 中很普及，在aix 中也可以用。Sar命令可以查看整体CPU 消耗情况，磁盘、内存、JFS buffer 使用情况等。常见的 sar使用 <br/>例子：<br/>显示CPU 活动情况。<br/>[root@nero o&#114;acle]# sar -u<br/>Linux 2.6.9-78.ELsmp (nero)&nbsp;&nbsp;&nbsp;&nbsp; 2009年08月23日<br/><br/>21时50分01秒&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU&nbsp;&nbsp;&nbsp;&nbsp; %user&nbsp;&nbsp;&nbsp;&nbsp; %nice&nbsp;&nbsp; %system&nbsp;&nbsp; %iowait&nbsp;&nbsp;&nbsp;&nbsp; %idle<br/>22时00分01秒&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; all&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.13&nbsp;&nbsp;&nbsp;&nbsp; 92.24<br/>Average:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;all&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.13&nbsp;&nbsp;&nbsp;&nbsp; 92.24<br/><br/>使用vmstat&nbsp;&nbsp;<br/>vmstat 是通用的UNIX 监控工具，vmstat 在 IRIX操作系统中是 osview。vmstat的第一个参数是间隔的秒数，也可以带第二个参数，表明显示多少次。<br/>输出中一些重要的信息：&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;运行队列。当这个值超过CPU数量的时候，服务器就有CPU瓶颈（可以通 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;过lsdev -C|grep Process|wc -l&nbsp;&nbsp;来获取CPU数量） <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pi <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;page-in数量。这个参数非0暗示着系统缺少内存，内存被交换到磁盘。然而 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当程序刚使用的时候也可能导致page-in非0。为了找到真正原因，则检查sr <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;列。如果sr也是非0，那么的确意味着缺少内存。 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sr <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;扫描速率。如果扫描速率持续增加，那么页交换后台程序忙于分配内存页。 <br/><br/>[root@nero o&#114;acle]# vmstat 3 2<br/>procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----<br/> r&nbsp;&nbsp;b&nbsp;&nbsp; swpd&nbsp;&nbsp; free&nbsp;&nbsp; buff&nbsp;&nbsp;cache&nbsp;&nbsp; si&nbsp;&nbsp; so&nbsp;&nbsp;&nbsp;&nbsp;bi&nbsp;&nbsp;&nbsp;&nbsp;bo&nbsp;&nbsp; in&nbsp;&nbsp;&nbsp;&nbsp;cs us sy id wa<br/> 1&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 347800&nbsp;&nbsp;43064 486036&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;28&nbsp;&nbsp;&nbsp;&nbsp;29 1014&nbsp;&nbsp;&nbsp;&nbsp;80&nbsp;&nbsp;1&nbsp;&nbsp;4 94&nbsp;&nbsp;1<br/> 1&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 347736&nbsp;&nbsp;43068 486032&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;29 1009&nbsp;&nbsp; 174&nbsp;&nbsp;2&nbsp;&nbsp;3 95&nbsp;&nbsp;0<br/>[root@nero o&#114;acle]#<br/>下面是CPU的一些信息: <br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;us <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用户占用CPU的百分比 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sy <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;系统占用CPU的百分比 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;空闲CPU百分比 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wa <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;等待CPU的百分比 <br/>用户和系统百分比之和(us+sy)接近 100 时，说明CPU 繁忙，但并不意味着 CPU 过载。sr 超过CPU 数量的时候意味着CPU 过载。当CPU 等待(wa)超过20 的时候，那么20%或者更多的处理时间在等待资源，通常是I/O。通常在备份或者导出等I/O 操作的时候这个百分比比较大；但如果正常的时候这个值一直挺高则也可能有I/O 瓶颈。<br/><br/>显示服务器平均负载情况（w命令）。<br/> <br/>Unix 的w 命令用来显示高资源会话简单的信息。大多数的有经验的Oracle DBA 都会首先用这个命令来快速查看一下服务器负载情况，因为w 命令在几乎所有的Unix 下都可以用。<br/><br/>[root@nero o&#114;acle]# w<br/> 22:10:19 up&nbsp;&nbsp;3:57,&nbsp;&nbsp;2 users,&nbsp;&nbsp;load average: 0.10, 0.12, 0.09<br/>USER&nbsp;&nbsp;&nbsp;&nbsp; TTY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LOGIN@&nbsp;&nbsp; IDLE&nbsp;&nbsp; JCPU&nbsp;&nbsp; PCPU WHAT<br/>o&#114;acle&nbsp;&nbsp; pts/1&nbsp;&nbsp;&nbsp;&nbsp;192.168.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;18:19&nbsp;&nbsp;&nbsp;&nbsp;0.00s&nbsp;&nbsp;0.72s&nbsp;&nbsp;0.14s sshd: o&#114;acle [p<br/>o&#114;acle&nbsp;&nbsp; :0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21:47&nbsp;&nbsp; ?xdm?&nbsp;&nbsp; 3:55&nbsp;&nbsp; 1.10s /usr/bin/gnome-<br/>上面的输出中的 load average 分别是过去 1分钟、5分钟、15分钟的负载情况。如果大于 1说明CPU 紧张。<br/><br/>使用 iostat&nbsp;&nbsp;<br/>iostat显示物理磁盘 I/O情况。下面的 3表明3秒钟显示一次。<br/>[root@nero o&#114;acle]# iostat 3<br/>Linux 2.6.9-78.ELsmp (nero)&nbsp;&nbsp;&nbsp;&nbsp; 2009年08月23日<br/><br/>avg-cpu:&nbsp;&nbsp;%user&nbsp;&nbsp; %nice&nbsp;&nbsp;&nbsp;&nbsp;%sys %iowait&nbsp;&nbsp; %idle<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.67&nbsp;&nbsp;&nbsp;&nbsp;0.43&nbsp;&nbsp;&nbsp;&nbsp;4.00&nbsp;&nbsp;&nbsp;&nbsp;0.69&nbsp;&nbsp; 94.20<br/><br/>Device:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tps&nbsp;&nbsp; Blk_read/s&nbsp;&nbsp; Blk_wrtn/s&nbsp;&nbsp; Blk_read&nbsp;&nbsp; Blk_wrtn<br/>sda&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.77&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;54.13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;57.02&nbsp;&nbsp;&nbsp;&nbsp; 784694&nbsp;&nbsp;&nbsp;&nbsp; 826496<br/>sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.76&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;54.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;57.02&nbsp;&nbsp;&nbsp;&nbsp; 782802&nbsp;&nbsp;&nbsp;&nbsp; 826496<br/>sda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.06&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;908&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br/><br/>avg-cpu:&nbsp;&nbsp;%user&nbsp;&nbsp; %nice&nbsp;&nbsp;&nbsp;&nbsp;%sys %iowait&nbsp;&nbsp; %idle<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.01&nbsp;&nbsp;&nbsp;&nbsp;0.33&nbsp;&nbsp;&nbsp;&nbsp;3.34&nbsp;&nbsp;&nbsp;&nbsp;0.00&nbsp;&nbsp; 94.31<br/><br/>Device:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tps&nbsp;&nbsp; Blk_read/s&nbsp;&nbsp; Blk_wrtn/s&nbsp;&nbsp; Blk_read&nbsp;&nbsp; Blk_wrtn<br/>sda&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;74.92&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;224<br/>sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;74.92&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;224<br/>sda2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>上面比较重要的列：&nbsp;&nbsp;<br/>Kb_read：过去的时间区间内读取得K 字节数。（第一个显示的是历史总计，因此要看变 <br/>化情况，应该看其它的时间区间。）&nbsp;&nbsp;<br/>Kb_wrtn: 过去的时间区间内写入得 K 字节数。&nbsp;&nbsp;<br/><br/>汗，记住就行～<br/><br/><br/><br/><br/><br/>&nbsp;&nbsp;<br/><br/><br/>&nbsp;&nbsp;<br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.5tobang.com/article.asp?id=86</link>
			<title><![CDATA[《Oracle DBA的UNIX 袖珍参考手册》笔记9]]></title>
			<author>caijianchao@gmail.com(nero)</author>
			<category><![CDATA[读书笔记]]></category>
			<pubDate>Sun,23 Aug 2009 22:47:28 +0800</pubDate>
			<guid>http://www.5tobang.com/default.asp?id=86</guid>
		<description><![CDATA[这一章节超级简单，unix下的基本命令，搞熟了就行～<br/>1．显示Oracle 的Unix 进程 <br/>&#39;2.70&#39;*orcl-/home/oracle&gt;ps -ef|grep o&#114;a_|grep -v grep<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6642&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_pmon_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6644&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_psp0_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6646&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_mman_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6648&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_dbw0_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6650&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_lgwr_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6652&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_ckpt_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6654&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;4 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:03 o&#114;a_smon_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6656&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_reco_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6658&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;3 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:02 o&#114;a_mmon_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6660&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_mmnl_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6662&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_d000_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6664&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_s000_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6668&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:51 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_qmnc_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6670&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:51 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_q000_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6672&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:51 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_q001_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6678&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;2 05:51 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_cjq0_orcl<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;<br/>2.查看消耗CPU 时间最长的进程：<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;ps -ef|grep o&#114;acle|sort +6|tail<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6672&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:51 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_q001_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6668&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:51 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_qmnc_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6656&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_reco_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6664&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 o&#114;a_s000_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6688&nbsp;&nbsp;6607&nbsp;&nbsp;0 05:53 pts/1&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 ps -ef<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6690&nbsp;&nbsp;6607&nbsp;&nbsp;0 05:53 pts/1&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 sort +6<br/>root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6604&nbsp;&nbsp;5322&nbsp;&nbsp;0 05:48 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 sshd: o&#114;acle [priv]<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6606&nbsp;&nbsp;6604&nbsp;&nbsp;0 05:48 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 sshd: o&#114;acle@pts/1<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6658&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;1 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:02 o&#114;a_mmon_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6654&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;2 05:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:03 o&#114;a_smon_orcl<br/>还可以用下一种方法；<br/>输出的第 3列(sort 中的+2)名字叫%CPU，显示的是当前每个进程的CPU 持有百分比。<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;ps auxgw|sort +2|tail<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6646&nbsp;&nbsp;0.2&nbsp;&nbsp;1.5 373592 16368 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ss&nbsp;&nbsp; 05:50&nbsp;&nbsp; 0:00 o&#114;a_mman_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6652&nbsp;&nbsp;0.2&nbsp;&nbsp;1.6 373780 16688 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ss&nbsp;&nbsp; 05:50&nbsp;&nbsp; 0:00 o&#114;a_ckpt_orcl<br/>root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5503&nbsp;&nbsp;0.3&nbsp;&nbsp;0.2&nbsp;&nbsp;5888 2756 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ss&nbsp;&nbsp; 05:47&nbsp;&nbsp; 0:01 hald<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6650&nbsp;&nbsp;0.3&nbsp;&nbsp;1.4 389156 14960 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ss&nbsp;&nbsp; 05:50&nbsp;&nbsp; 0:00 o&#114;a_lgwr_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6678&nbsp;&nbsp;0.4&nbsp;&nbsp;2.7 375216 28204 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ss&nbsp;&nbsp; 05:51&nbsp;&nbsp; 0:00 o&#114;a_cjq0_orcl<br/>root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6341&nbsp;&nbsp;0.8&nbsp;&nbsp;0.8 11252 8388 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S&nbsp;&nbsp;&nbsp;&nbsp;05:47&nbsp;&nbsp; 0:03 /usr/X11R6/bin/X :0 -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7<br/>gdm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6603&nbsp;&nbsp;0.8&nbsp;&nbsp;1.2 59664 13448 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ss&nbsp;&nbsp; 05:48&nbsp;&nbsp; 0:03 /usr/bin/gdmgreeter<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6658&nbsp;&nbsp;1.2&nbsp;&nbsp;4.4 376440 45808 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ss&nbsp;&nbsp; 05:50&nbsp;&nbsp; 0:02 o&#114;a_mmon_orcl<br/>o&#114;acle&nbsp;&nbsp;&nbsp;&nbsp;6654&nbsp;&nbsp;1.3&nbsp;&nbsp;3.6 374192 37768 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ss&nbsp;&nbsp; 05:50&nbsp;&nbsp; 0:03 o&#114;a_smon_orcl<br/>USER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PID %CPU %MEM&nbsp;&nbsp; VSZ&nbsp;&nbsp;RSS TTY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STAT START&nbsp;&nbsp; TIME COMMAND<br/>3.显示Oracle 的活动连接用户数量<br/>&#39;2.70&#39;*orcl-/home/oracle&gt;ps -ef|grep $ORACLE_SID|grep -v grep|grep o&#114;a_|wc -l<br/>16<br/><br/>4.杀掉进程，见笔记一，汗，明天继续～]]></description>
		</item>
		
</channel>
</rss>
