﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-zhyiwww -随笔分类-oracle</title><link>http://www.blogjava.net/zhyiwww/category/37785.html</link><description>用平实的笔，记录编程路上的点点滴滴………</description><language>zh-cn</language><lastBuildDate>Wed, 19 Feb 2014 03:58:40 GMT</lastBuildDate><pubDate>Wed, 19 Feb 2014 03:58:40 GMT</pubDate><ttl>60</ttl><item><title>Windows下的SC命令参考</title><link>http://www.blogjava.net/zhyiwww/archive/2014/02/18/410001.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Tue, 18 Feb 2014 12:46:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2014/02/18/410001.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/410001.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2014/02/18/410001.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/410001.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/410001.html</trackback:ping><description><![CDATA[<div></div><div>C:\tmp&gt;sc /?</div><div></div><div>错误: &nbsp;未知命令</div><div></div><div>描述:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; SC 是用于与服务控制管理器和服务进行通信的命令行程序。</div><div>用法:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; sc &lt;server&gt; [command] [service name] &lt;option1&gt; &lt;option2&gt;...</div><div></div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp; 选项 &lt;server&gt; 的格式为 "\\ServerName"</div><div>&nbsp; &nbsp; &nbsp; &nbsp; 键入 "sc [command]" 可以获得有关命令的进一步帮助</div><div>&nbsp; &nbsp; &nbsp; &nbsp; 命令:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; query-----------查询服务的状态，</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 或枚举服务类型的状态。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; queryex---------查询服务的扩展状态，</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 或枚举服务类型的状态。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; start-----------启动服务。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pause-----------向服务发送 PAUSE 控制请求。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; interrogate-----向服务发送 INTERROGATE 控制请求。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; continue--------向服务发送 CONTINUE 控制请求。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stop------------向服务发送 STOP 请求。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; config----------更改服务的配置(永久)。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; description-----更改服务的描述。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; failure---------更改服务失败时执行的操作。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; failureflag-----更改服务的失败操作标志。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sidtype---------更改服务的服务 SID 类型。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; privs-----------更改服务的所需权限。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; qc--------------查询服务的配置信息。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; qdescription----查询服务的描述。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; qfailure--------查询失败时服务执行的操作。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; qfailureflag----查询服务的失败操作标志。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; qsidtype--------查询服务的服务 SID 类型。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; qprivs----------查询服务的所需权限。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; qtriggerinfo----查询服务的触发器参数。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; qpreferrednode--查询首选的服务 NUMA 节点。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; delete----------(从注册表)删除服务。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; create----------创建服务(将其添加到注册表)。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; control---------向服务发送控制。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sdshow----------显示服务的安全描述符。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sdset-----------设置服务的安全描述符。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; showsid---------显示相应于假定名称的 SID 字符串。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; triggerinfo-----配置服务的触发器参数。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; preferrednode---设置首选的服务 NUMA 节点。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GetDisplayName--获取服务的 DisplayName</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GetKeyName------获取服务的 ServiceKeyName。</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; EnumDepend------枚举服务的依存关系。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp; 下列命令不要求服务名称:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; sc &lt;server&gt; &lt;command&gt; &lt;option&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; boot------------(ok | bad) 指示是否将上一次启动保存为</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 最近一次已知的正确启动配置</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Lock------------锁定服务数据库</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; QueryLock-------查询 SCManager 数据库的 LockStatus</div><div>示例:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; sc start MyService</div><div></div><div>是否想参阅 QUERY 和 QUERYEX 命令的帮助? [ y | n ]:</div><div>y</div><div></div><div>QUERY 和 QUERYEX 选项:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; 如果查询命令带服务名称，将返回</div><div>&nbsp; &nbsp; &nbsp; &nbsp; 该服务的状态。其他选项不适合这种</div><div>&nbsp; &nbsp; &nbsp; &nbsp; 情况。如果查询命令不带参数或</div><div>&nbsp; &nbsp; &nbsp; &nbsp; 带下列选项之一，将枚举此服务。</div><div>&nbsp; &nbsp; type= &nbsp; &nbsp;要枚举的服务的类型(driver, service, all)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;默认 = service)</div><div>&nbsp; &nbsp; state= &nbsp; 要枚举的服务的状态 (inactive, all)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(默认 = active)</div><div>&nbsp; &nbsp; bufsize= 枚举缓冲区的大小(以字节计)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(默认 = 4096)</div><div>&nbsp; &nbsp; ri= &nbsp; &nbsp; &nbsp;开始枚举的恢复索引号</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(默认 = 0)</div><div>&nbsp; &nbsp; group= &nbsp; 要枚举的服务组</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(默认 = all groups)</div><div></div><div>语法示例</div><div>sc query &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;- 枚举活动服务和驱动程序的状态</div><div>sc query eventlog &nbsp; &nbsp; &nbsp; - 显示 eventlog 服务的状态</div><div>sc queryex eventlog &nbsp; &nbsp; - 显示 eventlog 服务的扩展状态</div><div>sc query type= driver &nbsp; - 仅枚举活动驱动程序</div><div>sc query type= service &nbsp;- 仅枚举 Win32 服务</div><div>sc query state= all &nbsp; &nbsp; - 枚举所有服务和驱动程序</div><div>sc query bufsize= 50 &nbsp; &nbsp;- 枚举缓冲区为 50 字节</div><div>sc query ri= 14 &nbsp; &nbsp; &nbsp; &nbsp; - 枚举时恢复索引 = 14</div><div>sc queryex group= "" &nbsp; &nbsp;- 枚举不在组内的活动服务</div><div>sc query type= interact - 枚举所有不活动服务</div><div>sc query type= driver group= NDIS &nbsp; &nbsp; - 枚举所有 NDIS 驱动程序</div><div></div><div></div><div>C:\tmp&gt;<br /><br />如果需要查看全部的服务：<br />可以使用 &nbsp;sc query state= all&nbsp;<br /><br />如果我想完成一个自动启动和关闭的oracle 脚本，可以通过如下步骤实现：<br />1)sc query state= all &gt; sl.txt<br />2)findstr "DISPLAY_NAME" sl.txt &gt; asl.txt<br />如下：<br /><div></div><div>C:\tmp&gt;findstr "DISPLAY_NAME" &nbsp;sl.txt</div><div>DISPLAY_NAME: Adobe Acrobat Update Service</div><div>DISPLAY_NAME: Application Experience</div><div>DISPLAY_NAME: Application Layer Gateway Service</div><div>DISPLAY_NAME: AMD External Events Utility</div><div>DISPLAY_NAME: Avira Scheduler</div><div>DISPLAY_NAME: Avira Real-Time Protection</div><div>DISPLAY_NAME: Application Identity</div><div>DISPLAY_NAME: Application Information</div><div>DISPLAY_NAME: Application Management</div><div>DISPLAY_NAME: Windows Audio Endpoint Builder</div><div>DISPLAY_NAME: Windows Audio</div>。。。<br />3)findstr /i "oracle" &nbsp;asl.txt &gt; osl.txt<br />内容:<div>C:\tmp&gt;findstr /i "oracle" asl.txt</div><div>DISPLAY_NAME: OracleDBConsoleorcl</div><div>DISPLAY_NAME: OracleJobSchedulerORCL</div><div>DISPLAY_NAME: OracleMTSRecoveryService</div><div>DISPLAY_NAME: OracleOraDb11g_home1ClrAgent</div><div>DISPLAY_NAME: OracleOraDb11g_home1TNSListener</div><div>DISPLAY_NAME: OracleServiceORCL</div><div>DISPLAY_NAME: Oracle ORCL VSS Writer Service<br />4)在vim中，把DISPLAY_NAME:替换成 net stop 或者net start就可以了：<br /><div><div><br />C:\tmp&gt;gvim osl.txt</div><div></div><div>C:\tmp&gt;type &nbsp;osl.txt</div><div>net stop &nbsp;OracleDBConsoleorcl</div><div>net stop &nbsp;OracleJobSchedulerORCL</div><div>net stop &nbsp;OracleMTSRecoveryService</div><div>net stop &nbsp;OracleOraDb11g_home1ClrAgent</div><div>net stop &nbsp;OracleOraDb11g_home1TNSListener</div><div>net stop &nbsp;OracleServiceORCL</div><div>net stop &nbsp;Oracle ORCL VSS Writer Service</div><div></div><div>net start &nbsp;OracleDBConsoleorcl</div><div>net start &nbsp;OracleJobSchedulerORCL</div><div>net start &nbsp;OracleMTSRecoveryService</div><div>net start &nbsp;OracleOraDb11g_home1ClrAgent</div><div>net start &nbsp;OracleOraDb11g_home1TNSListener</div><div>net start &nbsp;OracleServiceORCL</div><div>net start &nbsp;Oracle ORCL VSS Writer Service</div><div></div></div></div></div><img src ="http://www.blogjava.net/zhyiwww/aggbug/410001.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2014-02-18 20:46 <a href="http://www.blogjava.net/zhyiwww/archive/2014/02/18/410001.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle数据库结构复制的方法</title><link>http://www.blogjava.net/zhyiwww/archive/2010/08/06/328161.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Fri, 06 Aug 2010 10:43:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2010/08/06/328161.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/328161.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2010/08/06/328161.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/328161.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/328161.html</trackback:ping><description><![CDATA[<br />
&nbsp;用两个工具，可以搞定:<br />
&nbsp;(1)用toad导出数据库脚本<br />
&nbsp;&nbsp; 经过多次证明，toad导出的数据库脚本很好用。如果数据类型仅仅是基本类型，没有blob/clob/raw数据，可以直接导出脚本包括数据就可以了。<br />
&nbsp;&nbsp; 这个脚本的好处是可以创建包含数据的字段约束在内的脚本。<br />
&nbsp;(2)用sqldeveloper执行脚本，创建数据结构<br />
&nbsp;&nbsp; 拿上面的脚本，在这一执行，数据库结构就有了，包含了数据表的主外键约束。<br />
<br />
执行了上面的几个步骤，你的数据库结构就和源数据库一样了。<br />
<br />
<br />
<img src ="http://www.blogjava.net/zhyiwww/aggbug/328161.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2010-08-06 18:43 <a href="http://www.blogjava.net/zhyiwww/archive/2010/08/06/328161.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle参数查看和修改方法</title><link>http://www.blogjava.net/zhyiwww/archive/2010/05/14/320944.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Fri, 14 May 2010 01:04:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2010/05/14/320944.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/320944.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2010/05/14/320944.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/320944.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/320944.html</trackback:ping><description><![CDATA[oracle参数查看和修改方法：<br />
root#sqlplus sys@orcl as sysdba<br />
SQL&gt;show parameter spfile;<br />
SQL&gt;show parameter pfile;<br />
SQL&gt;show parameter sessions;<br />
SQL&gt;show parameter transaction;<br />
SQL&gt;show parameter processes;<br />
SQL&gt;alter system set processes=500 scope=spfile;<br />
SQL&gt;alter system set sessions=1000 scope=spfile;<br />
SQL&gt;shutdown immediate;<br />
SQL&gt;startup;<br />
<br />
<img src ="http://www.blogjava.net/zhyiwww/aggbug/320944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2010-05-14 09:04 <a href="http://www.blogjava.net/zhyiwww/archive/2010/05/14/320944.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux下修改IP导致的Oracle不能启动问题的解决</title><link>http://www.blogjava.net/zhyiwww/archive/2010/04/28/319605.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Wed, 28 Apr 2010 07:39:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2010/04/28/319605.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/319605.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2010/04/28/319605.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/319605.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/319605.html</trackback:ping><description><![CDATA[<br />主要修改/etc/hosts配置文件。<br />修改前配置：<br />127.0.0.1&nbsp;&nbsp;&nbsp; localhost<br /><strong><span style="color: red">192.168.2.50</span></strong>&nbsp;&nbsp;&nbsp; ABC-DBSERVER<br /><br /># The following lines are desirable for IPv6 capable hosts<br />::1&nbsp;&nbsp;&nbsp;&nbsp; localhost ip6-localhost ip6-loopback<br />fe00::0 ip6-localnet<br />ff00::0 ip6-mcastprefix<br />ff02::1 ip6-allnodes<br />ff02::2 ip6-allrouters<br />ff02::3 ip6-allhosts<br /><br />修改后配置：<br /><br />127.0.0.1&nbsp;&nbsp;&nbsp; localhost<br /><strong><span style="color: red">192.168.1.55</span></strong>&nbsp;&nbsp;&nbsp; ABC-DBSERVER<br /><br /># The following lines are desirable for IPv6 capable hosts<br />::1&nbsp;&nbsp;&nbsp;&nbsp; localhost ip6-localhost ip6-loopback<br />fe00::0 ip6-localnet<br />ff00::0 ip6-mcastprefix<br />ff02::1 ip6-allnodes<br />ff02::2 ip6-allrouters<br />ff02::3 ip6-allhosts<br /><br />修改后，重启Oracle，就可以了。<br /><br /><img src ="http://www.blogjava.net/zhyiwww/aggbug/319605.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2010-04-28 15:39 <a href="http://www.blogjava.net/zhyiwww/archive/2010/04/28/319605.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle Blob字段的乱码问题</title><link>http://www.blogjava.net/zhyiwww/archive/2010/04/21/318943.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Wed, 21 Apr 2010 03:10:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2010/04/21/318943.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/318943.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2010/04/21/318943.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/318943.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/318943.html</trackback:ping><description><![CDATA[问题：<br />
在使用oracle Blob字段存储大字符串时，读取初来的字符串经常出现乱码问题。<br />
<br />
背景：<br />
1.oracle数据库服务器系统使用的是UTF-8编码或者是AL32UTF8编码<br />
2.在Web应用中已经将请求编码设置为UTF-8编码<br />
3二进制数据的取得<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Blob blogObj = rst.getBlob("CONTENT");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(blogObj!=null){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; byte[] content = blogObj.getBytes(1, (int) blogObj.length());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp;<strong> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; news.setContent(new String(content));</strong><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } catch (UnsupportedEncodingException e) {<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; <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; e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
<br />
乱码问题的解决方法：<br />
&nbsp;&nbsp;&nbsp;<strong> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; news.setContent(new String(content，&#8220;UTF-8&#8221;));</strong><br />
<br />
之后就不会出现乱码问题。<br />
<br />
<br />
<img src ="http://www.blogjava.net/zhyiwww/aggbug/318943.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2010-04-21 11:10 <a href="http://www.blogjava.net/zhyiwww/archive/2010/04/21/318943.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP+Servlet+Oracle系统乱码问题解决方法</title><link>http://www.blogjava.net/zhyiwww/archive/2010/03/29/316820.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Mon, 29 Mar 2010 05:58:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2010/03/29/316820.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/316820.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2010/03/29/316820.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/316820.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/316820.html</trackback:ping><description><![CDATA[配置和方法<br />
统一使用UTF-8编码<br />
[1]Oracle字符编码集<br />
oracle服务器端的编码选择AL32UTF8，如果安装的时候没有选择或者不是使用的AL32UTF8,那么就需要手动修改oracle系统的编码为<br />
UTF-8.<br />
<br />
<br />
[2]在web应用程序中添加EncodingFilter<br />
设置<br />
request.setCharacterEncoding("UTF-8");<br />
<br />
[3]设置tomcat编码<br />
&nbsp;&nbsp;&nbsp; &lt;Connector port="8080" protocol="HTTP/1.1" <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connectionTimeout="20000" <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; redirectPort="8443" URIEncoding="UTF-8"/&gt;<br />
<br />
[4]程序<br />
通过以上的设置，在程序中，就不需要进行编码的转换，直接取得的就是UTF-8的编码，可以直接存入数据库。<br />
从数据库中取出也不会出现乱码问题了。<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/zhyiwww/aggbug/316820.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2010-03-29 13:58 <a href="http://www.blogjava.net/zhyiwww/archive/2010/03/29/316820.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDBC操作oracle数据表如何用sequence生成自增序列</title><link>http://www.blogjava.net/zhyiwww/archive/2010/03/08/314825.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Mon, 08 Mar 2010 07:13:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2010/03/08/314825.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/314825.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2010/03/08/314825.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/314825.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/314825.html</trackback:ping><description><![CDATA[［1］创建序列<br />
<br />
CREATE SEQUENCE SEQ_ARTICAL_ID INCREMENT BY 1 MAXVALUE 999999999999999999999999999 MINVALUE 1 CACHE 20 ;<br />
<br />
<br />
［2］插入数据表<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; StringBuffer sb = new StringBuffer(800);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("INSERT INTO ARTICAL");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("(");<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("ARTICAL_ID");<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(")");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(" ");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("values");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("(");<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("<strong>SEQ_ARTICAL_ID.NEXTVAL</strong>");<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(")");<br />
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 执行这个SQL就可以实现序列自增。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/zhyiwww/aggbug/314825.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2010-03-08 15:13 <a href="http://www.blogjava.net/zhyiwww/archive/2010/03/08/314825.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux下SqlDeveloper查询表中文乱码问题的解决方法</title><link>http://www.blogjava.net/zhyiwww/archive/2010/03/05/314575.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Fri, 05 Mar 2010 03:21:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2010/03/05/314575.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/314575.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2010/03/05/314575.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/314575.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/314575.html</trackback:ping><description><![CDATA[这个问题实际上是JDK的字体支持和配置的问题。也可以归结为linux系统的字体配置问题。<br />
<br />
以上问题的解决方案如下：<br />
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title></title>
<meta name="GENERATOR" content="OpenOffice.org 3.1  (Linux)" />
<style type="text/css">
<!-- @page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
</style>
<p>laptop:/tmp# <strong>cd
/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/fonts/
</strong></p>
<p style="widows: 0; orphans: 0;">laptop:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/fonts/#
<font color="#000000"><font face="Liberation Serif, Times New Roman, serif"><font size="3"><span lang="en-US"><strong>mkdir
fallback
</strong></span></font></font></font></p>
<p style="widows: 0; orphans: 0;">laptop:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/fonts/#
<font color="#000000"><font face="Liberation Serif, Times New Roman, serif"><font size="3"><span lang="en-US"><strong>cd
fallback
</strong></span></font></font></font></p>
<p style="widows: 0; orphans: 0;">laptop:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/fonts/fallback#
<font color="#000000"><font face="Liberation Serif, Times New Roman, serif"><font size="3"><span lang="en-US"><strong>ln
-s `/usr/share/fonts/fonts/truetype/` .
</strong></span></font></font></font></p>
<p style="widows: 0; orphans: 0;">laptop:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/fonts/fallback#
<font color="#000000"><font face="Liberation Serif, Times New Roman, serif"><font size="3"><span lang="en-US"><strong>mkfontdir
</strong></span></font></font></font></p>
<p style="widows: 0; orphans: 0;">laptop:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/fonts/fallback#
<font color="#000000"><font face="Liberation Serif, Times New Roman, serif"><font size="3"><span lang="en-US"><strong>mkfontscale
</strong></span></font></font></font></p>
<p>
</p>
<br />
<br />
<img src ="http://www.blogjava.net/zhyiwww/aggbug/314575.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2010-03-05 11:21 <a href="http://www.blogjava.net/zhyiwww/archive/2010/03/05/314575.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>blob的插入操作方法优化</title><link>http://www.blogjava.net/zhyiwww/archive/2010/03/03/314427.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Wed, 03 Mar 2010 08:46:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2010/03/03/314427.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/314427.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2010/03/03/314427.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/314427.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/314427.html</trackback:ping><description><![CDATA[oracle环境的jdbc操作<br />
<br />
[方法1]<br />
先插入empty_blob(),在检索出刚插入的数据，更新blob<br />
插入代码<br />
<br />
<font size="2">
<li class="alt"><span><span class="comment">//获得数据库连接 </span><span>&nbsp;&nbsp;</span></span> </li>
<li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;Connection&nbsp;con&nbsp;=&nbsp;ConnectionFactory.getConnection(); &nbsp;&nbsp;</span> </li>
<li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;con.setAutoCommit(</span><span class="keyword">false</span><span>); &nbsp;&nbsp;</span> </li>
<li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;Statement&nbsp;st&nbsp;=&nbsp;con.createStatement(); &nbsp;&nbsp;</span> </li>
<li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//插入一个空对象empty_blob() </span><span>&nbsp;&nbsp;</span> </li>
<li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;st.executeUpdate(</span><span class="string">"insert&nbsp;into&nbsp;TESTBLOB&nbsp;(ID,&nbsp;NAME,&nbsp;BLOBATTR)&nbsp;values&nbsp;(1,&nbsp;"</span><span>thename</span><span class="string">",&nbsp;empty_blob())"</span><span>); &nbsp;&nbsp;</span> </li>
<li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//锁定数据行进行更新，注意&#8220;for&nbsp;update&#8221;语句 </span><span>&nbsp;&nbsp;</span> </li>
<li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;ResultSet&nbsp;rs&nbsp;=&nbsp;st.executeQuery(</span><span class="string">"select&nbsp;BLOBATTR&nbsp;from&nbsp;TESTBLOB&nbsp;where&nbsp;ID=1&nbsp;for&nbsp;update"</span><span>); &nbsp;&nbsp;</span> </li>
<li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(rs.next()) &nbsp;&nbsp;</span> </li>
<li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span> </li>
<li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//得到java.sql.<span class="hilite2">Blob</span>对象后强制转换为<span class="hilite1">oracle</span>.sql.<span class="hilite2">BLOB</span> </span><span>&nbsp;&nbsp;</span> </li>
<li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="hilite1">oracle</span>.sql.<span class="hilite2">BLOB</span>&nbsp;<span class="hilite2">blob</span>&nbsp;=&nbsp;(<span class="hilite1">oracle</span>.sql.<span class="hilite2">BLOB</span>)&nbsp;rs.getBlob(</span><span class="string">"BLOBATTR"</span><span>); &nbsp;&nbsp;</span> </li>
<li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputStream&nbsp;outStream&nbsp;=&nbsp;<span class="hilite2">blob</span>.getBinaryOutputStream(); &nbsp;&nbsp;</span> </li>
<li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//data是传入的byte数组，定义：byte[]&nbsp;data </span><span>&nbsp;&nbsp;</span> </li>
<li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outStream.write(data,&nbsp;</span><span class="number">0</span><span>,&nbsp;data.length); &nbsp;&nbsp;</span> </li>
<li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
<li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;outStream.flush(); &nbsp;&nbsp;</span> </li>
<li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;outStream.close(); &nbsp;&nbsp;</span> </li>
<li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;con.commit(); &nbsp;&nbsp;</span> </li>
<li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;con.close();</span></li>
</font>注：以上代码来自网上。<br />
<br />
[方法2]<br />
和1相同，但是，我们不用两次操作了，因为我们可以直接用byte[]来替代blob,如：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; PreparedStatement pstmt = null;<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; StringBuffer sb = new StringBuffer(800);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("INSERT INTO ARTICAL");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("(");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("ARTICAL_ID");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(",");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("CATEGORY_ID");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(",");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("ARTICAL_TITLE");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(",");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("ARTICAL_TAGS");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(",");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("ARTICAL_INTO_DATE");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(",");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("ARTICAL_FILE_TYPE");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(",");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("ARTICAL_CONTENT");<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(")");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(" ");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("values");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("(");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("?");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(",");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("?");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(",");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("?");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(",");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("?");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(",");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("?");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(",");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("?");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(",");<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("empty_blob()");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append("?");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sb.append(")");<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pstmt = createPreparedStatement(sb.toString());<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pstmt.setLong(1, artical.getArticalId());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pstmt.setLong(2, artical.getCategoryId());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pstmt.setString(3, artical.getTitle());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pstmt.setString(4, artical.getTags());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pstmt.setDate(5, new Date(System.currentTimeMillis()));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pstmt.setString(6, artical.getFileType());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 此处直接用数组<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pstmt.setBytes(7, artical.getContent());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pstmt.executeUpdate();<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } catch (SQLException e) {<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } finally {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (pstmt != null) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pstmt.close();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
<br />
// Artical部分代码<br />
&nbsp;&nbsp;&nbsp; public byte[] getContent() {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return content;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
上面的方法可以一次就完成对数据库的插入操作，而不是上面的两步。<br />
但是，是有缺憾的。<br />
<br />
缺点：<br />
byte[]的长度只能是int的最大长度，所以，这也就决定了此blob对象的最大长度，如果，你的blob的长度超出了Integer.MAX_VALUE就会出问题的。<br />
<br />
1KB=2^10bytes<br />
1MB=2^20bytes<br />
1GB=2^30bytes<br />
Integer的最大值在java中是2^32<br />
所以，此blob的最大容量是<br />
2^2*1GB=4GB<br />
这对于一般的应用足矣。<br />
<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/zhyiwww/aggbug/314427.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2010-03-03 16:46 <a href="http://www.blogjava.net/zhyiwww/archive/2010/03/03/314427.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>因连接关闭引起的Blob操作异常</title><link>http://www.blogjava.net/zhyiwww/archive/2010/02/04/311893.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Thu, 04 Feb 2010 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2010/02/04/311893.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/311893.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2010/02/04/311893.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/311893.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/311893.html</trackback:ping><description><![CDATA[<br />
<br />
我在处理结果集的时候，做了一个处理，把记录都处理成了Map的对象，而把结果集处理成了一个List对象。<br />
如下：<br />
public List&lt;Map&lt;String, Object&gt;&gt; toList() throws SQLException {<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; List&lt;Map&lt;String,Object&gt;&gt; recordsList = new ArrayList&lt;Map&lt;String, Object&gt;&gt;();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ResultSetMetaData meta = rst.getMetaData();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; int colCnt = meta.getColumnCount();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while(rst.next()){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Map&lt;String,Object&gt; record = new HashMap&lt;String, Object&gt;();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for(int i=0;i&lt;colCnt;i++){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String colName = meta.getColumnName(i+1);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Object colValue = rst.getObject(colName);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; log.debug(colValue);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(colValue instanceof Blob){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; log.debug("blob type");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; record.put(colName, colValue);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; recordsList.add(record);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return recordsList;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
<br />
之后，就关闭了resultset ,statement ,connection。然而在我从map对象里面取得blob对象时，总是报SQLException异常。经过调试，发现在blob.getBinaryStream()时发生异常。<br />
<br />
无奈之下做了一个试验。<br />
<br />
PreparedStatement stmt = null;<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ResultSet rst = null;<br />
//<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; try {<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; stmt = this.con<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; .prepareStatement("SELECT * FROM CCX_INFO_ARTICAL WHERE ARTICAL_ID=?");<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; stmt.setLong(1, articalId);<br />
//<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rst = stmt.executeQuery();<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(rst.next()){<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Blob b = rst.getBlob("ARTICAL_CONTENT");<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; log.debug(b);<br />
////&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; InputStream in = b.getBinaryStream();<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; log.debug(in);<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
//<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } catch (SQLException e) {<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; throw e;<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } finally {<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rst.close();<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (stmt != null) {<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; stmt.close();<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.con != null &amp;&amp; this.con.getAutoCommit()) {<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.con.close();<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
//&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
//<br />
<br />
此段代码可以顺利的无异常的执行。由此我推测认为，主要是因为 resultset ,connection关闭引起的。这说明，在执行了查询操作之后，<br />
我们虽然可以得到一个blob对象，但是实际的内容并没有读如内存，也就是说，并没有读如到blob对象中，而此blob对象也就相当于一个对数据库中blob字段操作的一个引用，所以，此时，如果想从blob字段中读取数据，还是需要数据库连接的。<br />
<br />
而上面的封装操作之后，数据库连接已经中断，所以，再读取数据时，就发生了异常。<br />
<br />
<br />
下面是Blob接口的说明，也许能给我们更好的解释.<br />
<br />
<br />
<dl><dt>
<pre>public interface <strong>Blob</strong></pre>
</dt></dl>
<p>
SQL <code>BLOB</code> 值在 Java<sup><font size="-2">TM</font></sup> 编程语言中的表示形式（映射关系）。SQL <code>BLOB</code> 是内置类型，它将 Binary Large Object 存储为数据库表的某一行中的一个列值。默认情况下，驱动程序使用 SQL <code>locator(BLOB)</code> 实现 <code>Blob</code>，这意味着 <code>Blob</code> 对象包含一个指向 SQL <code>BLOB</code> 数据而不是数据本身的逻辑指针。<code>Blob</code> 对象在它被创建的事务处理期间有效。
</p>
<p>接口 <a href="http://man.ddvip.com/program/java_api_zh/java/sql/ResultSet.html" title="java.sql 中的接口"><code>ResultSet</code></a>、<a href="http://man.ddvip.com/program/java_api_zh/java/sql/CallableStatement.html" title="java.sql 中的接口"><code>CallableStatement</code></a> 和 <a href="http://man.ddvip.com/program/java_api_zh/java/sql/PreparedStatement.html" title="java.sql 中的接口"><code>PreparedStatement</code></a> 中的方法（如 <code>getBlob</code> 和 <code>setBlob</code>）允许编程人员访问 SQL <code>BLOB</code> 值。<code>Blob</code> 接口提供某些方法来获得 SQL <code>BLOB</code> (Binary Large Object) 值的长度、在客户端实现 <code>BLOB</code> 值以及确定 <code>BLOB</code> 值中某一字节样本的位置。此外，此接口还拥有更新 <code>BLOB</code> 值的方法。
</p>
<br />
<br />
<br />
<img src ="http://www.blogjava.net/zhyiwww/aggbug/311893.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2010-02-04 10:30 <a href="http://www.blogjava.net/zhyiwww/archive/2010/02/04/311893.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu9.10下关于oracle自启动的配置方法</title><link>http://www.blogjava.net/zhyiwww/archive/2010/01/29/311189.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Fri, 29 Jan 2010 02:58:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2010/01/29/311189.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/311189.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2010/01/29/311189.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/311189.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/311189.html</trackback:ping><description><![CDATA[下`按照下面的命令操作<br />
<br />
#cp /etc/oratab /etc/oratab.bak.0&nbsp; 备份 <br />
#vim /etc/oratab<br />
<br />
ORCL:/opt/oracle/product/10.2.0/db_1:<strong>Y</strong><br />
主要是黑体的部分<br />
<br />
配置/etc/init.d/oracle-10g启动脚本<br />
#touch /etc/init.d/oracle-10g<br />
#vim /etc/init.d/oracle-10g<br />
内容如下：<br />
<span style="font-size: 10pt;"><span style="font-size: 12pt;"><span style="color: #05ba32;"><span style="font-size: 10pt;"><span style="font-size: 14pt;"><span style="font-size: 24pt;"><span style="font-size: 10pt;"><span style="font-size: 12pt;"><br />
#!/bin/bash<br />
# chkconfig: 345 99 10<br />
# description: Startup Script for Oracle Databases<br />
# /etc/rc.d/init.d/dbstart<br />
<br />
export ORACLE_BASE=/opt/oracle<br />
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1<br />
export ORACLE_SID=ORCL<br />
export PATH=$PATH:$ORACLE_HOME/bin<br />
ORA_OWNR="oinstall"<br />
# if the executables do not exist -- display error<br />
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]<br />
then<br />
echo "Oracle startup: cannot start"<br />
exit 1<br />
fi<br />
# depending on parameter -- startup, shutdown, restart<br />
# of the instance and listener or usage display<br />
case "$1" in<br />
start)<br />
# Oracle listener and instance startup<br />
echo -n "Starting Oracle: "<br />
su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart"<br />
touch /var/lock/Oracle<br />
su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"<br />
su - $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctl start"<br />
echo "OK"<br />
;;<br />
stop)<br />
# Oracle listener and instance shutdown<br />
echo -n "Shutdown Oracle: "<br />
su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"<br />
su - $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctl stop"<br />
su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut"<br />
su - $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"<br />
rm -f /var/lock/Oracle<br />
echo "OK"<br />
;;<br />
reload|restart)<br />
$0 stop<br />
$0 start<br />
;;<br />
*)<br />
echo "Usage: `basename $0` start|stop|restart|reload"<br />
exit 1<br />
esac<br />
exit 0<br />
<br />
<span style="color: #000000;">保存退出。<br />
<strong>注意：要把里面的对应目录和SID修改成你自己对应的配置。<br />
<br />
添加自启动<br />
#chkconfig --add oracle-10g<br />
<br />
</strong></span></span></span></span></span></span></span></span></span><span style="font-size: 10pt;"><span style="font-size: 12pt;"><span style="color: #05ba32;"><span style="font-size: 10pt;"><span style="font-size: 14pt;"><span style="font-size: 24pt;"><span style="font-size: 10pt;"><span style="font-size: 12pt;"><span style="color: #000000;"><strong><span style="color: red;">#chkconfig --edit oracle-1g<br />
内容如下<br />
oracle-10g on</span><br />
</strong></span></span></span></span></span></span></span></span></span><br />
<span style="font-size: 10pt;"><span style="font-size: 12pt;"><span style="color: #05ba32;"><span style="font-size: 10pt;"><span style="font-size: 14pt;"><span style="font-size: 24pt;"><span style="font-size: 10pt;"><span style="font-size: 12pt;"><span style="color: #000000;"><strong>#chkconfig --list oracle-10g<br />
<br />
</strong></span></span></span></span></span></span></span></span></span>oracle-10g&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:off&nbsp; 1:off&nbsp; 2:on&nbsp;&nbsp; 3:on&nbsp;&nbsp; 4:on&nbsp;&nbsp; 5:on&nbsp;&nbsp; 6:off<br />
这就OK了。<br />
<br />
最后，再去<br />
/opt/oracle/product/10.2.0/db_1/network/admin目录，查看tnsnames.ora文件，检查你的监听配置。<br />
<br />
#cat tnsnames.ora<br />
内容如下：<br />
<br />
<br />
LISTENER_ORCL =<br />
&nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = CCXFIT-DBSERVER)(PORT = 1521))<br />
<br />
<br />
ORCL =<br />
&nbsp; (DESCRIPTION =<br />
&nbsp;&nbsp;&nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = CCXFIT-DBSERVER)(PORT = 1521))<br />
&nbsp;&nbsp;&nbsp; (CONNECT_DATA =<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SERVER = DEDICATED)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SERVICE_NAME = ORCL)<br />
&nbsp;&nbsp;&nbsp; )<br />
&nbsp; )<br />
<br />
EXTPROC_CONNECTION_DATA =<br />
&nbsp; (DESCRIPTION =<br />
&nbsp;&nbsp;&nbsp; (ADDRESS_LIST =<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC3))<br />
&nbsp;&nbsp;&nbsp; )<br />
&nbsp;&nbsp;&nbsp; (CONNECT_DATA =<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SID = PLSExtProc)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (PRESENTATION = RO)<br />
&nbsp;&nbsp;&nbsp; )<br />
&nbsp; )<br />
<br />
最重要的是关注端口，我开始以为默认是1521端口，可是怎么也连不上，一看，才知道，原来自动配置的是1523端口。<br />
所以，在此需要核实一下监听端口的配置。<br />
<br />
至此，配置完毕。重启系统以验证配置是否生效。<br />
<br />
以后如果需要重启，可以执行<br />
/etc/init.d/oracle-10g restart <br />
来进行重启。<br />
<br />
<br />
<br />
<span style="font-size: 10pt;"><span style="font-size: 12pt;"><span style="color: #05ba32;"><span style="font-size: 10pt;"><span style="font-size: 14pt;"><span style="font-size: 24pt;"><span style="font-size: 10pt;"><span style="font-size: 12pt;"><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</span></span></span></span></span></span></span></span><br />
<img src ="http://www.blogjava.net/zhyiwww/aggbug/311189.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2010-01-29 10:58 <a href="http://www.blogjava.net/zhyiwww/archive/2010/01/29/311189.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu9.10下面安装oracle异常问题的解决方案</title><link>http://www.blogjava.net/zhyiwww/archive/2010/01/28/311133.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Thu, 28 Jan 2010 12:14:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2010/01/28/311133.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/311133.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2010/01/28/311133.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/311133.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/311133.html</trackback:ping><description><![CDATA[[1]异常一<br />
<span style="font-family: 宋体;">Error in invoking target
&#8216;all_no_orcl&#8217; of makefile
&#8216;/opt/oracle/product/10.2/rdbms/lib/ins_rdbms.mk&#8217;. See
&#8216;/opt/oracle/oraInventory/logs/installActions2007-12-04_02-50-11AM.log&#8217;
for details.</span><br />
<br />
[2]异常二<br />
Error in invoking target 'collector' of makefile '/opt/oracle/10g/product/10.2.0/db_1/sysman/lib/ins_emdb.mk'.<br />
<br />
<br />
第一个异常的原因是因为binutils包的原因，可以用下面方法来解决<br />
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<meta name="GENERATOR" content="OpenOffice.org 3.1  (Linux)" />
<style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
</style>
<p><strong><span style="font-size: 14pt;">aptitude install gcc  libaio1 lesstif2 lesstif2-dev make libc6
libc6-i386 libc6-dev-i386 libstdc++6 lib32stdc++6 lib32z1 ia32-libs
rpm<code> make <span style="color: red;">binutil  binutils-dev  binutils-source</span></code></span></strong></p>
<p><strong><span style="font-size: 14pt;"><code><span style="color: red;"><span style="color: #2e10ff;">
<p><strong><span style="font-size: 14pt;"><code><span style="color: red;"><span style="color: #2e10ff;">cd /usr/lib</span><br />
</span></code></span></strong></p>
ln -s libstdc++.so.6 libstdc++.so.5</span></span></code></span></strong></p>
<p>最主要是红字的部分和蓝色部分</p>
<br />
<p>第二个异常比较麻烦，解决方法是：</p>
<p>先点continue完成安装。然后，到$ORACLE_HOME/bin下面，执行下面的操作</p>
<pre>oinstall:/tmp$ cd $ORACLE_HOME/bin<br />
<br />
oinstall:/xxx/xxxx/ $ mv oracle oracle.bin<br />
<br />
oinstall: touch oracle<br />
<br />
<br />
写入以下内容<br />
<br />
#!/bin/bash<br />
<br />
export DISABLE_HUGETLBFS=1<br />
exec $ORACLE_HOME/bin/oracle.bin $@<br />
<br />
EOF<br />
<br />
oinstall:/xxx/xxx/xxx$chmod a+x oracle<br />
<br />
然后执行 <br />
<br />
oinstall:/xxx/xxx/xxx$dbca<br />
<br />
然后就是一路界面，就可以顺利完成了。<br />
<br />
详细原因请参阅此博客<br />
<br />
<a title="http://www.dbanotes.net/Oracle/Install-Oracle10g-SuSE9.1.htm" href="http://www.dbanotes.net/Oracle/Install-Oracle10g-SuSE9.1.htm">http://www.dbanotes.net/Oracle/Install-Oracle10g-SuSE9.1.htm</a><br />
<br />
这种方案能够实现，完全是因为受此博主的思路和启发，在此表示感谢！！<br />
<br />
以上两个异常问题让我困扰了很长时间。所以就总结了一下，贴出来，期望能对和我一样碰到此问题的朋友有所帮助。<br />
<br />
</pre>
<img src ="http://www.blogjava.net/zhyiwww/aggbug/311133.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2010-01-28 20:14 <a href="http://www.blogjava.net/zhyiwww/archive/2010/01/28/311133.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu系统下sqlplus的配置</title><link>http://www.blogjava.net/zhyiwww/archive/2010/01/27/310968.html</link><dc:creator>zhyiwww</dc:creator><author>zhyiwww</author><pubDate>Wed, 27 Jan 2010 08:50:00 GMT</pubDate><guid>http://www.blogjava.net/zhyiwww/archive/2010/01/27/310968.html</guid><wfw:comment>http://www.blogjava.net/zhyiwww/comments/310968.html</wfw:comment><comments>http://www.blogjava.net/zhyiwww/archive/2010/01/27/310968.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhyiwww/comments/commentRss/310968.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhyiwww/services/trackbacks/310968.html</trackback:ping><description><![CDATA[Ubuntu环境下安装oracle<br />
[1]aptitude install oracle-xe<br />
安装完成了，不能使用sqlplus,比较郁闷。<br />
找资料，看到的都是配置ORACLE_HOME.<br />
可是怎么配置呢？我找到了一个方法。<br />
<br />
先要知道oracle的安装目录<br />
# find /usr | grep -i oracle <br />
发现，oracle的home目录是<br />
<strong>/usr/lib/oracle/xe/app/oracle/product/10.2.0</strong><br />
<br />
[2]配置ORACLE_HOME<br />
root@xxx-laptop:/tmp#touch /etc/profile.d/oracle.sh<br />
root@xxx-laptop:/tmp#vim /etc/profile.d/oracle.sh<br />
内容如下：<br />
<br />
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0<br />
export PATH=$PATH:$ORACLE_HOME/client/bin:$ORACLE_HOME/server/bin<br />
<br />
上面是定义ORACLE_HOME系统变量<br />
下面是把ORACLE的相关系统程序放到PATH变量下面，这样，任何用户都可以在自己的终端里面执行ORACLE的相关程序。<br />
<br />
[3]用sqlplus连接数据库<br />
xxx@xxx-laptop:/tmp$sqlplus oinstall@192.168.76.222 <br />
<br />
然后输入你的密码，就可以登录oracle了。<br />
SQL&gt; select 18 from dual<br />
<br />
<br />
SQL&gt; <br />
SQL&gt; select 18 from dual;<br />
<br />
&nbsp;&nbsp; &nbsp;18<br />
----------<br />
&nbsp;&nbsp; &nbsp;18<br />
<br />
SQL&gt;&nbsp;&nbsp; <br />
<br />
这样就可以使用sqlplus了。<br />
<br />
<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/zhyiwww/aggbug/310968.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhyiwww/" target="_blank">zhyiwww</a> 2010-01-27 16:50 <a href="http://www.blogjava.net/zhyiwww/archive/2010/01/27/310968.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>