随笔分类 -  Oracle性能优化

上一页 1 2 3 4 下一页
show_space函数源码
摘要:xzh2000 提供的最终混合超级完全无敌版 show_space函数源码 create or replace procedure show_space ( p_segname_1 in varchar2, p_space in varchar2 default 'MANUAL', p_type_1 in varchar2 default 'TABLE' , p_analyzed in... 阅读全文
posted @ 2008-12-07 10:04 一江水 阅读(982) 评论(0) 推荐(0) 编辑
Oracle 统计信息备份/表分析
摘要:众所周知,统计信息直接影响到Oracle优化器最后的执行计划,所以定期收集统计信息成为DBA一项常规的工作,但是,对于一些大表,比如数据量超过几千万条,表分析后却有可能会导致应用系统一些SQL执行计划变差,比如出现大量的全表扫,严重影响数据库性能.如果出现这种情况,一种方法是对找一张该查询涉及到的小表,执行grant select on table_name to public操作,然后再看执行计... 阅读全文
posted @ 2008-12-01 20:49 一江水 阅读(2834) 评论(0) 推荐(1) 编辑
DBMS_STATS分析表
摘要:作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息. DBMS_STATS.GATHER_TABLE_STATS的语法如下: DBMS_STATS.GATHER_TABLE_STATS (ownname VARCHAR2, tabname VARCHAR2, partname VARCHAR2, estimate_percent NUMBER, bloc... 阅读全文
posted @ 2008-12-01 16:54 一江水 阅读(6775) 评论(0) 推荐(0) 编辑
dbms_stats.gather_table_stats和analyze table的一点细小差别
摘要:SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle9i Enterpr... 阅读全文
posted @ 2008-12-01 11:03 一江水 阅读(2181) 评论(0) 推荐(0) 编辑
oracle性能调优:管理oracle日志之调整检查点
摘要:调整检查点 • 检查点事件代表在那个时刻数据库处于一致的状态,检查点之所以重要,是因为在实例失败后,只有发生在最后一个检查点之后事务需要恢复;有两种类型的检查点:增量检查点和完全检查点; • 增量检查点是从ORACLE 8开始引入的,之前的版本只存在完全检查点,这个时候,所有的脏数据都要写回磁盘,巨大的I/O对系统性带来很大影响,而且在写出所有脏块的过程中会锁定数据缓存,写出完成之前再不能够产生... 阅读全文
posted @ 2008-11-27 14:57 一江水 阅读(1495) 评论(0) 推荐(0) 编辑
Oracle:MOVE与SHRINK命令相比较
摘要:MITe命令压缩Oracle块中的记录、解决行链接问题,并重置表的高水平线。 move和shrink命令都会重置表的高水平线,那么哪个命令更有效呢?这篇文章讨论使用move和shrink命令重新组织一个表,然后比较Oracle块的记录被压缩得怎么样以及行链接解决得怎么样。 注意:关于表高水平线和重置表高水平线的不同方法的详细讨论不在这篇文章的讨论范围内。 下面的步骤简要描述了使用mo... 阅读全文
posted @ 2008-11-26 11:39 一江水 阅读(2149) 评论(0) 推荐(0) 编辑
Oracle数据库的Hang
摘要:一、数据库Hang时可能的现象 1、最直观的是你的大部分的业务操作,比如说一个查询都使用好长的时间,或根本就返回不出结果。这和简单那种锁表是有区别的。 2、在操作系统上用Hp-unix用glance、Aix用nmon及用sar做监测会出现系统空闲的假象,表面看起来系统很闲,实际上系统已经Hang了。 3、查v$session_wait会出现大量的”latch free”、”enqueue”、... 阅读全文
posted @ 2008-11-22 11:11 一江水 阅读(2853) 评论(0) 推荐(0) 编辑
Oracle调优笔记
摘要:1.内存调优 注:SGA中的shared pool中,系统自动优先缓存datadictionary cache,对系统性能影响较大的是library cache。 1.1 library cache 调优(v$librarycache/v$sql/v$sqlarea/v$sqltext/v$db_object_cache) 判断:要不要调整library cache?判断条件:v$libraryc... 阅读全文
posted @ 2008-11-17 23:43 一江水 阅读(4351) 评论(0) 推荐(0) 编辑
使用Bulk Collect提高Oracle查询效率
摘要:Oracle8i中首次引入了Bulk Collect特性,该特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率。现在,我们对该特性进行一些简单的测试和分析。 1. 首先,我们创建一个表,并插入100000条记录 在SQL/Plus中执行下列脚本: drop table empl_tbl / create table empl_tbl(last_name varch... 阅读全文
posted @ 2008-11-17 23:40 一江水 阅读(8276) 评论(1) 推荐(3) 编辑
ORACLE中SQL TRACE和TKPROF的使用
摘要:SQL TRACE 和 tkprof sql语句分析工具 一 SQL TRACE 使用方法: 1.初始化sql trace 参数: timed_statistics=true 允许sql trace 和其他的一些动态性能视图收集与时间有关的参数、 SQL>alter session set titimed_statistics=true ma... 阅读全文
posted @ 2008-11-17 23:36 一江水 阅读(1800) 评论(0) 推荐(0) 编辑
Oracle数据库的性能调整
摘要:oracle是一个高性能数据库软件。用户可以通过参数的调整,达到性能的优化。性能优化主要分为两部分:一是数据库管理员通过对系统参数的调整达到优化的目的,二是开发人员通过对应用程序的优化达到调整的目的。 在此,仅就系统参数的调整进行探讨,而不涉及应用程序的优化。对系统参数的调整,可以分为以下几个部分: (1)调整内存分配 系统全局区(SGA)是一个分配给ORACLE 包含ORACLE 数... 阅读全文
posted @ 2008-11-17 16:54 一江水 阅读(4727) 评论(0) 推荐(1) 编辑
Oracle SQL性能优化
摘要:(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是... 阅读全文
posted @ 2008-11-17 00:07 一江水 阅读(141243) 评论(21) 推荐(51) 编辑
Oracle Tuning (Oracle 性能调整)的一些总结
摘要:Oracle Tuning (Oracle 性能调整)的一些总结关于Oracle的性能调整,一般包括两个方面,一是指Oracle数据库本身的调整,比如SGA、PGA的优化设置,二是连接Oracle的应用程序以及SQL语句的优化。做好这两个方面的优化,就可以使一套完整的Oracle应用系统处于良好的运行状态。 本文主要是把一些Oracle Tuning的文章作了一个简单的总结,力求以实际可操作为目的... 阅读全文
posted @ 2008-11-16 19:12 一江水 阅读(4708) 评论(0) 推荐(0) 编辑
Oracle数据库event事件与dump文件介绍
摘要:一、Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。 在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系。后台报警日志文件保存BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为SIDALRT.LOG... 阅读全文
posted @ 2008-11-12 18:06 一江水 阅读(2336) 评论(0) 推荐(0) 编辑
log file parallel write(SYSTEM I/0类)
摘要:log file parallel write(SYSTEM I/0类) 1.LGWR专属事件,将日志缓冲区中的重做信息写入到联机重做日志组的所有成员,LGWR在该事件上等待写入的完成。 2.写入时机: >>每隔3秒写入一次 >>在提交或回滚时 >>在满足_LOG_IO_SIZE阈值时 >>在日志缓冲区有1MB的重做项时 >>由DBWR提交时 3.用户会话提交事务时,LGWR会等待该事件的完成,用... 阅读全文
posted @ 2008-11-11 15:01 一江水 阅读(2040) 评论(0) 推荐(0) 编辑
也说一下Oracle CPU Time[转]
摘要:kamus在他的blog 10gRAC培训 - 2 and last。说到了这个cpu time,具体可以看正文以及下面我与他的留言,他的意思其实就是: CPU Time相对于其它等待事件,应当先忽略CPU Time,处理其它等待事件。而且cpu time高一般代表是好事情,因为系统并没有把时间耗费在Wait上。Elapsed Time = CPU Time + Wait Time,所以甚至我们... 阅读全文
posted @ 2008-11-11 12:30 一江水 阅读(5567) 评论(0) 推荐(0) 编辑
Oracle等待事件说明
摘要:Oracle的等待事件是衡量Oracle运行状况的重要依据及指标。等待事件的概念是在Oracle7.0.1.2中引入的,大致有100个等待事件。在Oracle 8.0中这个数目增加到了大约150个,在Oracle8i中大约有200个事件,在Oracle9i中大约有360个等待事件。主要有两种类别的等待事件,即空闲(idle)等待事件和非空闲(non-idle)等待事件。 空闲事件指Oracle... 阅读全文
posted @ 2008-11-11 11:00 一江水 阅读(1007) 评论(0) 推荐(0) 编辑
Oracle中常見等待事件的說明
摘要:Oracle中常見等待事件的說明 buffer busy waits 指出等待数据库缓冲区高速缓存中的缓冲区。这表示某个会话正把这个缓冲区读入高速缓存和/或修改它。也可能是支持许多并发INSERT操作的表上缺乏足够的空闲列表的表征 db file parallel write 指出与DBWR进程有关的等待。可能与DBWR进程或配置的DBWR I/O进程的数目有关。还可以指示较低或较高争用的设备... 阅读全文
posted @ 2008-11-11 10:47 一江水 阅读(1241) 评论(0) 推荐(0) 编辑
Oracle中自动工作负载信息库(AWR)介绍
摘要:作为一个数据库管理员,您可能已经投资购买了第三方工具或使用自己开发的工具来在数据库运行期间采集详细的统计数据,并从这些统计数据中导出获得性能量度。在紧急的情况下,您可以访问这些量度来与当前的情况作比较。再度查看这些过去的事件可以给当前的问题带来一些启发,因此不断采集相关的统计数据对于性能分析变得很重要。 一段时间以来,Oracle 在这个领域中的解决方案是它内置的工具 Statspack。虽然某些... 阅读全文
posted @ 2008-11-10 12:42 一江水 阅读(817) 评论(0) 推荐(0) 编辑
Oracle中SQL语句执行效率的查找与解决
摘要:一、识别占用资源较多的语句的方法(4种方法) 1.测试组和最终用户反馈的与反应缓慢有关的问题。 2.利用V_$SQLAREA视图提供了执行的细节。(执行、读取磁盘和读取缓冲区的次数) • 数据列 EXECUTIONS:执行次数 DISK_READS:读盘次数 COMMAND_TYPE:命令类型(3:select,2:insert;6:update;7delete;47:pl... 阅读全文
posted @ 2008-10-08 14:40 一江水 阅读(2596) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 下一页