<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>HelloDBA</title>
    <link>http://www.hellodba.com/blog/index.php</link>
    <description><![CDATA[--- 结束 ---]]></description>
    <copyright>Copyright 2009, Fuyuncat</copyright>
    <managingEditor>Fuyuncat</managingEditor>
    <language>zh-CN</language>
    <generator>HelloDBA</generator>
    <item>
      <title><![CDATA[偷梁换柱——极端情况下的数据拯救（二）]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=211&amp;lang=cn</link>
      <description><![CDATA[这个数据拯救的测试中，环境更加复杂：旧数据库异常关闭；旧数据库仅剩下三个数据文件，其中两个属于系统表空间且文件号不连续，其它文件，诸如控制文件、在线日志文件、UNDO表空间文件、临时表空间及其它数据文件都已丢失。因此在数据恢复过程中也遇到更多的问题。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=211&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 20 Mar 2013 05:02:15 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=211&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Rescue data in the worst situation (2)]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=211&amp;lang=en</link>
      <description><![CDATA[In this case, the situation is more complicated. It's an Oracle 10.2.0.1 database running in Linux. The database was shutdown abnormally; There are only 3 data files can be used, 2 of them are system files, whose file IDs are not in sequence; the other one is the data file contain the data to be rescued. The control files, redo logs, undo files, temp files and other data files are lost. During this process, I encoutered more problems, but I work it out finally.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=211&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 20 Mar 2013 05:02:15 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=211&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[偷梁换柱——极端情况下的数据拯救（一）]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=210&amp;lang=cn</link>
      <description><![CDATA[要保证数据安全，需要做好完整的数据备份恢复计划及容灾方案。在实际环境中，还是有很多数据库环境没有做到这些，并且出现一些灾难性的错误，例如Online Redo或者控制文件等重要文件损坏或丢失。发生这种错误时，往往常规的恢复手段无法找回数据，可能需要借助隐含参数、BBED甚至Dul工具进行数据挽救。那么我们就面临这样的问题：在什么样的最极端情况下，我们还能挽救回数据呢？理论上讲，我们的数据包含两个最基本的部分：即数据定义（也就是元数据）部分及数据主体部分。我们的用户数据存储在相应表空间的数据文件当中，而元数据部分则存储在系统表空间的数据文件当中。那么，假如进存在系统表空间及重要数据文件（而非所有数据文件）的情况下还有希望恢复数据吗？当然，这里不讨论使用Dul的方式进行回复。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=210&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 19 Mar 2013 09:45:41 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=210&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Rescue data in the worst situation (1)]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=210&amp;lang=en</link>
      <description><![CDATA[To guarantee the safety of our data, we need to prepare a good backup/restore plan as well as Disaster Recovery solutions. However, for some reasons, many database systems are not maintained very well, and may encounter some fatal issues, e.g. Control files and Online REDO log fils are lost. In such situation, we need use some un-normal methods, such as hidden parameters, BBED and even Dul, to rescue the data. Now, my question is that, what is the worst situation having hope to rescue data. Theoretically, the data is comprised 2 important parts, data definition (also known as meta data) and data records. The data records are stored in the user data files, and the meta data is stored in system data files. Let's say, if there are only system files and key user data files (not all of data files) are un-corrupted, is it possible to rescue the data? Of course, we are not discussing using Dul to rescue the data.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=210&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 19 Mar 2013 09:45:41 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=210&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[深入分析Buffer Cache管理方法 --- 构建可查询的Buffer Cache Chain信息]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=209&amp;lang=cn</link>
      <description><![CDATA[Buffer Cache是Oracle的内存架构体系中相当重要的一个部分，用于缓存从数据文件上读取的数据块，因而对数据库的性能有相当大的影响。为了能使这块内存能对性能提高最大化，Oracle采用的是LRU算法来管理Buffer Cache中的内存块的分配和释放。关于LRU算法，大多数读者都已经不是很陌生，Oracle的官方文档和其他书籍、文章都有做描述，包括用图解的方式对其作过描述。但是，在一个实际的数据库系统中，我们很难判断出某个数据块处在替换链表中的具体位置（可以system event打印出整个链表到跟踪文件中，但是这个方法比较低效，且可读性不强）。我们这个视图就是用于判断内存块在替换链表、hash链表中的位置以及其他相关信息。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=209&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 06 Feb 2013 06:10:11 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=209&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Understand Buffer Cache in further --- Build up queryable Buffer Cache Chain data]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=209&amp;lang=en</link>
      <description><![CDATA[Buffer Cache is an important part of Oracle memory, it caches the data block read from data files. Hence, it impacts the performance very much. To improve performance using this limited resource, Oracle adopts LRU algorithm to manage the buffer block allocation and deallocation. LRU algorithm is quite familiar to us, because it has been explained in Oracle online document and other books very well. However, it's not easy to identify the postion of a buffer block in the buffer chain (although we can use oradebug to print a buffer chain to a trace file, it's little bit complicated and hard to read). In this book, I created the view v_bufheaders to show the position in the buffer chain and other information of the buffer block.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=209&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 06 Feb 2013 06:10:11 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=209&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL提示含义与示例 --- 内容索引]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=208&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=208&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 16 Jan 2013 00:38:03 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=208&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints --- Contents]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=208&amp;lang=en</link>
      <description><![CDATA[SQL Hint is one of most important approaches to change the activity of optimizer and SQL execution, it’s also pretty important for SQL tuning. For instance, HINT is a part of the SQL Profiler advised by SQL Tuning Advisor. In each Oracle version, corresponding to the SQL features changes, new hints will be introduced, and old hints may be obsolete.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=208&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 16 Jan 2013 00:38:03 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=208&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》勘误表]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=207&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书勘误表]]></description>
      <category>产品</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=207&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Fri, 11 Jan 2013 22:21:25 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=207&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Erratum of "Oracle SQL Optimizing and Tuning Technologies"]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=207&amp;lang=en</link>
      <description><![CDATA[Erratum of "Oracle SQL Optimizing and Tuning Technologies"]]></description>
      <category>产品</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=207&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Fri, 11 Jan 2013 22:21:25 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=207&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》附录：SQL提示]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=206&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。]]></description>
      <category>产品</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=206&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 05:31:28 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=206&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=206&amp;lang=en</link>
      <description><![CDATA[To descript and demonstrate the usage of Oracle SQL Hints.]]></description>
      <category>产品</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=206&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 05:31:28 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=206&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL提示含义与示例 --- 其它提示]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=205&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。
其它提示]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=205&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 05:23:46 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=205&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints --- Other Hints]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=205&amp;lang=en</link>
      <description><![CDATA[To descript and demonstrate the usage of Oracle SQL Hints.
Other Hints]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=205&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 05:23:46 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=205&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL提示含义与示例 --- 模型化语句查询和分区提示]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=204&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。
模型化语句查询和分区提示]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=204&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 05:18:21 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=204&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints --- Model Query And Partition Hints]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=204&amp;lang=en</link>
      <description><![CDATA[To descript and demonstrate the usage of Oracle SQL Hints.
Model Query And Partition Hints]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=204&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 05:18:21 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=204&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL提示含义与示例 --- 分布式查询和并行提示]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=203&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。
分布式查询和并行提示]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=203&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 05:14:54 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=203&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints --- Distributed Query And Parallel Query Hints]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=203&amp;lang=en</link>
      <description><![CDATA[To descript and demonstrate the usage of Oracle SQL Hints.
Distributed Query And Parallel Query Hints]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=203&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 05:14:54 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=203&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL提示含义与示例 --- 层次查询和XML查询提示]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=202&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。
层次查询和XML查询提示]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=202&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 05:12:05 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=202&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints --- Hierarchy Query And XML Query Hints]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=202&amp;lang=en</link>
      <description><![CDATA[To descript and demonstrate the usage of Oracle SQL Hints.
Hierarchy Query And XML Query Hints]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=202&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 05:12:05 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=202&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL提示含义与示例 --- 语句运行和数据操作提示]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=201&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。
语句运行和数据操作提示]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=201&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 05:08:05 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=201&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints --- Run Time And Data Maniplulation Hints]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=201&amp;lang=en</link>
      <description><![CDATA[To descript and demonstrate the usage of Oracle SQL Hints.
Running Time And Data Maniplulation Hints]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=201&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 05:08:05 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=201&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL提示含义与示例 --- 统计数据和优化器提示]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=200&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。
统计数据和优化器提示]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=200&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 04:57:59 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=200&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints --- Statistics Data And Optimizer Hints]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=200&amp;lang=en</link>
      <description><![CDATA[To descript and demonstrate the usage of Oracle SQL Hints.
Statistics Data And Optimizer Hints]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=200&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 04:57:59 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=200&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL提示含义与示例 --- 查询转换提示]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=199&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。
查询转换提示]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=199&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 04:15:21 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=199&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints --- Quert Transformation Hints]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=199&amp;lang=en</link>
      <description><![CDATA[To descript and demonstrate the usage of Oracle SQL Hints.
Query Transformation]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=199&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 04:15:21 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=199&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL提示含义与示例 --- 概要数据提示]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=198&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。
概要数据提示]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=198&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 04:12:37 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=198&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints --- Outline Data Hints]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=198&amp;lang=en</link>
      <description><![CDATA[To descript and demonstrate the usage of Oracle SQL Hints.
Outline Data Hints]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=198&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 04:12:37 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=198&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL提示含义与示例 --- 关联提示]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=197&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。
关联提示]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=197&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 04:09:09 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=197&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints --- Join Hints]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=197&amp;lang=en</link>
      <description><![CDATA[To descript and demonstrate the usage of Oracle SQL Hints.
Join Hints]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=197&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 04:09:09 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=197&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL提示含义与示例 --- 访问路径提示]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=196&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。
访问路径提示]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=196&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 04:01:57 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=196&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints --- Access Path Hints]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=196&amp;lang=en</link>
      <description><![CDATA[To descript and demonstrate the usage of Oracle SQL Hints.
Access Path Hints]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=196&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 04:01:57 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=196&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL提示含义与示例]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=195&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析：Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充，帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。
概述部分。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=195&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 03:42:16 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=195&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle SQL Hints]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=195&amp;lang=en</link>
      <description><![CDATA[To descript and demonstrate the usage of Oracle SQL Hints.
Abstaction]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=195&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 08 Jan 2013 03:42:16 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=195&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[《Oracle 高性能SQL引擎剖析:SQL优化与调优机制详解》随书脚本]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=194&amp;lang=cn</link>
      <description><![CDATA[《Oracle 高性能SQL引擎剖析:SQL优化与调优机制详解》随书脚本]]></description>
      <category>分享</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=194&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Mon, 07 Jan 2013 00:28:01 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=194&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Scripts of "Oracle SQL Optimizing and Tuning Technologies"]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=194&amp;lang=en</link>
      <description><![CDATA[Scripts of "Oracle SQL Optimizing and Tuning Technologies"]]></description>
      <category>分享</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=194&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Mon, 07 Jan 2013 00:28:01 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=194&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Coming Soon ...]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=193&amp;lang=en</link>
      <description><![CDATA[Contents of "Oracle SQL Optimizing and Tuning Technologies", Chinese Version.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=193&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Sun, 30 Sep 2012 01:31:02 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=193&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[SQL优化案例：EXP的优化]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=192&amp;lang=cn</link>
      <description><![CDATA[一个简单案例，关于如何优化EXP操作。]]></description>
      <category>案例</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=192&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 21 Aug 2012 03:33:33 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=192&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[SQL Tuning case --- EXP tuning]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=192&amp;lang=en</link>
      <description><![CDATA[A case about tuning EXP command generated SQL.]]></description>
      <category>案例</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=192&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 21 Aug 2012 03:33:33 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=192&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Fy_Recover_Data ———— 用于数据恢复的PLSQL包]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=191&amp;lang=cn</link>
      <description><![CDATA[Fy_Recover_Data是利用Oracle表扫描机制、数据嫁接机制恢复TRUNCATE或者损坏数据的工具包。由纯PLSQL编写。]]></description>
      <category/>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=191&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 14 Aug 2012 03:56:53 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=191&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Fy_Recover_Data --- A PLSQL package to recover (Truncated) data]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=191&amp;lang=en</link>
      <description><![CDATA[Fy_Recover_Data is a tool utilizing transplant technology and Table Scan mechanism to recover data of truncated or damaged table. Implemented by PLSQL.]]></description>
      <category/>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=191&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 14 Aug 2012 03:56:53 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=191&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[移花接木————利用Oracle表扫描机制恢复被Truncate的数据]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=190&amp;lang=cn</link>
      <description><![CDATA[本文介绍了如何将被TRUNCATE的数据块内容嫁接到已格式化的傀儡对象上，从而利用Oracle自身的表扫描机制恢复数据。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=190&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 14 Aug 2012 01:59:34 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=190&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Recover Truncated Data utilizing PLSQL]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=190&amp;lang=en</link>
      <description><![CDATA[Introduce a method how to recover truncated data utilzing PLSQL. This program transplant the truncated data block content to a dummy table, then utilize Table Scan to recover the lost data.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=190&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 14 Aug 2012 01:59:34 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=190&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[一个改善含有ROWNUM条件语句性能的案例]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=189&amp;lang=cn</link>
      <description><![CDATA[一个对含有ROWNUM和COUNT的语句的调优的简单案例。]]></description>
      <category>案例</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=189&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 01 Aug 2012 09:22:02 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=189&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[A SQL Tuning case to improve performance of SQL with ROWNUM]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=189&amp;lang=en</link>
      <description><![CDATA[A simple case to tune a SQL with ROWNUM and aggegation function involved.]]></description>
      <category>案例</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=189&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 01 Aug 2012 09:22:02 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=189&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[OraTracer升级]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=188&amp;lang=cn</link>
      <description><![CDATA[OraTracer 升级]]></description>
      <category>下载</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=188&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Fri, 29 Jun 2012 10:12:51 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=188&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[OraTracer Upgrade]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=188&amp;lang=en</link>
      <description><![CDATA[OraTracer Upgrade]]></description>
      <category>下载</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=188&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Fri, 29 Jun 2012 10:12:51 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=188&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle 11g 直接IO自动调节]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=187&amp;lang=cn</link>
      <description><![CDATA[通常来说，直接IO的效率比读入缓存的效率更高，因为它不需要分配内存。在11g中，Oracle有了一个新的特性————直接IO自动调节。它可以基于对象大小、Buffer Cache的大小等条件自动决定是否直接读取数据块。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=187&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 04 Jan 2012 05:25:31 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=187&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle 11g Direct IO Auto Tune]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=187&amp;lang=en</link>
      <description><![CDATA[Generally, Direct IO faster than Read into Cache because it does not require to allocate memory. In 11g, Oracle intruduced a new feature --- Direct IO Auto Tuning --- to improve performance of reading/writing large size objects. It will determine whether to read data blocks directly from disk bypassing buffer cache or not, basing on the size of object and size of buffer cache.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=187&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 04 Jan 2012 05:25:31 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=187&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[小表临界值测试]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=186&amp;lang=cn</link>
      <description><![CDATA[我们知道，参数"_small_table_threshold"决定了一个表是否是小表。对于大表而言，在LRU算法中，从其读取的数据块会被放置在LRU链表上不同于小表数据块的位置；而在执行一些大数据量的操作时，如并行查询、直接载入等，大表的数据块是绕过缓存直接从磁盘读取的。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=186&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Thu, 29 Dec 2011 08:53:12 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=186&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Test Around Small Table Threshold]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=186&amp;lang=en</link>
      <description><![CDATA[We know, the parameter "_small_table_threshold" decides a table is a small table or not. When full scan on large tables, in LRU algorithm, the data blocks will be put in a different position in LRU list other than small tables; while when performing some other data-intensive operations, such as parallel query or direct load, data blocks will be read directly from disk bypassing buffer cache.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=186&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Thu, 29 Dec 2011 08:53:12 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=186&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle的排序算法]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=185&amp;lang=cn</link>
      <description><![CDATA[在进行SQL查询时，排序操作是在特定的内存中完成的，也就是排序工作区。初次进入排序区的数据是无序的，Oracle要选择一项合适的算法对这些无序数据进行排序。
10g之前，由于内存的限制，使得Oracle选择了以个效率不高的排序算法；而随着10g中内存管理方法的大幅改进，Oracle引入了新的排序算法。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=185&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 16 Nov 2011 08:30:02 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=185&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle Sorting Algorithm]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=185&amp;lang=en</link>
      <description><![CDATA[Sorting operation is completed in special memory, e.g. sorting work area, when execute SQL query. Data is unsorted when put into this area initially. Oracle should choose an appropriate sorting algorithm to sort them.
Limited by working area size, oracle chose an inefficient algorithm; While introduced a new sorting algorithm due to innovation of memory management.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=185&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 16 Nov 2011 08:30:02 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=185&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle 11g中基于哈希算法对唯一值数（NDV）的估算]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=184&amp;lang=cn</link>
      <description><![CDATA[字段的统计数据是CBO优化器估算执行计划代价的重要依据。字段的统计数据可以分为两类：概要统计数据（如NDV、字段平均长度ACL、最大、最小值等）和柱状图数据。对于第一类数据，实际上可以通过一次扫描表获取所有字段的统计数据。但是，对于大型表的分析，为减少资源消耗，需要通过采样分析。由于采样具有随机性，对于一些数据分布不均匀的字段，通过采样数据获取统计数据可能会导致获取到的数据与实际数据产生较大差异。而如果增加采样比以提高精度的话，对于NDV的估算会导致PGA的大量消耗。在11g中，Oracle引入了基于哈希算法的估计方法，使得扫描数据量不再导致PGA消耗的线性增加，从而使得全表扫描来获得这类统计数据成为可能。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=184&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Thu, 15 Sep 2011 04:39:58 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=184&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Approximate NDV based on hash algorithm in Oracle 11g]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=184&amp;lang=en</link>
      <description><![CDATA[Column statistics data is an important factor for CBO to estimate cost of execution plan. There are generally two kinds of statistics data on columns, one is the synopses, such as NDV, ACL and maximum/minimum data; the other is histogram. A single scanning table can get those synopses. To analyze the large tables with low cost, we normally sampling the data. However, sampling is a random process, which will cause large gap between statistics and actual data. Increasing sampling size will increase accuracy, but will also increase PGA consumption to get NDV. In 11g, Oracle introduced a new algorithm based on hash. It will not require more PGA with scanning data increased.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=184&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Thu, 15 Sep 2011 04:39:58 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=184&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[DISTINCT聚集函数转换]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=183&amp;lang=cn</link>
      <description><![CDATA[在Oracle 10gR2中，引入了哈希分组的方法来计算聚集函数，在数据量比较大时，这种方法比传统的排序分组方法效率更高。但是，对于那些对唯一值（含有DISTINCT/UNIQUE）的聚集函数，由于要消除重复值，因此还是要使用排序分组的方法。在11gR2，引入了一项新的查询转换技术，将含有DISTINCT的聚集函数转换为一个聚集内联视图，使得查询同样可以利用哈希分组的方法来计算聚集函数。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=183&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 31 Aug 2011 02:43:30 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=183&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Distinct Aggregate Transformation]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=183&amp;lang=en</link>
      <description><![CDATA[Hash Group Aggregate was introduced in Oracle 11gR2. It's generally more efficient than the traditional aggregate method, Sort Group Aggregate, especially when compute much of data. However, for those functions with DISTINCT/UNIQUE keyword, for the sake of eliminating duplicated values, it should still adopt the traditional method. While in 11gR2, a new query transformation technical, Distinct Aggregate Transformation, was introduced. It can transform the aggregate functions on DISTINCT data to an aggregate inline view, which can benefit from Hash Group Aggregate.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=183&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 31 Aug 2011 02:43:30 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=183&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[FyDB成为开源项目]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=182&amp;lang=cn</link>
      <description><![CDATA[FyDB成为开源项目，项目主页：https://sourceforge.net/p/fydb/home/

如果你有兴趣加入该项目，请联系：fuyuncat@gmail.com]]></description>
      <category>下载</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=182&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 09 Aug 2011 05:29:19 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=182&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[FyDB becomes  an open source project]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=182&amp;lang=en</link>
      <description><![CDATA[FyDB opens source, now. 

If you want to join this project, please contact me by: fuyuncat@gmail.com]]></description>
      <category>下载</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=182&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 09 Aug 2011 05:29:19 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=182&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[空还是非空——浅谈非空约束对执行计划以及性能的影响]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=181&amp;lang=cn</link>
      <description><![CDATA[非空约束是字段的一个重要属性。但是，很多时候，数据库表的设计人员似乎并不十分在意这个属性。最常见的现象就是，除了主键字段外，所有字段都不指定该属性。而在Oracle中，默认是允许为空。
而实际上，优化器在选择执行计划时，非空约束是一个重要的影响因素。为了说明问题，我们建立以下测试表，然后分别说明非空约束在各种情况下对执行计划和性能的影响。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=181&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Thu, 21 Jul 2011 08:01:37 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=181&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[NULL or NOT NULL --- NOT NULL constraint impacts on execution plan and performance]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=181&amp;lang=en</link>
      <description><![CDATA[NULLABILITY is an important property of column. However, many designers do not care naught for this property. In most scenarios, except primary key columns, all columns are not specified nullbility. By default, it's means nullable.
Actually, it's an important factor impacting optimizer choosing execution plan. Let's build below table to further describe this issue.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=181&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Thu, 21 Jul 2011 08:01:37 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=181&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[FyDB --- 一个分布式内存No-SQL数据库]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=180&amp;lang=cn</link>
      <description><![CDATA[基于对传统RDMBS的关键特性的实现机制的理解，以及对目前流行的No-SQL的相关理论的探究，我制作了这个小型的数据库系统——FyDB。它支持分布式架构，以及对异构数据源的整合。FyDB数据是存储在内存中的Key-Value映射结构，同时也支持对数据的持久化。依据No-SQL理论，FyDB基本上抛弃了对数据完整性的支持以换取更好的性能和高可用性——即没有父子关系的数据的完整性检查，而数据完整性是传统关系型数据库的关键特性之一。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=180&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Mon, 11 Jul 2011 00:48:21 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=180&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[FyDB --- a distributed in-memory no-SQL DB]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=180&amp;lang=en</link>
      <description><![CDATA[Base on understanding on internal technology of traditional RDBMS's key features, as well as researching on related popular theories of No-SQL, I developed this small No-SQL DB--- FyDB. It supports distributed deployment, and can integrate heterogeneous data sources. Data of FyDB is stroed in memory as key-value structure, and it is also persistent. According to No-SQL theories, FyDB discarded support on Data Integration to gain better performance and high availability, which means it will not check integration of Parent-Children data. While Data Integration is one of the most important features of traditional relationship database.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=180&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Mon, 11 Jul 2011 00:48:21 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=180&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[FyDB --- 一个分布式内存No-SQL数据库]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=180&amp;lang=cn</link>
      <description><![CDATA[基于对传统RDMBS的关键特性的实现机制的理解，以及对目前流行的No-SQL的相关理论的探究，我制作了这个小型的数据库系统——FyDB。它支持分布式架构，以及对异构数据源的整合。FyDB数据是存储在内存中的Key-Value映射结构，同时也支持对数据的持久化。依据No-SQL理论，FyDB基本上抛弃了对数据完整性的支持以换取更好的性能和高可用性——即没有父子关系的数据的完整性检查，而数据完整性是传统关系型数据库的关键特性之一。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=180&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Mon, 11 Jul 2011 00:48:21 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=180&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[FyDB --- a distributed in-memory no-SQL DB]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=180&amp;lang=en</link>
      <description><![CDATA[Base on understanding on internal technology of traditional RDBMS's key features, as well as researching on related popular theories of No-SQL, I developed this small No-SQL DB--- FyDB. It supports distributed deployment, and can integrate heterogeneous data sources. Data of FyDB is stroed in memory as key-value structure, and it is also persistent. According to No-SQL theories, FyDB discarded support on Data Integration to gain better performance and high availability, which means it will not check integration of Parent-Children data. While Data Integration is one of the most important features of traditional relationship database.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=180&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Mon, 11 Jul 2011 00:48:21 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=180&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[当前模式读与一致性读（2）]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=179&amp;lang=cn</link>
      <description><![CDATA[在前一篇文章里，我用2个特殊例子描述当前模式读和一致性读之间的区别，并提到了“如在事务启动后到数据块被读取之间的这段时间内，相应的数据块发生了改变，那么可能就会有我们意想不到的事情发生”。而这样的意想不到的结果可能能被我们接受，但也可能难以被接受。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=179&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Mon, 02 May 2011 22:33:09 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=179&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Current Mode and Consistent Gets (2)]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=179&amp;lang=en</link>
      <description><![CDATA[In previous article, I described the difference between DB Gets in Current Mode and Consistent Gets with 2 special cases, and also mentioned that 'if the data blocks were changed during the period time after TX started and before data block read, we will get unexpected result'. Regarding to those 'unexpected results', some of them may be acceptable while others may be unacceptable.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=179&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Mon, 02 May 2011 22:33:09 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=179&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[当前模式读与一致性读]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=178&amp;lang=cn</link>
      <description><![CDATA[本文通过2个特殊的例子描述了当前模式读与一致性读之间的区别。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=178&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Mon, 02 May 2011 19:55:10 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=178&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Current Mode and Consistent Gets]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=178&amp;lang=en</link>
      <description><![CDATA[The paper described difference between Current Mode and Consistent Gets with 2 special cases.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=178&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Mon, 02 May 2011 19:55:10 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=178&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[select for update 与性能]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=177&amp;lang=cn</link>
      <description><![CDATA[select for update是用于数据并发控制的语句。执行该语句后，会在表上加持RX锁（Row Exclusive,10gR1之前是Row Share锁），在被选中记录上加行锁。但是，正是因为其加锁的操作，for update子句会导致select查询的性能下降。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=177&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Thu, 13 Jan 2011 00:26:47 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=177&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Select For Update and performance]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=177&amp;lang=en</link>
      <description><![CDATA["select for update" is used for concurrent data access control. Once executed such SQL, oracle will hold a RX (Row Exclusive, RS in 9i instead) lock on the table, and hold Row Lock on those selected rows. However, such lock holding operation degrades the performance of the statement.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=177&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Thu, 13 Jan 2011 00:26:47 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=177&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle 内部函数调用追踪器 for windows(32)]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=6&amp;lang=cn</link>
      <description><![CDATA[基于以前开发的一个用于监控线程的CPU使用状况的小工具，TopShow，我开发了一个用于追踪Oracle内部函数调用的追踪器——OraTracer. 你可以用该工具追踪监控Oracle多个内部函数的调用情况，还可以尝试探测函数的输入参数的值，也可以打印追踪点被触发时的调用堆栈。追踪可以设置在整个Oracle进程的级别，也可以设置在某个线程以追踪特定的会话。]]></description>
      <category>下载</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=6&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Fri, 28 May 2010 00:23:50 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=6&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[An Oracle Call Tracer For Windows(32)]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=6&amp;lang=en</link>
      <description><![CDATA[Base on the my windows threads top CPU usage tool, TopShow, I built another tool, OraTracer, a simple oracle call tracer. You can use this tool to set multiple trace points for known oracle internal calls. And it will log the calling with detected arguments, call stacks corresponding to the trace point setting. The trace could be set in process level or thread level.]]></description>
      <category>下载</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=6&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Fri, 28 May 2010 00:23:50 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=6&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[Oracle 内部函数调用追踪器 for windows(32)]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=6&amp;lang=cn</link>
      <description><![CDATA[基于以前开发的一个用于监控线程的CPU使用状况的小工具，TopShow，我开发了一个用于追踪Oracle内部函数调用的追踪器——OraTracer. 你可以用该工具追踪监控Oracle多个内部函数的调用情况，还可以尝试探测函数的输入参数的值，也可以打印追踪点被触发时的调用堆栈。追踪可以设置在整个Oracle进程的级别，也可以设置在某个线程以追踪特定的会话。]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=6&amp;lang=cn</guid>
      <author>fuyuncat</author>
      <pubDate>Fri, 28 May 2010 00:23:50 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=6&amp;lang=cn</comments>
    </item>
    <item>
      <title><![CDATA[An Oracle Call Tracer For Windows(32)]]></title>
      <link>http://www.HelloDBA.com/reader.php?ID=6&amp;lang=en</link>
      <description><![CDATA[Base on the my windows threads top CPU usage tool, TopShow, I built another tool, OraTracer, a simple oracle call tracer. You can use this tool to set multiple trace points for known oracle internal calls. And it will log the calling with detected arguments, call stacks corresponding to the trace point setting. The trace could be set in process level or thread level.]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.HelloDBA.com/reader.php?ID=6&amp;lang=en</guid>
      <author>fuyuncat</author>
      <pubDate>Fri, 28 May 2010 00:23:50 GMT</pubDate>
      <comments>http://www.HelloDBA.com/reader.php?ID=6&amp;lang=cn</comments>
    </item>
    <item>
      <title>Look Oracle from inside (tracing internal calls) --- Latches</title>
      <link>http://www.hellodba.com/Doc/Look_Oracle_from_inside_4_en.html</link>
      <description><![CDATA[    Oracle provided many method for us to understand its behaviors, help us to manage and improve it. Such as execution plan, statistics data, dynamic views, and even the events trace and dumping. However, as a DBA, we always want to get more informations to find its secrets, operation details. For example, when we tuning a SQL, we will get the consistent gets (Logical IOs) as an important performance reference. However, sometimes such figure may confuse us. why the logical IOs number is so high eventhough it scans an empty table? Why we get so many logical IOs even it hited index? ... In such scenario, we will want to know what the exact data blocks it got. But this is the Oracle internal behaviors, it did not provide any method to look into it. Now, let's change our view, look it from oracle inside. As we know, all of operations are finally implemented by oracle internal functions. If we can find such functions and trace their calling, we will get what we want. In unix/linux, there are several utilities to trace the call stack, such as pstack. ORADEBUG can also dump the call stacks. But such result may not enough for us. In windows (32), I built a tool (OraTracer) to trace special functions, try to detect their arguments. I will use it get the information we interested in.
]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.hellodba.com/Doc/Look_Oracle_from_inside_4_en.html</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 15 Jun 2010 06:54:07 GMT</pubDate>
      <comments>http://www.hellodba.com/Doc/Look_Oracle_from_inside_4_en.html</comments>
    </item>
    <item>
      <title>Look Oracle from inside (tracing internal calls) --- Lock (Enqueue)</title>
      <link>http://www.hellodba.com/Doc/Look_Oracle_from_inside_3_en.html</link>
      <description><![CDATA[    Oracle provided many method for us to understand its behaviors, help us to manage and improve it. Such as execution plan, statistics data, dynamic views, and even the events trace and dumping. However, as a DBA, we always want to get more informations to find its secrets, operation details. For example, when we tuning a SQL, we will get the consistent gets (Logical IOs) as an important performance reference. However, sometimes such figure may confuse us. why the logical IOs number is so high eventhough it scans an empty table? Why we get so many logical IOs even it hited index? ... In such scenario, we will want to know what the exact data blocks it got. But this is the Oracle internal behaviors, it did not provide any method to look into it. Now, let's change our view, look it from oracle inside. As we know, all of operations are finally implemented by oracle internal functions. If we can find such functions and trace their calling, we will get what we want. In unix/linux, there are several utilities to trace the call stack, such as pstack. ORADEBUG can also dump the call stacks. But such result may not enough for us. In windows (32), I built a tool (OraTracer) to trace special functions, try to detect their arguments. I will use it get the information we interested in.
]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.hellodba.com/Doc/Look_Oracle_from_inside_3_en.html</guid>
      <author>fuyuncat</author>
      <pubDate>Fri, 11 Jun 2010 07:41:48 GMT</pubDate>
      <comments>http://www.hellodba.com/Doc/Look_Oracle_from_inside_3_en.html</comments>
    </item>
    <item>
      <title>Look Oracle from inside (tracing internal calls) --- Logical IOs</title>
      <link>http://www.hellodba.com/Doc/Look_Oracle_from_inside_2_en.html</link>
      <description><![CDATA[    Oracle provided many method for us to understand its behaviors, help us to manage and improve it. Such as execution plan, statistics data, dynamic views, and even the events trace and dumping. However, as a DBA, we always want to get more informations to find its secrets, operation details. For example, when we tuning a SQL, we will get the consistent gets (Logical IOs) as an important performance reference. However, sometimes such figure may confuse us. why the logical IOs number is so high eventhough it scans an empty table? Why we get so many logical IOs even it hited index? ... In such scenario, we will want to know what the exact data blocks it got. But this is the Oracle internal behaviors, it did not provide any method to look into it. Now, let's change our view, look it from oracle inside. As we know, all of operations are finally implemented by oracle internal functions. If we can find such functions and trace their calling, we will get what we want. In unix/linux, there are several utilities to trace the call stack, such as pstack. ORADEBUG can also dump the call stacks. But such result may not enough for us. In windows (32), I built a tool (OraTracer) to trace special functions, try to detect their arguments. I will use it get the information we interested in.
]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.hellodba.com/Doc/Look_Oracle_from_inside_2_en.html</guid>
      <author>fuyuncat</author>
      <pubDate>Thu, 10 Jun 2010 05:43:58 GMT</pubDate>
      <comments>http://www.hellodba.com/Doc/Look_Oracle_from_inside_2_en.html</comments>
    </item>
    <item>
      <title>Look Oracle from inside (tracing internal calls) --- Execution Plan</title>
      <link>http://www.hellodba.com/Doc/Look_Oracle_from_inside_1_en.html</link>
      <description><![CDATA[    Oracle provided many method for us to understand its behaviors, help us to manage and improve it. Such as execution plan, statistics data, dynamic views, and even the events trace and dumping. However, as a DBA, we always want to get more informations to find its secrets, operation details. For example, when we tuning a SQL, we will get the consistent gets (Logical IOs) as an important performance reference. However, sometimes such figure may confuse us. why the logical IOs number is so high eventhough it scans an empty table? Why we get so many logical IOs even it hited index? ... In such scenario, we will want to know what the exact data blocks it got. But this is the Oracle internal behaviors, it did not provide any method to look into it. Now, let's change our view, look it from oracle inside. As we know, all of operations are finally implemented by oracle internal functions. If we can find such functions and trace their calling, we will get what we want. In unix/linux, there are several utilities to trace the call stack, such as pstack. ORADEBUG can also dump the call stacks. But such result may not enough for us. In windows (32), I built a tool (OraTracer) to trace special functions, try to detect their arguments. I will use it get the information we interested in.
]]></description>
      <category>文档</category>
      <guid isPermaLink="true">http://www.hellodba.com/Doc/Look_Oracle_from_inside_1_en.html</guid>
      <author>fuyuncat</author>
      <pubDate>Wed, 09 Jun 2010 03:52:11 GMT</pubDate>
      <comments>http://www.hellodba.com/Doc/Look_Oracle_from_inside_1_en.html</comments>
    </item>
    <item>
      <title>OraTracer upgrade</title>
      <link>http://www.hellodba.com/Download/OraTracer_upgrade.htm</link>
      <description><![CDATA[New Features:
  Flexible function parameters setting;
  Disassembling to ASM code;]]></description>
      <category>下载</category>
      <guid isPermaLink="true">http://www.hellodba.com/Download/OraTracer_upgrade.htm</guid>
      <author>fuyuncat</author>
      <pubDate>Tue, 01 Jun 2010 08:27:13 GMT</pubDate>
      <comments>http://www.hellodba.com/Download/OraTracer_upgrade.htm</comments>
    </item>
    <item>
      <title>An Oracle Call Tracer For Windows(32)</title>
      <link>http://www.hellodba.com/Download/OraTracer_en.html</link>
      <description><![CDATA[Base on the my windows threads top CPU usage tool, TopShow, I built another tool, OraTracer, a simple oracle call tracer. You can use this tool to set multiple trace points for known oracle internal calls. And it will log the calling with detected arguments, call stacks corresponding to the trace point setting. The trace could be set in process level or thread level.]]></description>
      <category>下载</category>
      <guid isPermaLink="true">http://www.hellodba.com/Download/OraTracer_en.html</guid>
      <author>fuyuncat</author>
      <pubDate>Fri, 28 May 2010 08:23:50 GMT</pubDate>
      <comments>http://www.hellodba.com/Download/OraTracer_en.html</comments>
    </item>
  </channel>
</rss>
