﻿<?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-Noah-文章分类-Oracle</title><link>http://www.blogjava.net/Noah/category/37228.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 29 Mar 2009 16:37:37 GMT</lastBuildDate><pubDate>Sun, 29 Mar 2009 16:37:37 GMT</pubDate><ttl>60</ttl><item><title>oracle死锁解决办法</title><link>http://www.blogjava.net/Noah/articles/262582.html</link><dc:creator>眼镜蛇</dc:creator><author>眼镜蛇</author><pubDate>Sat, 28 Mar 2009 04:29:00 GMT</pubDate><guid>http://www.blogjava.net/Noah/articles/262582.html</guid><wfw:comment>http://www.blogjava.net/Noah/comments/262582.html</wfw:comment><comments>http://www.blogjava.net/Noah/articles/262582.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Noah/comments/commentRss/262582.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Noah/services/trackbacks/262582.html</trackback:ping><description><![CDATA[<p>１.查哪个过程被锁<br />
查V$DB_OBJECT_CACHE视图:</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.jcwcn.com/Files01/BeyondPic/2007-6/21/0762100102371767.gif" align="top"  alt="" /><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">FROM</span><span style="color: #000000">&nbsp;V$DB_OBJECT_CACHE&nbsp;</span><span style="color: #0000ff">WHERE</span><span style="color: #000000">&nbsp;OWNER</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">过程的所属用户</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">AND</span><span style="color: #000000">&nbsp;<font color="#808080">LOCKS</font></span><span style="color: #808080">!=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">0</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br />
<img src="http://www.jcwcn.com/Files01/BeyondPic/2007-6/21/0762100102371767.gif" align="top"  alt="" /></span></div>
<p>2. 查是哪一个SID,通过SID可知道是哪个SESSION.<br />
查V$ACCESS视图:</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.jcwcn.com/Files01/BeyondPic/2007-6/21/0762100102371767.gif" align="top"  alt="" /><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">FROM</span><span style="color: #000000">&nbsp;V$ACCESS&nbsp;</span><span style="color: #0000ff">WHERE</span><span style="color: #000000">&nbsp;OWNER</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">过程的所属用户</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">AND</span><span style="color: #000000">&nbsp;NAME</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">刚才查到的过程名</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br />
<img src="http://www.jcwcn.com/Files01/BeyondPic/2007-6/21/0762100102371767.gif" align="top"  alt="" /></span></div>
<p>3. 查出SID和SERIAL#<br />
查V$SESSION视图:</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.jcwcn.com/Files01/BeyondPic/2007-6/21/0762100102371767.gif" align="top"  alt="" /><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;SID,SERIAL#,PADDR&nbsp;</span><span style="color: #0000ff">FROM</span><span style="color: #000000">&nbsp;V$SESSION&nbsp;</span><span style="color: #0000ff">WHERE</span><span style="color: #000000">&nbsp;SID</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">刚才查到的SID</span><span style="color: #ff0000">'</span><span style="color: #000000"><br />
<img src="http://www.jcwcn.com/Files01/BeyondPic/2007-6/21/0762100102371767.gif" align="top"  alt="" /></span></div>
<p>查V$PROCESS视图:</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.jcwcn.com/Files01/BeyondPic/2007-6/21/0762100102371767.gif" align="top"  alt="" /><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;SPID&nbsp;</span><span style="color: #0000ff">FROM</span><span style="color: #000000">&nbsp;V$PROCESS&nbsp;</span><span style="color: #0000ff">WHERE</span><span style="color: #000000">&nbsp;ADDR</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">刚才查到的PADDR</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br />
<img src="http://www.jcwcn.com/Files01/BeyondPic/2007-6/21/0762100102371767.gif" align="top"  alt="" /></span></div>
<p>4. 杀进程<br />
(1).先杀ORACLE进程:</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.jcwcn.com/Files01/BeyondPic/2007-6/21/0762100102371767.gif" align="top"  alt="" /><span style="color: #0000ff">ALTER</span><span style="color: #000000">&nbsp;SYSTEM&nbsp;</span><span style="color: #0000ff">KILL</span><span style="color: #000000">&nbsp;SESSION&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">查出的SID,查出的SERIAL#</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br />
<img src="http://www.jcwcn.com/Files01/BeyondPic/2007-6/21/0762100102371767.gif" align="top"  alt="" /></span></div>
<p>(2).能过CMD控制台，再杀操作系统进程:</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000"><img src="http://www.jcwcn.com/Files01/BeyondPic/2007-6/21/0762100102371767.gif" align="top"  alt="" />ORAKILL&nbsp;数据库实现&nbsp;刚才查出的SPID</span></div>
<p><br />
一定要记住，要把之前查出的死锁记下来，然后，一一对其Kill，如果Kill不干净的话，还是解决不了问题</p>
<img src ="http://www.blogjava.net/Noah/aggbug/262582.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Noah/" target="_blank">眼镜蛇</a> 2009-03-28 12:29 <a href="http://www.blogjava.net/Noah/articles/262582.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle无法启动解决办法</title><link>http://www.blogjava.net/Noah/articles/262566.html</link><dc:creator>眼镜蛇</dc:creator><author>眼镜蛇</author><pubDate>Sat, 28 Mar 2009 03:17:00 GMT</pubDate><guid>http://www.blogjava.net/Noah/articles/262566.html</guid><wfw:comment>http://www.blogjava.net/Noah/comments/262566.html</wfw:comment><comments>http://www.blogjava.net/Noah/articles/262566.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Noah/comments/commentRss/262566.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Noah/services/trackbacks/262566.html</trackback:ping><description><![CDATA[<p>造成无法启动的原因有很多，比如修改了什么参数，误删了什么配置文件等，当然你要确信并不是特别严重的问题，也就是说，是通过正确的操作导致的问题的。比如我就遇到了下面的这样的问题，我调整Oracle的sort_area_size等大小来着，设的太大了，导致Oracle无法启动了。报如下错误：</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">ORA</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">27102</span><span style="color: #000000">:&nbsp;out&nbsp;</span><span style="color: #0000ff">of</span><span style="color: #000000">&nbsp;memory<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />OSD</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">00029</span><span style="color: #000000">:&nbsp;????????????<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />O</span><span style="color: #808080">/</span><span style="color: #000000">S</span><span style="color: #808080">-</span><span style="color: #000000">Error:&nbsp;(OS&nbsp;</span><span style="font-weight: bold; color: #800000">8</span><span style="color: #000000">)&nbsp;??????????????????????????????</span></div>
<p>解决办法是重新创建它的动态参数文件。</p>
<p>本身它会有一个这样的文件，存放在D:\oracle\product\10.2.0\admin\<span style="color: red">SID</span>\pfile\<span style="color: red">init.ora.192009134459</span>文件里。找到它用它来恢复你做过的设置。</p>
<p>我们做的工作就是用这个静态参数文件启动数据库，然后，再同步动态参数文件,因为现在已经无法启动数据库，所以可以这样做：</p>
<p>第一步.在CMD下 set oracle_sid=你的SID</p>
<p>第二步，以sqlplus /as sysdba登陆数据库。会提示&#8220;已连接到空闲例程&#8221;。</p>
<p>第三步，startup pfile=D:\oracle\product\10.2.0\admin\<span style="color: red">SID</span>\pfile\<span style="color: red">init.ora.192009134459。</span>也就是用开始那个文件启动数据库。</p>
<p>第四步，create spfile from pfile='D:\oracle\product\10.2.0\admin\<span style="color: red">SID</span>\pfile\<span style="color: red">init.ora.192009134459</span>'，来同步动态参数。</p>
<p>第五步，shutdown immediate。关闭数据库。</p>
<p>第六步，startup。启动数据库。如果能看到类似如下的信息，那么恭喜你了。</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">ORACLE&nbsp;例程已经启动。<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />Total&nbsp;System&nbsp;Global&nbsp;Area&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">612368384</span><span style="color: #000000">&nbsp;bytes<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />Fixed&nbsp;Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">1250428</span><span style="color: #000000">&nbsp;bytes<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />Variable&nbsp;Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">167775108</span><span style="color: #000000">&nbsp;bytes<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">Database</span><span style="color: #000000">&nbsp;Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">436207616</span><span style="color: #000000">&nbsp;bytes<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />Redo&nbsp;Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">7135232</span><span style="color: #000000">&nbsp;bytes<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />数据库装载完毕。<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />数据库已经打开。<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p>如果没有成功的话，就查一下，看看这个新的spfile文件生成到哪里去了。或者再仔细看一下上面的步骤，分析一下原因。<br />
</p>
<img src ="http://www.blogjava.net/Noah/aggbug/262566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Noah/" target="_blank">眼镜蛇</a> 2009-03-28 11:17 <a href="http://www.blogjava.net/Noah/articles/262566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决在PowerDesigner中使用oracle时字段长度超过15个就报错</title><link>http://www.blogjava.net/Noah/articles/251575.html</link><dc:creator>眼镜蛇</dc:creator><author>眼镜蛇</author><pubDate>Fri, 16 Jan 2009 06:35:00 GMT</pubDate><guid>http://www.blogjava.net/Noah/articles/251575.html</guid><wfw:comment>http://www.blogjava.net/Noah/comments/251575.html</wfw:comment><comments>http://www.blogjava.net/Noah/articles/251575.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Noah/comments/commentRss/251575.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Noah/services/trackbacks/251575.html</trackback:ping><description><![CDATA[<p>这是破解版的问题 <br />
解决办法： <br />
在Database菜单的Edit &nbsp; Current &nbsp; DBMS...项中修改Script-&gt; Objects中所有MaxLen的Value值为60 <br />
</p>
<p>还有一种就是菜单"tools" -&gt; "check model"里,相关项的选择 去掉! <br />
<br />
<img height="379" alt="" src="http://images.cnblogs.com/cnblogs_com/piedpiper/pd07020902.jpg" width="467" border="0" /></p>
<p>&nbsp;</p>
<p>还有一种方法：</p>
<p>就是在 Generate Database时，把Check Model 的选项去掉。然后，在最后生成的代码中，自己去检查错误。<br />
</p>
<img src ="http://www.blogjava.net/Noah/aggbug/251575.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Noah/" target="_blank">眼镜蛇</a> 2009-01-16 14:35 <a href="http://www.blogjava.net/Noah/articles/251575.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PowerDesigner导入oracle的表不能使用(ORA-00942)</title><link>http://www.blogjava.net/Noah/articles/250815.html</link><dc:creator>眼镜蛇</dc:creator><author>眼镜蛇</author><pubDate>Sat, 10 Jan 2009 08:29:00 GMT</pubDate><guid>http://www.blogjava.net/Noah/articles/250815.html</guid><wfw:comment>http://www.blogjava.net/Noah/comments/250815.html</wfw:comment><comments>http://www.blogjava.net/Noah/articles/250815.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Noah/comments/commentRss/250815.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Noah/services/trackbacks/250815.html</trackback:ping><description><![CDATA[PowerDesigner导入到oracle的表不能正常使用,报 "ORA-00942 表或者视图不存在" 的错误<br />
<br />
原因由下：<br />
使用pd和oracle连接需要注意引号以及表名大小写问题，pd 生成的脚本都是用双引号" "括起的，这样如果字母有小写，在数据库中自动生成小写的对象，如表和字段，如果使用这些对象时不用双引号括起来，就会提示找不到对象。<br />
<br />
解决方法：<br />
1. 在sql语句中也用""把表名引好，如 stmt.executeQuery("select * from \"syUser\"");<br />
<br />
<span style="color: rgb(255,1,2)">2. 打开pd，进入Tools －&gt; Model Options －&gt; Naming Convention，把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase，只要不是Mixed Case就行！</span><br />
<br />
3. 选择Database -&gt; Edit current database -&gt; Script -&gt; Sql -&gt; Format，有一项CaseSensitivityUsingQuote，它的 comment为&#8220;Determines if the case sensitivity for identifiers is managed using double quotes&#8221;，表示是否适用双引号来规定标识符的大小写，可以看到右边的values默认值为"YES",改为"No"即可！<br />
<br />
推荐用第2种方法.<br />
<img src ="http://www.blogjava.net/Noah/aggbug/250815.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Noah/" target="_blank">眼镜蛇</a> 2009-01-10 16:29 <a href="http://www.blogjava.net/Noah/articles/250815.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>