﻿<?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-面对开源的世界..-随笔分类-Oracle</title><link>http://www.blogjava.net/cheneyfree/category/24545.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 11 Apr 2010 07:18:44 GMT</lastBuildDate><pubDate>Sun, 11 Apr 2010 07:18:44 GMT</pubDate><ttl>60</ttl><item><title>Oracle数据库常用的操作命令</title><link>http://www.blogjava.net/cheneyfree/archive/2009/12/26/307367.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Sat, 26 Dec 2009 07:54:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2009/12/26/307367.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/307367.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2009/12/26/307367.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/307367.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/307367.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Oracle数据库常用的操作命令<br><br>常用的数据字典表:tab，user_tables,user_objects,user_catalog,user_constraints,user_cons_columns<br>1、视图在所有存储过程(数据字典表)中查询是否有某一字符串的ＳＱＬ语句<br>    select * from all_source where type='PROCEDURE' and lower(text) like '%student %'<br>      select * from user_source where lower(text) like '%dbms_%'<br>      select   tname,cname,coltype,width from col where tname='STUDENT'&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2009/12/26/307367.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/307367.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2009-12-26 15:54 <a href="http://www.blogjava.net/cheneyfree/archive/2009/12/26/307367.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle的imp脚本</title><link>http://www.blogjava.net/cheneyfree/archive/2009/09/14/295052.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Mon, 14 Sep 2009 11:22:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2009/09/14/295052.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/295052.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2009/09/14/295052.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/295052.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/295052.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Oracle的导入实用程序(Import utility)允许从数据库提取数据，并且将数据写入操作系统文件。<br>imp使用的基本格式：imp[username[/password[@service]]]，以下例举imp常用用法。<br>1. 获取帮助 <br> imp help=y<br>2. 导入一个完整数据库<br> imp system/manager file=bible_db log=dible_db full=y ignore=y<br>3. 导入一个或一组指定用户所属的全部表、索引和其他对象<br> imp system/manager file=seapark log=seapark fromuser=seapark imp  system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2009/09/14/295052.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/295052.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2009-09-14 19:22 <a href="http://www.blogjava.net/cheneyfree/archive/2009/09/14/295052.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle 字符集的参数nls_lang</title><link>http://www.blogjava.net/cheneyfree/archive/2009/07/17/287202.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Fri, 17 Jul 2009 13:07:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2009/07/17/287202.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/287202.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2009/07/17/287202.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/287202.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/287202.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: oracle 字符集的参数 nls_lang<br><br>nls_lang<br>1. NLS_LANG 参数组成<br>NLS_LANG参数由以下部分组成:<br>NLS_LANG=<Language>_<Territory>.<Clients Characterset><br>NLS_LANG各部分含义如下:<br>LANGUAGE指定:<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2009/07/17/287202.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/287202.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2009-07-17 21:07 <a href="http://www.blogjava.net/cheneyfree/archive/2009/07/17/287202.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQLServer和Oracle常用函数对比</title><link>http://www.blogjava.net/cheneyfree/archive/2009/03/19/260903.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Thu, 19 Mar 2009 14:00:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2009/03/19/260903.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/260903.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2009/03/19/260903.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/260903.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/260903.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 常用的SQL函数，借鉴一些，补充一些。虽然现在一直在Oracle下开发，实践中SQLServer也接触过些许。将以前的一些记忆整理出来，先贴为快。&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2009/03/19/260903.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/260903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2009-03-19 22:00 <a href="http://www.blogjava.net/cheneyfree/archive/2009/03/19/260903.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>各个数据库的分页算法</title><link>http://www.blogjava.net/cheneyfree/archive/2009/01/30/252759.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Fri, 30 Jan 2009 12:36:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2009/01/30/252759.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/252759.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2009/01/30/252759.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/252759.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/252759.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1.SQL SERVER  是用先逆序再正序的方法<br><br>select top 3 * from (select top 9 * from mvc_book order by bid) as s order by s.bid desc [第6,5,4条]<br><br>select * from (select top 3 * from (select top 6 * from mvc_book order by bid) as s order by s.bid desc) as s1 order by s1.bid  [第4,5,6条]<br><br>select top 6 * from mvc_book where (bid not in (select top 2 bid from mvc_book))[第3,4,5,6,7,8条]<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2009/01/30/252759.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/252759.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2009-01-30 20:36 <a href="http://www.blogjava.net/cheneyfree/archive/2009/01/30/252759.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDBC事务问题</title><link>http://www.blogjava.net/cheneyfree/archive/2008/08/31/225950.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Sun, 31 Aug 2008 13:19:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2008/08/31/225950.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/225950.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2008/08/31/225950.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/225950.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/225950.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 事务，在管理类系统中是一个非常重要的概念和技术点，几乎涉及到数据的业务都会考虑事务的操作性。现在主流的框架中有很多事务管理器已经帮我们做好了底层的支持，我们关心的是业务层面的事务逻辑控制，但很多时候我们也应该清楚事务在jdbc层面控制的思路和原理，这样才能更好的帮助我们来理解它并应用它。例如：为了解决与“多个线程请求相同数据”相关的问题，事务之间用锁相互隔开。多数主流的数据库支持不同类型的锁；因此，JDBC API 支持不同类型的事务，它们由 Connection 对象指派或确定...&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2008/08/31/225950.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/225950.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2008-08-31 21:19 <a href="http://www.blogjava.net/cheneyfree/archive/2008/08/31/225950.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PLSQL中显式Cursor、隐式Cursor、动态Ref Cursor</title><link>http://www.blogjava.net/cheneyfree/archive/2008/07/31/219138.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Thu, 31 Jul 2008 11:04:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2008/07/31/219138.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/219138.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2008/07/31/219138.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/219138.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/219138.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: PLSQL开发过程中，对于集合数据的处理，在sql的批量insert，update，delete操作下，我们还会经常用到游标。<br>对于游标的用法，用过的朋友都比较熟悉。此文中主要是对其分类以及各自用法做个小结。对于动态游标，静态游标各自的特点以及应用场景以及什么情况下用什么类型游标最优等等话题进行讨论和分析。&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2008/07/31/219138.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/219138.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2008-07-31 19:04 <a href="http://www.blogjava.net/cheneyfree/archive/2008/07/31/219138.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PLSQL开发笔记和小结</title><link>http://www.blogjava.net/cheneyfree/archive/2008/07/19/216090.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Sat, 19 Jul 2008 13:38:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2008/07/19/216090.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/216090.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2008/07/19/216090.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/216090.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/216090.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: wap项目需要和管理平台对接，近期一直在编写接口机存储过程，流程涵盖我们平台的大部分对象（SP，业务，产品，套餐，以及map关系表：产品与套餐，业务与业务类别，业务与栏目，业务类别与栏目等等）。于是趁开发联调完毕之际，总结一下以前写过的过程以及编写过程中需要的一些注意点，同时也参考CSDN上大牛们总结的一些精髓并吸收之，呵。&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2008/07/19/216090.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/216090.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2008-07-19 21:38 <a href="http://www.blogjava.net/cheneyfree/archive/2008/07/19/216090.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DBA在系统设计和开发中的工作范畴</title><link>http://www.blogjava.net/cheneyfree/archive/2008/06/29/211439.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Sun, 29 Jun 2008 00:38:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2008/06/29/211439.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/211439.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2008/06/29/211439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/211439.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/211439.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 许多应用系统的性能并不理想，或者系统数据会出现一些难以重现的奇怪的错误，这些问题（尤其是性能问题）有时并不是在系统初期就会体现出来，但是随着系统的运行、数据的增多而逐步变得难以解决，给系统后期的功能扩展和用户使用上带来了不少麻烦，造成这些问题的原因，往往体现了一点：开发、设计这些系统的人不了解数据库！&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2008/06/29/211439.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/211439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2008-06-29 08:38 <a href="http://www.blogjava.net/cheneyfree/archive/2008/06/29/211439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle 的SQL*LOADER</title><link>http://www.blogjava.net/cheneyfree/archive/2008/05/08/199161.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Thu, 08 May 2008 02:41:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2008/05/08/199161.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/199161.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2008/05/08/199161.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/199161.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/199161.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Oracle 的SQL*LOADER可以将外部数据加载到数据库表中。下面是SQL*LOADER的基本特点：<br>1.1  功能<br>1）能装入不同数据类型文件及多个数据文件的数据<br>2）可装入固定格式，自由定界以及可度长格式的数据<br>3）可以装入二进制，压缩十进制数据<br>4）一次可对多个表装入数据<br>5）连接多个物理记录装到一个记录中<br>6）对一单记录分解再装入到表中&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2008/05/08/199161.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/199161.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2008-05-08 10:41 <a href="http://www.blogjava.net/cheneyfree/archive/2008/05/08/199161.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE Sequence</title><link>http://www.blogjava.net/cheneyfree/archive/2008/04/17/193851.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Thu, 17 Apr 2008 11:39:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2008/04/17/193851.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/193851.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2008/04/17/193851.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/193851.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/193851.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Sequence是数据库系统按照一定规则自动增加的数字序列。这个序列一般作为代理主键（因为不会重复），没有其他任何意义。<br>Sequence是数据库系统的特性，有的数据库有Sequence，有的没有。比如Oracle、DB2、PostgreSQL数据库有Sequence，MySQL、SQL Server、Sybase等数据库没有Sequence。&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2008/04/17/193851.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/193851.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2008-04-17 19:39 <a href="http://www.blogjava.net/cheneyfree/archive/2008/04/17/193851.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sqlplus命令收集  </title><link>http://www.blogjava.net/cheneyfree/archive/2008/03/07/184550.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Fri, 07 Mar 2008 09:00:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2008/03/07/184550.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/184550.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2008/03/07/184550.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/184550.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/184550.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中，可以运行sql*plus命令与sql*plus语句。<br><br>我们通常所说的DML、DDL、DCL语句都是sql*plus语句，它们执行完后，都可以保存在一个被称为sql buffer的内存区域中，并且只能保存一条最近执行的sql语句，我们可以对保存在sql buffer中的sql 语句进行修改，然后再次执行，sql*plus一般都与数据库打交道。 除了sql*plus语句，在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后，不保存在sql buffer的内存区域中，它们一般用来对输出的结果进行格式化显示，以便于制作报表。 <br><br>下面就介绍一下一些常用的sql*plus命令：&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2008/03/07/184550.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/184550.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2008-03-07 17:00 <a href="http://www.blogjava.net/cheneyfree/archive/2008/03/07/184550.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle的悲观锁和乐观锁</title><link>http://www.blogjava.net/cheneyfree/archive/2008/01/25/177773.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Fri, 25 Jan 2008 07:40:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2008/01/25/177773.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/177773.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2008/01/25/177773.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/177773.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/177773.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 为了得到最大的性能，一般数据库都有并发机制，不过带来的问题就是数据访问的冲突。为了解决这个问题，大多数数据库用的方法就是数据的锁定。<br>数据的锁定分为两种方法，第一种叫做悲观锁，第二种叫做乐观锁。什么叫悲观锁呢，悲观锁顾名思义，就是对数据的冲突采取一种悲观的态度，也就是说假设...<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2008/01/25/177773.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/177773.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2008-01-25 15:40 <a href="http://www.blogjava.net/cheneyfree/archive/2008/01/25/177773.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Like SQL语句的优化</title><link>http://www.blogjava.net/cheneyfree/archive/2008/01/23/177299.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Wed, 23 Jan 2008 07:58:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2008/01/23/177299.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/177299.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2008/01/23/177299.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/177299.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/177299.html</trackback:ping><description><![CDATA[<p>Like SQL语句的优化的一个小测试</p>
<p>1.尽量不要使用 like '%..%' </p>
<p>2.对于 like '..%..' (不以 % 开头)，Oracle可以应用 colunm上的index</p>
<p>3.对于 like '%...' 的 (不以 % 结尾)，可以利用reverse + function index 的形式，变化成 like '..%'</p>
<p>具体的测试流程： (测试工具：PLSQL Developer)</p>
<p><br />
<strong>[1] '建测试表和Index，注意，重点在于带reverse的function index。同时，一定要使用CBO才行。</strong></p>
<p>已连接到 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 <br />
已连接为 zxdbm_ismp</p>
<p>SQL&gt; select reverse('123') from dual;</p>
<p>REVERSE('123')<br />
--------------<br />
321</p>
<p>SQL&gt; create table test_like as select object_id,object_name from dba_objects; </p>
<p>Table created.</p>
<p>SQL&gt; create index test_like_name on test_like(object_name);</p>
<p>Index created.</p>
<p>SQL&gt; create index test_like_name_reverse on test_like(reverse(object_name));&nbsp; <span style="color: #ff6600">--建反向索引</span></p>
<p>Index created.</p>
<p>SQL&gt; analyze table test_like compute statistics for table for all indexes;</p>
<p>Table analyzed. </p>
<p>SQL&gt; set autotrace trace exp</p>
<p>&nbsp;</p>
<p><strong>[2] '常量开头的like , 会利用index ，没问题&#8230;&#8230; '</strong></p>
<p>SQL&gt; select * from test_like where object_name like 'AS%';</p>
<p>Execution Plan</p>
<p>----------------------------------------------------------</p>
<p>0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=655 Bytes=15720)</p>
<p>1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST_LIKE' (Cost=2 Card=655Bytes=15720)</p>
<p>2 1 INDEX (RANGE SCAN) OF 'TEST_LIKE__NAME' (NON-UNIQUE) (Cost=2 Card=118)</p>
<p>&nbsp;</p>
<p><strong>[3] '开头和结尾都是 % ,对不起，很难优化'</strong></p>
<p>SQL&gt; select * from test_like where object_name like '%%';</p>
<p><br />
Execution Plan</p>
<p>----------------------------------------------------------</p>
<p>0 SELECT STATEMENT Optimizer=CHOOSE (Cost=6 Card=655 Bytes=15720)</p>
<p>1 0 TABLE ACCESS (FULL) OF 'TEST_LIKE' (Cost=6 Card=655 ytes=15720)</p>
<p>&nbsp;</p>
<p><strong>[4] '以常量结束，直接写的时候是不能应用index的'</strong></p>
<p>SQL&gt; select * from test_like where object_name like '%S';</p>
<p>Execution Plan</p>
<p>----------------------------------------------------------</p>
<p>0 SELECT STATEMENT Optimizer=CHOOSE (Cost=6 Card=655 Bytes=15720)</p>
<p>1 0 TABLE ACCESS (FULL) OF 'TEST_LIKE' (Cost=6 Card=655 Bytes=15720)</p>
<p>&nbsp;</p>
<p><strong>[5] '以常量结束的，加个reverse 函数，又可以用上index了'(需要反向索引的支持)</strong></p>
<p>SQL&gt; select * from test_like where reverse(object_name)like reverse('%AS');</p>
<p>Execution Plan</p>
<p>----------------------------------------------------------</p>
<p>0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=655 Bytes=15720)</p>
<p>1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST_LIKE' (Cost=2 Card=655 Bytes=15720)</p>
<p>2 1 INDEX (RANGE SCAN) OF 'TEST_LIKE__NAME_REVERSE' (NON-UNIQUE) (Cost=2 Card=118)<br />
<br />
<br />
<br />
</p>
转：http://rollingpig.itpub.net/category/81/30081
<img src ="http://www.blogjava.net/cheneyfree/aggbug/177299.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2008-01-23 15:58 <a href="http://www.blogjava.net/cheneyfree/archive/2008/01/23/177299.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE批量更新三种方法比较</title><link>http://www.blogjava.net/cheneyfree/archive/2007/12/28/171310.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Fri, 28 Dec 2007 12:11:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2007/12/28/171310.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/171310.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2007/12/28/171310.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/171310.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/171310.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:  昨天在网上看到一篇关于大数据量下的批量update操作的总结文章，写得很好，在此传载，和大家共享下。<br> <br> 在大型的数据库应用中，我们经常会有针对表与表之间的关键建进行字段更新，那么在这个时候，我们就不能写简单的update来实现更新操作，而要针对具体的数据量来进行批量的update,下面几个例子是常用的SQL,将其做个对比，欢迎大家提出更好更高效的SQL实现。&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2007/12/28/171310.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/171310.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2007-12-28 20:11 <a href="http://www.blogjava.net/cheneyfree/archive/2007/12/28/171310.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle中的动态SQL</title><link>http://www.blogjava.net/cheneyfree/archive/2007/12/17/168272.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Mon, 17 Dec 2007 09:22:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2007/12/17/168272.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/168272.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2007/12/17/168272.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/168272.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/168272.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一般的PL/SQL程序设计中，在DML和事务控制的语句中可以直接使用SQL，但是DDL语句及系统控制语句却不能在PL/SQL中直接使用，要想实现在PL/SQL中使用DDL语句及系统控制语句，可以通过使用动态SQL来实现。&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2007/12/17/168272.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/168272.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2007-12-17 17:22 <a href="http://www.blogjava.net/cheneyfree/archive/2007/12/17/168272.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle中的rownum和rowid</title><link>http://www.blogjava.net/cheneyfree/archive/2007/12/11/167022.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Tue, 11 Dec 2007 11:21:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2007/12/11/167022.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/167022.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2007/12/11/167022.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/167022.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/167022.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 对于 Oracle 的 rownum 问题，很多资料都说不支持>,>=,=,between...and，只能用以上符号(<、<=、!=)，并非说用>,>=,=,between..and 时会提示SQL语法错误，而是经常是查不出一条记录来，还会出现似乎是莫名其妙的结果来，其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇。<br><br>rowid与rownum 虽都被称为伪列，但它们的存在方式是不一样的，rowid 可以说是物理存在的，表示记录在表空间中的唯一位置ID，在DB中是唯一的。只要记录没被搬动过，rowid是不变的。rowid 相对于表来说又像表中的一般列，所以以 rowid 为条件就不会有rownum那些莫名其妙的结果出现。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2007/12/11/167022.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/167022.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2007-12-11 19:21 <a href="http://www.blogjava.net/cheneyfree/archive/2007/12/11/167022.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle字符集问题</title><link>http://www.blogjava.net/cheneyfree/archive/2007/12/05/165634.html</link><dc:creator>cheng</dc:creator><author>cheng</author><pubDate>Wed, 05 Dec 2007 11:54:00 GMT</pubDate><guid>http://www.blogjava.net/cheneyfree/archive/2007/12/05/165634.html</guid><wfw:comment>http://www.blogjava.net/cheneyfree/comments/165634.html</wfw:comment><comments>http://www.blogjava.net/cheneyfree/archive/2007/12/05/165634.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cheneyfree/comments/commentRss/165634.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cheneyfree/services/trackbacks/165634.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 对于Oracle字符集问题，出差期间在测试csp项目时候遇到过字符编码的问题．<br>具体情况:Oracle客户端字符编码与服务器端不一致，导致用PL/SQL连数据库时select表数据出现乱码情况．<br>部署环境：客户端是windows，其上安装pl/sql，服务器端为suse linux其上部署Oracle服务器端 .<br>后经过分析，定位到了winwods注册表中的NLS_LANG键值的编码集的原因．<br>后网上搜寻相关文章，觉得这篇文章写得总结性比较强，于是在此传载，和大家分享下．&nbsp;&nbsp;<a href='http://www.blogjava.net/cheneyfree/archive/2007/12/05/165634.html'>阅读全文</a><img src ="http://www.blogjava.net/cheneyfree/aggbug/165634.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cheneyfree/" target="_blank">cheng</a> 2007-12-05 19:54 <a href="http://www.blogjava.net/cheneyfree/archive/2007/12/05/165634.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>