﻿<?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-我的java天地-随笔分类-DATABASES</title><link>http://www.blogjava.net/toby/category/38408.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 28 Feb 2013 15:43:28 GMT</lastBuildDate><pubDate>Thu, 28 Feb 2013 15:43:28 GMT</pubDate><ttl>60</ttl><item><title>解锁oracle锁住表</title><link>http://www.blogjava.net/toby/archive/2013/02/28/395872.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Thu, 28 Feb 2013 10:37:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2013/02/28/395872.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/395872.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2013/02/28/395872.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/395872.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/395872.html</trackback:ping><description><![CDATA[<div>一、select a.owner,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.object_name,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.subobject_name,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.object_type,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l.session_id,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l.oracle_username,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l.os_user_name,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se.SID,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se.SERIAL#<br />&nbsp; from&nbsp; all_objects a, v$locked_object l,V$session se<br />where a.object_id = l.object_id<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and se.OSUSER = l.os_user_name<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and l.oracle_username = 'RD_USERPROFILE';</div><br /><br /><div>二、alter system kill session 'sid,serial#';--sid及serial#为第一步查出来的数据。</div><img src ="http://www.blogjava.net/toby/aggbug/395872.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2013-02-28 18:37 <a href="http://www.blogjava.net/toby/archive/2013/02/28/395872.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>获取oracle锁信息的工具</title><link>http://www.blogjava.net/toby/archive/2012/08/28/386410.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Tue, 28 Aug 2012 02:34:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2012/08/28/386410.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/386410.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2012/08/28/386410.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/386410.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/386410.html</trackback:ping><description><![CDATA[<span style="color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 22.383333206176758px; ">使用方法：</span><br style="word-wrap: break-word; color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; " /><span style="color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 22.383333206176758px; ">1. 在数据库服务器上使用sys帐户登陆：&nbsp;&nbsp;sqlplus / as sysdba</span><br style="word-wrap: break-word; color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; " /><span style="color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 22.383333206176758px; ">2. 按以下顺序操作：</span><br style="word-wrap: break-word; color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; " /><span href="tag.php?name=SQL" style="word-wrap: break-word; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; ">SQL</span><span style="color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 22.383333206176758px; ">&gt; @get_lock.plb</span><br style="word-wrap: break-word; color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; " /><span style="color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 22.383333206176758px; ">SQL&gt; set serveroutput on</span><br style="word-wrap: break-word; color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; " /><span style="color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 22.383333206176758px; ">SQL&gt; set linesize 132</span><br style="word-wrap: break-word; color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; " /><span style="color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 22.383333206176758px; ">SQL&gt; exec get_locks; &nbsp; &nbsp;<br /><br /></span><span style="color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 22.383333206176758px; ">將以下代碼保存為一個plb文件，如get_</span><span href="tag.php?name=lock" style="word-wrap: break-word; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; ">lock</span><span style="color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 22.383333206176758px; ">.plb&nbsp;<br /></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">create</span>&nbsp;<span style="color: #808080; ">or</span>&nbsp;<span style="color: #FF00FF; ">replace</span>&nbsp;<span style="color: #0000FF; ">procedure</span>&nbsp;get_locks&nbsp;wrapped&nbsp;<br />a000000<br /><span style="color: #800000; font-weight: bold; ">1</span><br />abcd<br />abcd<br />abcd<br />abcd<br />abcd<br />abcd<br />abcd<br />abcd<br />abcd<br />abcd<br />abcd<br />abcd<br />abcd<br />abcd<br />abcd<br /><span style="color: #800000; font-weight: bold; ">7</span><br />b38&nbsp;37c<br />kuShPpEAa9bu4Ofv<span style="color: #808080; ">/</span>cJP6O42BWgwg9dcTCDrfI5Dvp0GIlnA1QE8g<span style="color: #808080; ">/</span>AHDcUJJTBsVvDWkHwI<br />jr3D8CeUWl<span style="color: #808080; ">/</span>GczDiJNN2t9DLUKJ33<span style="color: #808080; ">/</span>AQwBC7rf60vo<span style="color: #808080; ">/</span>9b5ysr3P5gDLkMzru89Ot<span style="color: #808080; ">+</span>91y6I7x<br />mVqISk0XpvoJYT5wJ7tjkWaZv3RINpqvB4L6GlkwOb8giDmJoXT25z4ZFy9jz8fZog5qtAyu<br />NeMkO<span style="color: #808080; ">+</span>57e0JXdtC4P7I2QUFxqSiJrUAtPl3lHD6oxKFdIV8LN0Ja7AqqgnEo7odXlqoxQWFD<br />UCs1e1nVIOEHgM4aFnrP7Vslk<span style="color: #808080; ">+</span>s<span style="color: #808080; ">+</span>X<span style="color: #808080; ">+</span>nRC9iUYK7tFJOq<span style="color: #808080; ">+</span>lxMGLbUvOIY1nxNtem2wc3I<span style="color: #808080; ">/</span>IMI<br />c0KkekfgdBu0<span style="color: #808080; ">+</span>PH64RndAtrzJRRBHj2lua5WitvgPUj8vEG5ZFM41QTVmsGzsYRDK16R53x6<br />OqRDbde7ZXLmeiMHoeoi<span style="color: #808080; ">/</span><span style="color: #800000; font-weight: bold; ">1</span><span style="color: #808080; ">/</span>lYB6rliKLzVIT1qu<span style="color: #808080; ">/</span>XBiMS2VkhaMW6ujJzQ9cMOTaUvOEGKSz<br />ZqJ<span style="color: #808080; ">+</span>E5Fg8PRFpuqD<span style="color: #808080; ">+</span>hic6Ydvjp1c7JF<span style="color: #808080; ">+</span>8jydD5Wc7S20<span style="color: #808080; ">+</span>dpFOx1LGwNcD2c34Fn0VfRapk6x<br /><span style="color: #808080; ">+</span>4MCR1B<span style="color: #808080; ">/</span>MA<span style="color: #808080; ">/</span>RnIN6yCcEwGTKH5AvtqEg<span style="color: #808080; ">++</span>ejdDfnoRqHZfphzqmolluzPDM5ktC2irDobR6c<br />NF8neBFZ<span style="color: #808080; ">+</span>6HoSm6JTnH<span style="color: #808080; ">+</span>CZ2JrDywl8perPzvycjFAsy5<span style="color: #808080; ">/</span>evC7ZXQ<span style="color: #808080; ">+</span>pNJhdTTeqidTZBPi21r<br />xo6u1cZZc59mcrcPky5ckrAigjt4D3qdAqTUgUqxAX9J8gMo8DGvMW<span style="color: #808080; ">/</span>zIynmmPcnhgk1ZPj3<br />b8CBnf3Y6wGwWFn<span style="color: #808080; ">+</span>VchKEHMeYWStRUD1olnHdfAwrwCaQPV<span style="color: #808080; ">+</span>yJLb<span style="color: #808080; ">/</span>SXMaR2<span style="color: #808080; ">+/</span>MecI7RlFDlz<br />Vuq36iT7NZFfNQ<span style="color: #808080; ">==</span><br /><br /><span style="color: #808080; ">/</span></div><img src ="http://www.blogjava.net/toby/aggbug/386410.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2012-08-28 10:34 <a href="http://www.blogjava.net/toby/archive/2012/08/28/386410.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in ...</title><link>http://www.blogjava.net/toby/archive/2012/02/21/370386.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Tue, 21 Feb 2012 02:07:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2012/02/21/370386.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/370386.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2012/02/21/370386.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/370386.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/370386.html</trackback:ping><description><![CDATA[<p>创建function时</p>
<p>出错信息：</p>
<p>ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)</p>
<p>&nbsp;</p>
<p>原因：</p>
<p>这是我们开启了bin-log, 我们就必须指定我们的函数是否是<br />
1 DETERMINISTIC 不确定的<br />
2 NO SQL 没有SQl语句，当然也不会修改数据<br />
3 READS SQL DATA 只是读取数据，当然也不会修改数据<br />
4 MODIFIES SQL DATA 要修改数据<br />
5 CONTAINS SQL 包含了SQL语句<br />
<br />
其中在function里面，只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数。<br />
</p>
<p><br />
在MySQL中创建函数时出现这种错误的解决方法：<br />
set global log_bin_trust_function_creators=TRUE;</p>
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);<img src ="http://www.blogjava.net/toby/aggbug/370386.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2012-02-21 10:07 <a href="http://www.blogjava.net/toby/archive/2012/02/21/370386.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mysql重装start service失败的解决</title><link>http://www.blogjava.net/toby/archive/2012/02/21/370385.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Tue, 21 Feb 2012 01:51:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2012/02/21/370385.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/370385.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2012/02/21/370385.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/370385.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/370385.html</trackback:ping><description><![CDATA[<p>安装mysql.5.1版运行安装包,执行到最后一部时 start sevice,出现了程序无法响应。这主要是因为上次安装的文件没有卸载干净，有些残留文件还得手工清除。</p>
<p>1、进入添加删除程序，找到MySQL选择卸载，选择remove。<br />
2、搜索c盘的mysql目录再删掉。(<strong>这一步一定要做</strong>)<br />
3、进入MySql安装目录,删除目录。<br />
4、进入注册表，regedit。用F3循环搜索mysql并删除之</p>
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);<img src ="http://www.blogjava.net/toby/aggbug/370385.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2012-02-21 09:51 <a href="http://www.blogjava.net/toby/archive/2012/02/21/370385.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>centos5.5安装oracle10g</title><link>http://www.blogjava.net/toby/archive/2011/08/19/356884.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Fri, 19 Aug 2011 09:24:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2011/08/19/356884.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/356884.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2011/08/19/356884.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/356884.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/356884.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&amp;file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&amp;file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&amp;file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&amp;file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<div>安装完成后无法启动问题</div>
<strong>
1.没有etc/oratab文件</strong><br />
解决办法：
[oracle@xiongwei2 db_1]$ pwd
/home/oracle/product/10.2.0/db_1
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[oracle@xiongwei2 db_1]$ sh root.sh
<br />
<br />
<strong>
2.错误：ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
</strong><br />
解决办法：vi dbstart
#ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
export ORACLE_HOME_LISTNER=$ORACLE_HOME
<br />
<br />
<strong>
3.启动dbstart没有反应</strong>
解决办法：vi etc/oratab
GZBOSS:/home/oracle/product/10.2.0/db_1:Y 将N改成Y<br />
<br />
<strong>
4.启动dbstart没有权限</strong> ：将db_1目录改成 chmod -R 777 *<br />
<br />
5.<strong>将/var/tmp目录下</strong>.oracle权限改成777
<br />
<br />
6.<strong>oracle自启动脚本。在etc/init.d目录下创建oracle文件<br />
<div style="font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">#</span><span style="color: #000000; ">!/</span><span style="color: #000000; ">bin</span><span style="color: #000000; ">/</span><span style="color: #000000; ">sh<br />
</span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; ">#chkconfig:&nbsp;</span><span style="color: #000000; ">2345</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">99</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">01</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; ">#description:&nbsp;ORACLE&nbsp;10g&nbsp;Server<br />
</span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; ">ORACLE_HOME</span><span style="color: #000000; ">=/</span><span style="color: #000000; ">home</span><span style="color: #000000; ">/</span><span style="color: #000000; ">oracle</span><span style="color: #000000; ">/</span><span style="color: #000000; ">product</span><span style="color: #000000; ">/</span><span style="color: #000000; ">10.2</span><span style="color: #000000; ">.</span><span style="color: #000000; ">0</span><span style="color: #000000; ">/</span><span style="color: #000000; ">db_1<br />
</span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;[&nbsp;</span><span style="color: #000000; ">!</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">f&nbsp;$ORACLE_HOME</span><span style="color: #000000; ">/</span><span style="color: #000000; ">bin</span><span style="color: #000000; ">/</span><span style="color: #000000; ">dbstart&nbsp;]<br />
</span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; ">then<br />
</span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;echo&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">ORACLE&nbsp;cannot&nbsp;start</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;exit<br />
</span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #000000; ">fi<br />
</span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">case</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$1</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">in</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #000000; "></span><span style="color: #000000; ">'</span><span style="color: #000000; ">start</span><span style="color: #000000; ">'</span><span style="color: #000000; ">)<br />
</span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Starting&nbsp;Oracle&nbsp;Database<img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;su&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">&nbsp;oracle&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">c&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$ORACLE_HOME/bin/dbstart</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;su&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">&nbsp;oracle&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">c&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$ORACLE_HOME/bin/emctl&nbsp;start&nbsp;dbconsole</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
</span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #000000; "></span><span style="color: #000000; ">'</span><span style="color: #000000; ">stop</span><span style="color: #000000; ">'</span><span style="color: #000000; ">)<br />
</span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Stoping&nbsp;Oracle&nbsp;Database</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">33</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">34</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;su&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">&nbsp;oracle&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">c&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$ORACLE_HOME/bin/emctl&nbsp;stop&nbsp;dbconsole</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;su&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">&nbsp;oracle&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">c&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$ORACLE_HOME/bin/dbshut</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
</span><span style="color: #008080; ">39</span>&nbsp;<span style="color: #000000; "></span><span style="color: #000000; ">'</span><span style="color: #000000; ">reload</span><span style="color: #000000; ">'</span><span style="color: #000000; ">|</span><span style="color: #000000; ">'</span><span style="color: #000000; ">restart</span><span style="color: #000000; ">'</span><span style="color: #000000; ">)<br />
</span><span style="color: #008080; ">40</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;stop<br />
</span><span style="color: #008080; ">41</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;start<br />
</span><span style="color: #008080; ">42</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
</span><span style="color: #008080; ">43</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; ">44</span>&nbsp;<span style="color: #000000; "></span><span style="color: #000000; ">*</span><span style="color: #000000; ">)<br />
</span><span style="color: #008080; ">45</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Usage:&nbsp;{start|stop|reload|restart}</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">46</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">47</span>&nbsp;<span style="color: #000000; ">esac<br />
</span><span style="color: #008080; ">48</span>&nbsp;<span style="color: #000000; ">exit&nbsp;</span><span style="color: #000000; ">0<br />
</span></div>
8、查看字符集</strong><br />
select userenv('language') from dual
<br />
<br />
<strong>9.启动相关文件</strong><br />
<div>su - oracle -c lsnrctl start</div>
<div><br />
</div>
<div>su - oracle -c sqlplus /nolog</div>
<div>connect / as sysdba</div>
<div>system</div>
<div>startup</div>
<div>/etc/init.d/oracle start<br />
<br />
<div>export DISPLAY=:0.0&nbsp;</div>
<div>xhost +<br />
<br />
<strong>10.环境变量设置 &nbsp;oracle用户主目录下的.bash_profile文件</strong><br />
<div>PATH=$PATH:$HOME/bin</div>
<div><br />
</div>
<div>export ORACLE_BASE=/home/oracle</div>
<div>export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1</div>
<div>export ORACLE_SID=GZBOSS</div>
<div>export ORACLE_TERM=xterm</div>
<div>export TMP=/tmp</div>
<div>export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH</div>
<div>export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib</div>
<div>export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib</div>
<div><br />
</div>
<div>export PATH</div>
<br />
<strong>11.编辑文件/etc/sysctl.conf &nbsp;配置相关内核参数</strong><br />
kernel.shmmni = 4096</div>
<div>kernel.sem = 250 32000 100 128</div>
<div>fs.file-max = 65536</div>
<div>net.ipv4.ip_local_port_range = 1024 65000</div>
<div>net.core.rmem_default = 262144</div>
<div>net.core.wmem_default = 262144</div>
<div>net.core.rmem_max = 262144</div>
<div>net.core.wmem_max = 262144<br />
<br />
<div><strong>12.欺骗oracle对系统的检查 &nbsp;&nbsp;/etc/redhat-release</strong><br />
<div style="display: inline !important; "><span style="font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">
<div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; ">redhat-4</div>
</span></div>
<br />
<span style="font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">
<div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; ">#CentOS release 5.5 (Final)</div>
</span><br />
<br />
13.<strong>[oracle@localhost database]$ ./runInstaller&nbsp;</strong>
<div>
<div><strong>You do not have sufficient permissions to access the inventory '/oracle/oraInventory'. Installation cannot continue. Make sure that you have read/write permissions to<br />
the inventory directory and restart the installer.: No such file or directory</strong></div>
</div>
<div><br />
错误说没有权限。实际是之前安装未卸载干净<br />
解决办法：find / -name "oraInst.loc" &nbsp; 。将相关文件删掉</div>
<div><br />
<strong>14.<span style="font-size: 12px; ">[oracle@localhost database]$ ./runInstaller&nbsp;</span></strong></div>
<div><span style="font-size: 12px;">Starting Oracle Universal Installer...</span></div>
<div><span style="font-size: 12px;"><br />
</span></div>
<div><span style="font-size: 12px;">Checking installer requirements...</span></div>
<div><span style="font-size: 12px;"><br />
</span></div>
<div><span style="font-size: 12px;">Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2</span></div>
<div><span style="font-size: 12px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Passed</span></div>
<div><span style="font-size: 12px;"><br />
</span></div>
<div><span style="font-size: 12px;"><br />
</span></div>
<div><span style="font-size: 12px;">All installer requirements met.</span></div>
<div><span style="font-size: 12px;"><br />
</span></div>
<div><span style="font-size: 12px;">Preparing to launch Oracle Universal Installer from /tmp/OraInstall2011-09-19_02-21-32PM. Please wait ...[oracle@localhost database]$ Xlib: connection to ":0.0" refused by server</span></div>
<div><span style="font-size: 12px;">Xlib: No protocol specified</span></div>
<div><span style="font-size: 12px;"><br />
</span></div>
<div><span style="font-size: 12px;">Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.</span></div>
<div style="color: black; font-family: Tahoma; font-size: 11px; "><span style="font-size: 14pt; ">解决办法：[root@localhost database]# who</span>
<div><span style="font-size: 14pt; ">root &nbsp; &nbsp; pts/8 &nbsp; &nbsp; &nbsp; &nbsp;2011-09-19 11:57 (192.168.0.32)</span></div>
<div><span style="font-size: 14pt; ">root &nbsp; &nbsp; pts/3 &nbsp; &nbsp; &nbsp; &nbsp;2011-09-19 14:11 (:2.0)</span></div>
<div><span style="font-size: 14pt; ">root &nbsp; &nbsp; pts/4 &nbsp; &nbsp; &nbsp; &nbsp;2011-09-19 14:14 (:2.0)</span></div>
<div><span style="font-size: 14pt; ">[root@localhost database]# export DISPLAY=192.168.0.32</span></div>
<div><span style="font-size: 14pt; ">[root@localhost database]# xhost +</span></div>
<div><span style="font-size: 14pt; ">xhost: &nbsp;unable to open display "192.168.0.32"</span></div>
<div><span style="font-size: 14pt; ">[root@localhost database]# who</span></div>
<div><span style="font-size: 14pt; ">root &nbsp; &nbsp; pts/8 &nbsp; &nbsp; &nbsp; &nbsp;2011-09-19 11:57 (192.168.0.32)</span></div>
<div><span style="font-size: 14pt; ">root &nbsp; &nbsp; pts/3 &nbsp; &nbsp; &nbsp; &nbsp;2011-09-19 14:11 (:2.0)</span></div>
<div><span style="font-size: 14pt; ">root &nbsp; &nbsp; pts/4 &nbsp; &nbsp; &nbsp; &nbsp;2011-09-19 14:14 (:2.0)</span></div>
<div><span style="font-size: 14pt; ">[root@localhost database]# export DISPLAY=:2.0 &nbsp; &nbsp; &nbsp; &nbsp;</span></div>
<div><span style="font-size: 14pt; ">[root@localhost database]# xhost +</span></div>
<div><span style="font-size: 14pt; ">access control disabled, clients can connect from any host<br />
<br />
15.查看server端字符集：select userenv('language') from dual;<br />
16.dbca时报ora-12546;TNS:permission denied<br />
解决办法。第一次建库时的文件全部删除，并将oracle目录权限改成777.重建的数据库文件不能和第一次文件相同</span></div>
<div></div>
</div>
</div>
</div>
</div><img src ="http://www.blogjava.net/toby/aggbug/356884.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2011-08-19 17:24 <a href="http://www.blogjava.net/toby/archive/2011/08/19/356884.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql使用记录</title><link>http://www.blogjava.net/toby/archive/2010/11/11/337782.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Thu, 11 Nov 2010 02:49:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2010/11/11/337782.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/337782.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2010/11/11/337782.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/337782.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/337782.html</trackback:ping><description><![CDATA[
		<p>
				<strong>一、日期处理函数<br /></strong>DATE_FORMAT(date,format)  <br />根据format字符串格式化date值。下列修饰符可以被用在format字符串中： %M 月名字(January……December)  <br />%W 星期名字(Sunday……Saturday)  <br />%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。）  <br />%Y 年, 数字, 4 位  <br />%y 年, 数字, 2 位  <br />%a 缩写的星期名字(Sun……Sat)  <br />%d 月份中的天数, 数字(00……31)  <br />%e 月份中的天数, 数字(0……31)  <br />%m 月, 数字(01……12)  <br />%c 月, 数字(1……12)  <br />%b 缩写的月份名字(Jan……Dec)  <br />%j 一年中的天数(001……366)  <br />%H 小时(00……23)  <br />%k 小时(0……23)  <br />%h 小时(01……12)  <br />%I 小时(01……12)  <br />%l 小时(1……12)  <br />%i 分钟, 数字(00……59)  <br />%r 时间,12 小时(hh:mm:ss [AP]M)  <br />%T 时间,24 小时(hh:mm:ss)  <br />%S 秒(00……59)  <br />%s 秒(00……59)  <br />%p AM或PM  <br />%w 一个星期中的天数(0=Sunday ……6=Saturday ）  <br />%U 星期(0……52), 这里星期天是星期的第一天  <br />%u 星期(0……52), 这里星期一是星期的第一天  <br />%% 一个文字“%”。  <br />所有的其他字符不做解释被复制到结果中。  <br />mysql&gt; select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');  <br />-&gt; 'Saturday October 1997'  <br />mysql&gt; select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');  <br />-&gt; '22:23:00'  <br />mysql&gt; select DATE_FORMAT('1997-10-04 22:23:00',  <br />'%D %y %a %d %m %b %j');  <br />-&gt; '4th 97 Sat 04 10 Oct 277'  <br />mysql&gt; select DATE_FORMAT('1997-10-04 22:23:00',  <br />'%H %k %I %r %T %S %w');  <br />-&gt; '22 22 10 10:23:00 PM 22:23:00 00 6'  <br />MySQL3.23中，在格式修饰符字符前需要%。在MySQL更早的版本中，%是可选的。  <br />TIME_FORMAT(time,format)  <br />这象上面的DATE_FORMAT()函数一样使用，但是format字符串只能包含处理小时、分钟和秒的那些格式修饰符。 <br />其他修饰符产生一个NULL值或0。  <br />CURDATE()  <br />　  <br />CURRENT_DATE  <br />以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值，取决于函数是在一个字符串还是数字上下文被使用。  <br />mysql&gt; select CURDATE();  <br />-&gt; '1997-12-15'  <br /><br /><strong>二、时间比较<br /></strong>sendtime &gt; '2010-11-01 00:00:00'  and  sendtime &lt; '2010-11-05 00:00:00'<br /><br /><strong>三、字符截取<br /></strong>select *  from sendrecord where substring(mobile,1,3) = '158'<br /><br />四、<strong>正则表达式匹配字串查询<br /></strong>select count(*) from sendrecord t1 where (SELECT mobile REGEXP '^1((3[4-9])|(5[012789])|(8[78]))([0-9]{8})$') = 1<br />正则表达式正确为1.匹配失败为0<br /><br />五、<strong>mysql中的也有case when语法<br /></strong>select a.carrier,count(a.carrier) from (<br />select mobile,case <br />when (SELECT mobile REGEXP '^1((3[4-9])|(5[012789])|(8[78]))([0-9]{8})$') = 1 then 'Mobile' <br />when (SELECT mobile REGEXP '^1((3[0-2])|(5[56])|(8[56]))([0-9]{8})$') = 1 then 'Unicom' <br />when (SELECT mobile REGEXP '^(1((3[3])|(5[3])|(8[09]))([0-9]{8}))|(0[0-9]{9,11})$') = 1 then 'Telecom' <br />else 'oher' end as carrier<br />from sendrecord201009 ) as a group by a.carrier<br /><br />六、<strong>linix下安装mysql文件下载地址<br /></strong><a href="http://dev.mysql.com/downloads/mirror.php?id=397238">http://dev.mysql.com/downloads/mirror.php?id=397238</a><br /><br />七、<strong>linix下启动mysql出现ended。说明启动未能成功，解决办法如下<br /></strong>vi /etc/my.conf<br />看看[mysqld]下有没有<br />port  = 3306<br />添加上就可以了<br />touch /tmp/mysql.sock<br />killall -9 mysqld<br />/usr/local/mysql/bin/mysqld_safe -user=mysql &amp;<br />成功启动<br /><br />八、<strong>查找mysql目录所在<br /></strong>whereis mysql<br /><br />九、<strong>在linix下运行不了mysql是因为环境变量未设置造成的，解决办法如下：<br /></strong>在/etc/profile中添加：<br />export PATH=$PATH:/usr/local/MySQL/bin就OK<br />其他的变量都类似了 关键是明白各个配置文件在系统中的原理<br />设置完成后，别忘了source一下。使环境变量生效<br /><br />最后设置变量到用户下面的.bash_profile来作修改，修改完后source下使环境变量生效<br /><br />十、<strong>用shell脚本执行连接mysql时<br /></strong>mysql -u root -p yyy  这样写的话，会老是叫你输入密码的<br />其实在运行此命令时可以这样写<br />mysql -uroot -pyyy 这样机器也是可以识别的<br /><br />十一.<strong>以下提供一段shell脚本连接mysql<br /></strong>#!/bin/bash<br />beginTime="`date -d \"-1 month\" \"+%Y-%m\"`"'-01 00:00:00'<br />echo 'beginTime:     '$beginTime</p>
		<p>endTime=`date '+%Y-%m'`'-01 00:00:00'<br />echo 'endTime:  '$endTime</p>
		<p>sufTable="`date -d \"-1 month\" \"+%Y%m\"`"<br />echo 'sufTable:   '$sufTable</p>
		<p>mysql -uxuanwu -p123456 &lt;&lt;EOF   <br />use xuanwu; </p>
		<p>create table sendrecord$sufTable as select * from sendrecord where sendtime &gt; "\"$beginTime\"" and sendtime &lt; "\"$endTime\"";<br />#echo "create table sendrecord$sufTable as select * from sendrecord where sendtime &gt; \"$beginTime\" and sendtime &lt; \"$endTime\"";</p>
		<p>#echo 'delete from sendrecord where sendtime &gt; $beginTime and sendtime &lt; $endTime;'</p>
		<p>commit;<br /><br />十二、<strong>shell脚本调用mysql脚本<br /></strong>#!/bin/bash<br />mysql -uxuanwu -p123456 &lt;&lt;EOF<br />use xuanwu;<br />source ./create.sql<br /><br />十三、<strong>mysql脚本执行多个sql语句<br /></strong>#建表转移数据<br />SET @TableName=CONCAT('sendrecord',DATE_FORMAT(DATE_SUB(CURDATE() ,INTERVAL 1 month),'%Y%m')); <br />SET @BeginTime=DATE_SUB(DATE_SUB(CURDATE(), INTERVAL DAYOFMONTH(CURDATE())-1 day),INTERVAL 1 month); <br />SET @EndTime=DATE_SUB(CURDATE(), INTERVAL DAYOFMONTH(CURDATE())-1 day); <br />SET @CreateSqlStr=CONCAT("CREATE TABLE `",@TableName,"` AS SELECT * FROM sendrecord WHERE sendtime &gt; '",cast(@BeginTime as char)," 00:00:00' and sendtime &lt; '",cast(@EndTime as char)," 00:00:00'"); <br />SELECT @CreateSqlStr; <br />PREPARE CR FROM @CreateSqlStr; <br />EXECUTE CR;</p>
		<p>#删除数据<br />SET @DeleteSqlStr=CONCAT("DELETE FROM sendrecord WHERE sendtime &gt; '",cast(@BeginTime as char)," 00:00:00' and sendtime &lt; '",cast(@EndTime as char)," 00:00:00'"); <br />SELECT @DeleteSqlStr; <br />PREPARE DE FROM @DeleteSqlStr; <br />EXECUTE DE;</p>
		<p>#提交数据<br />SET @CommitSqlStr=CONCAT("COMMIT"); <br />SELECT @CommitSqlStr; <br />PREPARE CO FROM @CommitSqlStr; <br />EXECUTE CO;<br /><br />十四、<strong>mysql安装步骤记录</strong></p>
		<p>
				<font size="4"># tar -zvxf mysql-max-5.1.30-linux-i686-glibc23.tar.gz<br /># mv -r mysql-max-5.1.30-linux-i686-glibc23 /usr/local/mysql<br /># cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf</font>
		</p>
		<p>
				<font size="4">添加mysql用户及用户组<br /># groupadd mysql<br /># useradd -g mysql mysql<br />修改mysql目录权限<br /># chown -R root /usr/local/mysql<br /># chgrp -R mysql /usr/local/mysql<br /># chown -R mysql /usr/local/mysql/data</font>
		</p>
		<p>
				<font size="4">以下如果mysql不在本机可以不操作。<br />生成mysql系统数据库<br /># ./scripts/mysql_install_db --user=mysql&amp;<br />启动mysql服务<br /># /usr/local/mysql/bin/mysqld_safe --user=mysql&amp;<br />如出现 Starting mysqld daemon with databases from /usr/local/mysql/data<br />代表正常启动mysql服务了, 按Ctrl + C 跳出<br />修改 mysql 的 root 密码<br /># /usr/local/mysql/bin/mysqladmin -u root password 123456</font>
		</p>
		<p>
				<br />十五、<strong>ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server <br /></strong>解决方法： <br />1。 改表法。可能是你的帐号不允许从远程登陆，只能在localhost。这个时候只要在localhost的那台电脑，登入mysql后，更改 "mysql" 数据库里的 "user" 表里的 "host" 项，从"localhost"改称"%" <br /><br />mysql -u root -pvmwaremysql&gt;use mysql;mysql&gt;update user set host = '%' where user = 'root';mysql&gt;select host, user from user; <br /><br />2. 授权法。例如，你想myuser使用mypassword从任何主机连接到mysql服务器的话。 <br /><br />GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; <br />如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器，并使用mypassword作为密码 <br />GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; <br /><br />本人觉得授权法比较好用.<br /><br />十六、<strong>ERROR 1045 (28000): Access denied for user (using password: YES)</strong><br /># /etc/init.d/mysql stop<br /># mysqld_safe --user=mysql --skip-grant-tables --skip-networking &amp;<br /># mysql -u root mysql<br />mysql&gt; UPDATE user SET Password=PASSWORD('newpassword') where USER='root';<br />mysql&gt; FLUSH PRIVILEGES;<br />mysql&gt; quit<br /><br /># /etc/init.d/mysqld restart<br /># mysql -uroot -p<br />Enter password:<br /><br />mysql&gt;<br /><br />十七、<strong>mysql从本机登录,不用用户名密码可以直接登陆?如何禁止?</strong></p>
		<div class="t_msgfontfix">
				<table cellpadding="0" cellspacing="0">
						<tbody>
								<tr>
										<td class="t_msgfont" id="postmessage_2878006">解决办法：我刚才查看了一下配置文件，发现/etc/my.cnf里面的配置<br /># The following options will be passed to all MySQL clients<br />[client]<br />#password        = your_password<br />port            = 3306<br />socket          = /tmp/mysql.sock<br /><br />我把password前面的那个注释去掉，重启，OK，成功。。。。<br /><br />十八.<b>yum 安装 mysql
            </b><div id="appShareOpt"></div><p></p><p>1、[root@sample ~]# yum -y install mysql-server　 ← 安装MySQL<br />
.....略<br />
Installed: mysql-server.i386 0:4.1.20-1.RHEL4.1<br />
Dependency Installed: mysql.i386 0:4.1.20-1.RHEL4.1 perl-DBD-MySQL.i386  0:2.9004-3.1 perl-DBI.i386 0:1.40-8<br />
Complete!</p><p>2、配置<br />
[root@sample ~]# vi /etc/my.cnf　 ← 编辑MySQL的配置文件</p><p>[mysqld]<br />
datadir=/var/lib/mysql<br />
socket=/var/lib/mysql/mysql.sock<br />
# Default to using old password format for compatibility with mysql 3.x<br />
# clients (those using the mysqlclient10 compatibility package).<br />
old_passwords=1　 ← 找到这一行，在这一行的下面添加新的规则，让MySQL的默认编码为UTF-8<br />
default-character-set = gbk　 ← 添加这一行<br />
然后在配置文件的文尾填加如下语句：</p><p>[mysql]<br />
default-character-set = gbk</p><p>3、启动MySQL服务</p><p>[root@sample ~]# chkconfig mysqld on　 ← 设置MySQL服务随系统启动自启动</p><p>[root@sample ~]# chkconfig --list mysqld　 ← 确认MySQL自启动<br />
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off　 ← 如果2--5为on的状态就OK</p><p>[root@sample ~]# /etc/rc.d/init.d/mysqld start　 ← 启动MySQL服务</p><p>启动mysql                                               [确定]</p><p>备注：如果这一部执行失败有可能是/var/lib/mysql 没有数据库文件，会报【 Fatal error: Can't open
and lock privilege tables: Table 'mysql.host' doesn't
exist】，这是需要执行mysql_install_db命令就OK了。</p><p>4、MySQL的root用户设置密码<br />
MySQL在刚刚被安装的时候，它的root用户是没有被设置密码的。首先来设置MySQL的root密码。</p><p>[root@sample ~]# mysql -u root　 ← 用root用户登录MySQL服务器<br />
mysql&gt; select user,host,password from mysql.user;　 ← 查看用户信息<br />
mysql&gt;set password for root@localhost=password('在这里填入root密码');　 ←  设置root密码<br />
mysql&gt;set password for root@域名=password('在这里填入root密码');<br />
mysql&gt; delete from mysql.user where user='';　 ← 删除匿名用户<br />
mysql&gt; exit　 ← 退出MySQL服务器【测试设置的密码是否正确】</p><br /></td>
								</tr>
						</tbody>
				</table>
		</div>
<img src ="http://www.blogjava.net/toby/aggbug/337782.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2010-11-11 10:49 <a href="http://www.blogjava.net/toby/archive/2010/11/11/337782.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle启动步聚记录与问题解决</title><link>http://www.blogjava.net/toby/archive/2010/10/15/335245.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Fri, 15 Oct 2010 08:39:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2010/10/15/335245.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/335245.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2010/10/15/335245.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/335245.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/335245.html</trackback:ping><description><![CDATA[
		<p>oracle数据库是重量级的，其管理非常复杂，将其在linux平台上的启动和关闭步骤整理一下。 <br /><br />安装完毕oracle以后，需要创建oracle系统用户，并在/home/oracle下面的.bash_profile添加几个环境变量：ORACLE_SID,ORACLE_BASE,ORACLE_HOME。比如： <br /><br />export ORACLE_SID=test export ORACLE_BASE=oracle_install_dir export ORACLE_HOME=xxx <br /><br />启动步骤：注意$代表shell命令提示符，这里的oracle是9.0以上版本。 <br /><br />注意：如果su到oracle用户后，无法执行这些命令，可以切换到root用户。在命令前加上su - oracle -c。另外如果运行lsnrctl start报出 <br />The listener supports no services<br />The command completed successfully<br />这个情况是正常的，开始以为是错误的，弄了好久时间。<br />监听分动态监听和静态监听两种。动态监听的话listener文件和ora文件是不需要有的<br /><br />$ su - oracle <br />$ sqlplus /nolog <br />sql&gt; conn / as sysdba <br />sql&gt; startup (一般不需要加参数，只要设置好环境变量） <br />sql&gt; quit (退出sql模式) <br />$ lsnrctl start (启动监听器）关闭oracle <br />$ lsnrctl stop(关闭监听器，在这之前，应该先关闭应用程序） <br />$ sqlplus /nolog <br />sql&gt;shutdown 其参数 ：shutdown有四个参数，四个参数的含义如下： <br />Normal 需要等待所有的用户断开连接 <br />Immediate 等待用户完成当前的语句 <br />Transactional 等待用户完成当前的事务 <br />Abort 不做任何等待，直接关闭数据库 <br />normal需要在所有连接用户断开后才执行关闭数据库任务，所以有的时候看起来好象命令没有运行一样！在执行这个命令后不允许新的连接 <br />immediate在用户执行完正在执行的语句后就断开用户连接，并不允许新用户连接。 <br />transactional 在拥护执行完当前事物后断开连接，并不允许新的用户连接数据库。 <br />abort 执行强行断开连接并直接关闭数据库。 <br />前三种方式不回丢失用户数据。第四种在不的已的情况下，不建议采用！ <br />经常遇到的问题： <br /><br />1）权限问题，解决方法，切换到oracle用户； <br /><br />2）没有关闭监听器 ，解决方法：关闭监听器 <br /><br />3）有oracle实例没有关闭，解决办法：关闭oracle实例 <br /><br />4）环境变量设置不全，解决办法：修改环境变量 <br /><br /><br />Oracle数据库的启动和关闭方式小结 <br /><br />Oracle数据库的启动和关闭方式 <br /><br />一、几种启动方式： <br /><br />1、startup nomount <br />非安装启动，这种方式启动下可执行：重建控制文件、重建数据库 <br />启动instance，即启动SGA和后台进程，这种启动只需要init.ora文件。 <br />2、startup mount dbname <br />安装启动，这种方式启动下可执行：数据库日志归档、数据库恢复、重新命名一些数据库文件 <br />如：系统表空间或日志文件。 <br />执行“nomount”，然后打开控制文件 <br />3、startup open dbname <br />先执行“nomount”，然后执行“mount”，再打开包括Redo log文件在内的所有数据库文件， <br />这种方式下可访问数据库中的数据。 <br />4、startup，等于以下三个命令 <br />startup nomount <br />alter database mount <br />alter database open <br />5、startup restrict <br />约束方式启动 <br />这种方式能够启动数据库，但只允许具有一定特权的用户访问 <br />非特权用户访问时，会出现以下提示： <br />ERROR： <br />ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用 <br />6、startup force <br />强制启动方式 <br />当不能关闭数据库时，可以用startup force来完成数据库的关闭 <br />先关闭数据库，再执行正常启动数据库命令 <br />7、startup pfile=参数文件名 <br />带初始化参数文件的启动方式 <br />先读取参数文件，再按参数文件中的设置启动数据库 <br />例：startup pfile=E:\Oracle\admin\oradb\pfile\init.ora <br />8、startup EXCLUSIVE <br /><br />二、几种关闭方式： <br /><br />1、shutdown normal <br />正常方式关闭数据库。 <br />2、shutdown immediate <br />立即方式关闭数据库。 <br />在SVRMGRL中执行shutdown immediate，数据库并不立即关闭， <br />而是在Oracle执行某些清除工作后才关闭（终止会话、释放会话资源）， <br />当使用shutdown不能关闭数据库时，shutdown immediate可以完成数据库关闭的操作。 <br />3、shutdown abort <br />直接关闭数据库，正在访问数据库的会话会被突然终止， <br />如果数据库中有大量操作正在执行，这时执行shutdown abort后，重新启动数据库需要很长时间 <br /><br /></p>
<img src ="http://www.blogjava.net/toby/aggbug/335245.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2010-10-15 16:39 <a href="http://www.blogjava.net/toby/archive/2010/10/15/335245.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库的acid特性</title><link>http://www.blogjava.net/toby/archive/2010/08/20/329441.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Fri, 20 Aug 2010 03:22:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2010/08/20/329441.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/329441.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2010/08/20/329441.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/329441.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/329441.html</trackback:ping><description><![CDATA[对软件开发人员来说，数据库也有这么贵重。如果使用数据库的话，需要确保它安全存储数据并允许您将来检索数据。您还希望数据库允许多个程序使用数据库而不会相互干扰。为了演示，假设您拥有一个银行。银行的数据库必须具备下列功能： <br /><br />　　● 安全存储合适的数据 <br />　　●快速检索合适的数据 <br />　　●支持多个并行的用户会话 <br /><br />　　这些任务可以合称为 ACID 测试；ACID 是 Atomicity（原子性）、Consistency（一致性）、Isolation（隔离性）和 Durability（持久性）的缩略词。 <br /><br />　　<strong>原子性</strong> 指数据库操作可以组合到一起，当作单个单元处理。 <br /><br />　　<strong>一致性</strong> 保证此单个单元（或事务）中的所有操作要么都成功执行，要么都不执行。换句话说，数据库不能处于未完成状态。要了解这些特征为何如此重要，可考虑这样一个银行事务：即钱从储蓄帐户转到支票帐户。如果在将钱从储蓄帐户减去之后、加到支票帐户之前，转帐处理失败，那么您就会变穷，而银行将会有一个愤怒的（前）客户！原子性使得这两个操作 —— 从储蓄帐户减钱和向支票帐户加钱 —— 被当作单个事务进行处理。一致性保证事务中的这两个操作同时成功或同时失败。这样，您的钱就不会丢失了。 <br /><br />　　<strong>隔离性</strong> 指独立的数据库事务集合以不相互冲突的方式执行。仍使用这个银行类比，考虑两个客户同时在帐户之间转移资金。数据库必须分别跟踪两个转帐；否则，资金可能进入错误的帐户，而银行可能得多两个愤怒的（前）客户。 <br /><br />　　<strong>持久性</strong> 保证数据库是安全的，不会异常终止。当电源断电时，如果电视或计算机不工作，这可能是小麻烦，但同样的事情对于数据库来说就不一样了。如果银行计算机在转移资金时掉电，导致交易丢失，您就不会是个快乐的客户了。持久性保证如果数据库在资金转移期间异常终止，则当数据库重新启动时，它将能够恢复交易并继续正常的操作。 
<script type="text/javascript"><!--
google_ad_client = "pub-1076724771190722";
/* JE个人博客468x60 */
google_ad_slot = "5506163105";
google_ad_width = 468;
google_ad_height = 60;
//--></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script><script src="http://pagead2.googlesyndication.com/pagead/expansion_embed.js"></script><script src="http://googleads.g.doubleclick.net/pagead/test_domain.js"></script><script src="http://pagead2.googlesyndication.com/pagead/render_ads.js"></script><script><![CDATA[oogle_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);]]&gt;</script><img src ="http://www.blogjava.net/toby/aggbug/329441.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2010-08-20 11:22 <a href="http://www.blogjava.net/toby/archive/2010/08/20/329441.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cmd屏幕改变方法和解决mysql忘记用户名密码步聚备份</title><link>http://www.blogjava.net/toby/archive/2010/08/05/328060.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Thu, 05 Aug 2010 09:29:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2010/08/05/328060.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/328060.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2010/08/05/328060.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/328060.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/328060.html</trackback:ping><description><![CDATA[
		<p>一.改变dos窗口大小<br />窗口状态栏查看默认大小后，再将属性中的大小改成和默认大小一样就行了<br /><br />二.mysql忘记密码处理方法<br />         MySQL(root用户)密码忘记重置<br /><br />1、首先停止正在运行的MySQL进程<br /><br />Linux下,运行 killall -TERM mysqld<br />Windows下，如果写成服务的 可以运行：net stop mysql,如未加载为服务，可直接在进程管理器中进行关闭。<br /><br />2、以安全模式启动MySQL<br /><br />Linux下，运行 /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &amp;<br />Windows下，在命令行下运行 X:/MySQL/bin/mysqld-nt.exe --skip-grant-tables<br /><br />3、完成以后就可以不用密码进入MySQL了<br /><br />Linux下，运行 /usr/local/mysql/bin/mysql -u root -p 进入<br />Windows下，运行 X:/MySQL/bin/mysql -u root -p 进入<br /><br />4、更改密码<br /><br />&gt;use mysql<br />&gt;update user set password=password("新密码") where user="root";<br />&gt;flush privileges;<br /><br />注：如是4.1以上版本则使用old_password()函数进行密码更改。 <br /><br />三.如果密码还是不能重置，就重新下载mysql再安装。下面是提供命令<br />$ftp ftp.cn.freebsd.org<br />$cd pub/FreeBSD/distfiles<br />$ls mysql*<br />$get mysql-5.0.18.tar.gz<br />$bye</p>
		<p>$tar -zxvf mysql-5.0.18.tar.gz<br />用命令get的文件默认放在  C:\Documents and Settings\当前用户名目录下<br /><br />四.以下是提供方法四。直接从<a href="http://www.mysql.cn/">http://www.mysql.cn/</a>这个网站下载<br />五.MYSQL客户端工具下载地址  <a href="http://www.navicat.net.cn/navicat2010/download.html">http://www.navicat.net.cn/navicat2010/download.html</a><br /></p>
<img src ="http://www.blogjava.net/toby/aggbug/328060.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2010-08-05 17:29 <a href="http://www.blogjava.net/toby/archive/2010/08/05/328060.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>面试还要笔试</title><link>http://www.blogjava.net/toby/archive/2010/06/29/324778.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Tue, 29 Jun 2010 06:52:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2010/06/29/324778.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/324778.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2010/06/29/324778.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/324778.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/324778.html</trackback:ping><description><![CDATA[1.sql笔试题 表名a_mianshi<br />张三 语文 40<br />张三 数学 80<br />张三 物理 90<br />李四 语文 59<br />李四 数学 60<br />李四 物理 78<br /><br />将上面表数据变成<br /><br />李四 59 60 78<br />张三 40 80 90<br />以下是sql实现<br />select c.name,sum(语文),sum(数学),sum(物理) from (<br />select<br />(case when a.subject = '语文' then max(a.fen) else 0 end) 语文,<br />(case when a.subject = '数学' then max(a.fen) else 0 end) 数学,<br />(case when a.subject = '物理' then max(a.fen) else 0 end)  物理,<br /> name from a_mianshi a group by name,subject) c<br /> group by name<br /><br /><br /><img src ="http://www.blogjava.net/toby/aggbug/324778.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2010-06-29 14:52 <a href="http://www.blogjava.net/toby/archive/2010/06/29/324778.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>attempt to create,alter or drop an index on temporary table already in use的解决办法</title><link>http://www.blogjava.net/toby/archive/2010/03/15/315491.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Mon, 15 Mar 2010 08:23:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2010/03/15/315491.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/315491.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2010/03/15/315491.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/315491.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/315491.html</trackback:ping><description><![CDATA[是因为锁表，造成的。先杀掉会话中的进程或者是提交这个表相关事务即可！<img src ="http://www.blogjava.net/toby/aggbug/315491.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2010-03-15 16:23 <a href="http://www.blogjava.net/toby/archive/2010/03/15/315491.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle删除重复记录</title><link>http://www.blogjava.net/toby/archive/2010/03/10/315052.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Wed, 10 Mar 2010 06:43:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2010/03/10/315052.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/315052.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2010/03/10/315052.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/315052.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/315052.html</trackback:ping><description><![CDATA[
		<div class="blog_content">1.Oracle删除重复记录. <br />删除表中多余的重复记录，重复记录是根据单个字段（peopleId）来判断，只留有rowid最小的记录. <br />delete from people <br />where peopleId  in (select  peopleId  from people  group  by  peopleId   having  count(peopleId) &gt; 1) <br />and rowid not in (select min(rowid) from  people  group by peopleId  having count(peopleId )&gt;1) <br />删除表中多余的重复记录（多个字段），只留有rowid最小的记录 <br />delete from vitae a <br />where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) &gt; 1) <br />and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)&gt;1) <br />================================ <br />此方法可以适用于sql ,oracle <br />declare @max integer,@id integer <br />declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) &gt;； 1 <br />open cur_rows <br />fetch cur_rows into @id,@max <br />while @@fetch_status=0 <br />begin <br />select @max = @max -1 <br />set rowcount @max <br />delete from 表名 where 主字段 = @id <br />/* <br />DECLARE @count INT <br />SELECT @count = COUNT(*) FROM [table1] WHERE [column1] = 1 <br />DELETE TOP (@count-1) FROM [table1] WHERE [column1] = 1  这个top后面一定要有括号 <br />*/ <br />fetch cur_rows into @id,@max <br />end <br />close cur_rows <br />set rowcount 0 <br />======================================= <br />select distinct * into #Tmp from tableName <br />drop table tableName <br />select * into tableName from #Tmp <br />drop table #Tmp <br />select identity(int,1,1) as autoID, * into #Tmp from tableName <br />select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID <br />select * from #Tmp where autoID in(select autoID from #tmp2) <br />======================================= <br />select identity(int,1,1) as id ,name,state into #tempTable from a <br />delete from a <br />delete from #tempTable <br />where id not in <br />( <br />select min(id) from #tempTable group by name <br />) <br />insert into a( name,state) <br />select name,state from #tempTable <br />drop table #tempTable </div>
		<script type="text/javascript">
				<!--
google_ad_client = "pub-4348265167276910";
/* 468x60, 个人博客 */
google_ad_slot = "2046406163";
google_ad_width = 468;
google_ad_height = 60;
//-->
		</script>
		<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
		</script>
		<script src="http://pagead2.googlesyndication.com/pagead/expansion_embed.js">
		</script>
		<script src="http://googleads.g.doubleclick.net/pagead/test_domain.js">
		</script>
		<script src="http://pagead2.googlesyndication.com/pagead/render_ads.js">
		</script>
		<script><![CDATA[oogle_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);]]&gt;</script>
<img src ="http://www.blogjava.net/toby/aggbug/315052.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2010-03-10 14:43 <a href="http://www.blogjava.net/toby/archive/2010/03/10/315052.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle存储过程中执行创建表报ORA-01031 insufficient privileges解决办法</title><link>http://www.blogjava.net/toby/archive/2010/02/06/312208.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Sat, 06 Feb 2010 11:18:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2010/02/06/312208.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/312208.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2010/02/06/312208.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/312208.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/312208.html</trackback:ping><description><![CDATA[GRANT CREATE ANY TABLE TO CMP;<img src ="http://www.blogjava.net/toby/aggbug/312208.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2010-02-06 19:18 <a href="http://www.blogjava.net/toby/archive/2010/02/06/312208.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle相关函数</title><link>http://www.blogjava.net/toby/archive/2009/12/22/306910.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Tue, 22 Dec 2009 07:27:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/12/22/306910.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/306910.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/12/22/306910.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/306910.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/306910.html</trackback:ping><description><![CDATA[
		<div class="wpcpdCSS" id="csuid2_wpcpcd">1.取整(大)  　　 select ceil(-1.5) value from dual 　　<br /><br />2.取整（小） 　　select floor(-1.5) value from dual 　　<br /><br />3.取整（截取）　 select trunc(-1.5) value from dual        <br /><br />4.取整(舍入)     select round(-1.5) value from dual </div>
<img src ="http://www.blogjava.net/toby/aggbug/306910.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-12-22 15:27 <a href="http://www.blogjava.net/toby/archive/2009/12/22/306910.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle ORA-14452错误处理</title><link>http://www.blogjava.net/toby/archive/2009/12/18/306598.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Fri, 18 Dec 2009 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/12/18/306598.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/306598.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/12/18/306598.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/306598.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/306598.html</trackback:ping><description><![CDATA[
		<h4 class="beTitle" id="subjcns!FBA7EF989C66522E!625">create global temporary table on commit preserve rows 用于会话相关,也就在事务结束后truncate data in the temporary table,但如果在会话未结束时要修改temporary table就会出现错误：</h4>
		<div class="bvMsg" id="msgcns!FBA7EF989C66522E!625">
				<div>
						<p>ORA-14452: attempt to create, alter or drop an index on temporary table already in use<br />经查，该错误的解释为：<br />Cause: An attempt was made to create, alter or drop an index on temporary table which is already in use.<br />Action: All the sessions using the session-specific temporary table have to truncate table and all the transactions using transaction specific temporary table have to end their transactions. 
</p>
						<p>处理步骤：<br />1、先从user_objects中查询到该表的object_id:<br />select object_id from user_objects where object_name=upper('TMP_365100930'); 
</p>
						<p>2、根据查到的object_id知道使用该表的session：<br />select * from v$lock where id1=&amp;object_id; 
</p>
						<p>3、在从v$session视图中查到该session的SID和SERIAL#：<br />select * from v$session where sid=181; 
</p>
						<p>4、杀掉这些进程:<br />alter system kill session SID,SERIAL#;</p>
				</div>
		</div>
<img src ="http://www.blogjava.net/toby/aggbug/306598.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-12-18 17:18 <a href="http://www.blogjava.net/toby/archive/2009/12/18/306598.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ora-00054:resource busy and acquire with nowait specified解决方法</title><link>http://www.blogjava.net/toby/archive/2009/11/14/302343.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Sat, 14 Nov 2009 07:39:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/11/14/302343.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/302343.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/11/14/302343.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/302343.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/302343.html</trackback:ping><description><![CDATA[
		<div class="t_msgfont">我的原因是，别的sql plus客户端（同事）执行了大量的操作后没有执行commit的缘故，让他们执行一下就可以了。</div>
		<br />
		<br />
		<br />
		<p>当某个<a href="file::;" target="_self"><u><strong>数据库</strong></u></a>用户在数据库中插入、更新、删除一个表的数据，或者增加一个表的主键时或者表的索引时，常常会出现ora-00054:resource busy and acquire with nowait specified这样的错误。</p>
		<p>主要是因为有事务正在执行（或者事务已经被锁），所有导致执行不成功。</p>
		<p>
				<strong>1、用dba权限的用户查看数据库都有哪些锁</strong>
		</p>
		<p>select t2.username,t2.sid,t2.serial#,t2.logon_time<br />from v$locked_object t1,v$session t2<br />where t1.session_id=t2.sid order by t2.logon_time;</p>
		<p>如：testuser 339 13545 2009-3-5 17:40:05<br />知道被锁的用户testuser，sid为339，serial#为13545</p>
		<p>
				<strong>2、根据sid查看具体的<a href="file::;" target="_self"><u><strong>sql</strong></u></a>语句，如果sql不重要，可以kill</strong>
		</p>
		<p>select sql_text from v$session a,v$sqltext_with_newlines b<br />where DECODE(a.sql_hash_value, 0, prev_hash_value, sql_hash_value)=b.hash_value<br />and a.sid=&amp;sid order by piece;</p>
		<p>查出来的sql，如： begin :id := sys.dbms_transaction.local_transaction_id; end;</p>
		<p>
				<strong>3、kill该事务</strong>
				<br />alter system kill session '339,13545';</p>
		<p>
				<strong>4、这样就可以执行其他的事务sql语句了</strong>
		</p>
		<p>如增加表的主键：<br />alter table test<br />add constraint PK_test primary key (test_NO)；</p>
<img src ="http://www.blogjava.net/toby/aggbug/302343.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-11-14 15:39 <a href="http://www.blogjava.net/toby/archive/2009/11/14/302343.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle用Start with...Connect By子句递归查询</title><link>http://www.blogjava.net/toby/archive/2009/09/28/296822.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Mon, 28 Sep 2009 09:33:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/09/28/296822.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/296822.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/09/28/296822.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/296822.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/296822.html</trackback:ping><description><![CDATA[
		<div>Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。</div>
		<div>创建示例表：</div>
		<div>CREATE TABLE TBL_TEST<br />(<br />   ID     NUMBER,<br />   NAME   VARCHAR2(100 BYTE),<br />   PID    NUMBER                                   DEFAULT 0<br />);</div>
		<div>
		</div>
		<div>插入测试数据：</div>
		<div>INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0');<br />INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');<br />INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');<br />INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');<br />INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2');</div>
		<div>
		</div>
		<div>从Root往树末梢递归</div>
		<div>select * from TBL_TEST<br />start with id=1<br />connect by prior id = pid</div>
		<div>
		</div>
		<div>
				<div>从末梢往树ROOT递归</div>
				<div>select * from TBL_TEST<br />start with id=5<br />connect by prior pid = id</div>
		</div>
		<div style="FONT-SIZE: 14px; LINE-HEIGHT: 25px">
				<font color="#0000ff">
				</font>
		</div>
		<div style="FONT-SIZE: 14px; LINE-HEIGHT: 25px">找到更全面的资料</div>
		<div style="FONT-SIZE: 14px; LINE-HEIGHT: 25px">
				<table cellspacing="0" cellpadding="0" width="90%" border="0">
						<tbody>
								<tr>
										<td align="middle" bgcolor="#ff0000">
												<span style="COLOR: #ffffff">
														<strong>Oracle Connect By Function</strong>
												</span>
										</td>
								</tr>
								<tr>
										<td align="middle">
												<strong>
														<span>Version 10.2</span>
												</strong>
										</td>
								</tr>
								<tr>
										<td>
										</td>
								</tr>
								<tr>
										<td align="middle">
												<table cellspacing="1" cellpadding="2" width="100%" bgcolor="#d8d8c4" border="1">
														<tbody>
																<tr>
																		<td width="25%">
																				<span style="FONT-SIZE: 10pt">Basic Syntax Elements</span>
																		</td>
																		<td width="75%">
																				<span>START WITH &lt;condition&gt;<br />CONNECT BY<br />[NOCYCLE]<br />&lt;condition&gt;</span>
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																				<span style="COLOR: #808000">
																						<strong>CONNECT BY PRIOR</strong>
																				</span>
																		</td>
																</tr>
																<tr>
																		<td width="25%" rowspan="2">
																				<span style="FONT-SIZE: 10pt">A condition that identifies the relationship between parent rows and child rows of the hierarchy</span>
																		</td>
																		<td width="75%">
																				<span>CONNECT BY &lt;child_value&gt; = &lt;parent_value&gt;</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%" bgcolor="#80ffff">
																				<span>conn hr/hr<br /><br />SELECT employee_id, last_name, manager_id<br />FROM employees<br /><span style="COLOR: #0000ff">CONNECT BY PRIOR</span> employee_id = manager_id;</span>
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																				<span style="COLOR: #808000">
																						<strong>START WITH</strong>
																				</span>
																		</td>
																</tr>
																<tr>
																		<td width="25%" rowspan="2">
																				<span style="FONT-SIZE: 10pt">Specifies a condition that identifies the row(s) to be used as the root(s) of a hierarchical query</span>
																		</td>
																		<td width="75%">
																				<span>START WITH (column_name) = &lt;value&gt;</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%" bgcolor="#80ffff">
																				<span>SELECT last_name, employee_id, manager_id, LEVEL<br />FROM employees<br /><span style="COLOR: #0000ff">START WITH</span> employee_id = 100<br />CONNECT BY PRIOR employee_id = manager_id;</span>
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																				<span style="COLOR: #808000">
																						<strong>ORDER SIBLINGS BY</strong>
																				</span>
																		</td>
																</tr>
																<tr>
																		<td width="25%" rowspan="2">
																				<span style="FONT-SIZE: 10pt">SIBLINGS BY preserves any ordering specified in the hierarchical query clause and then applies the order_by_clause to the siblings of the hierarchy</span>
																		</td>
																		<td width="75%">
																				<span>ORDER SIBLINGS BY (column_name)</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%" bgcolor="#80ffff">
																				<span>SELECT last_name, employee_id, manager_id, LEVEL<br />FROM employees<br />START WITH employee_id = 100<br />CONNECT BY PRIOR employee_id = manager_id<br /><span style="COLOR: #0000ff">ORDER SIBLINGS BY</span> last_name;</span>
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																				<span style="COLOR: #808000">
																						<strong>CONNECT_BY_ROOT</strong>
																				</span>
																		</td>
																</tr>
																<tr>
																		<td width="25%" rowspan="2">
																				<span style="FONT-SIZE: 10pt">CONNECT_BY_ROOT is a unary operator that is valid only in hierarchical queries. When you qualify a column with this operator, Oracle returns the column value using data from the root row.<br /><br />Cannot be specified with the START WITH or   CONNECT BY condition.</span>
																		</td>
																		<td width="75%">
																				<span style="FONT-SIZE: 10pt">The following example returns the last name of each employee in department 110, each manager above that employee in the hierarchy, the number of levels between manager and employee, and the path between the two:</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%" bgcolor="#80ffff">
																				<span>col emp format a20<br />col mgr format a20<br />set linesize 120<br /><br /></span>
																				<span>SELECT "Name", SUM(salary) "Total_Salary"<br />FROM (<br />   SELECT <span style="COLOR: #0000ff">CONNECT_BY_ROOT</span> last_name "Name", salary<br />   FROM employees<br />   WHERE department_id = 110<br />   CONNECT BY PRIOR employee_id = manager_id)<br />GROUP BY "Name";<br /><br /><span style="COLOR: #008080">-- Thanks Colin for the correction</span></span>
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																				<span style="COLOR: #808000">
																						<strong>CONNECT_BY_ISCYCLE Pseudocolumn</strong>
																				</span>
																		</td>
																</tr>
																<tr>
																		<td width="25%" rowspan="2">
																				<span style="FONT-SIZE: 10pt">The CONNECT_BY_ISCYCLE pseudocolumn returns 1 if the current row has a child which is also its ancestor. Otherwise it returns 0</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%" bgcolor="#80ffff">
																				<span>UPDATE employees SET manager_id = 145<br />WHERE employee_id = 100;<br /><br />SELECT last_name, <span style="COLOR: #0000ff">LEVEL</span>, <span style="COLOR: #0000ff">SYS_CONNECT_BY_PATH</span>(last_name, '/') "Path"<br />FROM employees<br />WHERE <span style="COLOR: #0000ff">LEVEL</span> &lt;= 3 AND department_id = 80<br />START WITH last_name = 'King'<br /><span style="COLOR: #0000ff">CONNECT BY PRIOR</span> employee_id = manager_id AND <span style="COLOR: #0000ff">LEVEL</span> &lt;= 4;<br />2 3 4 5 6 7 ERROR:<br />ORA-01436: CONNECT BY loop in user data<br /><br />SELECT last_name, <span style="COLOR: #0000ff">CONNECT_BY_ISCYCLE</span> "Cycle", <span style="COLOR: #0000ff">LEVEL</span>, <span style="COLOR: #0000ff">SYS_CONNECT_BY_PATH</span>(last_name, '/') "Path"<br />FROM employees<br />WHERE <span style="COLOR: #0000ff">LEVEL</span> &lt;= 3 AND department_id = 80<br />START WITH last_name = 'King'<br /><span style="COLOR: #0000ff">CONNECT BY NOCYCLE PRIOR</span> employee_id = manager_id<br />AND LEVEL &lt;= 4;</span>
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																				<span style="COLOR: #808000">
																						<strong>CONNECT_BY_ISLEAF Pseudocolumn</strong>
																				</span>
																		</td>
																</tr>
																<tr>
																		<td width="25%" rowspan="2">
																				<span style="FONT-SIZE: 10pt">The CONNECT_BY_ISLEAF pseudocolumn returns 1 if the current row is a leaf of the tree defined by the CONNECT BY condition. Otherwise it returns 0. This information indicates whether a given row can be further expanded to show more of the hierarchy.</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%" bgcolor="#80ffff">
																				<span>SELECT last_name "Employee", <span style="COLOR: #0000ff">CONNECT_BY_ISLEAF</span> "IsLeaf",<br /><span style="COLOR: #0000ff">LEVEL</span>, <span style="COLOR: #0000ff">SYS_CONNECT_BY_PATH</span>(last_name, '/') "Path"<br />FROM employees<br />WHERE level &lt;= 3<br />AND department_id = 80<br /><span style="COLOR: #0000ff">START WITH</span> last_name = 'King'<br /><span style="COLOR: #0000ff">CONNECT BY PRIOR</span> employee_id = manager_id<br />AND <span style="COLOR: #0000ff">LEVEL</span> &lt;= 4;</span>
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																				<span style="COLOR: #808000">
																						<strong>LEVEL Pseudocolumn</strong>
																				</span>
																		</td>
																</tr>
																<tr>
																		<td width="25%" rowspan="2">
																				<span style="FONT-SIZE: 10pt">For each row returned by a hierarchical query, the LEVEL pseudocolumn returns 1 for a root row, 2 for a child of a root, and so on</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%" bgcolor="#80ffff">
																				<span>SELECT employee_id, last_name, manager_id, <span style="COLOR: #0000ff">LEVEL</span><br />FROM employees<br /><span style="COLOR: #0000ff">CONNECT BY PRIOR</span> employee_id = manager_id;</span>
																				<p>
																						<span>SELECT LPAD(' ',2*(<span style="COLOR: #0000ff">LEVEL-1</span>)) || last_name ORG_CHART,<br />employee_id, manager_id, job_id<br />FROM employees<br /><span style="COLOR: #0000ff">START WITH</span> job_id = 'AD_VP'<br /><span style="COLOR: #0000ff">CONNECT BY PRIOR</span> employee_id = manager_id;</span>
																				</p>
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																				<span style="COLOR: #808000">
																						<strong>SYS_CONNECT_BY_PATH</strong>
																				</span>
																		</td>
																</tr>
																<tr>
																		<td width="25%" rowspan="3">
																				<span style="FONT-SIZE: 10pt">Returns the path of a column value from root to node, with column values separated by char for each row returned by CONNECT BY condition</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%">
																				<span>SYS_CONNECT_BY_PATH(&lt;column&gt;, &lt;char&gt;)</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%" bgcolor="#80ffff">
																				<span>See CONNECT_BY_ISCYCLE demo</span>
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																				<span style="COLOR: #808000">
																						<strong>Function Demo</strong>
																				</span>
																		</td>
																</tr>
																<tr>
																		<td width="25%" rowspan="2">
																				<span style="FONT-SIZE: 10pt">Use A Function To Receive The Current Node and Search for Parents of the Current Node</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%" bgcolor="#80ffff">
																				<span>CREATE OR REPLACE FUNCTION <span style="COLOR: #0000ff">permissions_sub_tree_root</span> (<br />the_id IN NUMBER,<br />the_level IN NUMBER)<br />RETURN NUMBER IS<br /><br />sub_tree_root NUMBER(10);<br /><br />BEGIN<br />   SELECT id<br />   INTO sub_tree_root<br />   FROM hierarchy<br />   WHERE level = the_level<br />  <span style="COLOR: #008080">-- Connect 'upwards', i.e. find the parent</span><br />   CONNECT BY PRIOR PARENT = id<br />   START WITH ID = the_id;<br /><br />   RETURN sub_tree_root;<br />END permissions_sub_tree_root;<br />/<br /><br />SELECT id, name, username<br />FROM (<br />   SELECT ID, PARENT, NAME,<span style="COLOR: #0000ff"><br />   permissions_sub_tree_root</span>(id, LEVEL) ROOT<br />   FROM hierarchy<br />   CONNECT BY PRIOR id = PARENT) HIERARCHY, permissions<br />WHERE ROOT = hierarchy_id;</span>
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																				<span style="COLOR: #808000">
																						<strong>GROUP BY Demo</strong>
																				</span>
																		</td>
																</tr>
																<tr>
																		<td width="25%" rowspan="2">
																				<span style="FONT-SIZE: 10pt">Group By Demo with CONNECT_BY_ROOT and<br />CONNECT_BY_PRIOR</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%" bgcolor="#80ffff">
																				<span>SELECT name, SUM(salary) "Total_Salary"<br />FROM (<br />   SELECT <span style="COLOR: #0000ff">CONNECT_BY_ROOT</span> last_name "Name", salary<br />   FROM employees<br />   WHERE department_id = 110<br />  <span style="COLOR: #0000ff">CONNECT BY PRIOR</span> employee_id = manager_id)<br /><span style="COLOR: #0000ff">GROUP BY</span> name;</span>
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																		</td>
																</tr>
																<tr>
																		<td colspan="2">
																				<span style="COLOR: #808000">
																						<strong>Demos</strong>
																				</span>
																		</td>
																</tr>
																<tr>
																		<td width="25%">
																				<span style="FONT-SIZE: 10pt">Indenting</span>
																		</td>
																		<td width="75%" bgcolor="#80ffff">
																				<span>col lname format a30<br /><br />SELECT LPAD(' ', level*2, ' ') || last_name LNAME, d.department_id<br />FROM employees e, departments d<br />WHERE e.department_id = d.department_id<br />START WITH employee_id = 100<br />CONNECT BY PRIOR e.employee_id = e.manager_id;</span>
																		</td>
																</tr>
																<tr>
																		<td width="25%" rowspan="4">
																				<span style="FONT-SIZE: 10pt">Hierarchical Query with IN</span>
																		</td>
																		<td width="75%">
																				<span style="FONT-SIZE: 10pt">In a [NOT] IN condition in a WHERE clause, if the right-hand side of the condition is a subquery, you cannot use LEVEL on the left-hand side of the condition. However, you can specify LEVEL in a subquery of the FROM clause to achieve the same result. For example, the following statement is not valid:</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%" bgcolor="#80ffff">
																				<span>SELECT employee_id, last_name FROM employees<br />WHERE (employee_id, LEVEL)<br /><span style="COLOR: #0000ff">IN</span> (SELECT employee_id, 2 FROM employees)<br />START WITH employee_id = 2<br /><span style="COLOR: #0000ff">CONNECT BY PRIOR</span> employee_id = manager_id;</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%">
																				<span style="FONT-SIZE: 10pt">But the following statement is valid because it encapsulates the query containing the LEVEL information in the FROM clause:</span>
																		</td>
																</tr>
																<tr>
																		<td width="75%" bgcolor="#80ffff">
																				<span>SELECT v.employee_id, v.last_name, v.lev<br />FROM (<br />   SELECT employee_id, last_name, LEVEL lev<br />   FROM employees v<br />   START WITH employee_id = 100<br />   CONNECT BY PRIOR employee_id = manager_id) v<br />WHERE (v.employee_id, v.lev) <span style="COLOR: #0000ff">IN</span> (<br />   SELECT employee_id, 2 FROM employees);</span>
																		</td>
																</tr>
														</tbody>
												</table>
										</td>
								</tr>
						</tbody>
				</table>
		</div>
<img src ="http://www.blogjava.net/toby/aggbug/296822.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-09-28 17:33 <a href="http://www.blogjava.net/toby/archive/2009/09/28/296822.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>备份某用户下数据注意</title><link>http://www.blogjava.net/toby/archive/2009/09/25/296447.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Fri, 25 Sep 2009 08:50:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/09/25/296447.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/296447.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/09/25/296447.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/296447.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/296447.html</trackback:ping><description><![CDATA[一.客户端和服务器端的版本需一致，不然会导出不了<br />具体语法<br />不包含系统表<br />$exp <a href="mailto:cmp/cmp@gzboss">cmp/cmp@gzboss</a> file=d:\cmp.dmp log=d:\cmp.log OWNER=(cmp);<br />包含系统表<br />D:\oracle\ora92\bin\EXP.EXE system/manager@office full=y file=e:\backup\day\cwb.dmp log=e:\backup\day\cwb.log<br /><br />二.查看帮助<br />$imp help=y<img src ="http://www.blogjava.net/toby/aggbug/296447.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-09-25 16:50 <a href="http://www.blogjava.net/toby/archive/2009/09/25/296447.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何查看数据库版本</title><link>http://www.blogjava.net/toby/archive/2009/09/25/296417.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Fri, 25 Sep 2009 06:06:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/09/25/296417.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/296417.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/09/25/296417.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/296417.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/296417.html</trackback:ping><description><![CDATA[
		<p>如何查看Oracle数据库版本? Metalink上有一段话，COPY过来复用吧。</p>
		<p>To determine the release information for these databases:</p>
		<p>Start SQL*Plus from the Oracle home directory:</p>
		<p>sqlplus /nolog <br />SQL&gt; conn / as sysdba</p>
		<p>The output is:</p>
		<p>Connected</p>
		<p>Enter the following command:</p>
		<p>SQL&gt; select * from v$version;</p>
		<p>The command returns the release information, such as the following:</p>
		<p>Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production <br />PL/SQL Release 9.2.0.8.0 - Production <br />CORE 9.2.0.8.0 Production <br />TNA for 32-bit Windows: Version 9.2.0.8.0 - Production <br />NLSRTL Version 9.2.0.8.0 - Production</p>
<img src ="http://www.blogjava.net/toby/aggbug/296417.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-09-25 14:06 <a href="http://www.blogjava.net/toby/archive/2009/09/25/296417.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE导出pde，速度不错。改变用户默认表空间</title><link>http://www.blogjava.net/toby/archive/2009/08/07/290269.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Fri, 07 Aug 2009 12:55:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/08/07/290269.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/290269.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/08/07/290269.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/290269.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/290269.html</trackback:ping><description><![CDATA[
		<h4 class="beTitle" id="subjcns!27EB11C0372B9EB1!350">oracle改变用户缺省表空间</h4>
		<div class="bvMsg" id="msgcns!27EB11C0372B9EB1!350">
				<div>初始新建了一个用户lord，但是default tablespace为System，并在里面有很多表，先新建表空间lord,现在将其defaultspace改为lord.</div>
				<div> </div>
				<div>CREATE TABLESPACE lord DATAFILE '/opt/oradata/lord.dbf' SIZE 50M AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;</div>
				<div>alter user lord default tablespace lord quota unlimited on lord;</div>
				<div>grant connect,resource to lord;</div>
				<div>但是以前的表还在system里面，怎么转到lord里面呢？</div>
				<div>alter table tablename move tablespace lord;</div>
				<div>新建的用户没有em console连接的权限，只能sqlplus,isqlplus,pl/sql developer连接，如果想要用em管理需要</div>
				<div>grant select   any   dictionary to lord;</div>
		</div>
<img src ="http://www.blogjava.net/toby/aggbug/290269.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-08-07 20:55 <a href="http://www.blogjava.net/toby/archive/2009/08/07/290269.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle备份某个用户下的数据</title><link>http://www.blogjava.net/toby/archive/2009/08/06/290112.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Thu, 06 Aug 2009 08:04:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/08/06/290112.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/290112.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/08/06/290112.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/290112.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/290112.html</trackback:ping><description><![CDATA[
		<p>exp <a href="mailto:zhcmp1/zhcmp1@zhcmp">zhcmp1/zhcmp1@zhcmp</a>  file=c:\my\zhcmp1.dmp log=c:\my\zhcmp1.log owner=(zhcmp1)<br /><br /></p>
		<p>expdp <a href="mailto:zhcmp1/zhcmp1@zhcmp">zhcmp1/zhcmp1@zhcmp</a>  DIRECTORY=c:\my DUMPFILE=zhcmp1.dmp  LOGFILE=zhcmp1.log<br /><br /><br /><br />注意导出版本和数据库版本的一致</p>
<img src ="http://www.blogjava.net/toby/aggbug/290112.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-08-06 16:04 <a href="http://www.blogjava.net/toby/archive/2009/08/06/290112.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle中导出某用户下的所有表方法</title><link>http://www.blogjava.net/toby/archive/2009/06/12/281905.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Fri, 12 Jun 2009 11:03:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/06/12/281905.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/281905.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/06/12/281905.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/281905.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/281905.html</trackback:ping><description><![CDATA[
		<p>sqlplus <a href="mailto:zhcmp1/zhcmp1@zhcmp">zhcmp1/zhcmp1@zhcmp</a></p>
		<p>set pagesize 0;<br />set heading off;<br />set verify off;<br />set linesize 200;<br />set trimspool on;<br />spool c:\数据库备份.bat;</p>
		<p>select 'exp <a href="mailto:zhcmp1/zhcmp1@zhcmp">zhcmp1/zhcmp1@zhcmp</a> TABLES='||table_name||' FILE='||table_name||'.sql TRIGGERS=N' from user_tables;</p>
		<p>
				<br />spool off;<br />set feedback on;<br />set pagesize 9999;<br />set heading on;<br />set verify on; </p>
		<p>exit<br /><br /><br />必备条件<br />   1.在cmd中能运行exp命令，一般装客户端是没有此命令的<br />   2.<a href="mailto:2.zhcmp1/zhcmp1@zhcmp">zhcmp1/zhcmp1@zhcmp</a>这个是你的用户名、密码和实例名</p>
<img src ="http://www.blogjava.net/toby/aggbug/281905.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-06-12 19:03 <a href="http://www.blogjava.net/toby/archive/2009/06/12/281905.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE initialization or shutdown in progress解决方法</title><link>http://www.blogjava.net/toby/archive/2009/05/10/269956.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Sun, 10 May 2009 15:00:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/05/10/269956.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/269956.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/05/10/269956.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/269956.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/269956.html</trackback:ping><description><![CDATA[
		<p>C:\Documents and Settings\Toby&gt;sqlplus   "/   as   sysdba"</p>
		<p>SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 5月 10 22:50:26 2009</p>
		<p>Copyright (c) 1982, 2005, Oracle.  All rights reserved.</p>
		<p>
				<br />连接到:<br />Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production<br />With the Partitioning, OLAP and Data Mining options</p>
		<p>SQL&gt; shutdown immediate<br />ORA-01109: 数据库未打开</p>
		<p>
				<br />已经卸载数据库。<br />ORACLE 例程已经关闭。<br />SQL&gt; ;startup<br />SP2-0042: 未知命令 ";startup" - 其余行忽略。<br />SQL&gt; startup<br />ORACLE 例程已经启动。</p>
		<p>Total System Global Area  373293056 bytes<br />Fixed Size                  1249056 bytes<br />Variable Size              92274912 bytes<br />Database Buffers          272629760 bytes<br />Redo Buffers                7139328 bytes<br />数据库装载完毕。<br />ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件<br />ORA-01110: 数据文件 6: 'F:\ORACLE1'</p>
		<p>
				<br />SQL&gt; alter database datafile 19 offline drop;<br />alter database datafile 19 offline drop<br />*<br />第 1 行出现错误:<br />ORA-01516: 不存在的日志文件, 数据文件或临时文件 "19"</p>
		<p>
				<br />SQL&gt; alter database datafile 6 offline drop<br />  2  ;</p>
		<p>数据库已更改。</p>
		<p>SQL&gt; shutdown normal<br />ORA-01109: 数据库未打开</p>
		<p>
				<br />已经卸载数据库。<br />ORACLE 例程已经关闭。<br />SQL&gt; startup<br />ORACLE 例程已经启动。</p>
		<p>Total System Global Area  373293056 bytes<br />Fixed Size                  1249056 bytes<br />Variable Size              92274912 bytes<br />Database Buffers          272629760 bytes<br />Redo Buffers                7139328 bytes<br />数据库装载完毕。<br />ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件<br />ORA-01110: 数据文件 7: 'F:\ORACLE2'</p>
		<p>
				<br />SQL&gt; alter database datafile 7 offline drop<br />  2  ;</p>
		<p>数据库已更改。</p>
		<p>SQL&gt; shutdown normal<br />ORA-01109: 数据库未打开</p>
		<p>
				<br />已经卸载数据库。<br />ORACLE 例程已经关闭。<br />SQL&gt; startup<br />ORACLE 例程已经启动。</p>
		<p>Total System Global Area  373293056 bytes<br />Fixed Size                  1249056 bytes<br />Variable Size              92274912 bytes<br />Database Buffers          272629760 bytes<br />Redo Buffers                7139328 bytes<br />数据库装载完毕。<br />ORA-01157: 无法标识/锁定数据文件 8 - 请参阅 DBWR 跟踪文件<br />ORA-01110: 数据文件 8: 'F:\ORACLE3'</p>
		<p>
				<br />SQL&gt; alter database datafile 8 offline drop<br />  2  ;</p>
		<p>数据库已更改。</p>
		<p>SQL&gt; shutdown normal<br />ORA-01109: 数据库未打开</p>
		<p>
				<br />已经卸载数据库。<br />ORACLE 例程已经关闭。<br />SQL&gt; startup<br />ORACLE 例程已经启动。</p>
		<p>Total System Global Area  373293056 bytes<br />Fixed Size                  1249056 bytes<br />Variable Size              92274912 bytes<br />Database Buffers          272629760 bytes<br />Redo Buffers                7139328 bytes<br />数据库装载完毕。<br />ORA-01157: 无法标识/锁定数据文件 9 - 请参阅 DBWR 跟踪文件<br />ORA-01110: 数据文件 9: 'F:\ORACLE4'</p>
		<p>
				<br />SQL&gt; alter database datafile 9 offline drop;</p>
		<p>数据库已更改。</p>
		<p>SQL&gt; shutdown normal<br />ORA-01109: 数据库未打开</p>
		<p>
				<br />已经卸载数据库。<br />ORACLE 例程已经关闭。<br />SQL&gt; startup<br />ORACLE 例程已经启动。</p>
		<p>Total System Global Area  373293056 bytes<br />Fixed Size                  1249056 bytes<br />Variable Size              92274912 bytes<br />Database Buffers          272629760 bytes<br />Redo Buffers                7139328 bytes<br />数据库装载完毕。<br />数据库已经打开。<br />SQL&gt;</p>
<img src ="http://www.blogjava.net/toby/aggbug/269956.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-05-10 23:00 <a href="http://www.blogjava.net/toby/archive/2009/05/10/269956.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>全面学习分区表及分区索引(10)--交换分区</title><link>http://www.blogjava.net/toby/archive/2009/05/07/269497.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Thu, 07 May 2009 14:09:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/05/07/269497.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/269497.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/05/07/269497.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/269497.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/269497.html</trackback:ping><description><![CDATA[
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">直白的说就是迁移数据。迁移数据的方式很多，为什么要使用exchange partition的方式呢，表急，听三思慢慢道来。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">Exchange partition<font face="宋体">提供了一种方式，让你在表与表或分区与分区之间迁移数据，注意不是将表转换成分区或非分区的形式，而仅只是迁移表中数据(互相迁移)，由于其号称是采用了更改数据字典的方式，因此效率最高(几乎不涉及io操作)。Exchange partition适用于所有分区格式，你可以将数据从<a onclick="javascript:tagshow(event, '%B7%D6%C7%F8%B1%ED');" href="javascript:;" target="_self"><u><strong>分区表</strong></u></a>迁移到非分区表，也可以从非分区表迁移至分区表，或者从hash partition到range partition诸如此类吧。</font></span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">其语法很简单：alter table tbname1 exchange partition/subpartition ptname with table tbname2;</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">Exchange partition<font face="宋体">迁移的方式也很有意思，言语表达怕大家听不明白，下面直接通过示例来表达：</font></span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">借用前文中创建的空分区表:t_partition_range，并插入几条记录</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; create table t_partition_range (id number,name varchar2(50))</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">  2   partition by range(id)(</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">  3   partition t_range_p1 values less than (10) tablespace tbspart01,</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">  4   partition t_range_p2 values less than (20) tablespace tbspart02,</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">  5   partition t_range_p3 values less than (30) tablespace tbspart03,</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">  6   partition t_range_pmax values less than (maxvalue) tablespace tbspart04</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">  7   );</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">表已创建。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; insert into t_partition_range values (11,'a');</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">已创建 1 行。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; insert into t_partition_range values (12,'b');</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">已创建 1 行。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; insert into t_partition_range values (13,'c');</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">已创建 1 行。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; commit;</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">提交完成。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">再创建一个非分区表，结构与t_partition_range相同</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; create table t_partition_range_tmp (id number,name varchar2(50));</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">表已创建。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">执行交换分区(我们知道刚插入到range分区表的数据都在分区t_range_p2中，因此这里指定交换该分区)</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-WEIGHT: bold; FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; alter table t_partition_range exchange partition t_range_p2</span>
				<span style="FONT-WEIGHT: bold; FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-WEIGHT: bold; FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">  2  with table t_partition_range_tmp;</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">表已更改。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">看看效果<a onclick="javascript:tagshow(event, '%C8%E7%BA%CE');" href="javascript:;" target="_self"><u><strong>如何</strong></u></a>：</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; select * from t_partition_range partition(t_range_p2);</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">未选定行</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; select * from t_partition_range_tmp;</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        ID NAME</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">---------- --------------------------------------------------</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        11 a</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        12 b</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        13 c</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">记录成功交换到未分区的表中。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">我们再执行一次exchange partition的命令，看看又会发生什么呢</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; select *from t_partition_range partition(t_range_p2);</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        ID NAME</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">---------- --------------------------------------------------</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        11 a</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        12 b</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        13 c</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; select *from t_partition_range_tmp;</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">未选定行</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">又交换回来了，有点儿意思。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">再做个更加明确的测试，我们往未分区的表中加入一些记录后再执行exchange partition，看看会发生什么呢：</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; insert into t_partition_range_tmp values (15,'d');</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">已创建 1 行。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; insert into t_partition_range_tmp values (16,'e');</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">已创建 1 行。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; insert into t_partition_range_tmp values (1</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">7</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">,'d');</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">已创建 1 行。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; alter table t_partition_range exchange partition t_range_p2</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">  2  with table t_partition_range_tmp;</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">表已更改。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; select *from t_partition_range partition(t_range_p2);</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        ID NAME</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">---------- --------------------------------------------------</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        15 d</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        16 e</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        17 d</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; select *from t_partition_range_tmp;</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        ID NAME</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">---------- --------------------------------------------------</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        11 a</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        12 b</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        13 c</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">这就是前面所说的，互相交换的意思~~</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">注意：</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Wingdings'; mso-spacerun: 'yes'">l </span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">涉及交换的两表之间表结构必须一致，除非附加with validation子句;</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Wingdings'; mso-spacerun: 'yes'">l </span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">如果是从非分区表向分区表做交换，非分区表中的数据必须符合分区表中指定分区的规则，除非附加without validation子句;</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Wingdings'; mso-spacerun: 'yes'">l </span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">如果从分区表向分区表做交换，被交换的分区的数据必须符合分区规则，除非附加without validation子句;</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Wingdings'; mso-spacerun: 'yes'">l </span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">Global<font face="宋体">索引或涉及到数据改动了的global索引分区会被置为unusable，除非附加update indexes子句。</font></span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">提示：</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">一旦附加了without validation子句，则表示不再验证数据有效性，因此指定该子句时务必慎重。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">例如：</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; insert into t_partition_range_tmp values (8,'g');</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">已创建 1 行。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; alter table t_partition_range exchange partition t_range_p2</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">  2  with table t_partition_range_tmp without validation;</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">表已更改。</font>
				</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">JSSWEB&gt; select *from t_partition_range partition(t_range_p2);</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        ID NAME</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">---------- --------------------------------------------------</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        11 a</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        12 b</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">        13 c</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="BACKGROUND: rgb(230,230,230); MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">         8 g</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="0" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
						<font face="宋体">虽然新插入的记录并不符合t_range_p2分区的范围值，但指定了without validation后，数据仍然转换成功。</font>
				</span>
		</p>
		<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
		</span>
		<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
				<o:p>
						<p class="0" style="LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
										<o:p>=====================================</o:p>
								</span>
						</p>
						<p class="0" style="LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
										<o:p>查看前面的连载：</o:p>
								</span>
						</p>
						<p class="0" style="LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
										<o:p>
												<a href="http://space.itpub.net/7607759/viewspace-277805" target="_blank">(9)--删除表分区</a>
										</o:p>
								</span>
						</p>
						<p class="0" style="LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
										<o:p>
												<a href="http://space.itpub.net/7607759/viewspace-269276" target="_blank">(8)--增加和收缩表分区</a>
										</o:p>
								</span>
						</p>
						<p class="0" style="LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
										<o:p>
												<u>
														<a href="http://space.itpub.net/7607759/viewspace-269171" target="_blank">
																<font color="#000066">(7)--怎样管理</font>
														</a>
												</u>
										</o:p>
								</span>
						</p>
						<p class="0" style="LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
										<o:p>
												<a href="http://space.itpub.net/7607759/viewspace-266479" target="_blank">
														<font color="#000066">(6)--创建range-list组合分区</font>
												</a>
										</o:p>
								</span>
						</p>
						<p class="0" style="LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
										<o:p>
												<a href="http://space.itpub.net/7607759/viewspace-265238" target="_blank">
														<font color="#000066">(5)--创建range-hash组合分区(1)</font>
												</a>
										</o:p>
								</span>
						</p>
						<p class="0" style="LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
										<o:p>
												<a href="http://space.itpub.net/7607759/viewspace-265117" target="_blank">
														<font color="#000066">(4)--创建list分区</font>
												</a>
										</o:p>
								</span>
						</p>
						<p class="0" style="LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
										<o:p>
												<a href="http://space.itpub.net/7607759/viewspace-263186" target="_blank">
														<font color="#000066">(3)--创建hash分区</font>
												</a>
										</o:p>
								</span>
						</p>
						<p class="0" style="LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
										<o:p>
												<a href="http://space.itpub.net/7607759/viewspace-261628" target="_blank">
														<font color="#000066">(2)--创建range分区</font>
												</a>
										</o:p>
								</span>
						</p>
						<p class="0" style="LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; TEXT-ALIGN: justify">
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">
										<o:p>
												<a href="http://space.itpub.net/7607759/viewspace-260278" target="_blank">
														<font color="#000066">(1)--前言</font>
												</a>
										</o:p>
								</span>
						</p>
				</o:p>
		</span>
		<!--EndFragment-->
<img src ="http://www.blogjava.net/toby/aggbug/269497.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-05-07 22:09 <a href="http://www.blogjava.net/toby/archive/2009/05/07/269497.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle backup&amp;Restore(2)</title><link>http://www.blogjava.net/toby/archive/2009/05/07/269490.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Thu, 07 May 2009 13:33:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/05/07/269490.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/269490.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/05/07/269490.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/269490.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/269490.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 第四章. 数据库恢复案例																														4.1														非归档模式下的备份与恢复																																																								备份方案：采用				OS				冷备份				...&nbsp;&nbsp;<a href='http://www.blogjava.net/toby/archive/2009/05/07/269490.html'>阅读全文</a><img src ="http://www.blogjava.net/toby/aggbug/269490.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-05-07 21:33 <a href="http://www.blogjava.net/toby/archive/2009/05/07/269490.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>揭开Oracle 10G手工创建数据库的神秘面纱</title><link>http://www.blogjava.net/toby/archive/2009/04/29/268220.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Wed, 29 Apr 2009 12:49:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/04/29/268220.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/268220.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/04/29/268220.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/268220.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/268220.html</trackback:ping><description><![CDATA[        最近在网上看到很多初学Oracle或是从旧版的Oracle<nobr oncontextmenu="return false" onmousemove="kwM(0)" id="clickeyekey0" onmouseover="kwE(event,0, this)" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="kwC(event,0,&quot;&quot;)" onmouseout="kwL(event,this)">升级</nobr>到10G的朋友们都问如何在Oracle 10G里手工建库的问题。今天正好有空，于是乎把在Oracle 10G里手工建库的全过程写出来，供各位从事Oracle工作和学习的同朋友们参考，希望能够对大家有所帮助。 <p><clk>　　在Oracle中建库，通常有两种方法。一是<nobr oncontextmenu="return false" onmousemove="kwM(1)" id="clickeyekey1" onmouseover="kwE(event,1, this)" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="kwC(event,1,&quot;&quot;)" onmouseout="kwL(event,this)">使用</nobr>Oracle的建库工且DBCA，这是一个图形界面工且，使用起来方便且很容易理解，因为它的界面友好、美观，而且提示也比较齐全。在Windows系统中，这个工具可以在Oracle程序组中打开(”开始”—“程序”—“ Oracle - OraDb10g_home1”—“ Configuration and Migration Tools”—“ Database Configuration Assistant”)，也可以在命令行(”开始”—“运行”—“cmd”)工具中直接输入dbca来打开。另一种方法就是手工建库，这也就是下面所要讲的内容。</clk></p><p>　　手工建库比起使用DBCA建库来说，是比较麻烦的，但是如果我们学好了手工建库的话，就可以使我们更好地理解Oracle数据库的体系结构。手工建库须要经过几个步骤，每一个步骤都非常关键。它包括：</p><p>　　1、 创建必要的相关目录</p><p>　　2、 创建初始化参数文件</p><p>　　3、 设置环境变量Oracle_sid</p><p>　　4、 创建实例</p><p>　　5、 创建口令文件</p><p>　　6、 启动数据库到nomount(实例)状态</p><p>　　7、 执行建库脚本</p><p>　　8、 执行catalog脚步本创建数据字典</p><p>　　9、 执行catproc创建package包</p><p>　　10、 执行pupbld</p><p>　　11、 由初始化参数文件创建spfile文件</p><p>　　12、 执行scott脚本创建scott模式</p><p>　　做完了以上的步骤之后就可以使用“SQL&gt;alter database open;”打开数据库正常的使用了。下面，我将具体地把以上的几个步骤用实验展开来讲。<br />实验系统平台：Windows Server 2000</p><p>　　数据库系统版本：Oracle Database 10G</p><p>　　Oracle的安装路径：D盘</p><p>　　创建的数据库名称：book</p><p>　　1、打开命令行工具，创建必要有相关目录</p><p><code>　　C:&gt;mkdir D:oracleproduct10.1.0adminbook<br />　　C:&gt;mkdir D:oracleproduct10.1.0adminbookbdump<br />　　C:&gt;mkdir D:oracleproduct10.1.0adminbookudump<br />　　C:&gt;mkdir D:oracleproduct10.1.0adminbookcdump<br />　　C:&gt;mkdir D:oracleproduct10.1.0adminbookpfile<br />　　C:&gt;mkdir D:oracleproduct10.1.0adminbookcreate<br />　　C:&gt;mkdir D:oracleproduct10.1.0oradatabook</code></p><p>　　上面创建目录的过程也可以在Windows的图形界面中去创建。其中D:oracleproduct10.1.0adminbook目录下的几个子目录主要用于存放数据库运行过程中的跟踪信息。最重要的两上子目录是bdump和udump目录，bdump目录存放的是数据库动行过程中的各个后台进程的跟踪信息，当中alert文件是警告文件，其文件名称为alert_book.log，当数据库出现问题时，首先就可以去查看此文件以找出原因，手工创建过程中出现的各种问题往往也可以通过查看这个文件找到原因。Udump目录存放和特定会话相关的跟踪信息。D:oracleproduct10.1.0oradatabook目录存放各种数据库文件，包括控制文件、数据文件、重做日志文件。</p><p>　　2、创建初始化参数文件</p><p>　　数据库系统启动时须要用初始化参数文件的设置分配内存、启动必要的后台进程的。因此，初始化参数文件创建的是否正确、参数设置是否正确关系着整个建库的“命运”。</p><p>　　创建初始化参数文件可以通过拷贝现在的初始化参数文件并将其做适当的修改即可，从而不必要用手工去一句一句地写出来，因为初始化参数文件的结构体系基本上都是一样的。在我们安装Oracle的时候，系统已经为我们安装了一个名为orcl的数据库，于是我们可以从它那里得到一份初始化参数文件。打开D:oracleproduct10.1.0adminorclpfile，找到init.ora文件，把它拷贝到D:oracleproduct10.1.0bd_1databse下，并将其改名为initbook.ora。接着用记事本的方式打开initbook.ora，修改以下的内容：<br /></p><div id="clickeye_content"><div class="article_c" id="fontsize"><p><code>　　db_domain=""<br />　　db_name=book<br />　　control_files=("D:oracleproduct10.1.0oradatabookcontrol01.ctl",                       "D:oracleproduct10.1.0oradatabookcontrol02.ctl",  "D:oracleproduct10.1.0oradatabookcontrol03.ctl")<br />　　undo_management=AUTO<br />　　undo_tablespace=UNDOTBS1　――注意此处的“UNDOTBS1”要和建库脚步本中对应<br />　　background_dump_dest=D:oracleproduct10.1.0adminbookbdump<br />　　core_dump_dest=D:oracleproduct10.1.0adminbookcdump<br />　　user_dump_dest=D:oracleproduct10.1.0adminbookudump</code></p><p>　　3、打开命令行，设置环境变量oracle_sid</p><p>　　C:&gt;set oracle_sid=book</p><p>　　设置环境变量的目地是在默认的情况下，指定命令行中所操作的数据库实例是book。</p><p><clk>　　4、创建实例(即后台控制<nobr oncontextmenu="return false" onmousemove="kwM(0)" id="clickeyekey0" onmouseover="kwE(event,0, this)" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="kwC(event,0,&quot;&quot;)" onmouseout="kwL(event,this)">服务</nobr>)</clk></p><p>　　C:&gt;oradim –new –sid book</p><p>　　oradim是创建实例的工具程序名称，-new表明执行新建实例，-delete表明执行删掉实例，-sid指定害例的名称。</p><p>　　5、创建口令文件</p><p>　　C:&gt;orapwd file=D:oracleproduct10.1.0db_1databasepwdbook.ora password=bookstore entries=2</p><p>　　orapwd是创建口令文件的工肯程序各称，file参数指定口令文件所在的目录和文件名称，password参数指定sys用户的口令，entries参数指定数据库拥用DBA权限的用户的个数，当然还有一个force参数，相信您不指即明，这里就不再细述。</p><p>　　请注意，这里的命令要一行输入，中间不得换行，否则会出现不必要的错误。</p><p>　　口令文件是专门存放sys用户的口令，因为sys用户要负责建库、启动数据库、关闭数据库等特殊任务，把以sys用户的中令单独存放于口令文件中，这样数据库末打开时也能进行口令验证。<br /><br />        6、启动数据库到nomount(实例)<nobr oncontextmenu="return false" onmousemove="kwM(1)" id="clickeyekey1" onmouseover="kwE(event,1, this)" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="kwC(event,1,&quot;&quot;)" onmouseout="kwL(event,this)">状态<br /></nobr><code>    C:&gt;sqlplus /nolog<br />　　SQL*Plus:Release 10.1.0.2.0 - Production on 星期三 6月 29 23:09:35 2005<br />　　Copyright 1982,2004,Oracle. All rights reserved.<br />　　SQL&gt;connect sys/bookstore as sysdba ---这里是用sys连接数据库</code></p><p>　　已连接到空闲例程</p><p>　　SQL&gt;startup nomount</p><p>　　ORACLE 例程已经启动。</p><p><code>　　Total System Global Area 319888364bytes<br />　　Fixed Size 453612bytes<br />　　Variable Size 209715200bytes<br />　　Database Buffers 109051904bytes<br />　　Redo Buffers 667648bytes<br />　　SQL&gt;</code></p><p>　　7、执行建库脚本</p><p>　　执行建库脚本，首先要有建库的脚本。(去哪找建库脚本呢?我又没有!)不用着急，请接着往下看。</p><p><clk>　　得到一个符合自己要求的建库脚本有两种方法，一种方法是在自己的<nobr oncontextmenu="return false" onmousemove="kwM(0)" id="clickeyekey0" onmouseover="kwE(event,0, this)" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="kwC(event,0,&quot;&quot;)" onmouseout="kwL(event,this)">电脑</nobr>上用DBCA来建，接照它的提示一步步地去做，在做到第十二步的时候，请选择“生成建库脚本”，然后就大功告成，你就可以到相应的目录上去找到那个脚本并适当地修它便可便用。另一种方法就是自己手工去写一份建库脚本，这也是这里要见意使用的方法，用记事本编辑如下的内容，并将其保存为文件名任取而后缀名为(*.sql)的SQL脚本，这里保存到E盘根本录下且文件名称为book.sql。</clk></p><p><code>　　Create database book<br />　　datafile 'D:oracleproduct10.1.0oradatabooksystem01.dbf' size 300M reuse autoextend on next 10240Kmaxsize unlimited<br />　　extent management local<br />　　sysaux datafile 'D:oracleproduct10.1.0oradatabooksysaux01.dbf'<br />　　size 120M reuse autoextend on next 10240K maxsize unlimited<br />　　default temporary tablespace temp<br />　　tempfile 'D:oracleproduct10.1.0oradatabooktemp01.dbf' size 20M reuse autoextend on next 640K maxsize unlimited<br />　　undo tablespace "UNDOTBS1" --请注意这里的undo表空间要和参数文件对应<br />　　datafile 'D:oracleproduct10.1.0oradatabookundotbs01.dbf' size 200M reuse autoextend on next 5120K maxsize unlimited<br />　　logfile<br />　　group 1 ('D:oracleproduct10.1.0oradatabookredo01.log') size 10240K,<br />　　group 2 ('D:oracleproduct10.1.0oradatabookredo02.log') size 10240K,<br />　　group 3 ('D:oracleproduct10.1.0oradatabookredo03.log') size 10240K</code></p><p></p><p>　　接着就执行刚建的建库脚本：</p><p>　　SQL&gt;start E:book.sql</p><p>　　8、执行catalog脚步本创建数据字典</p><p>　　SQL&gt;start D:oracleproduct10.1.0db_1rdbmsadmincatalog.sql</p><p>　　9、执行catproc创建package包</p><p>　　SQL&gt;start D:oracleproduct10.1.0db_1rdbmsadmincatproc.sql</p><p>　　10、执行pupbld</p><p>　　在执行pupbld之前要把当前用户(sys)转换成system,即以system账户连接数据库。因为此数据库是刚建的，所以system的口令是系统默认的口令，即manager。你可以在数据库建好以后再来重新设置此账户的口令。</p><p>　　SQL&gt;connect system/manager</p><p>　　SQL&gt;start D:oracleproduct10.1.0db_1sqlplusadminpupbld.sql</p><p>　　11、由初始化参数文件创建spfile文件</p><p>　　SQL&gt;create spfile from pfile;</p><p>　　12、执行scott脚本创建scott模式</p><p>　　SQL&gt;start D:oracleproduct10.1.0db_1rdbmsadminscott.sql</p><p>　　13、把数据库打开到正常状态</p><p>　　SQL&gt;alter database open;</p><p>　　14、以scott连接到数据库(口令为tiger)，测试新建数据库是否可以正常运行</p><p>　　至此，整个数据库就已经建好了。接着你就可以在此数据库上建立自己的账户和表空间啦以及数据库对象，这里就不再作更多地叙述。</p></div></div><!-- 分页 --><!-- 分页 --><img src ="http://www.blogjava.net/toby/aggbug/268220.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-04-29 20:49 <a href="http://www.blogjava.net/toby/archive/2009/04/29/268220.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle中的数据导入和导出</title><link>http://www.blogjava.net/toby/archive/2009/04/15/265841.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Wed, 15 Apr 2009 12:47:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/04/15/265841.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/265841.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/04/15/265841.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/265841.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/265841.html</trackback:ping><description><![CDATA[本文对Oracle数据的导入导出 imp ,exp 两个命令进行了介绍, 并对其相应的参数进行了说明,然后通过一些示例进行演练,加深理解.<br />文章最后对运用这两个命令可能出现的问题(如权限不够,不同oracle版本)进行了探讨,并提出了相应的解决方案;<br />本文部分内容摘录自网络,感谢网友的经验总结;<br /><br /><br />一.说明<br /><br />   oracle 的exp/imp命令用于实现对数据库的导出/导入操作;<br />   exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件;<br />   imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中。<br /><br />二.语法<br /><br />可以通过在命令行输入 imp help=y 获取imp的语法信息:<br />=============================================================================<br />  C:\Documents and Settings\auduser&gt;imp help=y<br /><br />  Import: Release 9.0.1.1.1 - Production on 星期二 5月 20 18:21:57 2008<br /><br />  (c) Copyright 2001 Oracle Corporation.  All rights reserved.<br /><br />  可以通过输入 IMP 命令和您的用户名/口令<br />  后接用户名/口令的命令:<br /><br />  例程: IMP SCOTT/TIGER<br /><br />  或者, 可以通过输入 IMP 命令和各种参数来控制“导入”<br />  按照不同参数。要指定参数，您可以使用关键字:<br /><br />  格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN)<br />  例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N<br />  或 TABLES=(T1: P1,T1: P2)，如果 T1 是分区表<br /><br />  USERID 必须是命令行中的第一个参数。<br /><br />  关键字  说明（默认）        关键字      说明（默认）<br />  --------------------------------------------------------------------------<br />  USERID   用户名/口令           FULL         导入整个文件 (N)<br />  BUFFER   数据缓冲区大小         FROMUSER     所有人用户名列表<br />  FILE     输入文件 (EXPDAT.DMP)    TOUSER       用户名列表<br />  SHOW     只列出文件内容 (N) TABLES      表名列表<br />  IGNORE   忽略创建错误 (N)    RECORDLENGTH  IO 记录的长度<br />  GRANTS  导入权限 (Y)           INCTYPE      增量导入类型<br />  INDEXES 导入索引 (Y)          COMMIT       提交数组插入 (N)<br />  ROWS    导入数据行 (Y)        PARFILE      参数文件名<br />  LOG      屏幕输出的日志文件   CONSTRAINTS  导入限制 (Y)<br />  DESTROY                覆盖表空间数据文件 (N)<br />  INDEXFILE              将表/索引信息写入指定的文件<br />  SKIP_UNUSABLE_INDEXES  跳过不可用索引的维护 (N)<br />  FEEDBACK               每 x 行显示进度 (0)<br />  TOID_NOVALIDATE        跳过指定类型 ID 的验证<br />  FILESIZE               每个转储文件的最大大小<br />  STATISTICS             始终导入预计算的统计信息<br />  RESUMABLE              遇到与空格有关的错误时挂起 (N)<br />  RESUMABLE_NAME         用来标识可恢复语句的文本字符串<br />  RESUMABLE_TIMEOUT      RESUMABLE 的等待时间<br />  COMPILE                编译过程, 程序包和函数 (Y)<br /><br />  下列关键字仅用于可传输的表空间<br />  TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)<br />  TABLESPACES 将要传输到数据库的表空间<br />  DATAFILES 将要传输到数据库的数据文件<br />  TTS_OWNERS 拥有可传输表空间集中数据的用户<br /><br />==============================================<br />同样可以通过输入 exp help=y 获取exp的语法信息<br /><br />  Microsoft Windows XP [版本 5.1.2600]<br />  (C) 版权所有 1985-2001 Microsoft Corp.<br /><br />  C:\Documents and Settings\auduser&gt;exp help=y<br /><br />  Export: Release 9.0.1.1.1 - Production on 星期二 5月 20 18:26:34 2008<br /><br />  (c) Copyright 2001 Oracle Corporation.  All rights reserved.<br /><br /> <br /><br />  通过输入 EXP 命令和用户名/口令，您可以<br />  后接用户名/口令的命令:<br /><br />  例程: EXP SCOTT/TIGER<br /><br />  或者，您也可以通过输入跟有各种参数的 EXP 命令来控制“导出”<br />  按照不同参数。要指定参数，您可以使用关键字:<br /><br />  格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)<br />  例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)<br />  或 TABLES=(T1: P1,T1: P2)，如果 T1 是分区表<br /><br />  USERID 必须是命令行中的第一个参数。<br /><br />  关键字  说明(默认)        关键字      说明(默认)<br />  --------------------------------------------------------------------------<br />  USERID   用户名/口令           FULL         导出整个文件 (N)<br />  BUFFER   数据缓冲区大小         OWNER     所有者用户名列表<br />  FILE       输出文件 (EXPDAT.DMP)  TABLES       表名称列表<br />  COMPRESS   导入到一个区 (Y) RECORDLENGTH IO 记录的长度<br />  GRANTS  导出权限 (Y)           INCTYPE      增量导出类型<br />  INDEXES    导出索引 (Y)         RECORD       跟踪增量导出 (Y)<br />  DIRECT     直接路径 (N)            TRIGGERS     导出触发器 (Y)<br />  LOG        屏幕输出的日志文件  STATISTICS   分析对象 (ESTIMATE)<br />  ROWS    导出数据行 (Y)        PARFILE      参数文件名<br />  CONSISTENT 交叉表一致性    CONSTRAINTS  导出约束条件 (Y)<br /><br />  FEEDBACK             每 x 行显示进度 (0)<br />  FILESIZE             每个转储文件的最大大小<br />  FLASHBACK_SCN        用于回调会话快照的 SCN<br />  FLASHBACK_TIME       用来获得最接近于指定时间的 SCN 的时间<br />  QUERY                用来导出表的子集的选择子句<br />  RESUMABLE            遇到与空格有关的错误时挂起 (N)<br />  RESUMABLE_NAME       用来标识可恢复语句的文本字符串<br />  RESUMABLE_TIMEOUT    RESUMABLE 的等待时间<br />  TTS_FULL_CHECK       对 TTS 执行完全或部分相关性检查<br />  TABLESPACES          要导出的表空间列表<br />  TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)<br />  TEMPLATE 调用 iAS 模式导出的模板名称<br /><br />三.使用示例<br /><br />3.1 数据导出：<br /><br /> 1 将数据库SampleDB完全导出,用户名system 密码manager 导出到E:\SampleDB.dmp中<br /><br />   exp system/manager@TestDB file=E:\sampleDB.dmp full=y<br /><br /> 2 将数据库中system用户与sys用户的表导出<br /><br />   exp system/manager@TestDB file=E:\sampleDB.dmp  owner=(system,sys)<br /><br /> 3 将数据库中的表 TableA,TableB 导出<br /><br />    exp system/manager@TestDB  file=E:\sampleDB.dmp  tables=(TableA,TableB)<br /><br /> 4 将数据库中的表tableA中的字段filed1 值为 "王五" 的数据导出<br /><br />   exp system/manager@TestDB  file=E:\sampleDB.dmp  tables=(tableA)  query=' where filed1='王五'<br /> <br />   如果想对dmp文件进行压缩,可以在上面命令后面 加上 compress=y 来实现。<br /><br />3.2 数据的导入<br /><br /> 1 将备份数据库文件中的数据导入指定的数据库SampleDB 中,如果 SampleDB 已存在该表,则不再导入;<br /><br />   imp system/manager@TEST  file=E:\sampleDB.dmp  full=y  ignore=y<br /> <br /><br /> 2 将d:\daochu.dmp中的表table1 导入<br /><br /> imp system/manager@TEST  file=E:\sampleDB.dmp  tables=(table1)<br /><br />3. 导入一个完整数据库<br /><br /> imp system/manager file=bible_db log=dible_db full=y ignore=y<br /><br />4. 导入一个或一组指定用户所属的全部表、索引和其他对象<br /><br /> imp system/manager file=seapark log=seapark fromuser=seapark imp<br /> system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)<br /><br />5. 将一个用户所属的数据导入另一个用户<br /><br /> imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy<br /> imp system/manager file=tank log=tank fromuser=(seapark,amy)<br /> touser=(seapark1, amy1)<br /><br />6. 导入一个表<br /><br /> imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)<br /><br />7. 从多个文件导入<br /><br /> imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)<br />log=paycheck, filesize=1G full=y<br /><br />8. 使用参数文件<br /><br /> imp system/manager parfile=bible_tables.par<br />bible_tables.par参数文件：<br /> #Import the sample tables used for the Oracle8i Database Administrator's<br />Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import<br />参数文件示例见附录<br /><br /><br />9. 增量导入<br /><br /> imp system./manager inctype= RECTORE FULL=Y  FILE=A<br /><br /> <br />不少情况下要先将表彻底删除，然后导入。<br /> <br /><br /> <br /><br />四.参数说明<br /><br />4.1、8i EXP常用选项<br /> 1、FULL，这个用于导出整个数据库，在ROWS=N一起使用时，可以导出整个数据库的结构。例如：<br /> exp sys file=./db_str.dmp log=./db_str.log full=y rows=n compress=y direct=y<br /> 2、BUFFER和FEEDBACK，在导出比较多的数据时，我会考虑设置这两个参数。例如：<br /> exp new file=yw97_2003.dmp log=yw97_2003_3.log feedback=10000 buffer=100000000 tables=WO4,OK_YT<br /> 3、FILL和LOG，这两个参数分别指定备份的DMP名称和LOG名称，包括文件名和目录，例子见上面。<br /> 需要说明的是，EXP可以直接备份到磁带中，即使用FILE=/dev/rmt0(磁带设备名)，但是一般我们都不这么做，原因有二：一、这样做的速度会慢很多，二、现在一般都是使用磁带库的，不建议直接对磁带进行操作。至于没有使用磁带库的朋友可以考虑和UNIX的TAR结合使用。<br /> 如果你真想使用EXP直接到磁带，你可以参考Metalink文章“EXPORTING TO TAPE ON UNIX SYSTEMS”（文档号：30428.1），该文中有详细解释。<br /> 4、 COMPRESS参数将在导出的同时合并碎块，尽量把数据压缩到initial的EXTENT里，默认是N，一般建议使用。DIRECT参数将告诉 EXP直接读取数据，而不像传统的EXP那样，使用SELECT来读取表中的数据，这样就减少了SQL语句处理过程。一般也建议使用。不过有些情况下 DIRECT参数是无法使用的。<br /> 5、如何使用SYSDBA执行EXP/IMP？<br /> 这是一个很现实的问题，有时候我们需要使用SYSDBA来执行EXP/IMP，如进行传输表空间的EXP/IMP，以及在9i下用SYS用户来执行EXP/IMP时，都需要使用SYSDBA才可。<img src ="http://www.blogjava.net/toby/aggbug/265841.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-04-15 20:47 <a href="http://www.blogjava.net/toby/archive/2009/04/15/265841.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle中各分析函数详解</title><link>http://www.blogjava.net/toby/archive/2009/04/13/265362.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Mon, 13 Apr 2009 13:01:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/04/13/265362.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/265362.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/04/13/265362.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/265362.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/265362.html</trackback:ping><description><![CDATA[
		<p>
				<font color="#0000ff">今天心血来潮对oracle中的分析函数进行备份<br />1.row_number<br /><br />SQL&gt; select ename,sal,deptno,row_number() over(partition by deptno order by sal) c from scott.emp;</font>
		</p>
		<p>
				<font color="#0000ff">ENAME            SAL DEPTNO          C<br />---------- --------- ------ ----------<br />MILLER       1300.00     10          1<br />CLARK        2450.00     10          2<br />KING         5000.00     10          3<br />SMITH         800.00     20          1<br />ADAMS        1100.00     20          2<br />JONES        2975.00     20          3<br />SCOTT        3000.00     20          4<br />FORD         3000.00     20          5<br />JAMES         950.00     30          1<br />MARTIN       1250.00     30          2<br />WARD         1250.00     30          3<br />TURNER       1500.00     30          4<br />ALLEN        1600.00     30          5<br />BLAKE        2850.00     30          6<br /><br />以部门id分组，以sal进行排序。每组的序值是不间断，而且是顺序增长<br /><br />2.rank<br /><br />SQL&gt; select ename,sal,deptno,rank() over(partition by deptno order by sal) c from scott.emp;</font>
		</p>
		<p>
				<font color="#0000ff">ENAME            SAL DEPTNO          C<br />---------- --------- ------ ----------<br />MILLER       1300.00     10          1<br />CLARK        2450.00     10          2<br />KING         5000.00     10          3<br />SMITH         800.00     20          1<br />ADAMS        1100.00     20          2<br />JONES        2975.00     20          3<br />SCOTT        3000.00     20          4<br />FORD         3000.00     20          4<br />JAMES         950.00     30          1<br />MARTIN       1250.00     30          2<br />WARD         1250.00     30          2<br />TURNER       1500.00     30          4<br />ALLEN        1600.00     30          5<br />BLAKE        2850.00     30          6</font>
		</p>
		<p>
				<font color="#0000ff">14 rows selected<br /><br />分析出的结果是跳跃的，如有2个2则下一个是4<br /><br />3.Dense_rank()<br /><br />SQL&gt; select ename,sal,deptno,Dense_rank() over(partition by deptno order by sal) c from scott.emp;</font>
		</p>
		<p>
				<font color="#0000ff">ENAME            SAL DEPTNO          C<br />---------- --------- ------ ----------<br />MILLER       1300.00     10          1<br />CLARK        2450.00     10          2<br />KING         5000.00     10          3<br />SMITH         800.00     20          1<br />ADAMS        1100.00     20          2<br />JONES        2975.00     20          3<br />SCOTT        3000.00     20          4<br />FORD         3000.00     20          4<br />JAMES         950.00     30          1<br />MARTIN       1250.00     30          2<br />WARD         1250.00     30          2<br />TURNER       1500.00     30          3<br />ALLEN        1600.00     30          4<br />BLAKE        2850.00     30          5</font>
		</p>
		<p>
				<font color="#0000ff">14 rows selected<br /><br />分析出的结时有重复的，与上面的区别是。重复后面的分析结果还是顺序增长<br /><br />4.删掉数据库中重复的记录<br /><br />delete from b a where a.rowid &lt;&gt;(select max(b.rowid) from b b where a.a=b.a) ;<br /><br />思想为rowid是不可能重复的，不等于max一个的话，就有一个等于数据被删掉</font>
		</p>
<img src ="http://www.blogjava.net/toby/aggbug/265362.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-04-13 21:01 <a href="http://www.blogjava.net/toby/archive/2009/04/13/265362.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用oracle快照dblink解决数据库表同步问题</title><link>http://www.blogjava.net/toby/archive/2009/04/12/265124.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Sun, 12 Apr 2009 07:48:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/04/12/265124.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/265124.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/04/12/265124.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/265124.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/265124.html</trackback:ping><description><![CDATA[
		<p>--1、在目的数据库上，创建dblink<br />drop public database link dblink_orc92_182;<br />Create public DATABASE LINK dblink_orc92_182 CONNECT TO bst114 IDENTIFIED BY password USING 'orc92_192.168.254.111';<br />--dblink_orc92_182 是dblink_name<br />--bst114 是 username<br />--password 是 password<br />--'orc92_192.168.254.111' 是远程数据库名</p>
		<p>
				<br />--2、在源和目的数据库上创建要同步的表(最好有主键约束,快照才可以快速刷新)<br />drop table test_user;<br />create table test_user(id number(10) primary key,name varchar2(12),age number(3));</p>
		<p>--3、在目的数据库上，测试dblink<br />select * from<a href="mailto:test_user@dblink_orc92_182">test_user@dblink_orc92_182</a>;    //查询的是源数据库的表<br />select * from test_user;</p>
		<p>--4、在源数据库上，创建要同步表的快照日志<br />Create snapshot log on test_user;</p>
		<p>--5、创建快照，在目的数据库上创建快照<br />Create snapshot sn_test_user as select * from<a href="mailto:test_user@dblink_orc92_182">test_user@dblink_orc92_182</a>;</p>
		<p>--6、设置快照刷新时间(只能选择一种刷新方式,推荐使用快速刷新,这样才可以用触发器双向同步)<br />快速刷新<br />Alter snapshot sn_test_user refresh fast Start with sysdate next sysdate with primary key;<br />--oracle马上自动快速刷新，以后不停的刷新,只能在<a onclick="javascript:tagshow(event, '%B2%E2%CA%D4');" href="javascript:;" target="_self"><u><strong>测试</strong></u></a>时使用.真实项目要正确权衡刷新时间.</p>
		<p>完全刷新<br />Alter snapshot sn_test_user refresh complete Start with sysdate+30/24*60*60 next sysdate+30/24*60*60;<br />--oracle自动在30秒后进行第一次完全刷新，以后每隔30秒完全刷新一次</p>
		<p>--7、手动刷新快照,在没有自动刷新的情况下,可以手动刷新快照.<br />手动刷新方式1<br />begin<br />dbms_refresh.refresh('sn_test_user');<br />end;</p>
		<p>手动刷新方式2<br />EXEC DBMS_SNAPSHOT.REFRESH('sn_test_user','F'); //第一个参数是快照名,第二个参数 F 是快速刷新 C 是完全刷新.</p>
		<p>--8.修改会话时间格式<br />ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';</p>
		<p>--9.查看快照最后一次刷新时间<br />SELECT NAME,LAST_REFRESH FROM ALL_SNAPSHOT_REFRESH_TIMES;</p>
		<p>--10.查看快照下次执行时间<br />select last_date,next_date,what from user_jobs order by next_date;</p>
		<p>--11.打印调试信息<br />dbms_output.put_line('use '||'plsql');</p>
		<p>--12.如果你只想单向同步,那么在目的数据库创建以下触发器(当源数据库表改变时,目的数据库表跟着改变,但目的数据库表改变时,源数据库表不改变).<br />create or replace trigger TRI_test_user_AFR<br />after insert or update or delete on sn_test_user<br />for each row<br />begin<br />if deleting then<br />      delete from test_user where id=:old.id;<br />end if;<br />if inserting then<br />      insert into test_user(id,name)<br />      values(:new.id,:new.name);<br />end if;<br />if updating then<br />     update test_user set name=:new.name where id=:old.id;<br />end if;<br />end TRI_test_user_AFR;</p>
		<p>--13.如果你想双向同步,请在源数据库中执行前6步,并在双方都创建以下触发器(当源数据库表改变时,目的数据库表跟着改变,目的数据库表改变时,源数据库表也改变)<br />CREATE OR REPLACE TRIGGER BST114.TRI_TEST_USER_AFR<br />AFTER DELETE OR INSERT OR UPDATE<br />ON BST114.SN_TEST_USER<br />REFERENCING NEW AS NEW OLD AS OLD<br />FOR EACH ROW<br />declare<br />    tmp_id number(10):=-1;<br />begin</p>
		<p>dbms_output.put_line('begin');<br />if inserting then<br />      --select id into tmp_id from test_user where id=:new.id;   <br />      for p in(select id from test_user where id=:new.id)<br />      loop<br />        tmp_id:=p.id;<br />      end loop;<br />     <br />      dbms_output.put_line(tmp_id||'===------------');<br />      if (tmp_id=-1) then<br />          insert into test_user(id,name,age)<br />          values(:new.id,:new.name,:new.age);<br />      end if;<br />end if;</p>
		<p>if updating then<br />     dbms_output.put_line('updated');<br />     for p in(select name,age from test_user where id=:old.id)<br />     loop<br />         if (p.name!=:new.name) or (p.age!=:new.age) then<br />              update test_user set name=:new.name,age=:new.age where id=:old.id;<br />         end if;<br />     end loop;<br />end if;</p>
		<p>if deleting then<br />      dbms_output.put_line('deleted');<br />      delete from test_user where id=:old.id;<br />end if;<br />dbms_output.put_line('end');<br />end TRI_test_user_AFR;<br />--为防止双向同步触发器死循环,所以要在触发器中增加一些判断,阻止死循环.</p>
		<p>--以上同步原理<br />1.首先创建一个dblink,可以访问远程数据库<br />2.在本地创建一个快照,映射远程数据表,当远程数据表有变化时,会反应到快照中.<br />3.由于快照类似于视图表,所以在本地为快照创建一个触发器,当快照有变化时,会触发相应事件.<br />4.在触发器中写同步数据的代码.</p>
		<p>--附:快照刷新时间参数说明<br />一天的秒数=24小时*60分钟*60钞<br />所以要想在30秒后刷新,参数应该这样写 sysdate+30/(24*60*60)<br />1分钟==sysdate+60/(24*60*60)</p>
		<p>一天的分钟数=24小时*60分钟<br />一分钟也可以这样写 sysdate+1/(24*60)<br />30分钟==sysdate+30/(24*60)<br />60分钟==sysdate+60/(24*60)</p>
		<p>以此类推<br />1小时==sysdate+1/24==sysdate+60/(24*60)<br />1天==sysdate+1<br />一个月==sysdate+30<br /></p>
<img src ="http://www.blogjava.net/toby/aggbug/265124.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-04-12 15:48 <a href="http://www.blogjava.net/toby/archive/2009/04/12/265124.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle中字段类型修改</title><link>http://www.blogjava.net/toby/archive/2009/04/12/265112.html</link><dc:creator>tobyxiong</dc:creator><author>tobyxiong</author><pubDate>Sun, 12 Apr 2009 05:57:00 GMT</pubDate><guid>http://www.blogjava.net/toby/archive/2009/04/12/265112.html</guid><wfw:comment>http://www.blogjava.net/toby/comments/265112.html</wfw:comment><comments>http://www.blogjava.net/toby/archive/2009/04/12/265112.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/toby/comments/commentRss/265112.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/toby/services/trackbacks/265112.html</trackback:ping><description><![CDATA[
		<div class="tit">oracle 修改字段类型</div>
		<div class="date">2009-02-02 17:33</div>
		<table style="TABLE-LAYOUT: fixed">
				<tbody>
						<tr>
								<td>
										<div class="cnt" id="blog_text">
												<p>今天公司因为业务需要,修要修改某个字段数据类型有number(5),变为number(5,2)型</p>
												<p>要是没有数据的话直接用以下语句即可</p>
												<p>
														<font color="#ff0000">alter   table tb_test modify permile number(5,2);</font>
												</p>
												<p>但是有数据的话 就不能用上面方法了,</p>
												<p>
														<font color="#ff0000">alter table tb_test add permile_temp number(5,2)</font>
												</p>
												<p>
														<font color="#ff0000">update tb_test set permile_temp=permile;</font>
												</p>
												<p>
														<font color="#ff0000">alter table drop column permile;</font>
												</p>
												<p>
														<font color="#ff0000">alter table test rename column permile_temp to permile;</font>
												</p>
												<p>这种方法会使列名发生变化,而且字段顺序增加 有可能发生行迁移,对应用程序会产生影响</p>
												<p>以下方法是比较好的方法</p>
												<p>不用使列名发生变化 也不会发生表迁移,但这个有个缺点是表要更新两次</p>
												<p>如果数据量较大的话 产生的undo和redo更多 ,前提也是要停机做</p>
												<p>要是不停机的话 ,也可以采用在线重定义方式来做 </p>
												<p>以下是脚本:</p>
												<font color="#ff0000">
														<p>
																<font color="#ff0000">alter table b add ccc varchar2(15);<br />update b set ccc=cc;<br />alter table b drop column cc;<br />alter table b rename column ccc to cc; <br />update b set cc='0000'||cc;<br />select * from b;<br />update b set cc='2'||cc;<br />update b set cc=substr(cc,1,1)||substr(cc,-3);</font>
																<br />
																<br />给表添加约束<br />alter table parent<br />add constraint test primary key(name)</p>
												</font>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/toby/aggbug/265112.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/toby/" target="_blank">tobyxiong</a> 2009-04-12 13:57 <a href="http://www.blogjava.net/toby/archive/2009/04/12/265112.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>