<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lezerger的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lezerger</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lezerger]]></copyright><item><title><![CDATA[Oracle SQL的硬解析和软解析]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6215787</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6215787</guid><author>lezerger</author><pubDate>Tue, 01 Mar 2011 16:22:00 +0800</pubDate><description><![CDATA[<br />我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析，这里面又分为软解析和硬解析。在Oracle中存在两种类型的SQL语句，一类为 DDL语句(数据定义语言)，他们是从来不会共享使用的，也就是每次执行都需要进行硬解析。还有一类就是DML语句(数据操纵语言)，他们会根据情况选择要么进行硬解析，要么进行软解析。<br /> <br />DML:INSERT,UPDATE,DELETE,SELECT<br />DDL:CREATE,DROP,ALTER<br /> <br /> <br /]]></description><category></category></item><item><title><![CDATA[Oracle Optimizer CBO RBO]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6215777</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6215777</guid><author>lezerger</author><pubDate>Tue, 01 Mar 2011 16:19:00 +0800</pubDate><description><![CDATA[<br />之前整理的一篇有关CBO和RBO文章：<br />Oracle CBO 与 RBO<br />http://blog.youkuaiyun.com/tianlesoftware/archive/2010/07/11/5709784.aspx<br /> <br />Oracle 数据库中优化器（Optimizer）是SQL分析和执行的优化工具，它负责指定SQL的执行计划，也就是它负责保证SQL执行的效率最高，比如优化器决定Oracle 以什么样的方式来访问数据，是全表扫描（Full Table Scan），]]></description><category></category></item><item><title><![CDATA[多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6215773</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6215773</guid><author>lezerger</author><pubDate>Tue, 01 Mar 2011 16:19:00 +0800</pubDate><description><![CDATA[在多表联合查询的时候，如果我们查看它的执行计划，就会发现里面有多表之间的连接方式。 之前打算在sqlplus中用执行计划的，但是格式看起来有点乱，就用Toad 做了3个截图。从3张图里我们看到了几点信息：1.       CBO 使用的ALL_ROWS模式Oracle Optimizer CBO RBOhttp://blog.youkuaiyun.com/tianlesoftware/archive/2010/08/19/5824886.aspx2.       表之间的连接用了hash Join， Nested lo]]></description><category></category></item><item><title><![CDATA[Oracle Explain Plan ]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6215762</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6215762</guid><author>lezerger</author><pubDate>Tue, 01 Mar 2011 16:17:00 +0800</pubDate><description><![CDATA[<br /> <br />如果要分析某条SQL的性能问题，通常我们要先看SQL的执行计划，看看SQL的每一步执行是否存在问题。 如果一条SQL平时执行的好好的，却有一天突然性能很差，如果排除了系统资源和阻塞的原因，那么基本可以断定是执行计划出了问题。<br />       <br />       看懂执行计划也就成了SQL优化的先决条件。 这里的SQL优化指的是SQL性能问题的定位，定位后就可以解决问题。<br /> <br /> <br />一．         查看执行计划的三种方法<br />1.]]></description><category></category></item><item><title><![CDATA[RMAN备份与恢复]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6150207</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6150207</guid><author>lezerger</author><pubDate>Tue, 18 Jan 2011 16:48:00 +0800</pubDate><description><![CDATA[以下记录用rman进行数据库备份与恢复的步骤。一、系统环境操作系统：Solaris 10   SunOS 5.10数据库：Oracle10g   Enterprise Edition Release 10.2.0.2.0二、备份数据库1、启动归档模式    启动归档模式不是必须的，但是如果不启动归档模式，在还恢复数据库的时候就只能恢复到备份点的数据，在备份点到数据库损坏时刻的数据将丢失。    （归档模式的设置参考： http://blog.youkuaiyun.com/lezerger/archive/2011/01]]></description><category></category></item><item><title><![CDATA[oracle10g的spfile与pfile]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6146715</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6146715</guid><author>lezerger</author><pubDate>Mon, 17 Jan 2011 13:51:00 +0800</pubDate><description><![CDATA[  1.spfile是Oracle9i之后引入的，目的是提高系统安全性。在Oracle8i下初始化参数文件为文本文件，可以使用文本编辑器进行编辑，当需要修改初始化参数时，需要在init.ora文件中修改，再重新启动数据库实例。在Oracle10g，引入了服务器参数文件（spfile），可以简化初始化参数的管理。spfile文件时一个二进制文件，不能使用文本编辑器（虽然文本编辑器打开后，能够看到参数内容），否则可能造成Oracle无法识别spfile文件。以下以我自己系统安装的Oracle与大叫讨论这二者的用]]></description><category></category></item><item><title><![CDATA[oracle的归档模式 ]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6135364</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6135364</guid><author>lezerger</author><pubDate>Thu, 13 Jan 2011 16:25:00 +0800</pubDate><description><![CDATA[<br />一。查看oracle数据库是否为归档模式：<br />1.select name,log_mode from v$database;<br />NAME               LOG_MODE<br />------------------ ------------------------<br />QUERY           NOARCHIVELOG<br />2.使用ARCHIVE LOG LIST 命令<br />Database log mode              No]]></description><category></category></item><item><title><![CDATA[在solaris 10下设置Oracle 10g自启动]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6134857</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6134857</guid><author>lezerger</author><pubDate>Thu, 13 Jan 2011 14:55:00 +0800</pubDate><description><![CDATA[　   Oracle 10g在solaris 10下的自动运行脚本，Solaris 10使用了SMF（服务管理设施）来集中管理各项系统及网络服务，其目的是降低系统管理的难度和降低系统出错的几率。　　实践表明，通过SMF管理平台来配置和管理服务，还是十分麻烦的，例如要把一个用户自己订制安装的第三方软件配置到SMF里进行管理，要做很多的工作；另外，如果某个服务出现故障，将涉及服务本身和SMF这两方面，这样恢复起来难度相应增大。个人偏见：系统管理的目标是越简单越好-部署容易、维护简单及恢复快速。正好solaris]]></description><category></category></item><item><title><![CDATA[配置Solaris10]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6131145</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6131145</guid><author>lezerger</author><pubDate>Wed, 12 Jan 2011 14:12:00 +0800</pubDate><description><![CDATA[新安装的Solaris10系统需要进行以下配置，方便各种应用和使用习惯：1、网络设置(1)设置主机名/etc/hostname.interface（网卡名）(2)设置节点名（与主机名要一致）/etc/nodename(3)设置网关路由/etc/defaultrouter(4)设置IP地址等/etc/hosts(5)设置子网掩码/etc/netmasks(6)设置DNS创建/etc/resolv.conf2、修改系统时间#date 1217131010    //修改为12月17日13点10分2010年3、修]]></description><category></category></item><item><title><![CDATA[Solaris 10 x86系统上添加新硬盘过程]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6130850</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6130850</guid><author>lezerger</author><pubDate>Wed, 12 Jan 2011 12:19:00 +0800</pubDate><description><![CDATA[系统环境：       在VMware 7.13虚拟机软件上安装32位的Solaris 10 x86操作系统。系统分配硬盘15G，内存1G。现通过虚拟机向Solaris系统上增加一块8G的硬盘。过程：1.       识别新增硬盘# formatSearching for disks...doneAVAILABLE DISK SELECTIONS:       0. c0d0           /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0Specify disk (enter i]]></description><category></category></item><item><title><![CDATA[Solaris硬盘分区简介]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6130570</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6130570</guid><author>lezerger</author><pubDate>Wed, 12 Jan 2011 10:45:00 +0800</pubDate><description><![CDATA[<br />Solaris下，一个磁盘包含8个分区，标记为0－7。此信息可以通过format命令，然后选择一个硬盘来看到，例如，在我自己的系统中（Solaris 9,Ultra 60），显示出来的信息如下： <br /># format <br />Searching for disks...done <br />AVAILABLE DISK SELECTIONS: <br />0. c0t0d0 <br />/pci@1f,4000/scsi@3/sd@0,0<br />Specify disk (ent]]></description><category></category></item><item><title><![CDATA[Oracle Shrink Table ]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6106620</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6106620</guid><author>lezerger</author><pubDate>Thu, 30 Dec 2010 11:02:00 +0800</pubDate><description><![CDATA[<br />从10g开始，oracle开始提供Shrink的命令，假如我们的表空间中支持自动段空间管理 (ASSM),就可以使用这个特性缩小段，即降低HWM。这里需要强调一点，10g的这个新特性，仅对ASSM表空间有效，否则会报 ORA-10635: Invalid segment or tablespace type。 <br /> <br />如果经常在表上执行DML操作，会造成数据库块中数据分布稀疏，浪费大量空间。同时也会影响全表扫描的性能，因为全表扫描需要访问更多的数据块。从oracle10g开始，]]></description><category></category></item><item><title><![CDATA[深入了解oracle的高水位(HWM)]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6106613</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6106613</guid><author>lezerger</author><pubDate>Thu, 30 Dec 2010 11:00:00 +0800</pubDate><description><![CDATA[<br />说到HWM,我们首先要简要的谈谈ORACLE的逻辑存储管理.我们知道,ORACLE在逻辑存储上分4个粒度:表空间,段,区和块. <br /><br />(1)块:是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多少行. <br /><br /><br />(2)区:由一系列相邻的块而组成,这也是ORACLE空间分配的基本单位,举个例子来说,当我们创建一个表PM_USER时,首先 ORACL]]></description><category></category></item><item><title><![CDATA[关于oracle的表空间，分区表，以及索引的总结]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/6106600</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/6106600</guid><author>lezerger</author><pubDate>Thu, 30 Dec 2010 10:57:00 +0800</pubDate><description><![CDATA[<br />表空间： <br />Oracle的UNDOTBS01.DBF文件太大的解决办法 <br />1、.禁止undo tablespace自动增长 <br />alter   database   datafile   'full_path/undotbs01.dbf'   autoextend   off; <br />2.-- 创建一个新的小空间的undo tablespace <br />create undo tablespace undotBS2 datafile 'full_path/U]]></description><category></category></item><item><title><![CDATA[Delphi中的线程类]]></title><link>https://blog.youkuaiyun.com/lezerger/article/details/4102502</link><guid>https://blog.youkuaiyun.com/lezerger/article/details/4102502</guid><author>lezerger</author><pubDate>Thu, 23 Apr 2009 10:27:00 +0800</pubDate><description><![CDATA[转贴于 华夏黑客同盟 http://www.77169.org Delphi中有一个线程类TThread是用来实现多线程编程的，这个绝大多数Delphi书藉都有说到，但基本上都是对TThread类的几个成员作一简单介绍，再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编程的全部，我写此文的目的在于对此作一个补充。 线程本质上是进程中一段并发运行]]></description><category></category></item></channel></rss>