﻿<?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-谈笑有鸿儒，往来无白丁</title><link>http://www.blogjava.net/badboyryan/</link><description>&lt;hr color=red&gt;
&lt;marquee  direction=left bgcolor= aaaaee behavior=scroll scrollamount=2 onmouseover="this.stop();" onmouseout="this.start();" width=500&gt;
&lt;font color=green&gt; 在恰当的时间、地点以恰当的方式表达给恰当的人...&lt;/font&gt;&amp;nbsp;&amp;nbsp;&lt;font color=blue&gt;阅读的时候请注意分类，佛曰我日里面是谈笑文章，其他是各个分类的文章，积极的热情投入到写博的队伍中来，支持blogjava做大做强！向dudu站长致敬&gt;&gt; &gt;  &lt;a href=http://t.qq.com/badboyryan&gt;我的微博敬请收听&lt;/a&gt; &lt;/font&gt;
&lt;/marquee&gt; 
&lt;hr color=blue&gt;</description><language>zh-cn</language><lastBuildDate>Sun, 19 Apr 2026 14:49:13 GMT</lastBuildDate><pubDate>Sun, 19 Apr 2026 14:49:13 GMT</pubDate><ttl>60</ttl><item><title>2017年1月1日的闰秒是怎么来的</title><link>http://www.blogjava.net/badboyryan/archive/2016/12/30/432219.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 30 Dec 2016 07:38:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2016/12/30/432219.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/432219.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2016/12/30/432219.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/432219.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/432219.html</trackback:ping><description><![CDATA[<p style="margin: 0px 3px 15px; padding: 0px; font-family: 宋体; line-height: 23.8px; text-indent: 30px;">新华社天津12月30日电（记者周润健）&#8220;多希望世界给我多一分钟、多一秒钟，让我再好好爱你&#8230;&#8230;&#8221;歌词里曾苦苦哀求的一秒钟，真的可以实现了。因为，2016年还真的多出了&#8220;1秒&#8221;。</p><p style="margin: 0px 3px 15px; padding: 0px; font-family: 宋体; line-height: 23.8px; text-indent: 30px;">这多出的&#8220;1秒&#8221;将加在格林尼治时间12月31日23时59分后，通过增加闰秒实现。由于北京处于东八时区，所以将在2017年1月1日7时59分59秒后面增加1秒，届时会出现7时59分60秒的特殊现象。</p><p style="margin: 0px 3px 15px; padding: 0px; font-family: 宋体; line-height: 23.8px; text-indent: 30px;">为什么要增加1秒？这1秒从何而来？据天文专家介绍，为了确定时间，世界上有两种时间计量系统，基于地球自转得出的&#8220;世界时&#8221;和基于原子振荡周期确定的&#8220;原子时&#8221;。由于两种时间尺度对秒的测量方法不同，随着时间的推移，这两个时间系统之间就会出现差异，所以有了&#8220;协调世界时&#8221;的概念。</p><p style="margin: 0px 3px 15px; padding: 0px; font-family: 宋体; line-height: 23.8px; text-indent: 30px;">&#8220;协调世界时&#8221;以原子时秒长为基础，在时刻上尽量接近于世界时。1972年，国际计量大会决定，当&#8220;世界时&#8221;与&#8220;原子时&#8221;之间时刻相差超过0.9秒时，就在协调世界时上加上或减去1秒（正闰秒或负闰秒），以尽量接近世界时，这就是闰秒。<br /><br />&nbsp; &nbsp; 计算机的时间只要不使用NTP就没什么大问题。</p><img src ="http://www.blogjava.net/badboyryan/aggbug/432219.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2016-12-30 15:38 <a href="http://www.blogjava.net/badboyryan/archive/2016/12/30/432219.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>管理员权限真的很重要</title><link>http://www.blogjava.net/badboyryan/archive/2016/11/09/431966.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Wed, 09 Nov 2016 02:08:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2016/11/09/431966.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/431966.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2016/11/09/431966.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/431966.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/431966.html</trackback:ping><description><![CDATA[现象：91手机助手，打开5s导出我的照片，结果很久不见动静，电脑的反应也慢，手机的反应也慢。导出速度慢的像蜗牛。<br /><br />处理过程：重启笔记本，重启手机，重启91手机助手。打开91助手，发现速度依旧那么慢。<br /><br /><br />我用的win10的电脑啊，64位的系统，直接右击91助手的桌面快捷方式，选中&#8220;以管理员身份运行&#8221;，再次选中一个月的照片，速度发现，神速啊。<br /><br /><br /><br /><img src ="http://www.blogjava.net/badboyryan/aggbug/431966.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2016-11-09 10:08 <a href="http://www.blogjava.net/badboyryan/archive/2016/11/09/431966.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RAC的RMAN备份需要连接两个实例吗</title><link>http://www.blogjava.net/badboyryan/archive/2015/12/17/428699.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Thu, 17 Dec 2015 01:18:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2015/12/17/428699.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/428699.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2015/12/17/428699.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/428699.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/428699.html</trackback:ping><description><![CDATA[<div>归档日志放在ASM上，rman脚本中不用连接2个实例，归档放在ASM上是共享存储，只需要在一个实例备份即可。</div><img src ="http://www.blogjava.net/badboyryan/aggbug/428699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2015-12-17 09:18 <a href="http://www.blogjava.net/badboyryan/archive/2015/12/17/428699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AIX修改时间</title><link>http://www.blogjava.net/badboyryan/archive/2015/12/11/428607.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Thu, 10 Dec 2015 21:18:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2015/12/11/428607.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/428607.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2015/12/11/428607.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/428607.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/428607.html</trackback:ping><description><![CDATA[<p>linux下用date -s "YYYYmmdd HH:MM:SS"</p><p>AIX &nbsp;date -n mmddHHMMYY，mm表示月分，dd表示日期，HH表示小时，MM表示分钟，YY表示年份。</p><p><br /></p><img src ="http://www.blogjava.net/badboyryan/aggbug/428607.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2015-12-11 05:18 <a href="http://www.blogjava.net/badboyryan/archive/2015/12/11/428607.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>While inserting a large BLOB using JDBC, the application fails with：ORA-22990</title><link>http://www.blogjava.net/badboyryan/archive/2015/08/25/426974.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 25 Aug 2015 05:56:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2015/08/25/426974.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/426974.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2015/08/25/426974.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/426974.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/426974.html</trackback:ping><description><![CDATA[<br /><h2>CAUSE</h2><p style="font-family: Simsun; font-size: small; line-height: normal; background-color: #ffffff;">The Oracle oracle.sql.BLOB OutputStream writes the data in chunks. Since autocommit defaults to true, the first chunk is committed. This results in the write operation for the next chunk of the Blob to fail since it appears to be in the next transaction.<br />In those conditions, the ORA-22990 exception will occur with any version of Oracle JDBC driver.<br /><br /></p><h2 class="km" style="font-family: Arial, Helvetica, sans-serif; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #c4d1e6; font-size: 16px; color: #ffffff; text-transform: uppercase; padding-top: 6px; padding-bottom: 6px; padding-left: 8px; line-height: normal; background-color: #777773;">SOLUTION</h2><p style="font-family: Simsun; font-size: small; line-height: normal; background-color: #ffffff;"><br /></p><p style="font-family: Simsun; font-size: small; line-height: normal; background-color: #ffffff;">Issue the setAutoCommit(false) command. Then, explicitly commit the transaction after all of the Blob chunks have been written to the row and the stream.close() method has been executed.<br /><br />If using the Oracle 10g JDBC driver (or greater version), a second solution consists of using the standard JDBC api (setBinaryStream method of java.sql.PreparedStatement interface). And in this case, AutoCommit can be set to true.<br /><br />Here is an example:</p><div style="overflow: auto; border: 1px solid #c4d1e6; padding: 0.5em; margin: 5px 0px 0px; font-family: 'Courier New', Courier, monospace; font-size: 12px; line-height: normal; width: 996.546875px; background-color: #e0eaf1;">PreparedStatement stmt = conn.prepareStatement("INSERT INTO blobTest VALUES (?,?)");&nbsp;<br />File fd = new File(testFile);&nbsp;<br />fis = new FileInputStream(fd);&nbsp;<br />stmt.setInt(1,1);&nbsp;<br />stmt.setBinaryStream(2,fis,(int)fd.length());</div><p style="font-family: Simsun; font-size: small; line-height: normal; background-color: #ffffff;"><br /><br />where blobTest is a table defined as the following:</p><div style="overflow: auto; border: 1px solid #c4d1e6; padding: 0.5em; margin: 5px 0px 0px; font-family: 'Courier New', Courier, monospace; font-size: 12px; line-height: normal; width: 996.546875px; background-color: #e0eaf1;">SQL&gt; create table blobTest (id number (4), data blob);</div><img src ="http://www.blogjava.net/badboyryan/aggbug/426974.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2015-08-25 13:56 <a href="http://www.blogjava.net/badboyryan/archive/2015/08/25/426974.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ftp批量上传不需要提示yes</title><link>http://www.blogjava.net/badboyryan/archive/2015/08/25/426973.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 25 Aug 2015 05:42:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2015/08/25/426973.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/426973.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2015/08/25/426973.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/426973.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/426973.html</trackback:ping><description><![CDATA[<br />1、就是用mput。传之前先拍prompt，这样不会每传一个文件就要你确认。然后lcd到目录下用mput *上传。<br />2、将目录打包上传。&nbsp;<img src ="http://www.blogjava.net/badboyryan/aggbug/426973.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2015-08-25 13:42 <a href="http://www.blogjava.net/badboyryan/archive/2015/08/25/426973.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>enq: TX - row lock contention 等待事件</title><link>http://www.blogjava.net/badboyryan/archive/2015/03/20/423679.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 20 Mar 2015 07:20:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2015/03/20/423679.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/423679.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2015/03/20/423679.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/423679.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/423679.html</trackback:ping><description><![CDATA[<p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">OS环境：windows server 2008 64位</span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">数据库版本：11.2.0</span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">今天在使用rman备份的时候随意的查看了一下等待事件，除了了我们现在系统遇到的IO瓶颈外，还额外的发了<span style="color: #ff0000;">enq: TX - row lock contention<span style="color: #000000;">该</span></span><span style="color: #000000;">等待事件</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="color: #ff0000;"><span style="font-family: arial, helvetica, sans-serif;">1：查询当前系统的等待事件</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">select event,sid,p1,p2,p3 from v$session_wait where event not like 'SQL*%' and event not like 'rdbms%';</span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><br /><span style="font-family: arial, helvetica, sans-serif;">EVENT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P3<br />----------------------------------&nbsp;&nbsp;&nbsp;&nbsp; ----&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;----------&nbsp;&nbsp;&nbsp; ----------<br /></span><span style="font-family: arial, helvetica, sans-serif;"><span style="color: #ff0000;">enq: TX - row lock contention&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp; 1415053318&nbsp;&nbsp;&nbsp;&nbsp; 196638&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 55836<br /></span>RMAN backup &amp; recovery I/O&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 256&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2147483647<br /></span><span style="font-family: arial, helvetica, sans-serif;"><span style="color: #ff0000;">enq: TX - row lock contention&nbsp;&nbsp;&nbsp;&nbsp;12&nbsp;&nbsp;&nbsp; 1415053318&nbsp;&nbsp;&nbsp;&nbsp; 524293&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51153<br /></span>RMAN backup &amp; recovery I/O&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 256&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2147483647<br />db file sequential read&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;27&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2876703&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br />pmon timer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;300&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />db file scattered read&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 39&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 790536&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 128<br />VKTM Logical Idle Wait&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;49&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />Streams AQ: qmn slave idle wait&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />asynch descriptor resize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;53&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4294967295&nbsp;&nbsp;&nbsp; 1237<br />jobq slave wait&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;54&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">EVENT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;P2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P3<br />-------------------------------------------&nbsp;&nbsp;&nbsp; -------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----------<br />db file sequential read&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;170&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1100519&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br />direct path read&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;181&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 44&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 469892&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 124<br /></span><span style="font-family: arial, helvetica, sans-serif;"><span style="color: #ff0000;">enq: TX - row lock contention&nbsp;&nbsp;&nbsp; 212 1415053318&nbsp;&nbsp;&nbsp;&nbsp; 524293&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51153<br /></span>smon timer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;225&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 300&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br /></span><span style="font-family: arial, helvetica, sans-serif;"><span style="color: #ff0000;">enq: TX - row lock contention&nbsp;&nbsp;&nbsp;&nbsp;232 1415053318&nbsp;&nbsp;&nbsp;&nbsp; 524293&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51153<br /></span>direct path read&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;234&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1099776&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 128<br />Streams AQ: qmn coordinator idle wait&nbsp; 242&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;"><span style="color: #ff0000;">上面的等待事件说明session4，12，212，232想加锁，但是有别的session占着，所以等待。</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-size: medium; line-height: normal; font-family: Simsun; color: #000000; border-collapse: separate;"><span style="line-height: 21px; font-family: verdana, sans-serif;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">enq是一种保护共享资源的锁定机制，一个排队机制，先进先出(FIFO)<br /><br />发生TX锁的原因一般有几个<br /><br />1.不同的session更新或删除同一个记录。<br /><br />2.唯一索引有重复索引<br /><br />3.位图索引多次更新<br /><br />4.同时对同一个数据块更新<br /><br />5.等待索引块分裂</span></span></span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-size: medium; line-height: normal; font-family: Simsun; color: #000000; border-collapse: separate; orphans: 2; widows: 2;"><span style="font-size: 14px; line-height: 21px; font-family: verdana, sans-serif;"><span style="color: #ff0000;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">2：下面我们通过enq: TX - row lock contention来看看这些session都在等什么</span></span></span></span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-size: medium; line-height: normal; font-family: Simsun; color: #000000; border-collapse: separate; orphans: 2; widows: 2;"><span style="line-height: 21px; font-family: verdana, sans-serif;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">select ROW_WAIT_OBJ#,ROW_WAIT_FILE#,ROW_WAIT_BLOCK#,ROW_WAIT_ROW# from v$session where event='enq: TX - row lock contention';</span></span></span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-size: medium; line-height: normal; font-family: Simsun; color: #000000; border-collapse: separate; orphans: 2; widows: 2;"><span style="line-height: 21px; font-family: verdana, sans-serif;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">ROW_WAIT_OBJ# ROW_WAIT_FILE# ROW_WAIT_BLOCK# ROW_WAIT_ROW#<br />------------- -------------- --------------- -------------<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 87556&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 57&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 395&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 88<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 87564&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 57&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 435&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 87564&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 57&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 435&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 87564&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 57&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 435&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 87564&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 57&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 435&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</span></span></span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><br /><span style="font-size: small;"><span style="color: #ff0000;"><span style="font-family: arial, helvetica, sans-serif;">3：通过上面sql查找出来的对象编号找到对应的对象名称</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">SQL&gt; select object_name from dba_objects where object_id in (87564);</span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">OBJECT_NAME<br />-----------<br />QRTZ_LOCKS</span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="color: #ff0000;"><span style="font-family: arial, helvetica, sans-serif;">4：通过对象名称找出该对象的对应属性，对象属性为TABLE</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">SQL&gt; select OWNER,OBJECT_NAME,OBJECT_ID,DATA_OBJECT_ID, OBJECT_TYPE from all_objects where object_name='QRTZ_LOCKS';</span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">OWNER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJECT_NAME&nbsp; OBJECT_ID DATA_OBJECT_ID&nbsp;<span style="color: #ff0000;">OBJECT_TYPE</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">SCHEDULE&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;">QRTZ_LOCKS</span>&nbsp;&nbsp;&nbsp;&nbsp; 87564&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 87564&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;">TABLE&nbsp;</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;"><span style="color: #f90527;">5：通过正在等待的SID查看它们都在执行什么操作</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">SQL&gt; select sid,sql_text from v$session a,v$sql b where sid in(4,12,41,212,232) and (b.sql_id=a.sql_id or b.sql_id=a.prev_sql_id);</span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">&nbsp;SID SQL_TEXT<br />---- ----------------------------------------------------------------------------------------------------<br />&nbsp;&nbsp; 4 UPDATE QRTZ_CRON_TRIGGERS SET CRON_EXPRESSION = :1 WHERE TRIGGER_NAME = :2 AND TRIGGER_GROUP = :3<br />&nbsp; 12 SELECT * FROM QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE<br />&nbsp; 41 SELECT * FROM QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE<br />&nbsp;212 SELECT * FROM QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE<br />&nbsp;232 SELECT * FROM QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE<br /></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="color: #ff0000;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">从上面的结果可以看出，SCHEDULE用户下的五个session同时在执行一条相同的sql语句，对应的对象则是QRTZ_LOCKS<span style="color: #000000;">&nbsp;<span style="color: #f90527;">这个表</span>，&nbsp;</span>所以发生了锁，从而产生等待，通过和同事的交流，得知这个一个ETL程序要访问的表，里面只有五条数据，但是却要时时调度。&nbsp;&nbsp;</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="color: #ff0000;"></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="color: #ff0000;"><span style="font-family: arial, helvetica, sans-serif;">6：下面我们去找一下对应sid产生的锁</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;">SQL&gt; select SID,TY,ID1,ID2,LMODE,REQUEST,CTIME,BLOCK from V$lock where block=1 or request&lt;&gt;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SID TY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ID1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ID2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LMODE&nbsp;&nbsp;&nbsp; REQUEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTIME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BLOCK<br />&nbsp;---------------- ---- -- ---------- ---------- ---------- ---------- ---------- ----------<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 41&nbsp; TX&nbsp;&nbsp;&nbsp;&nbsp; 524293&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51153&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3846&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12&nbsp; TX&nbsp;&nbsp;&nbsp;&nbsp; 524293&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51153&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4190&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 232 TX&nbsp;&nbsp;&nbsp;&nbsp; 524293&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51153&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4626&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 212 TX&nbsp;&nbsp;&nbsp;&nbsp; 524293&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51153&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4749&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000;"><span style="font-family: arial, helvetica, sans-serif;">&nbsp;&nbsp;&nbsp; 4&nbsp; TX&nbsp;&nbsp;&nbsp;&nbsp; 196638&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 55836&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4755&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 44&nbsp; TX&nbsp;&nbsp;&nbsp;&nbsp; 196638&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 55836&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4765&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">&nbsp;</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="color: #ff0000;"><span style="font-family: arial, helvetica, sans-serif;"><span style="color: #f90514;">由此可以查看，BLOCK=1的sid是该等待事件的根源，其他session则等待该锁被释放。</span></span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="color: #ff0000;"></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="color: #ff0000;"><span style="color: #000000;"><span style="font-family: arial, helvetica, sans-serif;"><span style="color: #f90514;">解决方法：</span></span></span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="color: #ff0000;"><span style="color: #000000;"><span style="font-family: arial, helvetica, sans-serif;"><span style="color: #f90514;">1：通过v$session找到BLOCK=1的用户，告知用户提交事务</span></span></span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;"><span style="color: #f90514;">2：通过sid找到pid，kill掉该进程</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;"><span style="color: #f90514;">3：更改sql语句，SELECT * FROM QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE no wait</span></span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="font-family: arial, helvetica, sans-serif;"><span style="color: #f90514;">加nowait的意思是得到或者得不到，不会等待</span></span></span></p><img src ="http://www.blogjava.net/badboyryan/aggbug/423679.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2015-03-20 15:20 <a href="http://www.blogjava.net/badboyryan/archive/2015/03/20/423679.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORA-39097</title><link>http://www.blogjava.net/badboyryan/archive/2015/03/20/423678.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 20 Mar 2015 07:14:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2015/03/20/423678.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/423678.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2015/03/20/423678.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/423678.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/423678.html</trackback:ping><description><![CDATA[<span style="color: #333333; font-family: mceinline; line-height: 26px; background-color: #ffffff;">该报错我并没有查找到根本的原因，去metalink上看到有解决办法，则是加大streams_pool_size即可，导出恢复正常&nbsp;alter system set streams_pool_size = 48M;</span><img src ="http://www.blogjava.net/badboyryan/aggbug/423678.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2015-03-20 15:14 <a href="http://www.blogjava.net/badboyryan/archive/2015/03/20/423678.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORA-39095</title><link>http://www.blogjava.net/badboyryan/archive/2015/03/20/423677.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 20 Mar 2015 07:13:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2015/03/20/423677.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/423677.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2015/03/20/423677.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/423677.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/423677.html</trackback:ping><description><![CDATA[<div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="color: #ed1c24;"><span style="font-family: mceinline;">出现该报错的原因一般分为两种情况。</span></span></div><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-family: mceinline;">第一种情况是因为在expdp的时候给才转储空间太小，数据无法写入转储文件内，所以报错，这种报错很好解决，只需要进入交互模式下，可以用add_file来增加转储文件，然后restart该job即可。</span></div><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-family: mceinline;">第二种情况则是因为设置参数parallel大于转储文件数目引起的，官方文档的解释是parallel io server processes写文件不能同时写一个，如果只有一个dumpfile(或少于parallel)就会影响性能。不但如此，当一个io server process在等待从而不能写dumpfile的时候就会报ORA-39095</span></div><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-family: mceinline;">解决该问题一共两种办法</span></div><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-family: mceinline;">1：进入到交互模式，减少parallel的数量，使其等于dmp文件的数量或增加dmp文件，使其与parallel数量相等。</span></div><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-family: mceinline;">2：在写导出语句的时候指定dumpfile中使用变量 %u(大小写均可)，让其自由分配转储文件即可。</span></div><img src ="http://www.blogjava.net/badboyryan/aggbug/423677.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2015-03-20 15:13 <a href="http://www.blogjava.net/badboyryan/archive/2015/03/20/423677.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORA-00600</title><link>http://www.blogjava.net/badboyryan/archive/2015/03/20/423676.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 20 Mar 2015 07:08:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2015/03/20/423676.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/423676.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2015/03/20/423676.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/423676.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/423676.html</trackback:ping><description><![CDATA[<div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">机房环境：</div><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">OS：windows 2008</div><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">数据库版本：oracle 11g</div><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">事件起因：</p><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">昨天公司运维说机房的HP服务器磁盘坏了，我当时冷汗一下子就出来了，因为这是测试库，没有备份，没有归档，但是里面可是有1.5T的数据啊，<img title="解决ORA-00600:&nbsp;&lt;wbr&gt;internal&nbsp;&lt;wbr&gt;error&nbsp;&lt;wbr&gt;code,&nbsp;&lt;wbr&gt;arguments:&nbsp;&lt;wbr&gt;[kcratr_nab_less_than_odr]错误" src="http://www.sinaimg.cn/uc/myshow/blog/misc/gif/E___6692EN00SIGG.gif" alt="解决ORA-00600:&nbsp;&lt;wbr&gt;internal&nbsp;&lt;wbr&gt;error&nbsp;&lt;wbr&gt;code,&nbsp;&lt;wbr&gt;arguments:&nbsp;&lt;wbr&gt;[kcratr_nab_less_than_odr]错误" style="border: none; max-width: 100%;" />下午他们修了一下午，系统可以进去了，但是数据库在启动到OPEN的时候报错SYSTEM01数据文件缺失一千多个数据块，由于没有备份和归档，所以这个数据库是挂掉了。<img title="解决ORA-00600:&nbsp;&lt;wbr&gt;internal&nbsp;&lt;wbr&gt;error&nbsp;&lt;wbr&gt;code,&nbsp;&lt;wbr&gt;arguments:&nbsp;&lt;wbr&gt;[kcratr_nab_less_than_odr]错误" src="http://www.sinaimg.cn/uc/myshow/blog/misc/gif/E___6706EN00SIGG.gif" alt="解决ORA-00600:&nbsp;&lt;wbr&gt;internal&nbsp;&lt;wbr&gt;error&nbsp;&lt;wbr&gt;code,&nbsp;&lt;wbr&gt;arguments:&nbsp;&lt;wbr&gt;[kcratr_nab_less_than_odr]错误" style="border: none; max-width: 100%;" />（DBA们一定要做好备份，否则最后全是自己的事情），幸好我们还有一个一周前的冷备库，所以我直接物理迁移，把数据库恢复到一周以前了，恢复的过程非常简单，因为数据库必须的那些文件路径都已存在（如参数文件内的DUMP文件等），我只是把参数文件，密码文件，控制文件，数据文件恢复到指定的目录，然后直接STARTUP，在nomount和mount阶段都是比较顺利的，而到open阶段的时候，则报错了让我闹心的ORA-600ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr]的错误，因为大家都知道，ORA-600是数据库自己内部的BUG，我也是第一次遇到，问了很多人大家都不会，所以只能自己去摸索解决，值得庆幸的是在摸索了一个小时后，我终于把数据库OPEN了，以下就是我恢复的步骤，如果感觉对您有所帮助，那么请支持我一下。<img title="解决ORA-00600:&nbsp;&lt;wbr&gt;internal&nbsp;&lt;wbr&gt;error&nbsp;&lt;wbr&gt;code,&nbsp;&lt;wbr&gt;arguments:&nbsp;&lt;wbr&gt;[kcratr_nab_less_than_odr]错误" src="http://www.sinaimg.cn/uc/myshow/blog/misc/gif/E___7392ZH00SIGG.gif" alt="解决ORA-00600:&nbsp;&lt;wbr&gt;internal&nbsp;&lt;wbr&gt;error&nbsp;&lt;wbr&gt;code,&nbsp;&lt;wbr&gt;arguments:&nbsp;&lt;wbr&gt;[kcratr_nab_less_than_odr]错误" style="border: none; max-width: 100%;" /></div><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="color: #ed1c24;">//报错：ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1770], [779181], [779205], [], [], [], [], [], [], []</span></div><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="color: #ed1c24;"><span style="font-family: Calibri, sans-serif;">//因为ORA-600的错误没有具体提示，所以很多人无从下手，别着急，我们可以先去告警日志去看看，</span>以下是我的告警日志信息：</span></div><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1770], [779181], [779205], [], [], [], [], [], [], [&nbsp;</div><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">Incident details in: d:/app/administrator/diag/rdbms/ccxe/ccxe/incident/incdir_2570/ccxe_ora_2164_i2570.trc<br />Aborting crash recovery due to error 600<br />Errors in file d:/app/administrator/diag/rdbms/ccxe/ccxe/trace/<span style="color: #ed1c24;">ccxe_ora_2164.trc:<br /></span>ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1770], [779181], [779205], [], [], [], [], [], [], []<br />Errors in file d:/app/administrator/diag/rdbms/ccxe/ccxe/trace/ccxe_ora_2164.trc:<br />ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1770], [779181], [779205], [], [], [], [], [], [], []<br />ORA-600 signalled during: alter database open...<br />Tue May 10 10:13:10 2011<br />Trace dumping is performing id=[cdmp_20110510101310]<br />Tue May 10 10:13:11 2011<br />Sweep [inc][2570]: completed<br />Sweep [inc2][2570]: completed<br />Tue May 10 10:29:52 2011<br />Shutting down instance (immediate)<br />Shutting down instance: further logons disabled</p><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="color: #ff0000;"><span style="font-family: Calibri, sans-serif;">//我们通过告警日志文件好像也没查到什么有用的信息，别着急，我们还可以再查找对应的TRC文件，我的对应TRC文件则是ccxe_ora_2788_i2164.trc，以下是我的TRC信息</span></span></div><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><p><span style="color: #ed1c24;">WARNING! Crash recovery of thread 1 seq 1770 is</span></p><p><span style="color: #ed1c24;">ending at redo block 779181 but should not have ended before</span></p><p><span style="color: #ed1c24;">redo block 779205</span></p><p><span style="color: #ed1c24;">//看，有警告了，意思是我在恢复的时候，丢失了redo日志，当时我很纳闷，怎么会丢失redo呢？</span>最后我把这个问题定位在传输redo的时候可能造成数据块的丢失，因为我以前发生过这类事情，所以我重新拷贝redo日志，再次将数据库启动。</p><p>Incident 3771 created, dump file: d:/app/administrator/diag/rdbms/ccxe/ccxe/incident/incdir_3771/ccxe_ora_2164_i3771.trc</p><p>ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1770], [779181], [779205], [], [], [], [], [], [], []</p><p>ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1770], [779181], [779205], [], [], [], [], [], [], []</p><p>ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1770], [779181], [779205], [], [], [], [], [], [], []</p><p>*** 2011-05-10 10:47:11.138</p><p>Stopping background process MMNL</p><p>*** 2011-05-10 10:47:12.139</p><p>Stopping background process MMON</p><p>*** 2011-05-10 10:47:13.259</p><p>ksukia: Starting kill, flags = 1</p><p>ksukia: killed 0 out of 0 processes.</p><p>*** 2011-05-10 10:47:14.652</p><p>*** 2011-05-10 10:47:14.652 4132 krsh.c</p><p>ARCH: Archival disabled due to shutdown: 1089</p><p>*** 2011-05-10 10:47:15.653</p><p>*** 2011-05-10 10:47:15.653 4132 krsh.c</p><p>ARCH: Archival disabled due to shutdown: 1089</p><div><span style="font-family: Calibri, sans-serif; color: #ff0000;">//重新拷贝redo日志到指定目录，再次启动数据库。</span></div><div><span style="font-family: Calibri, sans-serif;"><br /></span></div><div><p>Total System Global Area 6413680640 bytes</p><p>Fixed Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2187728 bytes</p><p>Variable Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;754978352 bytes</p><p>Database Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5637144576 bytes</p><p>Redo Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;19369984 bytes</p><p>Database mounted.</p><p><span style="color: #ff0000;">ORA-00338: log 4 of thread 1 is more recent than control file</span></p><p><span style="color: #ff0000;">ORA-00312: online log 4 thread 1:</span></p><p><span style="color: #ff0000;">'D:/APP/ADMINISTRATOR/ORADATA/CCXE/REDO04.LOG'</span></p></div><div><span style="font-family: Calibri, sans-serif; color: #ff0000;">//报错果然不一样了，这次报错的意思是我的日志比我的控制文件新，要我恢复控制文件。</span></div><div></div><div><span style="color: #ed1c24;">SQL&gt;&nbsp;&nbsp;recover database using backup controlfile until cancel; 指定日志文件恢复</span></div><div><p>Specify log: {&lt;RET&gt;=suggested | filename | AUTO | CANCEL}</p><p><span style="color: #ff0000;">D:/app/Administrator/oradata/CCXE/redo04.log</span></p><p>ORA-00279: change 128488612 generated at 05/10/2011 11:13:52 needed for thread</p><p>ORA-00289: suggestion :</p><p>D:/APP/ADMINISTRATOR/FLASH_RECOVERY_AREA/CCXE/ARCHIVELOG/2011_05_10/O1_MF_1_1771_%U_.ARC</p><p>ORA-00280: change 128488612 for thread 1 is in sequence #1771</p><p>ORA-00278: log file 'D:/app/Administrator/oradata/CCXE/redo04.log' no longer</p><p>needed for this recovery</p><p>Specify log: {&lt;RET&gt;=suggested | filename | AUTO | CANCEL}</p><p><span style="color: #ff0000;">D:/app/Administrator/oradata/CCXE/redo05.log</span></p><p>Log applied.</p><p>Media recovery complete.</p><p>SQL&gt; alter database open;&nbsp;<span style="color: #ff0000;">-必须以</span><span style="color: #ff0000;">RESETLOGS方式打开数据库</span></p><p>alter database open</p><p>ERROR at line 1:</p><p>ORA-01589: must use RESETLOGS or NORESETLOGS option for database open</p><p><span style="color: #ff0000;">SQL&gt; alter database open RESETLOGS ;</span></p><p>Database altered.</p><p><br /></p><p>OK，现在数据库起来了，通过这次出错我总结了几点，希望对大家有帮助</p><p>1：数据库不管是不是测试，都尽量备份，否则出问题哭都来不及。</p><p>2：数据库尽量归档，这样就可以恢复数据库在任何时刻。</p><p>3：出错时不要慌，要仔细查看报错信息，分析报错，根据自己所掌握的知识一步一步解决，当你把问题解决</p><p>时，你会发现排错的过程真的是一个非常提升自己的过程。</p><p>4：平常一定要有几个在这方面很强的朋友，因为有的时候并不是自己查资料就能查到的，更多的是需要朋友的</p><p>经验与帮助。</p><p>注：以上就是这次错误的全部过程，过段时间我会把近期所遇到的错误都整理一下，都分享给大家，通过近期的工作我感觉数据库真的是一个非常庞大的系统，每次遇到新错的时候我都会很郁闷的解决，因为我发现我的懂的还是太少了，学习毕竟是一个由点到线，由线到网的过程，一个问题由模糊到清晰，由清晰再模糊，反复来几遍最终都会很明白的。我们要有清晰的理论知识，出错的时候才会找到出题所在，作为一个DBA冷静，清晰的头脑也很重要，通过DBA的这个行业，也是非常锻炼自己的性格，希望大家都可以在DBA的这条职场之路，越走越远，祝大家好运。</p></div></div><img src ="http://www.blogjava.net/badboyryan/aggbug/423676.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2015-03-20 15:08 <a href="http://www.blogjava.net/badboyryan/archive/2015/03/20/423676.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 解决ORA-01555报错</title><link>http://www.blogjava.net/badboyryan/archive/2015/03/20/423675.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 20 Mar 2015 07:03:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2015/03/20/423675.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/423675.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2015/03/20/423675.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/423675.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/423675.html</trackback:ping><description><![CDATA[<p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">OS环境：windows2008</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">数据库版本：oracle 11.2.0</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">今天同事需要执行一个拥有大批量运算的存储过程，当执行的时候报错，报错信息如下：</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">ERROR at line 1:<br /></span><span style="font-size: small;"><span style="color: #ff0000;">ORA-01555: snapshot too old: rollback segment number 18 with name<br />"_SYSSMU18_671080725$" too small<br /></span>ORA-06512: at "TRANUSER.TRAN_ETL_LOAD_J2S_MAIN", line 22<br />ORA-06512: at "TRANUSER.TRAN_ETL_LOAD_JST_PRE", line 5<br />ORA-06512: at line 2<br /></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><span style="font-size: small;">--精彩解释</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">不知道是从哪里转的了, 假设有张表，叫table1，里面有5000万行数据，假设预计全表扫描1次需要1个小时，我们从过程来看：&nbsp;<br style="line-height: normal;" /><br style="line-height: normal;" />1、在1点钟，有个用户A发出了select * from table1;此时不管将来table1怎么变化，正确的结果应该是用户A会看到在1点钟这个时刻的内容。这个是没有疑问的。&nbsp;<br style="line-height: normal;" />2、在1点30分，有个用户B执行了update命令，更新了table1表中的第4000万行的这条记录，这时，用户A的全表扫描还没有到达第4000万条。毫无疑问，这个时候，第4000万行的这条记录是被写到了回滚段里去了的，我假设是回滚段RBS1，如果用户A的全表扫描到达了第4000万行，是应该会正确的从回滚段RBS1中读取出1点钟时刻的内容的。&nbsp;<br style="line-height: normal;" />3、这时，用户B将他刚才做的操作commit了，但是这时，系统仍然可以给用户A提供正确的数据，因为那第4000万行记录的内容仍然还在回滚段RBS1里，系统可以根据SCN来到回滚段里找到正确的数据，但是大家注意到，这时记录在RBS1里的第4000万行记录已经发生了一点重大的改变：就是这个第4000万行的在回滚段RBS1里的数据有可能随时被覆盖掉，因为这条记录已经被提交了！！！&nbsp;<br style="line-height: normal;" />4、由于用户A的查询时间漫长，而业务在一直不断的进行，RBS1回滚段在被多个不同的tracnsaction使用着，这个回滚段里的extent循环到了第4000万行数据所在的extent，由于这条记录已经被标记提交了，所以这个extent是可以被其他transaction覆盖掉的！&nbsp;<br style="line-height: normal;" />5、到了1点40分，用户A的查询终于到了第4000万行，而这时已经出现了第4条说的情况，需要到回滚段RBS1去找数据，但是已经被覆盖掉了，于是01555就出现了。</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><span style="font-size: small;">--错误提示</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">数据库报错 ORA-01555 什么回滚段 '_SYSSMU168' is too small.很明显 是可用的回滚段太小了 满足不了那个大事物的需要 具体的sql我就不提供了</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">还有一种可能,一般伴随着ORA-22924出现就是LOB上的问题</span></p><div id="_mcePaste" style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; overflow: hidden; padding-left: 30px; left: -10000px; width: 1px; position: absolute; top: 0px; height: 1px;"><span style="font-size: small;">辨别ORA-01555是不是发生在LOB上的,一般来说,普通的01555错误会指明发生01555的rollback segment,而LOB的则没有,而是伴随着ORA-22924出现</span></div><div id="_mcePaste" style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; overflow: hidden; left: -10000px; width: 1px; position: absolute; top: 0px; height: 1px;"><span style="font-size: small;">http://www.dbafan.com/blog/?p=11</span></div><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; padding-left: 30px;"><span style="font-size: small;">辨别ORA-01555是不是发生在LOB上的,一般来说,普通的01555错误会指明发生01555的rollback segment,而LOB的则没有,而是伴随着ORA-22924出现</span><a href="http://student.csdn.net/link.php?url=http://www.dbafan.com%2Fblog%2F%3Fp%3D11" target="_blank" style="color: #336699; text-decoration: none;"><span style="color: #770000;"><span style="font-size: small;">http://www.dbafan.com/blog/?p=11</span></span></a></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><span style="font-size: small;">--回滚原理</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">回退段中存放的信息被称为&#8220;前照&#8221;(pre-image)，也就是说当一个进程对某个表进行了DML操作以后，<br />更改前的纪录信息被存放于回滚段，其作用有两个：</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">1、当进程要求回滚（ROLLBACK）的时候，使用回滚段中信息是纪录复原；</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">2、保持数据读的一致性，当一个进程从某个表中读纪录的时候，ORACLE返回的是当读开始或者进程开始时的纪录，如果在读取过程中有其他进程更改了表纪录，ORACLE就会从回滚段中读取当读操作开始时的数据。回滚段中信息并不是持久有效的，<span style="color: #ff0000;">当进程提交（COMMIT）或者回滚（ROLLBACK）的时候，回滚段就被释放了</span>。当一个进程在执行一个大查询的时候，如果在查询的过程中所读取得的表被更改而且更改COMMIT太久，那回滚段中的&#8220;前照&#8221;就有可能会被其他的进程覆盖，从而导致ORA-01555错误。</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><span style="font-size: small;">--解决方法</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">1、增加回滚段的大小，因为ORACLE总是覆盖最旧的回滚段，所以大的回滚段能有效的降低数据被覆盖的可能性。<br />2、检查你的程序，避免在一个大查询的过程中对所查询的表执行太多更新操作。</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; padding-left: 30px;"><span style="font-size: small;">下面回顾下关于ora-01555的解决方法 10g默认是使用AUM 这里就不说了.&nbsp;下面是几个解决方式来自</span><a href="http://student.csdn.net/link.php?url=http://www.hellodba.com%2F" target="_blank" style="color: #336699; text-decoration: none;"><span style="color: #770000;"><span style="font-size: small;">hellodba&nbsp;</span></span></a><span style="font-size: small;">总结的很不错 大家可用参考下：</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">1、扩大回滚段:&nbsp;因为回滚段是循环使用的，<span style="color: #ff0000;">如果回滚段足够大，那么那些被提交的数据信息就能保存足够长的时间是那些大事务完成一致性读取</span>。</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">2、增加undo_retention时间:在undo_retention规定的时间内，任何其他事务都不能覆盖这些数据。</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">3、优化相关查询语句，减少一致性读:减少查询语句的一致性读，就降低读取不到回滚段数据的风险。这一点非常重要！</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">4、减少不必要的事务提交:提交的事务越少，产生的回滚段信息就越少。</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">5、对大事务指定回滚段,通过以下语句可以指定事务的回滚段：<span style="color: #0000ff;">SET TRANSACTION USE ROLLBACK SEGMENT rollback_segment;&nbsp;</span>给大事务指定回滚段，即降低大事务回滚信息覆盖其他事务的回滚信息的几率，又降低了他自身的回滚信息被覆盖的几率。大事务的存在，往往是1555错误产生的诱因。</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; padding-left: 30px;"><span style="font-size: small;">6、使用游标时尽量使用显式游标，并且只在需要的时候打开游标，同时将所有可以在游标外做的操作从游标循环中拿出。当游标打开时，查询就开始了，直到游标关闭。减少游标的打开时间，就减少了1555错误发生的几率。</span><a href="http://student.csdn.net/link.php?url=http://hi.baidu.com%2Fxu521huan%2Fblog%2Fitem%2F0903ec9b62d85ebec8eaf442.html" target="_blank" style="color: #336699; text-decoration: none;"><span style="color: #770000;"><span style="font-size: small;">http://hi.baidu.com/xu521huan/blog/item/0903ec9b62d85ebec8eaf442.html</span></span></a></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><span style="font-size: small;">--一些实例</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">我的回答是先看看到底是哪个SQL有这个问题，再确定不是因为SQL本身太糟糕导致SNAPSHOT TOO OLD。<span style="color: #ff0000;">再跟他们说我不相信把UNDO_RETENTION加大会有效地解决问题</span>。最后给几个CASES来支持我的观点。<br />(1)reduce the frequency of commit<br />(2)set initialization paramter undo_retention(9i)<br />(3)alter system set retention guarrantee (10g)<br />(4)increase the size of the undo tablespace<br />(5)assign a large rollback segment for the large transaction<br />(6)tuning the long run sql<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />the root cause of the error ora-01555:the long run query can not find a consistent image, because the undo blocks that used to construct the consistent image were wrapped by other active transaction.</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">遇到这个问题，首先可以看是维护需要执行的SQL或者应用执行的SQL报的</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">1、如果平时不报，只是维护人员执行的SQL报的，一般是SQL写得不好，运行执行过长，超过了参数 redo_retention所设置的时间造成的。这种情况可以协助他们进行SQL分析和优化，减少运行时间，这个情况下系统不需要对系统进行调整</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">2、如果是应用程序报的，比如批量程序，则需要通知相关人员进行重做，否则批量运行失败，业务可能会因为数据遗漏出现问题。如果出现的频率较多，则需要在优化应用程序（优化的手段有SQL优化、适当增加commit的次数等）。在应用新版本上线前，可通过调整系统配置临时解决问题方法如：</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">1）增大undo表空间</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">2）增大redo_retention</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">3)为此大事物指定专门的undo 段</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; padding-left: 30px;"><a href="http://student.csdn.net/link.php?url=http://www.itpub.net%2Fviewthread.php%3Ftid%3D1021888%26amp%3Bextra%3D%26amp%3Bhighlight%3DDBA%25C3%25E6%25CA%25D4%26amp%3Bpage%3D3" target="_blank" style="color: #336699; text-decoration: none;"><span style="color: #770000;"><span style="font-size: small;">http://www.itpub.net/viewthread.php?tid=1021888&amp;extra=&amp;highlight=DBA%C3%E6%CA%D4&amp;page=3</span></span></a></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">新鲜出炉的案例：APPS的人下午回馈说今天一个DB的JOB一直报SNAPSHOT TOO OLD。这是过去几个月这个数据库第一次有这种回馈。到ALERT LOG中看看，有好多这种ERROR：Wed Jul 16 10:30:44 2008&nbsp;ORA-01555 caused by SQL statement below (Query Duration=884 sec, SCN: 0x0018.bef62785):Wed Jul 16 10:30:44 2008</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">Wed Jul 16 10:57:29 2008&nbsp;ORA-01555 caused by SQL statement below (Query Duration=149 sec, SCN: 0x0018.bf0d3e47):Wed Jul 16 10:57:29 2008</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">嗯，884S，149S，不可能吧？看看UNDO SETTINGS，很大啊：</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">SQL&gt;&nbsp;<span style="color: #0000ff;">show parameter undo</span><br />NAME &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VALUE<br />------------------------------------ ----------- ------------------------------<br />undo_management &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AUTO<br />undo_retention &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;integer &nbsp;&nbsp;&nbsp;&nbsp;10800<br />undo_suppress_errors &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boolean &nbsp;&nbsp;&nbsp;&nbsp;FALSE<br />undo_tablespace &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UNDOTBS2</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">SQL&gt;&nbsp;<span style="color: #0000ff;">select sum(bytes)/(1024*1024*1024) as gbytes from dba_data_files;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;GBYTES<br />----------<br />300.654297</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">SQL&gt;&nbsp;<span style="color: #0000ff;">select sum(bytes)/(1024*1024*1024) as gbytes from dba_data_files where tablespace_name='UNDOTBS2';</span><br />&nbsp;&nbsp;&nbsp;&nbsp;GBYTES<br />----------<br />&nbsp;&nbsp;9.765625</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; padding-left: 30px;"><span style="font-size: small;">自己试试：<br /><span style="color: #0000ff;">create table mytab as &lt;the select statement&gt; where 1=0</span><br />16:12:14 SQL&gt; insert into mytab &lt;the select statement&gt;<br /></span><span style="color: #999999;"><span style="font-size: small;">insert into mytab<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;"><span style="color: #999999;">ERROR at line 1:<br />ORA-01555: snapshot too old: rollback segment number 27 with name "_SYSSMU27$"<br />too small<br />Elapsed: 00:10:08.83</span><br />奇怪了。看看今天这个UNTOTBS2 UTILIZATION怎样。</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; padding-left: 30px;"><span style="font-size: small;">SQL&gt; s<span style="color: #0000ff;">elect snap_time, free_mb from&nbsp;<span style="color: #ff00ff;">tbs_usage_hist&nbsp;</span>where database='&lt;DB Name&gt;' and tbs='UNDOTBS2' and snap_time&gt;sysdate-1 order by snap_time;</span><br /></span><span style="color: #999999;"><span style="font-size: small;">SNAP_TIME &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FREE_MB<br />------------------- ----------<br />2008-07-15 18:00:00 &nbsp;&nbsp;&nbsp;9172.56<br />2008-07-15 19:00:00 &nbsp;&nbsp;&nbsp;9172.56<br />2008-07-15 20:00:00 &nbsp;&nbsp;&nbsp;9156.56<br />2008-07-15 21:00:00 &nbsp;&nbsp;&nbsp;9188.56<br />2008-07-15 22:00:00 &nbsp;&nbsp;&nbsp;9204.56<br />2008-07-15 23:00:00 &nbsp;&nbsp;&nbsp;9212.56<br />2008-07-16 00:00:00 &nbsp;&nbsp;&nbsp;9228.56<br />2008-07-16 01:00:00 &nbsp;&nbsp;&nbsp;9228.56<br />2008-07-16 02:00:00 &nbsp;&nbsp;&nbsp;9236.56<br />2008-07-16 03:00:00 &nbsp;&nbsp;&nbsp;9228.56<br />2008-07-16 04:00:00 &nbsp;&nbsp;&nbsp;9252.56<br />2008-07-16 05:00:00 &nbsp;&nbsp;&nbsp;9252.56<br />2008-07-16 06:00:00 &nbsp;&nbsp;&nbsp;9252.56<br />2008-07-16 07:00:00 &nbsp;&nbsp;&nbsp;9260.56<br />2008-07-16 08:00:00 &nbsp;&nbsp;&nbsp;9244.56<br />2008-07-16 09:00:00 &nbsp;&nbsp;&nbsp;8486.56<br />2008-07-16 10:00:00 &nbsp;&nbsp;&nbsp;1683.56<br /><span style="color: #ff0000;">2008-07-16 11:00:00 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.31</span><br />2008-07-16 12:00:00 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.94<br />2008-07-16 13:00:00 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.44<br />2008-07-16 14:00:00 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.44<br />2008-07-16 15:00:00 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.25<br />2008-07-16 16:00:00 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;17.75</span></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: small;">那 问题应当是很明了了，自今天十点多UNDOTBS2一直是HIGHLY UTILIZED。打个电话给APP OWNER，原来他今天早上十点左右做了一个很大的DELETE。即然这个报错的APP只要在二十四小时内能再执行完就可以，而OLTP APP没报错，那就再等等吧。在四点半时，UNDOTBS2就差不多是85% FREE。再试试：<br />16:37:49 SQL&gt; insert into mytab &lt;the select statement&gt;<br />182 rows created.<br />Elapsed: 00:34:47.39<br />17:12:37 SQL&gt;<br />现在的UNDOTBS2 UTILIZATION：<br />SNAP_TIME &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FREE_MB<br />------------------- ----------<br />2008-07-16 17:00:00 &nbsp;&nbsp;&nbsp;8523.63<br />问题解决。SNAPSHOT TOO OLD从来就不是一个过时的题目,也没有一个简单的答案。</span></p><img src ="http://www.blogjava.net/badboyryan/aggbug/423675.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2015-03-20 15:03 <a href="http://www.blogjava.net/badboyryan/archive/2015/03/20/423675.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORA--27100</title><link>http://www.blogjava.net/badboyryan/archive/2015/03/20/423674.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 20 Mar 2015 06:58:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2015/03/20/423674.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/423674.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2015/03/20/423674.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/423674.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/423674.html</trackback:ping><description><![CDATA[<div style="margin: 5px 0px; font-size: 20px; line-height: 30px; font-family: 'Microsoft YaHei'; background-color: #ffffff;"><h1><a href="http://blog.csdn.net/songyang_oracle/article/details/6432305" style="color: #666666; text-decoration: none;">决ORA--27100 shared memory realm already exists报错</a></h1></div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-size: 12px; line-height: 24px; font-family: Arial; text-align: right; background-color: #ffffff;"><span style="margin: 0px 5px; float: left;">分类：&nbsp;<a href="http://blog.csdn.net/SongYang_Oracle/article/category/822072" style="color: #336699; text-decoration: none;">各种ORA-报错</a></span><span style="margin: 0px 5px 0px 0px;">2011-05-19 15:49</span>&nbsp;<span title="阅读次数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background-image: url(http://static.blog.csdn.net/images/ico_view.png); background-position: 0% 50%; background-repeat: no-repeat no-repeat;">1220人阅读</span>&nbsp;<span title="评论次数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background-image: url(http://static.blog.csdn.net/images/ico_comm.png); background-position: 0% 50%; background-repeat: no-repeat no-repeat;"><a href="http://blog.csdn.net/songyang_oracle/article/details/6432305#comments" style="color: #336699; text-decoration: none;">评论</a>(0)</span>&nbsp;<span style="margin: 0px 5px;"><a title="收藏" style="color: #336699;">收藏</a></span>&nbsp;<span style="margin: 0px 5px;"><a href="http://blog.csdn.net/songyang_oracle/article/details/6432305#report" title="举报" style="color: #336699; text-decoration: none;">举报</a></span></div><div style="margin: 10px 0px; color: #333333; font-family: Arial, Console, Verdana, 'Courier New'; font-size: 12px; line-height: normal; background-color: #ffffff;"><a href="http://www.csdn.net/tag/integer" target="_blank" style="color: #336699; text-decoration: none; display: inline-block; padding: 4px 10px; line-height: 12px; margin-right: 10px; border: 1px solid #eeeeee; background-color: #eeeeee; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;">integer</a><a href="http://www.csdn.net/tag/sql" target="_blank" style="color: #336699; text-decoration: none; display: inline-block; padding: 4px 10px; line-height: 12px; margin-right: 10px; border: 1px solid #eeeeee; background-color: #eeeeee; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;">sql</a><a href="http://www.csdn.net/tag/%e6%95%b0%e6%8d%ae%e5%ba%93" target="_blank" style="color: #336699; text-decoration: none; display: inline-block; padding: 4px 10px; line-height: 12px; margin-right: 10px; border: 1px solid #eeeeee; background-color: #eeeeee; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;">数据库</a><a href="http://www.csdn.net/tag/oracle" target="_blank" style="color: #336699; text-decoration: none; display: inline-block; padding: 4px 10px; line-height: 12px; margin-right: 10px; border: 1px solid #eeeeee; background-color: #eeeeee; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;">oracle</a><a href="http://www.csdn.net/tag/windows" target="_blank" style="color: #336699; text-decoration: none; display: inline-block; padding: 4px 10px; line-height: 12px; margin-right: 10px; border: 1px solid #eeeeee; background-color: #eeeeee; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;">windows</a><a href="http://www.csdn.net/tag/system" target="_blank" style="color: #336699; text-decoration: none; display: inline-block; padding: 4px 10px; line-height: 12px; margin-right: 10px; border: 1px solid #eeeeee; background-color: #eeeeee; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;">system</a></div><div id="article_content" style="margin: 20px 0px 0px; line-height: 26px; font-family: Arial; color: #333333; background-color: #ffffff;"><p><span style="font-size: small;">OS环境：windows PC</span></p><p><span style="font-size: small;">数据库版本：oracle 10.0.2.1</span></p><p>&nbsp;</p><p><span style="font-size: small;">这是一次小打小闹的报错，原因是帮同事改他自己玩的测试库sga，原sga_max_size大小为600M，我修改为2G，重启时报错。</span></p><p>&nbsp;</p><p><span style="color: #ff0000;"><span style="font-size: small;">ORA-27100 shared memory realm already exists</span></span></p><p>&nbsp;</p><p><span style="font-size: small;">通过查询官方文档，解释该原因是因为windows pc 32位机最大支持分配oracle内存为1.7G，所以导致报错，这是一次缺少经验的教训。</span></p><p>&nbsp;</p><p><span style="font-size: small;">解决案例：</span></p><p>&nbsp;&nbsp;</p><p><span style="color: #ff0000;"><span style="font-size: small;">1：SQL&gt; show parameter sga</span></span></p><p><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp; NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />------------------------------------ ----------- ------------------------------<br />&nbsp;&nbsp;&nbsp;&nbsp; lock_sga&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean&nbsp;&nbsp;&nbsp;&nbsp; FALSE<br />&nbsp;&nbsp;&nbsp;&nbsp; pre_page_sga&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boolean&nbsp;&nbsp;&nbsp;&nbsp; FALSE<br />&nbsp;&nbsp;&nbsp;&nbsp; sga_max_size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;big integer 568M<br />&nbsp;&nbsp;&nbsp;&nbsp; sga_target&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; big integer 568M</span></p><p>&nbsp;</p><p><span style="color: #ff0000;"><span style="font-size: small;">2：SQL&gt; alter system set sga_max_size=2048m scope=spfile; -将SGA设置为2G</span></span></p><p><span style="color: #ff0000;"><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp; SQL&gt; alter system set sga_target=2048m scope=spfile;</span></span></p><p>&nbsp;</p><p><span style="color: #ff0000;"><span style="font-size: small;">3：SQL&gt; shutdown immediate&nbsp; -重启数据库报错</span></span></p><p><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;">&nbsp;SQL&gt; startup</span></span></p><p>&nbsp;</p><p><span style="color: #ff0000;"><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp; ORA-27100 shared memory realm already exists</span></span></p><p><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSD-00029: ????????????<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;O/S-Error: (OS 8) ??????????????????????????????&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p><p>&nbsp;</p><p><span style="color: #ff0000;"><span style="font-size: small;">4：SQL&gt; create pfile from spfile; -使用spfile生成pfile，修改参数文件内的以下两个参数，</span></span></p><p><span style="color: #ff0000;"><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #ff0000;"><span style="font-size: small;">将参数调小。</span></span></p><p><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*.sga_max_size=600000000<br />&nbsp;&nbsp;&nbsp;&nbsp; *.sga_target=600000000</span></p><p>&nbsp;</p><p><span style="color: #ff0000;"><span style="font-size: small;">5：SQL&gt; startup pfile='E:/oracle/product/10.2.0/db_1/database/INITorcl.ORA' -这时候启动</span></span></p><p><span style="color: #ff0000;"><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;依然报错，这是因为windows</span></span><span style="font-size: small;"><span style="color: #ff0000;">机器需要重启后台服务，否则无法生效（郁闷）<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;">ORA-27100 shared memory realm already exists</span></span></p><p><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp; OSD-00029: ????????????<br />&nbsp;&nbsp;&nbsp;&nbsp; O/S-Error: (OS 8) ??????????????????????????????</span></p><p>&nbsp;</p><p><span style="color: #ff0000;"><span style="font-size: small;">7：找到管理/服务/OracleServiceORCL 重启</span></span></p><p>&nbsp;</p><p><span style="font-size: small;"><span style="color: #ff0000;">8：SQL&gt; startup pfile='E:/oracle/product/10.2.0/db_1/database/INITorcl.ORA'<br /></span>&nbsp;&nbsp;&nbsp;&nbsp; ORACLE 例程已经启动。</span></p><p><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp; Total System Global Area&nbsp; 603979776 bytes<br />&nbsp;&nbsp;&nbsp;&nbsp; Fixed Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1250428 bytes<br />&nbsp;&nbsp;&nbsp;&nbsp; Variable Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 163580804 bytes<br />&nbsp;&nbsp;&nbsp;&nbsp; Database Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 432013312 bytes<br />&nbsp;&nbsp;&nbsp;&nbsp; Redo Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7135232 bytes<br />&nbsp;&nbsp;&nbsp;&nbsp; 数据库装载完毕。<br />&nbsp;&nbsp;&nbsp;&nbsp; 数据库已经打开。</span></p><p>&nbsp;</p><p><span style="color: #ff0000;"><span style="font-size: small;">9：SQL&gt; create spfile from pfile; -根据启动的pfile生成spfile，下次启动时候则主动读取spfile</span></span></p><p><span style="color: #ff0000;"><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp; 参数文件</span></span></p><p><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;">&nbsp;SQL&gt; startup force<br />&nbsp;&nbsp;&nbsp;&nbsp; SQL&gt; show parameter spfile</span></span></p><p><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />&nbsp;&nbsp;&nbsp;&nbsp; ------------------------------------ ----------- ------------------------------<br />&nbsp;&nbsp;&nbsp;&nbsp; spfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E:/ORACLE/PRODUCT/10.2.0/DB_1/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DATABASE/SPFILEORCL.ORA<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;">&nbsp;SQL&gt; show parameter sga;</span></span></p><p><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp; NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />&nbsp;&nbsp;&nbsp;&nbsp; ----------------------------------- ----------- ------------------------------<br />&nbsp;&nbsp;&nbsp;&nbsp; lock_sga&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean&nbsp;&nbsp;&nbsp;&nbsp; FALSE<br />&nbsp;&nbsp;&nbsp;&nbsp; pre_page_sga&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean&nbsp;&nbsp;&nbsp;&nbsp; FALSE<br />&nbsp;&nbsp;&nbsp;&nbsp; sga_max_size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; big integer 576M<br />&nbsp;&nbsp;&nbsp;&nbsp; sga_target&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; big integer 576M</span></p></div><img src ="http://www.blogjava.net/badboyryan/aggbug/423674.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2015-03-20 14:58 <a href="http://www.blogjava.net/badboyryan/archive/2015/03/20/423674.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>修改myeclipse里面编辑器的字体</title><link>http://www.blogjava.net/badboyryan/archive/2014/01/04/408510.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Sat, 04 Jan 2014 14:55:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2014/01/04/408510.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/408510.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2014/01/04/408510.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/408510.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/408510.html</trackback:ping><description><![CDATA[<div class="news_tag">&nbsp;</div><div class="blog_content" id="blog_content"><span style="line-height: 25px; font-family: Helvetica,Tahoma,Arial,sans-serif; font-size: 14px;"></span> <p style="padding-top: 0px; padding-bottom: 0px; margin-top: 0px; margin-bottom: 0px;"><span style="font-size: 13px;">jsp字体</span></p><p style="padding-top: 0px; padding-bottom: 0px; margin-top: 0px; margin-bottom: 0px;"><span style="font-size: 13px;"></span></p><span style="line-height: 25px; font-family: Helvetica,Tahoma,Arial,sans-serif; font-size: 14px;">Window--&gt;Preferences--&gt;General--&gt;Appearance--&gt;Colors and Fonts--&gt;Basic--&gt;Text Font--&gt;Chang</span> <p style="padding-top: 0px; padding-bottom: 0px; margin-top: 0px; margin-bottom: 0px;"><span style="font-size: 13px;">里面的&#8220;Text Font&#8221;</span><span style="font-size: 13px;">。直接在JSP文件编辑器上点击右键，然后选择属性，就可以设置了</span></p><p style="padding-top: 0px; padding-bottom: 0px; margin-top: 0px; margin-bottom: 0px;"><span style="font-size: 13px;">java代码字体</span></p><p style="padding-top: 0px; padding-bottom: 0px; margin-top: 0px; margin-bottom: 0px;"><span style="font-size: 13px;"></span></p><span></span> <pre class="reply-text mb10" style="padding: 0px; line-height: 22px; font-family: Arial; margin-top: 0px; margin-bottom: 10px; white-space: pre-wrap;"><span style="line-height: 25px; font-family: Helvetica,Tahoma,Arial,sans-serif; font-size: 14px;">Window--&gt;Preferences--&gt;General--&gt;Appearance--&gt;Colors and Fonts--&gt;Java-&gt;Java Editor Text Font</span>然后点那个change按钮选字体大小和类型</pre></div><img src ="http://www.blogjava.net/badboyryan/aggbug/408510.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2014-01-04 22:55 <a href="http://www.blogjava.net/badboyryan/archive/2014/01/04/408510.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>总结一下TODO的用法</title><link>http://www.blogjava.net/badboyryan/archive/2013/12/29/408179.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Sun, 29 Dec 2013 09:48:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2013/12/29/408179.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/408179.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2013/12/29/408179.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/408179.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/408179.html</trackback:ping><description><![CDATA[
<pre accuse="aContent"  mb-10"="">1.设置任务的标签<br />    WINDOW-&gt;preference-&gt;java-&gt;complier-&gt;task tags<br />加一个 DONE：NORMAL表示已经完成的任务<br />2. java代码里面加入//TODO 需要处理的任务<br />这是需要完成的任务<br />3.代码里面加入//FIXME 表示优先级别比较高，需要处理的缺陷问题的任务<br />4.代码里面加入//XXX 表示虽然任务已经完成但是还需要优化处理的任务<br />5.代码里面加入//DONE表示这个任务已经处理完了，其实可以删除这个标签了<br /><br />6.加的这些任务再哪里可以看到呢，<span style='font-family: verdana, "courier new";'>window &#8212; show View &#8212; Tasks <br /></span></pre><pre accuse="aContent"  mb-10"=""><span style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);">html&nbsp;xml</span><br style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);" /><span style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);">&lt;!--&nbsp;TODO&nbsp;mytask&nbsp;--&gt;</span><br style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);" /><span style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);">jsp&nbsp;</span><br style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);" /><span style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);">&lt;%--&nbsp;TODO&nbsp;mytask&nbsp;--&gt;</span><br style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);" /><span style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);">java&nbsp;javascript</span><br style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);" /><span style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);">//TODO&nbsp;mytask</span><br style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);" /><span style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);">CSS</span><br style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);" /><span style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);">/*TODO&nbsp;mytask&nbsp;*/</span><wbr>
<div><span style="color: rgb(51, 51, 51); line-height: 24px; font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);"><br /></span></div>
<div>
<p style='border-width: 0px; line-height: 18px; clear: both; font-family: Arial, "Liberation Sans", "DejaVu Sans", sans-serif; margin-top: 0px; margin-bottom: 1em; vertical-align: baseline; -ms-word-wrap: break-word; border-image: initial;'>打开 
(Window-&gt;Preferences)&nbsp;
</p><p style='border-width: 0px; line-height: 18px; clear: both; font-family: Arial, "Liberation Sans", "DejaVu Sans", sans-serif; margin-top: 0px; margin-bottom: 1em; vertical-align: baseline; -ms-word-wrap: break-word; border-image: initial;'>选择 
General-&gt;Editors-&gt;Structured Text Edit-&gt;Task Tags.
</p><p style='border-width: 0px; line-height: 18px; clear: both; font-family: Arial, "Liberation Sans", "DejaVu Sans", sans-serif; margin-top: 0px; margin-bottom: 1em; vertical-align: baseline; -ms-word-wrap: break-word; border-image: initial;'>勾选 
"Enable searching for Task Tags" setting.&nbsp;</p>
<p style='border-width: 0px; line-height: 18px; clear: both; font-family: Arial, "Liberation Sans", "DejaVu Sans", sans-serif; margin-top: 0px; margin-bottom: 1em; vertical-align: baseline; -ms-word-wrap: break-word; border-image: initial;'>在&#8220;<span style="line-height: 18px;">Filters</span><span style="line-height: 18px;">&#8221;标签页中，要保证JSP是选中的。</span></p></div><br />在任务视图里面可以看到任务的状态。<br /><br />在发布项目之前，需要管伫一下这个视图防止有未完成的任务就发布了项目。</pre><pre accuse="aContent"  mb-10"=""><br /><br /><br />&nbsp;</pre> 
<img src ="http://www.blogjava.net/badboyryan/aggbug/408179.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2013-12-29 17:48 <a href="http://www.blogjava.net/badboyryan/archive/2013/12/29/408179.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ueditor上传图片失败以及上传附件显示“网络错误500”的解决方法</title><link>http://www.blogjava.net/badboyryan/archive/2013/09/18/404201.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Wed, 18 Sep 2013 02:09:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2013/09/18/404201.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/404201.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2013/09/18/404201.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/404201.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/404201.html</trackback:ping><description><![CDATA[
<p>Ueditor<span style="font-family: 宋体;">上传图片失败以及上传附件显示&#8220;网络错误</span>500</p><span style="font-family: 宋体;"><p>&#8221;的解决方法<br />1、ueditor目录jsp目录下面有一个java文件</p></span><p>Uploader.java<br />2、把这个文件放到src/ueditor包里面<br />3、把ueditor/jsp/目录下面的两个jar包放到工程里面<br />4 重新编译项目ok,可以上传附件,图片了!<br /><br />有点小高兴</p> 
<img src ="http://www.blogjava.net/badboyryan/aggbug/404201.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2013-09-18 10:09 <a href="http://www.blogjava.net/badboyryan/archive/2013/09/18/404201.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>win8安装SQLSERVER 2008的时候居然验证不通过解决办法</title><link>http://www.blogjava.net/badboyryan/archive/2013/08/27/403366.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 27 Aug 2013 07:21:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2013/08/27/403366.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/403366.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2013/08/27/403366.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/403366.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/403366.html</trackback:ping><description><![CDATA[<img style="border-top-color: ; border-bottom-color: ; border-right-color: ; border-left-color: " border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/badboyryan/sql2008.jpg" width="548" longdesc="" height="273" /><br />经典吧，账户名都选择下面一样的，，，密码不用管！验证通过！！！<img src ="http://www.blogjava.net/badboyryan/aggbug/403366.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2013-08-27 15:21 <a href="http://www.blogjava.net/badboyryan/archive/2013/08/27/403366.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决Win2k3Server安装SQL2000时提示无法验证产品密钥的问题</title><link>http://www.blogjava.net/badboyryan/archive/2013/08/20/403081.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 20 Aug 2013 05:06:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2013/08/20/403081.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/403081.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2013/08/20/403081.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/403081.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/403081.html</trackback:ping><description><![CDATA[<p>在windows 2003 server 以前版本的操作系统上好像从来没有出现过要输入CD KEY,但在windows 2003 server打上SP1和域控制器环境下却在安装过程中出现输入CDKEY的界面,提示提示无法验证产品密钥,CDKEY不对?</p>
<p>解决办法如下：</p>
<p>方法一:&nbsp;&nbsp; 环境: windows 2003 server + SP1企业VOL版 域控环境<br />安装数据库: SQL 2000</p>
<p>在给出的输入CDKEY的界面中，输入你已经安装的windows server 2003 的CDKEY即可以继续安装，而不是SQL 2000的CDKEY。</p>
<p>方法二: 在开始&gt;运行&gt;输入&#8220;regedit"; 打开注册表编辑器。 <br />浏览到 <br />HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager</p>
<p>将SafeDLLSearchMode的DWORD值并将值从 1 更改为 0。<br />如果SafeDLLSearchMode值不存在, 新建一个DWORD类型的SafeDLLSearchMode键值。<br />重新启动 SQL Server 2000 安装，这时就不会出现提示&#8220;无法验证产品密钥&#8221;。 <br />应用最新 SQL ServicePack 然后重新启动服务器。</p><img src ="http://www.blogjava.net/badboyryan/aggbug/403081.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2013-08-20 13:06 <a href="http://www.blogjava.net/badboyryan/archive/2013/08/20/403081.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在字符界面安装Gnome桌面</title><link>http://www.blogjava.net/badboyryan/archive/2012/06/20/381202.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Wed, 20 Jun 2012 12:37:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2012/06/20/381202.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/381202.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2012/06/20/381202.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/381202.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/381202.html</trackback:ping><description><![CDATA[<p>如果你是字符界面安装的系统的话，因为不让你选择软件包，所以你需要在安装好系统后，安装需要的软件，比如说桌面。</p>
<p>在RHEL6.1中，gonme桌面包的名字变成了Desktop，这算是RHEL6.1默认的桌面了。但如果只安装这个组的话，也是不行的，他缺少了X协议的支持，在启动桌面的时候，会出现下面和X相关的错误提示。 </p>
<p><br />xinit: No such file or directory (errno 2): no server "/usr/bin/X" in PATH xinit: No such file or directory (errno 2): unable to connect to X server xinit: No such process (errno 3): Server error. <br />所以说，要在字符界面下安装Gnome桌面，你需要安装两个组。</p>
<p><br />yum groupinstall "X Window System" yum groupinstall "Desktop" </p>
<p>&nbsp;</p>
<p>如果说，你安装系统的时候，选择了中文语言包的支持的话，那么系统会以中文显示。如果在终端使用的话，有点不方便，告别是用yum group*这些命令的时候，可能无法安装。</p>
<p>解决的办法就是编辑</p>
<p>/etc/sysconfig/i18n</p>
<p><br />把zh_CN换成en_US LANG="en_US.UTF-8" 然后执行一次下面的命令 source /etc/sysconfig/i18n </p>
<p>&nbsp;</p>
<p>&nbsp;</p><img src ="http://www.blogjava.net/badboyryan/aggbug/381202.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2012-06-20 20:37 <a href="http://www.blogjava.net/badboyryan/archive/2012/06/20/381202.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用exp无法导出空表解决方法</title><link>http://www.blogjava.net/badboyryan/archive/2012/06/11/380485.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Mon, 11 Jun 2012 02:29:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2012/06/11/380485.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/380485.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2012/06/11/380485.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/380485.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/380485.html</trackback:ping><description><![CDATA[<div>
<p style="text-indent: 24pt">最早的一次使用oracle 11g导出数据发现有的表丢失了，感觉莫名其妙的，后来终于找到原因了。<br />找到问题以后，再看看解决方案。<br /><br />11GR2<span style="font-family: 宋体">中有个新特性，当表无数据时，不分配</span>segment<span style="font-family: 宋体">，以节省空间，可是在用</span>EXPORT<span style="font-family: 宋体">导出时，空表也不能导出，这就导致迁移时候丢失了一些表，存储过程也失效了。本以为</span>EXP<span style="font-family: 宋体">能有相应的控制开关，可以切换是否导出空表，看了下帮助，没有太大的改变。有些奇怪，难道</span>11<strong></strong><span style="font-family: 宋体; font-size: 10.5pt">G</span><span style="font-family: 宋体; font-size: 10.5pt">R2</span><span style="font-family: 宋体; font-size: 10.5pt">不更新EXP的功能了，还看有的帖子说</span>11<strong></strong><span style="font-family: 宋体; font-size: 10.5pt">G</span><span style="font-family: 宋体; font-size: 10.5pt">R1</span><span style="font-family: 宋体; font-size: 10.5pt">作为客户端去卸载</span>11<strong></strong><span style="font-family: 宋体; font-size: 10.5pt">G</span><span style="font-family: 宋体; font-size: 10.5pt">R2</span><span style="font-family: 宋体; font-size: 10.5pt">的，都会出现ora-1455d的错误，得换成</span>11<strong></strong><span style="font-family: 宋体; font-size: 10.5pt">G</span><span style="font-family: 宋体; font-size: 10.5pt">R2</span><span style="font-family: 宋体; font-size: 10.5pt">的exp才没事了，心中感慨阿，怎么版本间的兼容这么脆弱了！</span></p>
<p><span style="font-family: 宋体">　　解决方法：</span></p>
<h1><span>一、 </span>insert<span style="font-family: 宋体">一行，再</span>rollback<span style="font-family: 宋体">就产生</span>segment<span style="font-family: 宋体">了。</span></h1>
<p><span style="font-family: 宋体">　　该方法是在在空表中插入数据，再删除，则产生</span>segment<span style="font-family: 宋体">。导出时则可导出空表。</span></p>
<h1><span>二、 </span><span style="font-family: 宋体">设置</span>deferred_segment_creation<span style="font-family: 宋体">参数</span></h1>
<p style="text-indent: 24pt"><span style="font-family: 宋体">该参数值默认是</span>TRUE<span style="font-family: 宋体">，当改为</span>FALSE<span style="font-family: 宋体">时，无论是空表还是非空表，都分配</span>segment<span style="font-family: 宋体">。修改</span><a href="javascript:;" target="_self"><u><strong>SQL</strong></u></a><span style="font-family: 宋体">语句：</span></p>
<p style="text-indent: 36pt">alter system set deferred_segment_creation=false scope=both;</p>
<p><span style="font-family: 宋体">　　需注意的是：该值设置后对以前导入的空表不产生作用，仍不能导出，只能对后面新增的表产生作用。如需导出之前的空表，只能用第一种方法。</span></p>
<h1><span>三、 </span><span style="font-family: 宋体">用以下这句查找空表并分配空间</span></h1>
<p><span style="font-family: 宋体">　　</span>select 'alter <a href="javascript:;" target="_self"><u><strong>table</strong></u></a> '||table_name||' allocate extent;' from user_tables where num_rows=0;</p>
<p><span style="font-family: 宋体">　　把</span>SQL<span style="font-family: 宋体">查询的结果导出，然后执行导出的语句，强行为表分配空间修改</span>segment<span style="font-family: 宋体">值，然后再导出即可导出空表了。</span></p></div><br /><br /><img src ="http://www.blogjava.net/badboyryan/aggbug/380485.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2012-06-11 10:29 <a href="http://www.blogjava.net/badboyryan/archive/2012/06/11/380485.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决web应用和数据库在一起，应用服务启动报错</title><link>http://www.blogjava.net/badboyryan/archive/2012/06/05/380071.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 05 Jun 2012 14:20:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2012/06/05/380071.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/380071.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2012/06/05/380071.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/380071.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/380071.html</trackback:ping><description><![CDATA[@echo off<br />net stop tomcat<br />rem ping 20个包，实现延时<br />ping 127.0.0.1 -n 20<br />net start tomcat<br /><br />做成bat文件，开机的时候运行这个批处理，这样oracle就有足够的时间启动了<img src ="http://www.blogjava.net/badboyryan/aggbug/380071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2012-06-05 22:20 <a href="http://www.blogjava.net/badboyryan/archive/2012/06/05/380071.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>