<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>跑马圈地 &#187; 技术经验帖</title>
	<atom:link href="http://www.ukuang.com/category/experience/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ukuang.com</link>
	<description>一切恩爱会，无常难久得。声势多畏惧，命危于晨露。 因爱故生忧，因爱故生怖。若离于爱者，无忧亦无怖。</description>
	<lastBuildDate>Mon, 16 Jan 2012 17:51:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>mac常用软件清单</title>
		<link>http://www.ukuang.com/2012/01/16/mac%e5%b8%b8%e7%94%a8%e8%bd%af%e4%bb%b6%e6%b8%85%e5%8d%95/</link>
		<comments>http://www.ukuang.com/2012/01/16/mac%e5%b8%b8%e7%94%a8%e8%bd%af%e4%bb%b6%e6%b8%85%e5%8d%95/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 18:51:39 +0000</pubDate>
		<dc:creator>bluffstone</dc:creator>
				<category><![CDATA[技术经验帖]]></category>

		<guid isPermaLink="false">http://www.ukuang.com/?p=816</guid>
		<description><![CDATA[<p>买了mac笔记本有一年多了，从今年10月才开始把它作为工作机，陆陆续续的安装了很多软件，近几天系统性的整理了安装的软件，参考了很多网络意见，比较了很多软件，到最后才悟到，软件终究是为人服务的，一切应该以人为目的，如何更高效、更舒服的在笔记本上工作，才是王道。</p> <p>1、满足需求为要。记住，选择软件的第一原则，就是满足需求，你有什么样的需求，就安装什么样的软件。不要安装你不可能用到的软件，哪怕那个软件非常非常的有名，用不到的，对你来说，就是累赘，别去安装。</p> <p>2、简单实用为上。同类软件中有很多，有功能强大的，有简单使用的，如果能够满足需求，尽量选择简单实用的，对你来说，你用不到的功能，就是累赘。</p> <p>3、精通你经常使用类别的一款软件。使用电脑，用来办公、上网、沟通等，每种不同的类别，有很多软件，选择一款自己合适的，每款软件，有大量的功能，精通自己常用的功能，这里说的精通，是真正的精通：通过快捷键更快速的使用一些常用功能，通过定制化、个性化设置自己常用的设置，甚至通过脚步简化自己重复性的劳动，等等。这里说的软件，包括你使用的操作系统，无论你是windows还是mac，请熟悉它，如何高效的文件管理、如何快速的程序启动切换，这两个问题是使用操作系统高效的关键。你使用过TC管理文件吗，使用过everything、google本地搜索、mac下的spot搜索文件而不是遍历目录点击吗？你使用过mac下alfred启动和切换应用程序而不是鼠标点击吗？同样的，常用的软件，如何借助vim、记事本、Excel高效的处理信息文本，进行大面积替换拼接、去除空行等，你了解列模式吗？一个简单的列表如何快速转化成为sql语句中的in子句？如何高效的在浏览器中新建或关闭tab页，快速定位地址栏，快速使用google搜索而不是先打开google再输入的模式，如何有效的管理书签，等等。</p> <p>4、使用脚本减少重复性劳动。电脑是人做出来的，它的智能，来自于预先设定的程序。你在电脑中的操作，很多也可以借助脚本或者一些智能工具，来实现自动化。</p> <p>5、优先选择开源免费产品。我没有道德洁癖，一定不碰盗版，但是在满足需求的前提下，可以优先选择开源免费的产品。</p> <p>6、不要迷信、迷恋软件。软件终究是软件，对你来说，它应该只是一个工具，仅仅是一个工具，而已。它不能够完全替代你某方面的功能，比如，思维导图不能够替代你好的思考模式，你自己怎么样的思考，才决定了你如何更有效的使用思维导图软件；GTD工具不能够代替你很好的进行时间管理，你自己如何管理你的时间，才决定了你如何更舒服协调的使用GTD工具。甚至这些工具，你不使用它们，用纸和笔，一样能够很好的完成。</p> <p>本着以上原则，以下是我的mac软件清单：</p> <p>1、office：ms office/keynote；</p> <p>2、文本编辑：MacVim，神器，无需多言；WriteRoom，专心写文本，简单实用。</p> <p>3、浏览器：safari/chrome；</p> <p>4、视频：mplayerx；</p> <p>5、图片：Picasa，管理图片，比iphoto简单好用；xee，轻量级看图；</p> <p>6、音乐：itunes，本地音乐；豆瓣电台，网络听歌；</p> <p>7、聊天：阿里旺旺、ichat；</p> <p>8、邮件：outlook，公司邮件；mail：私人gmail管理；</p> <p>9、笔记：evenote，神器，无需多言；</p> <p>10、脑图：xmind，跨平台；</p> <p>11、PDF阅读：skim；</p> <p>12、电子书籍管理：ehon；</p> <p>13、应用程序启动切换：alfred，神器；</p> <p>14、画图：omniGraffle；</p> <p>15、输入法：qq输入法for mac，Mac下输入法始终没有达到win下的境界，即使有搜狗输入法for mac；</p> <p>16、翻译：有道词典；</p> <p>17、终端：iterm2。</p> ]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>买了mac笔记本有一年多了，从今年10月才开始把它作为工作机，陆陆续续的安装了很多软件，近几天系统性的整理了安装的软件，参考了很多网络意见，比较了很多软件，到最后才悟到，软件终究是为人服务的，一切应该以人为目的，如何更高效、更舒服的在笔记本上工作，才是王道。</p>
<p>1、满足需求为要。记住，选择软件的第一原则，就是满足需求，你有什么样的需求，就安装什么样的软件。不要安装你不可能用到的软件，哪怕那个软件非常非常的有名，用不到的，对你来说，就是累赘，别去安装。</p>
<p>2、简单实用为上。同类软件中有很多，有功能强大的，有简单使用的，如果能够满足需求，尽量选择简单实用的，对你来说，你用不到的功能，就是累赘。</p>
<p>3、精通你经常使用类别的一款软件。使用电脑，用来办公、上网、沟通等，每种不同的类别，有很多软件，选择一款自己合适的，每款软件，有大量的功能，精通自己常用的功能，这里说的精通，是真正的精通：通过快捷键更快速的使用一些常用功能，通过定制化、个性化设置自己常用的设置，甚至通过脚步简化自己重复性的劳动，等等。这里说的软件，包括你使用的操作系统，无论你是windows还是mac，请熟悉它，如何高效的文件管理、如何快速的程序启动切换，这两个问题是使用操作系统高效的关键。你使用过TC管理文件吗，使用过everything、google本地搜索、mac下的spot搜索文件而不是遍历目录点击吗？你使用过mac下alfred启动和切换应用程序而不是鼠标点击吗？同样的，常用的软件，如何借助vim、记事本、Excel高效的处理信息文本，进行大面积替换拼接、去除空行等，你了解列模式吗？一个简单的列表如何快速转化成为sql语句中的in子句？如何高效的在浏览器中新建或关闭tab页，快速定位地址栏，快速使用google搜索而不是先打开google再输入的模式，如何有效的管理书签，等等。</p>
<p>4、使用脚本减少重复性劳动。电脑是人做出来的，它的智能，来自于预先设定的程序。你在电脑中的操作，很多也可以借助脚本或者一些智能工具，来实现自动化。</p>
<p>5、优先选择开源免费产品。我没有道德洁癖，一定不碰盗版，但是在满足需求的前提下，可以优先选择开源免费的产品。</p>
<p>6、不要迷信、迷恋软件。软件终究是软件，对你来说，它应该只是一个工具，仅仅是一个工具，而已。它不能够完全替代你某方面的功能，比如，思维导图不能够替代你好的思考模式，你自己怎么样的思考，才决定了你如何更有效的使用思维导图软件；GTD工具不能够代替你很好的进行时间管理，你自己如何管理你的时间，才决定了你如何更舒服协调的使用GTD工具。甚至这些工具，你不使用它们，用纸和笔，一样能够很好的完成。</p>
<p>本着以上原则，以下是我的mac软件清单：</p>
<p>1、office：ms office/keynote；</p>
<p>2、文本编辑：MacVim，神器，无需多言；WriteRoom，专心写文本，简单实用。</p>
<p>3、浏览器：safari/chrome；</p>
<p>4、视频：mplayerx；</p>
<p>5、图片：Picasa，管理图片，比iphoto简单好用；xee，轻量级看图；</p>
<p>6、音乐：itunes，本地音乐；豆瓣电台，网络听歌；</p>
<p>7、聊天：阿里旺旺、ichat；</p>
<p>8、邮件：outlook，公司邮件；mail：私人gmail管理；</p>
<p>9、笔记：evenote，神器，无需多言；</p>
<p>10、脑图：xmind，跨平台；</p>
<p>11、PDF阅读：skim；</p>
<p>12、电子书籍管理：ehon；</p>
<p>13、应用程序启动切换：alfred，神器；</p>
<p>14、画图：omniGraffle；</p>
<p>15、输入法：qq输入法for mac，Mac下输入法始终没有达到win下的境界，即使有搜狗输入法for mac；</p>
<p>16、翻译：有道词典；</p>
<p>17、终端：iterm2。</p>
<div class="shr-publisher-816"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.ukuang.com/2012/01/16/mac%e5%b8%b8%e7%94%a8%e8%bd%af%e4%bb%b6%e6%b8%85%e5%8d%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dbresp.pl导致Oracle高负载问题</title>
		<link>http://www.ukuang.com/2010/07/01/dbresp-pl%e5%af%bc%e8%87%b4oracle%e9%ab%98%e8%b4%9f%e8%bd%bd%e9%97%ae%e9%a2%98/</link>
		<comments>http://www.ukuang.com/2010/07/01/dbresp-pl%e5%af%bc%e8%87%b4oracle%e9%ab%98%e8%b4%9f%e8%bd%bd%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 12:55:36 +0000</pubDate>
		<dc:creator>bluffstone</dc:creator>
				<category><![CDATA[技术经验帖]]></category>

		<guid isPermaLink="false">http://www.ukuang.com/?p=461</guid>
		<description><![CDATA[问题提出： <p>这几天，根据一个老师反映，在进行某个批量操作的时候，系统非常非常忙，程序经常卡死。</p> 现象： <p>使用top命令一查，发现上千个进程在运行，cpu利用率非常高。</p> <p>再使用ps –ef &#124; grep –c oracle一统计，有831个关于oracle的进程，这其中，有大量的perl进程：</p> <p>/opt/oracle/product/10.2.0/db_1/sysman/admin/scripts/db/dbresp.pl</p> 原因： <p>根据metalink  Doc ID:  764140.1描述：The Response metric is making a timed out then the Agent starts other process to take the Response metric. The process to kill the PID taking the Response metric is failing increasing the process running dbresp.pl。</p> 解决方法： <p>同样根据根据metalink  Doc ID:  764140.1：</p> <p>To [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><h2>问题提出：</h2>
<p>这几天，根据一个老师反映，在进行某个批量操作的时候，系统非常非常忙，程序经常卡死。</p>
<h2>现象：</h2>
<p>使用top命令一查，发现上千个进程在运行，cpu利用率非常高。</p>
<p>再使用ps –ef | grep –c oracle一统计，有831个关于oracle的进程，这其中，有大量的perl进程：</p>
<p>/opt/oracle/product/10.2.0/db_1/sysman/admin/scripts/db/dbresp.pl</p>
<h2>原因：</h2>
<p>根据metalink  Doc ID:  764140.1描述：The Response metric is making a timed out then the Agent starts other process to take the Response metric. The process to kill the PID taking the Response metric is failing increasing the process running dbresp.pl。</p>
<h2>解决方法：</h2>
<p>同样根据根据metalink  Doc ID:  764140.1：</p>
<p>To implement the solution, please execute the following steps:<br />
1. Stop DBConsole<br />
emctl stop dbconsole</p>
<p><span id="more-461"></span></p>
<p>2. Kill any running process.<br />
ps -ef | grep /opt/app/oracle/&lt;hostname&gt;_&lt;sid&gt;<br />
Kill any returned process.</p>
<p>3. Follow fix<br />
Note.361612.1 Ext/Mod Problem Performance Agent High CPU Consumption Gen</p>
<p>4. Start DB Console<br />
emctl start dbconsole</p>
<h2>参考：</h2>
<p>【1】oracle metalink Doc ID:  764140.1 和361612.1这两个文档；</p>
<p>【2】<a href="http://liangshanmylove.blog.sohu.com/105080346.html" target="_blank">http://liangshanmylove.blog.sohu.com/105080346.html</a></p>
<p>【3】<a href="http://ms.itpub.net/viewthread.php?tid=1149567" target="_blank">http://ms.itpub.net/viewthread.php?tid=1149567</a></p>
<p>【4】<a href="http://www.itpub.net/viewthread.php?tid=1266568&amp;extra=&amp;page=2" target="_blank">http://www.itpub.net/viewthread.php?tid=1266568&amp;extra=&amp;page=2</a></p>
<div class="shr-publisher-461"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.ukuang.com/2010/07/01/dbresp-pl%e5%af%bc%e8%87%b4oracle%e9%ab%98%e8%b4%9f%e8%bd%bd%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用虚拟机配置路由器</title>
		<link>http://www.ukuang.com/2010/06/27/%e4%bd%bf%e7%94%a8%e8%99%9a%e6%8b%9f%e6%9c%ba%e9%85%8d%e7%bd%ae%e8%b7%af%e7%94%b1%e5%99%a8/</link>
		<comments>http://www.ukuang.com/2010/06/27/%e4%bd%bf%e7%94%a8%e8%99%9a%e6%8b%9f%e6%9c%ba%e9%85%8d%e7%bd%ae%e8%b7%af%e7%94%b1%e5%99%a8/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 05:02:45 +0000</pubDate>
		<dc:creator>bluffstone</dc:creator>
				<category><![CDATA[技术经验帖]]></category>

		<guid isPermaLink="false">http://www.ukuang.com/?p=458</guid>
		<description><![CDATA[<p>整理实验室用的机器，发现有一些原来的经验文档，所以贴在博客上。</p> <p>实验室的路由器被某某原因拿走了，我不想配置windows做路由器，所以弄了一个虚拟机来做一个强大的路由器。</p> <p>1、安装虚拟机，比如smoothwall-express-3.0-i386可以专门用来做路由器的os，非常强大。 2、在虚拟机中安装操作系统，同时设置双网卡； 3、在虚拟机中的配置双网卡： 外网：ip地址202.114.119.36，mac地址为：00:09:6B:C1:47 配置ip地址命令为： $ ifconfig eth1 202.114.119.36 配置mac地址的命令为： $ ifconfig eth1 down $ ifconfig eth1 hw ether 00096BC147 $ ifconfig eth1 up</p> <p>内网：ip地址为192.168.1.1，同时可以开启dhcp。ok，大告功成！</p> ]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>整理实验室用的机器，发现有一些原来的经验文档，所以贴在博客上。</p>
<p>实验室的路由器被某某原因拿走了，我不想配置windows做路由器，所以弄了一个虚拟机来做一个强大的路由器。</p>
<p>1、安装虚拟机，比如smoothwall-express-3.0-i386可以专门用来做路由器的os，非常强大。<br />
2、在虚拟机中安装操作系统，同时设置双网卡；<br />
3、在虚拟机中的配置双网卡：<br />
外网：ip地址202.114.119.36，mac地址为：00:09:6B:C1:47<br />
配置ip地址命令为：<br />
$ ifconfig eth1 202.114.119.36<br />
配置mac地址的命令为：<br />
$ ifconfig eth1 down<br />
$ ifconfig eth1 hw ether 00096BC147<br />
$ ifconfig eth1 up</p>
<p>内网：ip地址为192.168.1.1，同时可以开启dhcp。ok，大告功成！</p>
<div class="shr-publisher-458"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.ukuang.com/2010/06/27/%e4%bd%bf%e7%94%a8%e8%99%9a%e6%8b%9f%e6%9c%ba%e9%85%8d%e7%bd%ae%e8%b7%af%e7%94%b1%e5%99%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>完全卸载Oracle 9i记事</title>
		<link>http://www.ukuang.com/2010/06/27/%e5%ae%8c%e5%85%a8%e5%8d%b8%e8%bd%bdoracle-9i%e8%ae%b0%e4%ba%8b/</link>
		<comments>http://www.ukuang.com/2010/06/27/%e5%ae%8c%e5%85%a8%e5%8d%b8%e8%bd%bdoracle-9i%e8%ae%b0%e4%ba%8b/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 04:56:18 +0000</pubDate>
		<dc:creator>bluffstone</dc:creator>
				<category><![CDATA[技术经验帖]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.ukuang.com/?p=454</guid>
		<description><![CDATA[<p>1.停止Oracle服务 进入服务管理器，“开始-》运行-》services.msc”，停止那些Oracle服务， 他们都具有一个oracle或ora   的前缀。一旦停止了所有的Oracle服务， 我们建议将它们设置为手工启动模式（manual   start   mode）。</p> <p>2.删除注册表中相关项   1）进入注册表编辑器；    2）、备份Windows   注册表。   启动Registry   Editor   并从菜单中选择   File   &#124;   Export。     3）、用命令   regedt32启动Registry   Editor。找到HKEY_CLASSES_ROOT节点并删除所有以字符串   Oracle、ORA、ORCL开始的键。     4）、找到HKEY_LOCAL_MACHINE/SOFTWARE键并删除   Oracle   和   Apache   Group   键。     5）、删除HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\odbcinst.ini   下    面的Oracle   ODBC   Driver键。  </p> <p>   6）、删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\   Services   和HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicess\EventLog\Application下   所有以ORACLE起始的键。     7)、删除HKEY_CURRENT_USER\SOFTWARE\ORACLE下所有以ORACLE或ORCL起始的键。     8）、删除HKEY_CURRENT_USER\SOFTWARE\ODBC\odbcinst.ini下所有以Oracle起始的键。     [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>1.停止Oracle服务<br />
进入服务管理器，“开始-》运行-》services.msc”，停止那些Oracle服务，<br />
他们都具有一个oracle或ora   的前缀。一旦停止了所有的Oracle服务，<br />
我们建议将它们设置为手工启动模式（manual   start   mode）。</p>
<p>2.删除注册表中相关项<br />
  1）进入注册表编辑器； <br />
  2）、备份Windows   注册表。<br />
  启动Registry   Editor   并从菜单中选择   File   |   Export。  <br />
  3）、用命令<br />
  regedt32启动Registry   Editor。找到HKEY_CLASSES_ROOT节点并删除所有以字符串<br />
  Oracle、ORA、ORCL开始的键。  <br />
  4）、找到HKEY_LOCAL_MACHINE/SOFTWARE键并删除<br />
  Oracle   和   Apache   Group   键。  <br />
  5）、删除HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\odbcinst.ini   下 <br />
  面的Oracle   ODBC   Driver键。  </p>
<p><span id="more-454"></span><br />
  6）、删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\   Services<br />
  和HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicess\EventLog\Application下<br />
  所有以ORACLE起始的键。  <br />
  7)、删除HKEY_CURRENT_USER\SOFTWARE\ORACLE下所有以ORACLE或ORCL起始的键。  <br />
  8）、删除HKEY_CURRENT_USER\SOFTWARE\ODBC\odbcinst.ini下所有以Oracle起始的键。  <br />
  9）、寻找注册表中所有包含Oracle和ORCL字符串的键并删除它们。  <br />
  10）、关闭Registry   Editor。  </p>
<p>3.删除环境变量相关项<br />
编辑环境变量（控制面板中的System   applet）并修改PATH变量，从PATH中删除所有Oracle   条目。  <br />
 </p>
<p>4.删除oracle的安装文件<br />
  （1）删除Program   Files   中的Oracle   文件夹。<br />
   如果没有成功的删除该文件夹，则可能是Windows锁定了一些文件(DLL)。<br />
   遇到这种情况，重新启动系统并删除该文件夹。<br />
 （2）删除Oracle   Base   文件夹（默认情况为Oracle   ）。 <br />
  应注意，Oracle   9i   Enterprise   Edition  <br />
  也安装了第三方软件诸如：Apache   HTTP   Server   (Oracle   HTTP   Server  <br />
  是一个   Apache   Web Server   的修改版)。 <br />
  注意   当试图删除   c:\oracle   文件夹时，可能会得到一个“Access   is   denied   ”<br />
  的错误消息。如果遇到了这个错误提示，则应将   c:\oracle\ora90\bin\oci.dll <br />
  重新命名为   c:\oracle\ora90\bin\ocibak   ,然后重新启动机器，<br />
  并删除c:\oracle   文件夹。</p>
<p>5.删除快捷方式</p>
<div class="shr-publisher-454"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.ukuang.com/2010/06/27/%e5%ae%8c%e5%85%a8%e5%8d%b8%e8%bd%bdoracle-9i%e8%ae%b0%e4%ba%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>有关SELinux设置错误不能够启动的一个解决方法</title>
		<link>http://www.ukuang.com/2010/06/27/%e6%9c%89%e5%85%b3selinux%e8%ae%be%e7%bd%ae%e9%94%99%e8%af%af%e4%b8%8d%e8%83%bd%e5%a4%9f%e5%90%af%e5%8a%a8%e7%9a%84%e4%b8%80%e4%b8%aa%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95/</link>
		<comments>http://www.ukuang.com/2010/06/27/%e6%9c%89%e5%85%b3selinux%e8%ae%be%e7%bd%ae%e9%94%99%e8%af%af%e4%b8%8d%e8%83%bd%e5%a4%9f%e5%90%af%e5%8a%a8%e7%9a%84%e4%b8%80%e4%b8%aa%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 04:55:07 +0000</pubDate>
		<dc:creator>bluffstone</dc:creator>
				<category><![CDATA[技术经验帖]]></category>
		<category><![CDATA[Centos]]></category>

		<guid isPermaLink="false">http://www.ukuang.com/?p=452</guid>
		<description><![CDATA[<p>造成此次问题的原因： 我用的linux版本是CentOS5.2，在安装Oracle10g的时候，需要关闭SELinux，在修改配置文件/etc/selinux/config过程中，本来应该设置： # SELINUX=enforcing SELINUX=disabled 但是我粗心大意，设置了SELINUXTYPE参数： #SELINUXTYPE=targeted SELINUXTYPE=disabled</p> <p>问题现象： 重启Centos的时候，提示： unable to load selinux policy. machine is in enforcing mode. halting now. kernel panic-not syncing:attempted to kill init!</p> <p>解决方法: 系统启动的时候，按下‘e’键进入grub编辑界面，编辑grub菜单，选择“kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet” 一栏， 按‘e’键进入编辑，在末尾增加enforcing=0，即： kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0 按‘b’键继续引导，OK顺利前进。</p> ]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>造成此次问题的原因：<br />
我用的linux版本是CentOS5.2，在安装Oracle10g的时候，需要关闭SELinux，在修改配置文件/etc/selinux/config过程中，本来应该设置：<br />
# SELINUX=enforcing<br />
SELINUX=disabled<br />
但是我粗心大意，设置了SELINUXTYPE参数：<br />
#SELINUXTYPE=targeted<br />
SELINUXTYPE=disabled</p>
<p>问题现象：<br />
重启Centos的时候，提示：<br />
unable to load selinux policy. machine is in enforcing mode. halting now. kernel panic-not syncing:attempted to kill init!</p>
<p>解决方法:<br />
系统启动的时候，按下‘e’键进入grub编辑界面，编辑grub菜单，选择“kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet” 一栏，<br />
按‘e’键进入编辑，在末尾增加enforcing=0，即：<br />
kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0<br />
按‘b’键继续引导，OK顺利前进。</p>
<div class="shr-publisher-452"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.ukuang.com/2010/06/27/%e6%9c%89%e5%85%b3selinux%e8%ae%be%e7%bd%ae%e9%94%99%e8%af%af%e4%b8%8d%e8%83%bd%e5%a4%9f%e5%90%af%e5%8a%a8%e7%9a%84%e4%b8%80%e4%b8%aa%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delphi7 中使用ODAC存取图片</title>
		<link>http://www.ukuang.com/2010/03/16/delphi7-%e4%b8%ad%e4%bd%bf%e7%94%a8odac%e5%ad%98%e5%8f%96%e5%9b%be%e7%89%87/</link>
		<comments>http://www.ukuang.com/2010/03/16/delphi7-%e4%b8%ad%e4%bd%bf%e7%94%a8odac%e5%ad%98%e5%8f%96%e5%9b%be%e7%89%87/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 07:06:28 +0000</pubDate>
		<dc:creator>bluffstone</dc:creator>
				<category><![CDATA[技术经验帖]]></category>
		<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.ukuang.com/2010/03/16/delphi7-%e4%b8%ad%e4%bd%bf%e7%94%a8odac%e5%ad%98%e5%8f%96%e5%9b%be%e7%89%87/</guid>
		<description><![CDATA[<p>最近很少写技术贴，前几天协助王锋师兄解决了在delphi7中，使用ODAC组件存取图片的问题。事后，他整理了一个经验文档，争得他同意，我贴出来，以备以后查询之用。 说明：ODAC组件我不熟悉，在使用它存取图片的时候，特别注意sql的写法。</p> <p>ODAC 组件支持 Oracle8 的 BLOB 和 CLOB 数据类型。你可以使用 TOraQuery 组件来获取 LOB 字段的值，BLOB 和 CLOB 数据类型通过 LOB 定位器(指定数据地址) 存储在表列中；实际的 BLOB 和 CLOB 数据存储在独立的表空间中。当存取 LOB 列时，返回的是定位器。要初始化 LOB 定位器，你必须使用 EMPTY_BLOB 或 EMPTY_CLOB Oracle 函数。要返回初始化后的定位器，应在同样的语句中使用 RETURNING 子句。ODAC 写 LOB 数据到 Oracle 且返回初始值字段，需使用：值参数. 对 ODAC 来说，在 LOB 操作中使用 ParamType 属性是非常重要的。如果 ParamType 是 ptInput ， ODAC 写数据到服务器，如果 ParamType 是 [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>最近很少写技术贴，前几天协助王锋师兄解决了在delphi7中，使用ODAC组件存取图片的问题。事后，他整理了一个经验文档，争得他同意，我贴出来，以备以后查询之用。<br />
说明：ODAC组件我不熟悉，在使用它存取图片的时候，特别注意sql的写法。</p>
<p>ODAC 组件支持 Oracle8 的 BLOB 和 CLOB 数据类型。你可以使用 TOraQuery 组件来获取 LOB 字段的值，BLOB 和 CLOB 数据类型通过 LOB 定位器(指定数据地址) 存储在表列中；实际的 BLOB 和 CLOB 数据存储在独立的表空间中。当存取 LOB 列时，返回的是定位器。要初始化 LOB 定位器，你必须使用 EMPTY_BLOB 或 EMPTY_CLOB Oracle 函数。要返回初始化后的定位器，应在同样的语句中使用 RETURNING 子句。ODAC 写 LOB 数据到 Oracle 且返回初始值字段，需使用：值参数. 对 ODAC 来说，在 LOB 操作中使用 ParamType 属性是非常重要的。如果 ParamType 是 ptInput ， ODAC 写数据到服务器，如果 ParamType 是 ptOutput，它则读取数据。<br />
以下两个例子是从Oracle10g中存/取jpg和bmp图片，需要注意的是在存图片的时候SQL语句的写法。</p>
<p><span id="more-191"></span><br />
（1）存图片<br />
procedure TNewStamp.BitBtn3Click(Sender: TObject);<br />
var<br />
pic:TMemoryStream;<br />
pjpg:tjpegimage;<br />
pjpeg:tjpegimage;<br />
bmp:tbitmap;<br />
begin<br />
{ //jpg图片<br />
pjpeg:=tjpegimage.Create;<br />
pjpg:=tjpegimage.Create;<br />
pjpg.LoadFromFile(&#8216;C:\1112.jpg&#8217;);<br />
pic:=TMemoryStream.Create;</p>
<p>pjpg.SaveToStream(pic);<br />
pic.Position:=0;<br />
pjpeg.LoadFromStream(pic);<br />
image1.Picture.Assign(pjpeg);</p>
<p>login.SmartQuery1.Close;<br />
login.SmartQuery1.SQL.Clear;<br />
login.SmartQuery1.SQL.Add(&#8216;insert into TEST(TEST1,TEST2) VALUES(:t1,EMPTY_BLOB()) returning TEST2 into :TEST2&#8242;);<br />
login.SmartQuery1.ParamByName(&#8216;t1&#8242;).AsString:=&#8217;123&#8242;;<br />
login.SmartQuery1.ParamByName(&#8216;TEST2&#8242;).ParamType:=ptInput;<br />
login.SmartQuery1.ParamByName(&#8216;TEST2&#8242;).AsOraBlob.LoadFromStream(pic);<br />
login.SmartQuery1.Prepare;<br />
login.SmartQuery1.ExecSQL;</p>
<p>}<br />
//bmp图片<br />
bmp:=tbitmap.Create;<br />
pic:=TMemoryStream.Create;<br />
bmp.LoadFromFile(&#8216;C:\122.bmp&#8217;);<br />
bmp.SaveToStream(pic);<br />
pic.Position:=0;</p>
<p>login.SmartQuery1.Close;<br />
login.SmartQuery1.SQL.Clear;</p>
<p>login.SmartQuery1.SQL.Add(&#8216;insert into TEST(TEST1,TEST2) VALUES(:t1,EMPTY_BLOB()) returning TEST2 into :TEST2&#8242;);<br />
login.SmartQuery1.ParamByName(&#8216;t1&#8242;).AsString:=&#8217;124&#8242;;<br />
login.SmartQuery1.ParamByName(&#8216;TEST2&#8242;).ParamType:=ptInput;<br />
login.SmartQuery1.ParamByName(&#8216;TEST2&#8242;).AsOraBlob.LoadFromStream(pic);<br />
login.SmartQuery1.Prepare;<br />
login.SmartQuery1.ExecSQL;<br />
end;</p>
<p>（2）取图片<br />
procedure TNewStamp.BitBtn2Click(Sender: TObject);<br />
var<br />
pic:TMemoryStream;<br />
pjpeg:tjpegimage; //jpg格式图片<br />
bmp:tbitmap; //bmp格式图片<br />
begin</p>
<p>login.OraQuery1.SQL.Clear;<br />
login.OraQuery1.SQL.Add(&#8216;select * from TEST &#8216;);<br />
login.OraQuery1.AutoCommit := false;<br />
login.OraQuery1.FetchAll := true;<br />
login.OraQuery1.Open;</p>
<p>if login.OraQuery1.RecordCount = 0 then<br />
begin<br />
showmessage(&#8216;没有记录&#8217;);<br />
exit;<br />
end;</p>
<p>bmp:=tbitmap.Create;<br />
pjpeg:=tjpegimage.Create;<br />
pic:=TMemoryStream.Create;</p>
<p>TBlobField(login.OraQuery1.fieldbyname(&#8216;TEST2&#8242;)).savetostream(pic);<br />
pic.Position:=0;<br />
bmp.LoadFromStream(pic);<br />
bmp.SaveToFile(&#8216;C:\122.bmp&#8217;);<br />
image1.Picture.Assign(bmp);<br />
pic.Free;<br />
end;</p>
<div class="shr-publisher-191"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.ukuang.com/2010/03/16/delphi7-%e4%b8%ad%e4%bd%bf%e7%94%a8odac%e5%ad%98%e5%8f%96%e5%9b%be%e7%89%87/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Chrome的内存管理</title>
		<link>http://www.ukuang.com/2010/01/11/chrome%e7%9a%84%e5%86%85%e5%ad%98%e7%ae%a1%e7%90%86/</link>
		<comments>http://www.ukuang.com/2010/01/11/chrome%e7%9a%84%e5%86%85%e5%ad%98%e7%ae%a1%e7%90%86/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 11:23:18 +0000</pubDate>
		<dc:creator>bluffstone</dc:creator>
				<category><![CDATA[技术经验帖]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.ukuang.com/?p=130</guid>
		<description><![CDATA[<p> 在Windows下，Chrome使用单独进程来运行每一个Tab页和每一个扩展，如果打开网页多了，或者安装插件多了，对于内存吃紧的机器，可以明显感觉到机器速度变慢，甚至到达卡的地步。Chrome有一个任务管理器（Task Manager），使用shift + ESC调出来，如下图： <p class="wp-caption-text">Chrome任务管理器</p> 使用任务管理器，可以查看Tab页和扩展占用内存的情况，对于一些不常用的但是占用内存大的扩展，可以结束掉其进程，或者在扩展管理器中停用此扩展。 此外，在Chrome的新版本中，加入了一个新的参数&#8221;–purge-memory-button&#8221; ，当在Chrome的启动命令行加入这个参数后，如下图，Chrome的任务管理器就会出现一个新的Purge memory清理内存按钮，点击这个按钮你会发现某些tab或者是扩展使用的内存数会出现下降。 <p class="wp-caption-text">chrome添加purge memory参数</p></p> ]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>     在Windows下，Chrome使用单独进程来运行每一个Tab页和每一个扩展，如果打开网页多了，或者安装插件多了，对于内存吃紧的机器，可以明显感觉到机器速度变慢，甚至到达卡的地步。Chrome有一个任务管理器（Task Manager），使用shift + ESC调出来，如下图：<br />
<div id="attachment_160" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.ukuang.com/wp-content/uploads/2010/01/Chrome任务管理器.jpg"><img src="http://www.ukuang.com/wp-content/uploads/2010/01/Chrome任务管理器-300x141.jpg" alt="Chrome任务管理器" title="Chrome任务管理器" width="300" height="141" class="size-medium wp-image-160" /></a><p class="wp-caption-text">Chrome任务管理器</p></div><br />
使用任务管理器，可以查看Tab页和扩展占用内存的情况，对于一些不常用的但是占用内存大的扩展，可以结束掉其进程，或者在扩展管理器中停用此扩展。<br />
此外，在Chrome的新版本中，加入了一个新的参数&#8221;–purge-memory-button&#8221; ，当在Chrome的启动命令行加入这个参数后，如下图，Chrome的任务管理器就会出现一个新的Purge memory清理内存按钮，点击这个按钮你会发现某些tab或者是扩展使用的内存数会出现下降。<br />
<div id="attachment_161" class="wp-caption aligncenter" style="width: 242px"><a href="http://www.ukuang.com/wp-content/uploads/2010/01/chrome添加purge-memory参数.jpg"><img src="http://www.ukuang.com/wp-content/uploads/2010/01/chrome添加purge-memory参数-232x300.jpg" alt="chrome添加purge memory参数" title="chrome添加purge memory参数" width="232" height="300" class="size-medium wp-image-161" /></a><p class="wp-caption-text">chrome添加purge memory参数</p></div></p>
<div class="shr-publisher-130"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.ukuang.com/2010/01/11/chrome%e7%9a%84%e5%86%85%e5%ad%98%e7%ae%a1%e7%90%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用绑定变量和不使用绑定变量操作数据库</title>
		<link>http://www.ukuang.com/2009/11/05/%e4%bd%bf%e7%94%a8%e7%bb%91%e5%ae%9a%e5%8f%98%e9%87%8f%e5%92%8c%e4%b8%8d%e4%bd%bf%e7%94%a8%e7%bb%91%e5%ae%9a%e5%8f%98%e9%87%8f%e6%93%8d%e4%bd%9c%e6%95%b0%e6%8d%ae%e5%ba%93/</link>
		<comments>http://www.ukuang.com/2009/11/05/%e4%bd%bf%e7%94%a8%e7%bb%91%e5%ae%9a%e5%8f%98%e9%87%8f%e5%92%8c%e4%b8%8d%e4%bd%bf%e7%94%a8%e7%bb%91%e5%ae%9a%e5%8f%98%e9%87%8f%e6%93%8d%e4%bd%9c%e6%95%b0%e6%8d%ae%e5%ba%93/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 03:52:06 +0000</pubDate>
		<dc:creator>bluffstone</dc:creator>
				<category><![CDATA[技术经验帖]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.ukuang.com/?p=107</guid>
		<description><![CDATA[<p>以下例子是在delphi中编程实现，数据库为oracle，具体的代码省略了，只说明情况。</p> <p>1、不使用绑定变量</p> <p>例子：删除同一张表的两条记录。</p> <p>sql语句如下：</p> <p>（1）delete from t_englishscore_score where STUDENTNUM=&#8217;200431500123&#8242;</p> <p>and LESSONNAME=&#8217;test&#8217; and YEAR=&#8217;2005&#8242; and TERM=&#8217;上&#8217;；</p> <p>（2）delete from t_englishscore_score where STUDENTNUM=&#8217;200431500123&#8242;</p> <p>and LESSONNAME=&#8217;毕业设计&#8217; and YEAR=&#8217;2007&#8242; and TERM=&#8217;下&#8217;</p> <p>此时查询v$sqltext视图（它能够反映oracle 中share pool中的sql解析共享情况）：</p> <p align="left">ADDRESS</p> <p align="left">HASH_VALUE</p> <p align="left">SQL_ID</p> <p align="left">COMMAND_TYPE</p> <p align="left">PIECE</p> <p align="left">SQL_TEXT</p> <p align="left">0000000173D47990</p> <p align="right">2193311325</p> <p align="left">1mhba361bqjkx</p> <p align="right">7</p> <p align="right">0</p> <p align="left">delete from t_englishscore_score [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>以下例子是在delphi中编程实现，数据库为oracle，具体的代码省略了，只说明情况。</p>
<p>1、不使用绑定变量</p>
<p>例子：删除同一张表的两条记录。</p>
<p>sql语句如下：</p>
<p>（1）delete from t_englishscore_score where STUDENTNUM=&#8217;200431500123&#8242;</p>
<p>and LESSONNAME=&#8217;test&#8217; and YEAR=&#8217;2005&#8242; and TERM=&#8217;上&#8217;；</p>
<p>（2）delete from t_englishscore_score where STUDENTNUM=&#8217;200431500123&#8242;</p>
<p>and LESSONNAME=&#8217;毕业设计&#8217; and YEAR=&#8217;2007&#8242; and TERM=&#8217;下&#8217;</p>
<p>此时查询v$sqltext视图（它能够反映oracle 中share pool中的sql解析共享情况）：</p>
<table border="0" cellspacing="0" cellpadding="0" width="735">
<tbody>
<tr>
<td width="121" valign="bottom">
<p align="left"><strong>ADDRESS</strong></p>
</td>
<td width="96" valign="bottom">
<p align="left"><strong>HASH_VALUE</strong></p>
</td>
<td width="96" valign="bottom">
<p align="left"><strong>SQL_ID</strong></p>
</td>
<td width="82" valign="bottom">
<p align="left"><strong>COMMAND_TYPE</strong></p>
</td>
<td width="50" valign="bottom">
<p align="left"><strong>PIECE</strong></p>
</td>
<td width="290" valign="bottom">
<p align="left"><strong>SQL_TEXT</strong></p>
</td>
</tr>
<tr>
<td width="121" valign="bottom">
<p align="left">0000000173D47990</p>
</td>
<td width="96" valign="bottom">
<p align="right">2193311325</p>
</td>
<td width="96" valign="bottom">
<p align="left">1mhba361bqjkx</p>
</td>
<td width="82" valign="bottom">
<p align="right">7</p>
</td>
<td width="50" valign="bottom">
<p align="right">0</p>
</td>
<td width="290" valign="bottom">
<p align="left">delete from t_englishscore_score where   STUDENTNUM=&#8217;200431500123&#8242;</p>
</td>
</tr>
<tr>
<td width="121" valign="bottom">
<p align="left">0000000173D47990</p>
</td>
<td width="96" valign="bottom">
<p align="right">2193311325</p>
</td>
<td width="96" valign="bottom">
<p align="left">1mhba361bqjkx</p>
</td>
<td width="82" valign="bottom">
<p align="right">7</p>
</td>
<td width="50" valign="bottom">
<p align="right">1</p>
</td>
<td width="290" valign="bottom">
<p align="left">and   LESSONNAME=&#8217;test&#8217; and YEAR=&#8217;2005&#8242; and TERM=&#8217;上&#8217;</p>
</td>
</tr>
<tr>
<td width="121" valign="bottom">
<p align="left">0000000188BDAC00</p>
</td>
<td width="96" valign="bottom">
<p align="right">321412224</p>
</td>
<td width="96" valign="bottom">
<p align="left">3jjk8tn9khr40</p>
</td>
<td width="82" valign="bottom">
<p align="right">7</p>
</td>
<td width="50" valign="bottom">
<p align="right">0</p>
</td>
<td width="290" valign="bottom">
<p align="left">delete from t_englishscore_score where   STUDENTNUM=&#8217;200431500123&#8242;</p>
</td>
</tr>
<tr>
<td width="121" valign="bottom">
<p align="left">0000000188BDAC00</p>
</td>
<td width="96" valign="bottom">
<p align="right">321412224</p>
</td>
<td width="96" valign="bottom">
<p align="left">3jjk8tn9khr40</p>
</td>
<td width="82" valign="bottom">
<p align="right">7</p>
</td>
<td width="50" valign="bottom">
<p align="right">1</p>
</td>
<td width="290" valign="bottom">
<p align="left">and   LESSONNAME=&#8217;毕业设计&#8217; and YEAR=&#8217;2007&#8242; and TERM=&#8217;下&#8217;</p>
</td>
</tr>
</tbody>
</table>
<p>可见，没有使用绑定变量，两次删除的语句都分别对应不同的Hash_Value，在共享池中占据两个条目，而且关键是这两个条目能够被以后删除记录操作共享的几率大致趋于0，除非有同样的记录需要删除，这样就大大降低了共享池“共享”的功能。</p>
<p>2、使用绑定变量</p>
<p>例子：更新同一张表多条记录。</p>
<p>sql语句：在delphi中sql语句代码如下：</p>
<p>（1）update t_englishscore_score set LESSONNUM=:newLessonnum,LESSONNAME=:newLessonname,</p>
<p>YEAR=:newYear,TERM=:newTerm,COURSESORT=:newCourseSort,</p>
<p>CREDIT=:newCredit,SCORE=:newScore,ISDELETE=:newIsDelete</p>
<p>where STUDENTNUM=:oldStudentnum and LESSONNAME=:oldLessonname</p>
<p>and YEAR=:oldYear and TERM=:oldTerm</p>
<p>每次更新，只要赋予相应的参数即可。多次更新后，查看v$sqltext：</p>
<table border="0" cellspacing="0" cellpadding="0" width="852">
<tbody>
<tr>
<td width="100" valign="bottom">
<p align="left"><strong>ADDRESS</strong></p>
</td>
<td width="123" valign="bottom">
<p align="left"><strong>HASH_VALUE</strong></p>
</td>
<td width="99" valign="bottom">
<p align="left"><strong>SQL_ID</strong></p>
</td>
<td width="99" valign="bottom">
<p align="left"><strong>COMMAND_TYPE</strong></p>
</td>
<td width="47" valign="bottom">
<p align="left"><strong>PIECE</strong></p>
</td>
<td width="386" valign="bottom">
<p align="left"><strong>SQL_TEXT</strong></p>
</td>
</tr>
<tr>
<td width="100" valign="bottom">
<p align="left">00000001735AF2B0</p>
</td>
<td width="123" valign="bottom">
<p align="right">1453164333</p>
</td>
<td width="99" valign="bottom">
<p align="left">gfdbw8db9v1td</p>
</td>
<td width="99" valign="bottom">
<p align="right">6</p>
</td>
<td width="47" valign="bottom">
<p align="right">0</p>
</td>
<td width="386" valign="bottom">
<p align="left">update t_englishscore_score set   LESSONNUM=:1,LESSONNAME=:2,YEAR=</p>
</td>
</tr>
<tr>
<td width="100" valign="bottom">
<p align="left">00000001735AF2B0</p>
</td>
<td width="123" valign="bottom">
<p align="right">1453164333</p>
</td>
<td width="99" valign="bottom">
<p align="left">gfdbw8db9v1td</p>
</td>
<td width="99" valign="bottom">
<p align="right">6</p>
</td>
<td width="47" valign="bottom">
<p align="right">1</p>
</td>
<td width="386" valign="bottom">
<p align="left">:3,TERM=:4,COURSESORT=:5,CREDIT=:6,SCORE=:7,ISDELETE=:8  where S</p>
</td>
</tr>
<tr>
<td width="100" valign="bottom">
<p align="left">00000001735AF2B0</p>
</td>
<td width="123" valign="bottom">
<p align="right">1453164333</p>
</td>
<td width="99" valign="bottom">
<p align="left">gfdbw8db9v1td</p>
</td>
<td width="99" valign="bottom">
<p align="right">6</p>
</td>
<td width="47" valign="bottom">
<p align="right">2</p>
</td>
<td width="386" valign="bottom">
<p align="left">TUDENTNUM=:9 and LESSONNAME=:10 and   YEAR=:11 and TERM=:12</p>
</td>
</tr>
</tbody>
</table>
<p>可见使用绑定变量后，多次更新操作，都很好的共享了一条sql解析，大大降低了硬解析的数量，相应的提供了软解析的数量，从而真正发挥了共享池“共享”的作用。</p>
<div class="shr-publisher-107"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.ukuang.com/2009/11/05/%e4%bd%bf%e7%94%a8%e7%bb%91%e5%ae%9a%e5%8f%98%e9%87%8f%e5%92%8c%e4%b8%8d%e4%bd%bf%e7%94%a8%e7%bb%91%e5%ae%9a%e5%8f%98%e9%87%8f%e6%93%8d%e4%bd%9c%e6%95%b0%e6%8d%ae%e5%ba%93/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关闭Centos的自动更新</title>
		<link>http://www.ukuang.com/2009/10/23/%e5%85%b3%e9%97%adcentos%e7%9a%84%e8%87%aa%e5%8a%a8%e6%9b%b4%e6%96%b0/</link>
		<comments>http://www.ukuang.com/2009/10/23/%e5%85%b3%e9%97%adcentos%e7%9a%84%e8%87%aa%e5%8a%a8%e6%9b%b4%e6%96%b0/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 01:33:21 +0000</pubDate>
		<dc:creator>bluffstone</dc:creator>
				<category><![CDATA[技术经验帖]]></category>
		<category><![CDATA[Centos]]></category>

		<guid isPermaLink="false">http://www.ukuang.com/?p=101</guid>
		<description><![CDATA[<p>昨天跟老板汇报，提到我们的linux服务器每天自动更新，老板大发雷霆，说生产系统不能够这样，非常不安全，一个师兄也提到他原来在移动的时候，服务器更新也是很谨慎的事情。看来我的思维太技术了，不够全面，所以回来就把自动更新关了。</p> <p>操作记录如下：</p> <p>[root@jwbdb alpha]# chkconfig &#8211;list yum-updatesd</p> <p>yum-updatesd    0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭</p> <p>[root@jwbdb alpha]# service yum-updatesd stop</p> <p>停止 yum-updatesd：                                        [确定]</p> <p>[root@jwbdb alpha]# service yum-updatesd status</p> <p>yum-updatesd 已停</p> <p>[root@jwbdb alpha]# chkconfig &#8211;level 35 yum-updatesd off</p> <p>[root@jwbdb alpha]# chkconfig &#8211;list yum-updatesd</p> <p>yum-updatesd    0:关闭  1:关闭  2:启用  3:关闭  4:启用  5:关闭  6:关闭</p> [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>昨天跟老板汇报，提到我们的linux服务器每天自动更新，老板大发雷霆，说<span style="color: #000000;"><span style="font-family: Georgia,&quot;Times New Roman&quot;,&quot;Bitstream Charter&quot;,Times,serif;">生产系统不能够这样，非常不安全，一个师兄也提到他原来在移动的时候，服务器更新也是很谨慎的事情。看来我的思维太技术了，不够全面，所以回来就把自动更新关了。</span></span></p>
<p>操作记录如下：</p>
<p>[root@jwbdb alpha]# chkconfig &#8211;list yum-updatesd</p>
<p>yum-updatesd    0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭</p>
<p>[root@jwbdb alpha]# service yum-updatesd stop</p>
<p>停止 yum-updatesd：                                        [确定]</p>
<p>[root@jwbdb alpha]# service yum-updatesd status</p>
<p>yum-updatesd 已停</p>
<p>[root@jwbdb alpha]# chkconfig &#8211;level 35 yum-updatesd off</p>
<p>[root@jwbdb alpha]# chkconfig &#8211;list yum-updatesd</p>
<p>yum-updatesd    0:关闭  1:关闭  2:启用  3:关闭  4:启用  5:关闭  6:关闭</p>
<div class="shr-publisher-101"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.ukuang.com/2009/10/23/%e5%85%b3%e9%97%adcentos%e7%9a%84%e8%87%aa%e5%8a%a8%e6%9b%b4%e6%96%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>禁用SELinux时配置错误导致Centos不能够启动的一种解决方法</title>
		<link>http://www.ukuang.com/2009/10/10/%e7%a6%81%e7%94%a8selinux%e6%97%b6%e9%85%8d%e7%bd%ae%e9%94%99%e8%af%af%e5%af%bc%e8%87%b4centos%e4%b8%8d%e8%83%bd%e5%a4%9f%e5%90%af%e5%8a%a8%e7%9a%84%e4%b8%80%e7%a7%8d%e8%a7%a3%e5%86%b3%e6%96%b9/</link>
		<comments>http://www.ukuang.com/2009/10/10/%e7%a6%81%e7%94%a8selinux%e6%97%b6%e9%85%8d%e7%bd%ae%e9%94%99%e8%af%af%e5%af%bc%e8%87%b4centos%e4%b8%8d%e8%83%bd%e5%a4%9f%e5%90%af%e5%8a%a8%e7%9a%84%e4%b8%80%e7%a7%8d%e8%a7%a3%e5%86%b3%e6%96%b9/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 12:12:55 +0000</pubDate>
		<dc:creator>bluffstone</dc:creator>
				<category><![CDATA[技术经验帖]]></category>

		<guid isPermaLink="false">http://www.ukuang.com/?p=91</guid>
		<description><![CDATA[<p>造成此次问题的原因： 我用的linux版本是CentOS5.2，在安装Oracle10g的时候，需要关闭SELinux，在修改配置文件/etc/selinux/config过程中，本来应该设置： # SELINUX=enforcing SELINUX=disabled 但是我粗心大意，设置了SELINUXTYPE参数： #SELINUXTYPE=targeted SELINUXTYPE=disabled</p> <p>问题现象： 重启Centos的时候，提示： unable to load selinux policy. machine is in enforcing mode. halting now. kernel panic-not syncing:attempted to kill init!</p> <p>解决方法: 系统启动的时候，按下‘e’键进入grub编辑界面，编辑grub菜单，选择“kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet” 一栏，按‘e’键进入编辑，在末尾增加enforcing=0，即： kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0 按‘b’键继续引导，OK顺利前进。</p> ]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>造成此次问题的原因：<br />
我用的linux版本是CentOS5.2，在安装Oracle10g的时候，需要关闭SELinux，在修改配置文件/etc/selinux/config过程中，本来应该设置：<br />
# SELINUX=enforcing<br />
SELINUX=disabled<br />
但是我粗心大意，设置了SELINUXTYPE参数：<br />
#SELINUXTYPE=targeted<br />
SELINUXTYPE=disabled</p>
<p>问题现象：<br />
重启Centos的时候，提示：<br />
unable to load selinux policy. machine is in enforcing mode. halting now. kernel panic-not syncing:attempted to kill init!</p>
<p>解决方法:<br />
系统启动的时候，按下‘e’键进入grub编辑界面，编辑grub菜单，选择“kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet” 一栏，按‘e’键进入编辑，在末尾增加enforcing=0，即：<br />
kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0<br />
按‘b’键继续引导，OK顺利前进。</p>
<div class="shr-publisher-91"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.ukuang.com/2009/10/10/%e7%a6%81%e7%94%a8selinux%e6%97%b6%e9%85%8d%e7%bd%ae%e9%94%99%e8%af%af%e5%af%bc%e8%87%b4centos%e4%b8%8d%e8%83%bd%e5%a4%9f%e5%90%af%e5%8a%a8%e7%9a%84%e4%b8%80%e7%a7%8d%e8%a7%a3%e5%86%b3%e6%96%b9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

