﻿<?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-Knight of the round table-文章分类-Database</title><link>http://www.blogjava.net/wansong/category/32914.html</link><description>wansong</description><language>zh-cn</language><lastBuildDate>Thu, 21 Jun 2012 22:06:21 GMT</lastBuildDate><pubDate>Thu, 21 Jun 2012 22:06:21 GMT</pubDate><ttl>60</ttl><item><title>db2 import export</title><link>http://www.blogjava.net/wansong/articles/381152.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Wed, 20 Jun 2012 02:57:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/381152.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/381152.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/381152.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/381152.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/381152.html</trackback:ping><description><![CDATA[<div>cmd 输入 db2cw<br /><br />db2 connect to&nbsp;DBNAME user DBUSER<br /><br />db2 export to SAMPLE.ixf of ixf select * FROM SAMPLE<br />db2 import from SAMPLE.ixf of ixf insert_update into NAMESPACE.SAMPLE</div><img src ="http://www.blogjava.net/wansong/aggbug/381152.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2012-06-20 10:57 <a href="http://www.blogjava.net/wansong/articles/381152.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>orcal case when 的写法</title><link>http://www.blogjava.net/wansong/articles/364429.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Mon, 21 Nov 2011 06:08:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/364429.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/364429.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/364429.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/364429.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/364429.html</trackback:ping><description><![CDATA[case when c.claim_status='FIN' and c.CHECK_OUT_FLAG=0 then '1' else '0' end as isFinished,<br />上面这种相当于if else的语义<br /><br />case c.claim_status when 'FIN' then '1' else '0' end as isFinished,<br />下面这种相当于 swith 的语义<img src ="http://www.blogjava.net/wansong/aggbug/364429.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2011-11-21 14:08 <a href="http://www.blogjava.net/wansong/articles/364429.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>nosql hadoop</title><link>http://www.blogjava.net/wansong/articles/363528.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Fri, 11 Nov 2011 07:08:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/363528.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/363528.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/363528.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/363528.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/363528.html</trackback:ping><description><![CDATA[<a href="http://www.infoq.com/cn/news/2011/01/nosql-why">http://www.infoq.com/cn/news/2011/01/nosql-why</a> <br /><br /><a href="http://www.infoq.com/cn/author/">http://www.infoq.com/cn/author/</a>孙立;jsessionid=3E8C088BDE4FC6B8AEF843663EB5CD61 <br /><br /><br /><a href="http://www.infoq.com/cn/articles/hadoop-process-develop">http://www.infoq.com/cn/articles/hadoop-process-develop</a><img src ="http://www.blogjava.net/wansong/aggbug/363528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2011-11-11 15:08 <a href="http://www.blogjava.net/wansong/articles/363528.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql 分区 分表</title><link>http://www.blogjava.net/wansong/articles/360293.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sun, 09 Oct 2011 09:13:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/360293.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/360293.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/360293.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/360293.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/360293.html</trackback:ping><description><![CDATA[<div>http://dev.mysql.com/doc/refman/5.1/zh/partitioning.html<br /><br /><div>http://cailin.iteye.com/blog/983394<br /><div>http://www.iteye.com/topic/866142</div></div></div><img src ="http://www.blogjava.net/wansong/aggbug/360293.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2011-10-09 17:13 <a href="http://www.blogjava.net/wansong/articles/360293.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库 表字段 设计</title><link>http://www.blogjava.net/wansong/articles/360222.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sat, 08 Oct 2011 13:11:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/360222.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/360222.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/360222.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/360222.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/360222.html</trackback:ping><description><![CDATA[<a href="http://office.microsoft.com/en-us/access-help/database-design-basics-HA001224247.aspx">http://office.microsoft.com/en-us/access-help/database-design-basics-HA001224247.aspx</a><img src ="http://www.blogjava.net/wansong/aggbug/360222.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2011-10-08 21:11 <a href="http://www.blogjava.net/wansong/articles/360222.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sql server 排序函数 row_number，rank，dense_rank，ntile  和mysql中的写法</title><link>http://www.blogjava.net/wansong/articles/354576.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Tue, 19 Jul 2011 00:03:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/354576.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/354576.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/354576.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/354576.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/354576.html</trackback:ping><description><![CDATA[<h5><a href="http://blog.csdn.net/halfcup/article/details/5488517">http://blog.csdn.net/halfcup/article/details/5488517</a></h5>
<p>&nbsp;</p>
<h4>五大数据库常用SQL比较(五)<br /><a href="http://www.aheiwang.com/article.asp?id=14">http://www.aheiwang.com/article.asp?id=14</a></h4><img src ="http://www.blogjava.net/wansong/aggbug/354576.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2011-07-19 08:03 <a href="http://www.blogjava.net/wansong/articles/354576.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySQL的经典用法</title><link>http://www.blogjava.net/wansong/articles/342910.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Thu, 13 Jan 2011 03:14:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/342910.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/342910.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/342910.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/342910.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/342910.html</trackback:ping><description><![CDATA[MySQL的经典用法(三)----海量数据统计处理,模拟物化视图&nbsp; http://www.javaeye.com/topic/727676<br />
MySQL的经典用法(十一)----临时表与内存表&nbsp;&nbsp; http://www.javaeye.com/topic/846638<br />
<br />
Mysql 复制设置 http://www.javaeye.com/topic/586239<br />
mysql性能优化的参数简介 http://www.javaeye.com/topic/607589<br />
<br />
http://www.javaeye.com/forums/tag/mysql
<img src ="http://www.blogjava.net/wansong/aggbug/342910.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2011-01-13 11:14 <a href="http://www.blogjava.net/wansong/articles/342910.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle reference</title><link>http://www.blogjava.net/wansong/articles/337618.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Tue, 09 Nov 2010 05:56:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/337618.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/337618.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/337618.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/337618.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/337618.html</trackback:ping><description><![CDATA[http://psoug.org/reference/procedures.html
<img src ="http://www.blogjava.net/wansong/aggbug/337618.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-11-09 13:56 <a href="http://www.blogjava.net/wansong/articles/337618.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle 连接池 配置</title><link>http://www.blogjava.net/wansong/articles/336934.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Wed, 03 Nov 2010 07:28:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/336934.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/336934.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/336934.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/336934.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/336934.html</trackback:ping><description><![CDATA[http://msq.javaeye.com/blog/60387<br />
<br />
<br />
一般是300<br />
&nbsp; 不要超过这个数<br />
<br />
最小25<br />
&nbsp; 最大可设到125<br />
&nbsp; 然后具体还有一些其它的参数都在我的EMAIL里有说明<br />
&nbsp; 所有的容器就那几个参数，无法是有的是写在PROPERTIES有的是写在XML有的是直接图形化设在界面里而己<br />
&nbsp; 如果你的一个FOR循环里套了300个以上的PSTMT或者是STMT你想想，那一定会抛错<br />
&nbsp; 因此这个就限制了你的设计<br />
&nbsp; 你在设计一些大循环或者是BATCH JOB时就要考虑多线程啦，还有分批次啦，分页啦等<br />
&nbsp; 因为你可以放大这个300个连接的设置，可是付出的代价是ORACLE服务器使用内存数的上升<br />
&nbsp; 你可以放到1000，放到3000，如果是3万呢？还不够呢<br />
&nbsp; 对吧<br />
&nbsp; 每开一个PSTMT或者是STMT就是一个连接，每开一个CONNECTION也是一个连接<br />
&nbsp; 因此你的程序就要及时且合理的去关闭这个CONNECTION<br />
&nbsp; 具体就要看实际情况了<br />
 <img src ="http://www.blogjava.net/wansong/aggbug/336934.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-11-03 15:28 <a href="http://www.blogjava.net/wansong/articles/336934.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE DBA</title><link>http://www.blogjava.net/wansong/articles/334242.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Mon, 11 Oct 2010 01:24:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/334242.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/334242.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/334242.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/334242.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/334242.html</trackback:ping><description><![CDATA[<font style="font-size: 14pt" color="#02368d"><strong>*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 显示最近被改动的10个文件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
ls -alt|head<br />
/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 把Oracle的SGA钉在内存中&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
HP-UX AND LINUX AS 3<br />
LOCK_SGA = TURE<br />
SUN Solaris<br />
USE_ISM=TRUE
<p>/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 汇出数据库成文件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
exp <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#117;&#115;&#101;&#114;&#105;&#100;&#61;&#97;&#114;&#109;&#115;&#47;&#97;&#114;&#109;&#115;&#64;&#97;&#114;&#109;&#115;">userid=arms/arms@arms</a> owner=arms file=(arms_1123-1.dmp,arms_1123-2.dmp,<br />
arms_1123-3.dmp,arms_1123-4.dmp,arms_1123-5.dmp,arms_1123-6.dmp,arms_1123-7.dmp)<br />
&nbsp;filesize=2GB log=arms_1123.log</p>
<p>imp armsetl/armsetl fromuser=armsetl touser=armsetl rows=y indexes=n<br />
commit=y buffer=65536 feedback=100000 ignore=n volsize=0<br />
file=exp_icd.dmp<br />
--oracle10g中汇入需要system用户做汇入动作<br />
imp <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#117;&#115;&#101;&#114;&#105;&#100;&#61;&#115;&#121;&#115;&#47;&#115;&#121;&#115;&#64;&#65;&#82;&#77;&#83;">userid=sys/sys@ARMS</a> fromuser=ARMS&nbsp; touser=ARMSETL file=(arms_1123-1.dmp,arms_1123-2.dmp,<br />
arms_1123-3.dmp,arms_1123-4.dmp,arms_1123-5.dmp) filesize=2GB&nbsp; COMMIT=Y log=ARMSETL.log </p>
<p>E:\export&gt;imp <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#117;&#115;&#101;&#114;&#105;&#100;&#61;&#115;&#121;&#115;&#116;&#101;&#109;&#47;&#97;&#114;&#109;&#115;&#64;&#97;&#114;&#109;&#115;">userid=system/arms@arms</a> fromuser=arms touser=armsetl tables=VW_PAY<br />
MNTRESP indexes=n ignore=y file=VW_PAYMNTRESP.dmp filesize=2GB log=VW_PAYMNTRESP<br />
_imp.log</p>
<p>D:\ARMS_EXP&gt;exp <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#117;&#115;&#101;&#114;&#105;&#100;&#61;&#97;&#114;&#109;&#115;&#47;&#97;&#114;&#109;&#115;&#64;&#97;&#114;&#109;&#115;">userid=arms/arms@arms</a> tables=VW_PAYMNTRESP direct=y file=VW_PAYM<br />
NTRESP.dmp filesize=2GB log=VW_PAYMNTRESP.log</p>
<p>/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看消耗CPU的百分比&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
RHORA*ORA-/etc&gt;ps auxgw|sort +2 |tail<br />
oracle&nbsp;&nbsp; 14482&nbsp; 0.0&nbsp; 3.9 303796 20068 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; 17:09&nbsp;&nbsp; 0:01 oracleORA (LOCAL=NO)<br />
oracle&nbsp;&nbsp; 14184&nbsp; 0.0&nbsp; 5.1 303132 26188 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; 11:58&nbsp;&nbsp; 0:01 ora_smon_ORA<br />
oracle&nbsp;&nbsp; 14305&nbsp; 0.0&nbsp; 5.9 303280 30208 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; 15:08&nbsp;&nbsp; 0:04 oracleORA (LOCAL=NO)<br />
oracle&nbsp;&nbsp; 14216&nbsp; 0.0&nbsp; 6.3 305588 32440 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; 12:04&nbsp;&nbsp; 0:10 oracleORA (LOCAL=NO)<br />
oracle&nbsp;&nbsp; 14180&nbsp; 0.1&nbsp; 0.8 308684 4248 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; 11:58&nbsp;&nbsp; 0:29 ora_lgwr_ORA<br />
oracle&nbsp;&nbsp; 14178&nbsp; 0.2&nbsp; 7.5 305536 38748 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; 11:58&nbsp;&nbsp; 0:50 ora_dbw0_ORA<br />
oracle&nbsp;&nbsp; 14512 14.1 11.2 309252 57364 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; 18:05&nbsp;&nbsp; 3:25 oracleORA (LOCAL=NO)<br />
oracle&nbsp;&nbsp; 14289&nbsp; 2.0 12.9 305088 65976 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; 13:51&nbsp;&nbsp; 5:44 oracleORA (LOCAL=NO)<br />
oracle&nbsp;&nbsp; 14226&nbsp; 2.3&nbsp; 3.1 305868 16116 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; 12:09&nbsp;&nbsp; 8:47 oracleORA (LOCAL=NO)<br />
USER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PID %CPU %MEM&nbsp;&nbsp; VSZ&nbsp; RSS TTY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STAT START&nbsp;&nbsp; TIME COMMAND</p>
<p>/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看消耗CPU最长时间的进程&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
RHORA*ORA-/etc&gt;ps -ef |grep oracle|sort +6|tail<br />
sort 按第六排排序....<br />
tail显示输出后的多少行.默认为前10行<br />
/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 更改字符集问题解决详细请见本人BLOG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
select userenv('language') from dual;<br />
SIMPLIFIED CHINESE_CHINA.ZHT16BIG5<br />
SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1<br />
SQL&gt; ALTER DATABASE CHARACTER SET ZHT16BIG5;<br />
ALTER DATABASE CHARACTER SET ZHT16BIG5<br />
*<br />
ERROR at line 1:<br />
ORA-12712: new character set must be a superset of old character set<br />
使用平常的这种方式是不可以更改数据库字符集的.<br />
改了字符集后<br />
SQL&gt; conn / as sysdba;<br />
ERROR:<br />
ORA-12705: invalid or unknown NLS parameter value specified<br />
解决办法:<br />
export NLS_LANG=CHINESE_CHINA.ZHT16BIG5<br />
当服务器客户机无法登录;<br />
/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 表空间文件丢失问题解决&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
SQL&gt; startup<br />
ORACLE instance started.</p>
<p>Total System Global Area&nbsp; 236000356 bytes<br />
Fixed Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 451684 bytes<br />
Variable Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201326592 bytes<br />
Database Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 33554432 bytes<br />
Redo Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 667648 bytes<br />
Database mounted.<br />
ORA-01122: database file 18 failed verification check<br />
ORA-01110: data file 18: '/opt/oracle/product/9.2.0/dbs/LHB.DAT'<br />
ORA-01251: Unknown File Header Version read for file number 18<br />
问题如上所示:没有办法找到LHB.DAT<br />
1.SQL&gt; startup mount<br />
ORACLE instance started.<br />
Total System Global Area&nbsp; 236000356 bytes<br />
Fixed Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 451684 bytes<br />
Variable Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201326592 bytes<br />
Database Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 33554432 bytes<br />
Redo Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 667648 bytes<br />
Database mounted.<br />
SQL&gt; alter database datafile '/opt/oracle/product/9.2.0/dbs/LHB.DAT' offline drop;<br />
Database altered.<br />
SQL&gt; alter database open;<br />
Database altered.<br />
SQL&gt; </p>
<p>/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修改global_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
conn / as sysdba<br />
update props$ set value$ = 'oradb' where name = 'GLOBAL_DB_NAME';<br />
commit;<br />
shutdown immediate<br />
startup <br />
之后再创建dblink即不带域名。</p>
<p><br />
grant connect to arms<br />
/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TO_DATE函数问题解决.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
select OHDUEDATE,to_date(lhb.OHDUEDATE,'dd/mm/yy') from lhb --写错了这样的一个格式,害得我花了半天的时间<br />
最终总结,要看清格式这点很重要:to_date/'dd/月/yy')...这种方式.'dd/mon/yy'这样解决问题;</p>
<p>/*=========================================================================*/<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; */<br />
/*=========================================================================*/<br />
tail -f logfile.log</p>
<p><br />
/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置ORACLE下的ksh命令提示符&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
export PS1="`hostname`*\${ORACLE_SID}-\${PWD}&gt;"</p>
<p>/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 强制在UNIX下关闭ORACLE进程&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
&nbsp;ps -ef |grep "ora_"|grep -v grep|awk '{print $2}' |xargs kill -9<br />
&nbsp;shutdown abort</p>
<p>/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db_block_size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
show parameter db_block_size&nbsp;&nbsp;&nbsp;&nbsp; (高速缓存区(Database Buffer Cache))<br />
每个表空间可以建立不同的DB_BLOCK_SIZE&nbsp;&nbsp;&nbsp;&nbsp; 说明:8k的高速缓存通过DB_8K_CACHE_SIZE<br />
参数来设定的.<br />
share pool 存储数据字典高速缓存<br />
当share pool装满时,最近最少使用的执行路径和分析树将从库高速缓存中删除,以便为新的<br />
项腾出空间.</p>
<p>&nbsp;</p>
<p>/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oracle 9.2.4+linux启动与关闭相关&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
linux+oracle 9.2.4 的启动方法与原来oracle 8.1.7的启动方式有些不同<br />
方式为:<br />
[oracle@RHORA oracle]$ sqlplus /nolog<br />
SQL*Plus: Release 9.2.0.4.0 - Production on Wed Nov 8 17:24:47 2006<br />
Copyright (c) 1982, 2002, Oracle Corporation.&nbsp; All rights reserved.<br />
SQL&gt; conn / as sysdba<br />
Connected.<br />
SQL&gt; startup<br />
关闭就改为shutdown immediate;</p>
<p>LRM-00109: could not open parameter file '/opt/oracle/product/9.2.0/dbs/initORCL.ora'<br />
把initORA.ora拷贝过去就可以使用了.</p>
<p>ORA-01990: error opening password file '/opt/oracle/product/9.2.0/dbs/orapw'<br />
把密码文件拷贝过去就可以启动了.<br />
ORA-27037: unable to obtain file status<br />
Linux Error: 2: No such file or directory<br />
Additional information: 3</p>
<p>/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; utl_file的相关问题&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
查找导出路径:show parameter utl_file_dir&nbsp;&nbsp;&nbsp;&nbsp; -oracle 8i 可以直接更改初始参数文<br />
件而后重新启动数据库就可以保存;<br />
alter system set utl_file_dir='\home\oracle' scope=spfile;&nbsp;&nbsp; 更改9i的版本可以这样更改<br />
注上面只能更改到spfile(也是所说的内存).要更改到pfile 请从pfile------spfile<br />
呵呵.</p>
<p>startup mount;<br />
recover database until cancel;<br />
alter database open resetlogs; <br />
/*=========================================================================*/<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; */<br />
/*=========================================================================*/<br />
SELECT tablespace_name, sum ( blocks ) as free_blk ,&nbsp; <br />
&nbsp; <br />
trunc ( sum ( bytes ) /(1024*1024) ) as free_m,&nbsp; <br />
&nbsp; <br />
max ( bytes ) / (1024) as big_chunk_k, count (*) as num_chunks&nbsp; <br />
&nbsp; <br />
FROM dba_free_space GROUP BY tablespace_name; </p>
<p>/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JOB按时间去执行存储过程&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
DECLARE<br />
&nbsp; X NUMBER;<br />
BEGIN<br />
&nbsp; SYS.DBMS_JOB.SUBMIT<br />
&nbsp;&nbsp;&nbsp; ( job&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&gt; X <br />
&nbsp;&nbsp;&nbsp;&nbsp; ,what&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&gt; 'ARMS1.SP_OUTPUT_COL_CUST_PAY;'<br />
&nbsp;&nbsp;&nbsp;&nbsp; ,next_date =&gt; to_date('26-10-2006 20:09:06','dd/mm/yyyy hh24:mi:ss')<br />
&nbsp;&nbsp;&nbsp;&nbsp; ,interval&nbsp; =&gt; 'TRUNC(LAST_DAY(SYSDATE)) + 1 + 1/24 + 30/1440'<br />
&nbsp;&nbsp;&nbsp;&nbsp; ,no_parse&nbsp; =&gt; TRUE<br />
&nbsp;&nbsp;&nbsp; );<br />
&nbsp; SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));<br />
END;<br />
/<br />
commit;<br />
午夜12点....TRUNC(SYSDATE+1)&nbsp;&nbsp;<br />
第二天凌晨一点整 ...TRUNC(LAST_DAY(SYSDATE)) + 1 + 1/24<br />
如还要在后面加分钟,可以继续</p>
<p>/*=========================================================================*/<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
CREATE OR REPLACE Package PKG_APBT&nbsp; As</p>
<p>&nbsp;&nbsp;&nbsp; type Type_Ret_Curs is ref Cursor;</p>
<p>&nbsp;&nbsp;&nbsp; msg_0 CONSTANT VARCHAR2(100) := '執行成功!';<br />
&nbsp;&nbsp;&nbsp; msg_1 CONSTANT VARCHAR2(100) := '執行失敗!';<br />
&nbsp;&nbsp;&nbsp; msg_2 CONSTANT VARCHAR2(100) := '沒有該紀錄!';<br />
&nbsp;&nbsp;&nbsp; msg_3 CONSTANT VARCHAR2(100) := '主鍵已經存在!';<br />
&nbsp;&nbsp;&nbsp; msg_4 CONSTANT VARCHAR2(100) := '長度太長!';<br />
&nbsp;&nbsp;&nbsp; msg_5 CONSTANT VARCHAR2(100) := '輸入參數不能為空!';<br />
&nbsp;&nbsp;&nbsp; msg_6 CONSTANT VARCHAR2(100) := '沒有數據!';<br />
&nbsp;&nbsp;&nbsp; msg_7 CONSTANT VARCHAR2(100) := '用戶不存在!';<br />
&nbsp;&nbsp;&nbsp; msg_9 CONSTANT VARCHAR2(100) := '輸入參數不正確!';<br />
End;<br />
/</p>
<p>/*=========================================================================*/<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
CREATE TABLE LOGDATA<br />
(<br />
&nbsp; LOG_DATE&nbsp;&nbsp;&nbsp; VARCHAR2(20)&nbsp;&nbsp;&nbsp;&nbsp; DEFAULT to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') NOT NULL,<br />
&nbsp; OPERATOR&nbsp;&nbsp;&nbsp; VARCHAR2(50),<br />
&nbsp; LOG_TYPE&nbsp;&nbsp;&nbsp; CHAR(1),<br />
&nbsp; USER_TABLE&nbsp; VARCHAR2(50),<br />
&nbsp; INFO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(4000),<br />
&nbsp; SYS_TYPE&nbsp;&nbsp;&nbsp; NUMBER(1)&nbsp;&nbsp; DEFAULT 0&nbsp;&nbsp;&nbsp;&nbsp; NOT NULL<br />
)<br />
/*=========================================================================*/<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
我们先看如下的一系列执行：</p>
<p>SQL&gt; create or replace view v_bmw_pay_online_new as<br />
&nbsp; 2&nbsp; select *<br />
&nbsp; 3&nbsp; from <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#97;&#111;&#98;&#97;&#111;&#46;&#98;&#109;&#119;&#95;&#112;&#97;&#121;&#95;&#111;&#110;&#108;&#105;&#110;&#101;&#95;&#110;&#101;&#119;&#64;&#108;&#110;&#107;&#95;&#100;&#98;&#50;&#49;&#53;">taobao.bmw_pay_online_new@lnk_db215</a>;<br />
&nbsp; <br />
SQL&gt; create or replace procedure sp_v_test is<br />
&nbsp; 2&nbsp; v_id number;<br />
&nbsp; 3&nbsp; begin<br />
&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; select id into v_id from v_bmw_pay_online_new where id=1;<br />
&nbsp; 5&nbsp; end;<br />
&nbsp; 6&nbsp; /</p>
<p>Procedure created</p>
<p>SQL&gt; create or replace synonym s_bmw_pay_online_new<br />
&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#97;&#111;&#98;&#97;&#111;&#46;&#98;&#109;&#119;&#95;&#112;&#97;&#121;&#95;&#111;&#110;&#108;&#105;&#110;&#101;&#95;&#110;&#101;&#119;&#64;&#108;&#110;&#107;&#95;&#100;&#98;&#50;&#49;&#53;">taobao.bmw_pay_online_new@lnk_db215</a>;</p>
<p>Synonym created</p>
<p>SQL&gt; create or replace procedure sp_s_test is<br />
&nbsp; 2&nbsp; v_id number;<br />
&nbsp; 3&nbsp; begin<br />
&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; select id into v_id from s_bmw_pay_online_new where id=1;<br />
&nbsp; 5&nbsp; end;<br />
&nbsp; 6&nbsp; /</p>
<p>Warning: Procedure created with compilation errors</p>
<p>SQL&gt; show error<br />
Errors for PROCEDURE TAOBAO.SP_S_TEST:</p>
<p>LINE/COL ERROR<br />
-------- ------------------------------------------------------------------------------------<br />
4/29&nbsp;&nbsp;&nbsp;&nbsp; PL/SQL: ORA-00600: 内部错误代码，参数: [17069], [0x57E77854], [], [], [], [], [], []<br />
4/4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PL/SQL: SQL Statement ignored</p>
<p><br />
可以看到，在同样一个远程对象上面，我可以通过创建视图，然后在该视图上创建存储过程，是没有任何问题的，<br />
但是如果我对该远程操作做一个同义词，再在同义词上创建存储过程，则报出了Ora-00600。跟踪也无果，<br />
看产生的日志文件也不能看出来什么，上metalink，搜索"ora-00600 17069"，发现查出现的东西一大堆，<br />
大致是library cache错误，但是到底怎么会产生这个错误呢，online联系上一个oracle在线技术支持，聊了一会儿，<br />
问题是解决了，但是他就是不承认是bug，呵呵。</p>
<p>以下是聊天的总结：<br />
ORA-00600 [17069] reorted on compiling a procedure.</p>
<p>Invalid lock in library cache.<br />
Unable to pin the object and hence the Error.</p>
<p>&lt;Note:39616.1&gt; "Failed to pin a library cache object after 50 attempts"</p>
<p>Clearing the shared memory will help to get rid of inconsistant information<br />
in memory which is causing the error.</p>
<p>The inconsistency was suspected to be in the remote site. But flushing the <br />
shared pool in remote location didnt help.Tried recreation of the procedure<br />
after dropping and recreating the synonym in the local database. But the <br />
same failed.Flushed the shared pool in local database abd successfully <br />
created the procedure.</p>
<p>alter system flush share_pool;</p>
<p>/*=========================================================================*/<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
create synonym synonym_name for <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#97;&#98;&#108;&#101;&#95;&#110;&#97;&#109;&#101;&#64;&#100;&#98;&#95;&#108;&#105;&#110;&#107;">table_name@db_link</a>;<br />
select * from table_name;</p>
<p>/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 建立DB-LINK连接并使用&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
设置之前请设置alter system set global_names = false<br />
create public database link db_link <br />
connect to user identified by pwd <br />
using 'connect string';<br />
select sysdate from <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#100;&#117;&#97;&#108;&#64;&#100;&#98;&#95;&#108;&#105;&#110;&#107;">dual@db_link</a>;</p>
<p>/*=========================================================================*/<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
insert into test(IMPORT_DATE) values <br />
(to_date('2002-10-20 15:30:00','yyyy-mm-dd hh24:mi:ss'));<br />
insert into test(testtime) values(sysdate);<br />
取得时候可以to_char(sysdate，'yyyy-mm-dd&nbsp;&nbsp; hh24:mi:ss') </p>
<p>/*=========================================================================*/<br />
/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 更改表时记录其变化的TRIGGER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
CREATE OR REPLACE TRIGGER T_APBT_CONTRACT_ALL_AIUDR<br />
after insert or update or delete on APBT_CONTRACT_ALL<br />
for each row&nbsp;&nbsp;&nbsp; <br />
/*无论一条语句改变了多少条记录,ORACLE对于每条记录触发一次触发器*/<br />
/*before和after的区别:事件发生前还是事件发生后*/<br />
begin<br />
&nbsp;&nbsp;&nbsp; if inserting then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert into A_APBT_CONTRACT_ALL(ID,CONTRACT_SERIAL_NUM,flag)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; values (Seq_APBT_ARMS.NEXTVAL,:new.CONTRACT_SERIAL_NUM,1);/* :new*/<br />
&nbsp;&nbsp;&nbsp; elsif updating then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert into A_APBT_CONTRACT_ALL(ID,CONTRACT_SERIAL_NUM,flag)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; values (Seq_APBT_ARMS.NEXTVAL,:old.CONTRACT_SERIAL_NUM,2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*此句存在问题*/<br />
&nbsp;&nbsp;&nbsp; elsif deleting then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert into A_APBT_CONTRACT_ALL(ID,CONTRACT_SERIAL_NUM,flag)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; values (Seq_APBT_ARMS.NEXTVAL,:old.CONTRACT_SERIAL_NUM,3);<br />
&nbsp;&nbsp;&nbsp; end if;<br />
end;<br />
/</p>
<p>/*=========================================================================*/<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; */<br />
/*=========================================================================*/<br />
DML语句( DELETE,INSERT,UPDATE)<br />
DDL语句( CREATE,ALTER,DROP)<br />
数据库操作( SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN)</p>
<p>/*=========================================================================*/<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; 建立sequence序列:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
/*=========================================================================*/<br />
DROP SEQUENCE ARMS.SEQ_APBT_ARMS;<br />
CREATE SEQUENCE ARMS.SEQ_APBT_ARMS<br />
&nbsp; START WITH 30<br />
&nbsp; MAXVALUE 999999999999999999999999999<br />
&nbsp; MINVALUE 1<br />
&nbsp; NOCYCLE<br />
&nbsp; CACHE 20<br />
&nbsp; NOORDER;</p>
</strong></font>
<img src ="http://www.blogjava.net/wansong/aggbug/334242.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-10-11 09:24 <a href="http://www.blogjava.net/wansong/articles/334242.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle  字符节问题</title><link>http://www.blogjava.net/wansong/articles/333962.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Fri, 08 Oct 2010 05:20:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/333962.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/333962.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/333962.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/333962.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/333962.html</trackback:ping><description><![CDATA[<span style="font-size: 10.5pt; font-family: 'Calibri','sans-serif'; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600">&nbsp;<span style="font-size: 10.5pt; font-family: 'Calibri','sans-serif'; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600">&nbsp;<v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><span style="font-size: 10.5pt; font-family: 'Calibri','sans-serif'; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600">&nbsp;<v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><span style="font-size: 10.5pt; font-family: 'Calibri','sans-serif'; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="Picture_x0020_13" style="width: 7.985in; height: 309.75pt" alt="Snap1.bmp" type="#_x0000_t75" o:spid="_x0000_i1025"><v:imagedata o:href="cid:image005.jpg@01CB5BF5.5FC80410" src="file:///C:\DOCUME~1\246788\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.jpg">见邮件</v:imagedata></v:shape></span></span></span><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype></span>
<img src ="http://www.blogjava.net/wansong/aggbug/333962.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-10-08 13:20 <a href="http://www.blogjava.net/wansong/articles/333962.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle  查看安装的字符集</title><link>http://www.blogjava.net/wansong/articles/332758.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Fri, 24 Sep 2010 07:36:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/332758.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/332758.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/332758.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/332758.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/332758.html</trackback:ping><description><![CDATA[<p>HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OracleClient10g_home/NLS_LANG</p>
<img src ="http://www.blogjava.net/wansong/aggbug/332758.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-09-24 15:36 <a href="http://www.blogjava.net/wansong/articles/332758.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle sequence ibatis</title><link>http://www.blogjava.net/wansong/articles/332477.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sun, 19 Sep 2010 13:46:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/332477.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/332477.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/332477.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/332477.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/332477.html</trackback:ping><description><![CDATA[http://www.javaeye.com/topic/215571<br />
&lt;!-- Oracle SEQUENCE --&gt; <br />
&lt;insert id="insertProduct-ORACLE" parameterClass="com.domain.Product"&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;selectKey resultClass="int" keyProperty="id" type="pre"&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;![CDATA[SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL]]&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;/selectKey&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;![CDATA[insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values(#id#,#description#)]]&gt; <br />
&lt;/insert&gt; <br />
<br />
<br />
http://www.dnbcw.com/biancheng/oracle/BVBZ11361.html<br />
<br />
<div>create table example(<br />
id number(4) not null primary key,<br />
name varchar(25),<br />
phone varchar(10),<br />
address varchar(50));</div>
<div>然后，你需要一个自定义的sequence<br />
create sequence emp_sequence<br />
increment by 1 -- 每次加几个<br />
start with 1 -- 从1开始计数<br />
nomaxvalue -- 不设置最大值<br />
nocycle -- 一直累加，不循环<br />
nocache -- 不建缓冲区</div>
<div>以上代码完成了一个序列(sequence)的建立过程,名称为emp_sequence,范围是从1开始到无限大(无限大的程度是由你机器决定的),nocycle 是决定不循环,如果你设置了最大值那么你可以用cycle 会使seq到最大之后循环.对于nocache顺便说一下如果你给出了cache值那么系统将自动读取你的cache值大小个seq</div>
<br />
create or replace trigger "触发器名称" before<br />
insert on example for each row when (new.id is null)<br />
begin<br />
<span style="color: red"><strong>select emp_sequence.nextval into: new.id </strong></span>from dual;<br />
end;<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/wansong/aggbug/332477.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-09-19 21:46 <a href="http://www.blogjava.net/wansong/articles/332477.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle pagination stored procedure.</title><link>http://www.blogjava.net/wansong/articles/331932.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Mon, 13 Sep 2010 13:42:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/331932.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/331932.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/331932.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/331932.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/331932.html</trackback:ping><description><![CDATA[http://zzx0421.javaeye.com/blog/281015<br />
<br />
Oracle 分页：
<p>create or replace procedure P_QuerySplit(</p>
<p>sqlscript varchar2, 表名/SQL语句</p>
<p>pageSize integer, 每页记录数</p>
<p>pageIndex integer, 当前页</p>
<p>totalCount out number, 总记录数</p>
<p>totalPage out number, 总页数</p>
<p>v_cur out sys_refcursor 返回游标</p>
<p>&nbsp;</p>
<pre>
<ol class="dp-xml">
    <li class="alt"><span><span>)&nbsp;is &nbsp;</span></span>
    <li><span>/** &nbsp;</span>
    <li class="alt"><span>*&nbsp;by&nbsp;chenjianxin&nbsp;2008-5-3 &nbsp;</span>
    <li><span>* &nbsp;</span>
    <li class="alt"><span>*/ &nbsp;</span>
    <li><span>v_PageSize&nbsp;number; &nbsp;</span>
    <li class="alt"><span>v_PageIndex&nbsp;number; &nbsp;</span>
    <li><span>v_SQL_Count&nbsp;varchar2(4000); &nbsp;</span>
    <li class="alt"><span>v_SQL&nbsp;varchar2(4000); &nbsp;</span>
    <li><span>v_StartIndex&nbsp;number; &nbsp;</span>
    <li class="alt"><span>v_EndIndex&nbsp;number; &nbsp;</span>
    <li><span>begin &nbsp;</span>
    <li class="alt"><span class="attribute">v_PageSize:</span><span>=</span><span class="attribute-value">pageSize</span><span>; &nbsp;</span>
    <li><span>if&nbsp;</span><span class="attribute">v_PageSize</span><span>=</span><span class="attribute-value">0</span><span>&nbsp;then &nbsp;</span>
    <li class="alt"><span class="attribute">v_PageSize:</span><span>=</span><span class="attribute-value">1</span><span>; &nbsp;</span>
    <li><span>end&nbsp;if; &nbsp;</span></li>
</ol>
</pre>
<p>&nbsp;</p>
<p>ibatis调用Oracle分页存储过程中需要统计记录数量</p>
<p>&nbsp;</p>
<pre>
<ol class="dp-xml">
    <li class="alt"><span><span>v_SQL_Count&nbsp;</span><span class="attribute">:</span><span>=&nbsp;</span><span class="attribute-value">'select&nbsp;count(*)&nbsp;from&nbsp;('</span><span>&nbsp;?&nbsp;?&nbsp;sqlscript&nbsp;?&nbsp;?')&nbsp;a&nbsp;'; &nbsp;</span></span>
    <li><span>execute&nbsp;immediate&nbsp;v_SQL_Count&nbsp;into&nbsp;totalCount; &nbsp;</span></li>
</ol>
</pre>
<p>&nbsp;</p>
<p>计算总页数</p>
<p>&nbsp;</p>
<pre>
<ol class="dp-xml">
    <li class="alt"><span><span class="attribute">totalPage:</span><span>=</span><span class="attribute-value">CEIL</span><span>(totalCount/v_PageSize);&nbsp;</span></span></li>
</ol>
</pre>
<p>验证页号 如果页号大余了最大页数，返回最后一页</p>
<p>&nbsp;</p>
<pre>
<ol class="dp-xml">
    <li class="alt"><span><span class="attribute">v_PageIndex:</span><span>=</span><span class="attribute-value">pageIndex</span><span>; &nbsp;</span></span>
    <li><span>if&nbsp;v_PageIndex</span><span class="tag">&gt;</span><span>totalPage&nbsp;then &nbsp;</span>
    <li class="alt"><span class="attribute">v_PageIndex:</span><span>=</span><span class="attribute-value">totalPage</span><span>; &nbsp;</span>
    <li><span>end&nbsp;if; &nbsp;</span></li>
</ol>
</pre>
<p>&nbsp;</p>
<p>计算开始的Index和结束的Index</p>
<p>&nbsp;</p>
<pre>
<ol class="dp-xml">
    <li class="alt"><span><span class="attribute">v_StartIndex:</span><span>=(v_PageIndex-1)*v_PageSize&nbsp;1; &nbsp;</span></span>
    <li><span class="attribute">v_EndIndex:</span><span>=</span><span class="attribute-value">v_PageIndex</span><span>*v_PageSize; &nbsp;</span>
    <li class="alt"><span class="attribute">v_SQL:</span><span>=</span><span class="attribute-value">'SELECT&nbsp;/*&nbsp;FIRST_ROWS&nbsp;*/*&nbsp;FROM&nbsp;('</span><span>; &nbsp;</span>
    <li><span class="attribute-value">v_SQL</span><span class="attribute">v_SQL:</span><span>=v_SQL&nbsp;?&nbsp;?'&nbsp;SELECT&nbsp;A.*,&nbsp;ROWNUM&nbsp;RN&nbsp;'; &nbsp;</span>
    <li class="alt"><span class="attribute-value">v_SQL</span><span class="attribute">v_SQL:</span><span>=v_SQL&nbsp;?&nbsp;?'&nbsp;FROM&nbsp;('&nbsp;?&nbsp;?sqlscript&nbsp;?&nbsp;?')&nbsp;A&nbsp;'; &nbsp;</span>
    <li><span class="attribute-value">v_SQL</span><span class="attribute">v_SQL:</span><span>=v_SQL&nbsp;?&nbsp;?'&nbsp;WHERE&nbsp;ROWNUM&nbsp;</span><span class="tag">&lt;</span><span>=&nbsp;'&nbsp;?&nbsp;?v_EndIndex; &nbsp;</span>
    <li class="alt"><span class="attribute-value">v_SQL</span><span class="attribute">v_SQL:</span><span>=v_SQL&nbsp;?&nbsp;?')WHERE&nbsp;RN&nbsp;</span><span class="tag">&gt;</span><span>=&nbsp;'&nbsp;?&nbsp;?v_StartIndex; &nbsp;</span>
    <li><span>open&nbsp;v_cur&nbsp;for&nbsp;v_SQL; &nbsp;</span>
    <li class="alt"><span>end&nbsp;P_QuerySplit;&nbsp; &nbsp;</span></li>
</ol>
</pre>
<br />
<br />
<br />
<li><span><span>create&nbsp;or&nbsp;replace&nbsp;procedure&nbsp;PageInation( &nbsp;&nbsp;</span></span></li>
<li><span>p_CURSOR&nbsp;out&nbsp;TESTPACKAGE.Test_CURSOR, &nbsp;&nbsp;</span></li>
<li><span>tableName&nbsp;in&nbsp;varchar2, &nbsp;&nbsp;</span></li>
<li><span>tableResult&nbsp;in&nbsp;varchar2, &nbsp;&nbsp;</span></li>
<li><span>lowerNum&nbsp;in&nbsp;numeric, &nbsp;&nbsp;</span></li>
<li><span>higherNum&nbsp;in&nbsp;numeric &nbsp;&nbsp;</span></li>
<li><span>)&nbsp;is&nbsp; &nbsp;&nbsp;</span></li>
<li><span>sqls&nbsp;varchar2(</span><span class="number">2000</span><span>); &nbsp;&nbsp;</span></span></li>
<li><span>begin &nbsp;&nbsp;</span></li>
<li><span>sqls&nbsp;:=</span><span class="string">'select&nbsp;*&nbsp;from&nbsp;(&nbsp;select&nbsp;rownum&nbsp;rownum_,'</span><span>||tableResult||</span><span class="string">'&nbsp;from&nbsp;('</span><span>||tableName||</span><span class="string">')&nbsp;row_&nbsp;where&nbsp;rownum&nbsp;&lt;='</span><span>&nbsp;||higherNum||</span><span class="string">')&nbsp;where&nbsp;rownum_&nbsp;&gt;'</span><span>||lowerNum;&nbsp; &nbsp;&nbsp;</span></span></li>
<li><span>OPEN&nbsp;p_CURSOR&nbsp;FOR&nbsp;sqls; &nbsp;&nbsp;</span></li>
<li><span>end&nbsp;PageInation;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
<img src ="http://www.blogjava.net/wansong/aggbug/331932.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-09-13 21:42 <a href="http://www.blogjava.net/wansong/articles/331932.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle   exp/imp</title><link>http://www.blogjava.net/wansong/articles/331906.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Mon, 13 Sep 2010 08:25:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/331906.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/331906.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/331906.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/331906.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/331906.html</trackback:ping><description><![CDATA[<p>oracle客户端cmd：<br />
imp InquiryApp/InquiryApp@InquiryApp_10.225.109.178 full=y file=d:/DLY ignore=y<br />
exp InquiryApp/InquiryApp@InquiryApp_10.225.109.178 full=y file=d:\exp.dmp<br />
exp InquiryApp/InquiryApp@InquiryApp_10.225.109.178 tables=(testCreate1) file=d:\expTables.dmp</p>
<p>oracle服务器端cmd：<br />
exp InquiryApp/InquiryApp full=y file=d:\exp.dmp</p>
<img src ="http://www.blogjava.net/wansong/aggbug/331906.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-09-13 16:25 <a href="http://www.blogjava.net/wansong/articles/331906.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle, DB2 及 MySQL 分页查询写法</title><link>http://www.blogjava.net/wansong/articles/331788.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sun, 12 Sep 2010 02:45:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/331788.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/331788.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/331788.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/331788.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/331788.html</trackback:ping><description><![CDATA[http://edu.codepub.com/2009/1224/19018.php
<img src ="http://www.blogjava.net/wansong/aggbug/331788.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-09-12 10:45 <a href="http://www.blogjava.net/wansong/articles/331788.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql 同时返回查询总数及分页数据</title><link>http://www.blogjava.net/wansong/articles/331785.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sun, 12 Sep 2010 02:36:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/331785.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/331785.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/331785.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/331785.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/331785.html</trackback:ping><description><![CDATA[<p>select * from auth_user</p>
<p>SELECT FOUND_ROWS() //返回查询记录的总数</p>
<p>select sql_calc_found_rows col_name from table_name limit 5,3;<br />
select found_rows()<br />
</p>
SELECT语句中加上修饰SQL_CALC_FOUND_ROWS <br />
<br />
加上SQL_CALC_FOUND_ROWS之后，即使你用了limit n,m ，SELECT FOUND_ROWS() 仍会返回满足条件记录的总数。这样，你执行完 select SQL_CALC_FOUND_ROWS 之后，再取一下记录总数就行了。<br />
<img src ="http://www.blogjava.net/wansong/aggbug/331785.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-09-12 10:36 <a href="http://www.blogjava.net/wansong/articles/331785.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>主题：MySQL的经典用法(三)----海量数据统计处理,模拟物化视图</title><link>http://www.blogjava.net/wansong/articles/331762.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sat, 11 Sep 2010 12:16:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/331762.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/331762.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/331762.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/331762.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/331762.html</trackback:ping><description><![CDATA[http://www.javaeye.com/topic/727676
<img src ="http://www.blogjava.net/wansong/aggbug/331762.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-09-11 20:16 <a href="http://www.blogjava.net/wansong/articles/331762.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySQL 用户权限分配 Grant 语法详解</title><link>http://www.blogjava.net/wansong/articles/331732.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sat, 11 Sep 2010 04:35:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/331732.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/331732.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/331732.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/331732.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/331732.html</trackback:ping><description><![CDATA[<span style="color: red">http://www.dgpower.net/index.php/home/showonews/162<br />
<br />
http://dev.firnow.com/course/7_databases/mysql/Mysqljs/20090824/171265.html<br />
<br />
注意： mysql的数据库名称不能有"-"特殊字符；<br />
<p>grant create routine on procedure rbaccms.prc_page_result to root@localhost;<br />
grant alter routine on procedure rbaccms.prc_page_result to root@localhost;<br />
grant execute on procedure rbaccms.prc_page_result to root@localhost;</p>
<p>show grants for root@localhost;</p>
</span><br />
<br />
<br />
<h2 title="MySQL" 用户权限分配 Grant 语法详解>MySQL 用户权限分配 Grant 语法详解</h2>
<div class="times">2010-02-25&nbsp;&nbsp;&nbsp;&nbsp;文章来源：&nbsp;&nbsp;&nbsp;&nbsp;浏览次数：318</div>
<div class="content">
<p>本文实例，运行于 MySQL 5.0 及以上版本。</p>
<p>MySQL 赋予用户权限命令的简单格式可概括为：</p>
<pre>grant 权限 on 数据库对象 to 用户</pre>
<h2>一、grant 普通数据用户，查询、插入、更新、删除 数据库中所有表数据的权利。</h2>
<pre>grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@'%'
grant update on testdb.* to common_user@'%'
grant delete on testdb.* to common_user@'%'</pre>
<p>或者，用一条 MySQL 命令来替代：</p>
<pre>grant select, insert, update, delete on testdb.* to common_user@'%'</pre>
<h2>二、grant 数据库开发人员，创建表、索引、视图、存储过程、函数。。。等权限。</h2>
<p>grant 创建、修改、删除 MySQL 数据表结构权限。</p>
<pre>grant create on testdb.* to developer@'192.168.0.%';
grant alter  on testdb.* to developer@'192.168.0.%';
grant drop   on testdb.* to developer@'192.168.0.%';</pre>
<p>grant 操作 MySQL 外键权限。</p>
<pre>grant references on testdb.* to developer@'192.168.0.%';</pre>
<p>grant 操作 MySQL 临时表权限。</p>
<pre>grant create temporary tables on testdb.* to developer@'192.168.0.%';</pre>
<p>grant 操作 MySQL 索引权限。</p>
<pre>grant index on  testdb.* to developer@'192.168.0.%';</pre>
<p>grant 操作 MySQL 视图、查看视图源代码 权限。</p>
<pre>grant create view on testdb.* to developer@'192.168.0.%';
grant show   view on testdb.* to developer@'192.168.0.%';</pre>
<p>grant 操作 MySQL 存储过程、函数 权限。</p>
<pre>grant create routine on testdb.* to developer@'192.168.0.%';  -- now, can show procedure status
grant alter  routine on testdb.* to developer@'192.168.0.%';  -- now, you can drop a procedure
grant execute        on testdb.* to developer@'192.168.0.%';</pre>
<h2>三、grant 普通 DBA 管理某个 MySQL 数据库的权限。</h2>
<pre>grant all privileges on testdb to dba@'localhost'</pre>
<p>其中，关键字 &#8220;privileges&#8221; 可以省略。</p>
<h2>四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。</h2>
<pre>grant all on *.* to dba@'localhost'</pre>
<h2>五、MySQL grant 权限，分别可以作用在多个层次上。</h2>
<p>1. grant 作用在整个 MySQL 服务器上：</p>
<pre>grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。
grant all    on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库</pre>
<p>2. grant 作用在单个数据库上：</p>
<pre>grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。</pre>
<p>3. grant 作用在单个数据表上：</p>
<pre>grant select, insert, update, delete on testdb.orders to dba@localhost;</pre>
<p>4. grant 作用在表中的列上：</p>
<pre>grant select(id, se, rank) on testdb.apache_log to dba@localhost;</pre>
<p>5. grant 作用在存储过程、函数上：</p>
<pre>grant execute on procedure testdb.pr_add to 'dba'@'localhost'
grant execute on function  testdb.fn_add to 'dba'@'localhost'</pre>
<h2>六、查看 MySQL 用户权限</h2>
<p>查看当前用户（自己）权限：</p>
<pre>show grants;</pre>
<p>查看其他 MySQL 用户权限：</p>
<pre>show grants for dba@localhost;</pre>
<h2>七、撤销已经赋予给 MySQL 用户权限的权限。</h2>
<p>revoke 跟 grant 的语法差不多，只需要把关键字 &#8220;to&#8221; 换成 &#8220;from&#8221; 即可：</p>
<pre>grant  all on *.* to   dba@localhost;
revoke all on *.* from dba@localhost;</pre>
<h2>八、MySQL grant、revoke 用户权限注意事项</h2>
<p>1. grant, revoke 用户权限后，该用户只有重新连接 MySQL 数据库，权限才能生效。</p>
<p>2. 如果想让授权的用户，也可以将这些权限 grant 给其他用户，需要选项 &#8220;grant option&#8220;</p>
<pre>grant select on testdb.* to dba@localhost with grant option;</pre>
<p>这个特性一般用不到。实际中，数据库权限最好由 DBA 来统一管理。</p>
<p><font size="5"><strong>九、应用实例:新建用户并只付给指定数据库操作权限.</strong></font></p>
<p>//下面为创建lamfire用户,远程登录密码为123456,并分配其对lamfireDB数据库完全操作权限</p>
<p style="text-indent: 2em">CREATE USER 'lamfire'@'%' IDENTIFIED BY '123456';</p>
<p style="text-indent: 2em">GRANT USAGE ON * . * TO 'lamfire'@'%' IDENTIFIED BY '123456'&nbsp; ;</p>
<p style="text-indent: 2em">CREATE DATABASE IF NOT EXISTS lamfireDB ;</p>
<p style="text-indent: 2em">GRANT ALL PRIVILEGES ON `lamfireDB` . * TO '<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#97;&#109;&#102;&#105;&#114;&#101;&#64;&#39;&#37;&#39;"><font color="#864f0e">lamfire'@'%'</font></a>;</p>
<p style="text-indent: 2em">&nbsp;FLUSH PRIVILEGES;</p>
</div>
<img src ="http://www.blogjava.net/wansong/aggbug/331732.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-09-11 12:35 <a href="http://www.blogjava.net/wansong/articles/331732.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>优化数据库</title><link>http://www.blogjava.net/wansong/articles/329475.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Fri, 20 Aug 2010 07:45:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/329475.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/329475.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/329475.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/329475.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/329475.html</trackback:ping><description><![CDATA[1. 表的索引。场景：一个大量记录的表，索引name字段，然后根据name查询。2，如果另一个表关联这个表，索引这个的主键，然后做关联查询，是否提高效率，问题：如果这个的主键是long，记录一般做递增，做主键索引是否对性能有所帮助。
 <img src ="http://www.blogjava.net/wansong/aggbug/329475.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-08-20 15:45 <a href="http://www.blogjava.net/wansong/articles/329475.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL重复记录查询</title><link>http://www.blogjava.net/wansong/articles/321630.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sat, 22 May 2010 13:44:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/321630.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/321630.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/321630.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/321630.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/321630.html</trackback:ping><description><![CDATA[select * from rbacUser<br />
where name in (select name&nbsp; from RbacUser&nbsp; group&nbsp; by name&nbsp; having&nbsp; count(name) &gt; 1)<br />
<br />
<br />
select * from rbacUser<br />
where (name,groupId) in (select name,groupId&nbsp; from RbacUser&nbsp; group&nbsp; by name,groupId&nbsp; having&nbsp; count(*) &gt; 1)
<img src ="http://www.blogjava.net/wansong/aggbug/321630.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2010-05-22 21:44 <a href="http://www.blogjava.net/wansong/articles/321630.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>