随笔分类 -  Oracle 性能优化

摘要:今天谈谈下面这几个参数对数据库性能和稳定性的影响: cursor_sharing:游标共享 _optim_peek_user_binds:绑定变量窥视 _optimizer_adaptive_cursor_sharing:自适应游标共享(简称ACS),一般还包括另外两个_optimizer_exte 阅读全文
posted @ 2025-06-03 17:15 PoleStar 阅读(86) 评论(0) 推荐(0)
摘要:SQL> col KSPPINM format a30 SQL> col ksppstvl format a20 SQL> col ksppdesc format a60 SQL> set line 200 SQL> SELECT ksppinm, ksppstvl, ksppdesc 2 FROM x$ksppi x, x$ksppcv y 3 WHERE x.... 阅读全文
posted @ 2018-02-02 13:45 PoleStar 阅读(243) 评论(0) 推荐(0)
摘要:转自<http://blog.csdn.net/pan_tian/article/details/46563897> 阅读全文
posted @ 2018-01-10 14:47 PoleStar 阅读(1137) 评论(0) 推荐(0)
摘要:转自《http://www.itpub.net/thread-1282845-1-1.html》 阅读全文
posted @ 2016-06-21 16:08 PoleStar 阅读(11986) 评论(0) 推荐(0)
摘要:为了不让其他因素干扰实验,参数设置如下: 建立测试场景: 先生成一个最简单的执行计划index range scan 阅读全文
posted @ 2016-05-28 18:56 PoleStar 阅读(328) 评论(0) 推荐(0)
摘要:转自《http://kerryosborne.oracle-guy.com/2009/06/oracle-11g-adaptive-cursor-sharing-acs/》 阅读全文
posted @ 2016-05-26 14:11 PoleStar 阅读(383) 评论(0) 推荐(0)
摘要:select x.ksppinm name, y.ksppstvl value, y.ksppstdf isdefault, decode(bitand(y.ksppstvf, 7), 1, 'MODIFIED', 4, 'SYSTEM_MOD... 阅读全文
posted @ 2016-05-16 17:30 PoleStar 阅读(760) 评论(0) 推荐(0)
摘要:一.sql语句的执行顺序 二.测试left join和 where的执行顺序 结论: 结论:取t1表的第一行,按谓词‘on’中的条件扫瞄t2表,如果满足条件,就加入返回结果表,不满足条件则只返回t1.然后取t1表的第二行,按谓词‘on’中的条件扫瞄t2表,如果满足条件,就加入返回结果表,不满足条件则 阅读全文
posted @ 2016-03-09 16:53 PoleStar 阅读(1712) 评论(0) 推荐(0)
摘要:什么是ACS(adaptiver cursor sharing) Oracle通过绑定变量技术解决了SQL语句硬解析过多的问题,降低了资源的争用。但是绑定变量在引入cursor sharing,增加了软解析的同时,也带来了CBO环境下的bind peeking问题。 注:所谓bind peeking 阅读全文
posted @ 2016-02-18 15:34 PoleStar 阅读(361) 评论(0) 推荐(0)
摘要:一.SQL_TRACE说明1.1.在全局启用 在参数文件(pfile/spfile)中指定:sql_trace =true 1.2.在当前session级设置 启用当前session的跟踪: alter session set sql_trace=true; 结束跟踪:... 阅读全文
posted @ 2015-05-15 14:06 PoleStar 阅读(383) 评论(0) 推荐(0)
摘要:1.创建测试数据SQL> conn NC50/NC50Connected.SQL> create table tab1(id number,object_name varchar2(100)); SQL> insert into tab1 select rownum,object_name f... 阅读全文
posted @ 2015-04-26 17:43 PoleStar 阅读(322) 评论(0) 推荐(0)
摘要:1. 执行计划管理的工作原理 1.1控制执行计划的稳定性 11g之前,可以使用存储大纲(stored outline)和SQL Profile来固定某条SQL语句的执行计划,防止由于执行计划发生变化而导致的性能下降. 11g开始,oracle引入了SQL执行计划管理,从而可以让系统自动的来控制SQL 阅读全文
posted @ 2015-04-26 10:12 PoleStar 阅读(654) 评论(0) 推荐(0)
摘要:ORACLE的统计信息在执行SQL的过程中扮演着非常重要的作用,而且ORACLE在表的各个层次都会有不同的统计信息,通过这些统计信息来描述表的,列的各种各样的统计信息。下面通过一个复合分区表来说明一些常见的和不常见的统计信息。搭建测试用例--创建表。SQL>create table testpa... 阅读全文
posted @ 2015-04-17 16:39 PoleStar 阅读(3973) 评论(0) 推荐(0)
摘要:收集oracle统计信息优化器统计范围:表统计: --行数,块数,行平均长度;all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN;列统计: --列中唯一值的数量(NDV),NULL值的数量,数据分布; --DBA_TAB_COLUMNS:NUM_DIS... 阅读全文
posted @ 2015-04-17 16:29 PoleStar 阅读(2430) 评论(0) 推荐(0)
摘要:从10g开始,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动收集CBO的统计信息。这个自动任务默认情况下在工作日晚上10:00-6:00和周末全天开启。1、查看自动收集统计信息的任务及状态:SQL> select job_name,schedule_... 阅读全文
posted @ 2015-04-17 09:36 PoleStar 阅读(2844) 评论(0) 推荐(0)
摘要:在Oracle的11g版本中提供了统计数据自动收集的功能。在部署安装11g Oracle软件过程中,其中有一个步骤便是提示是否启动这个功能(默认是启用这个功能)。1、查看自动收集统计信息的任务及状态:SQL> select client_name,status from dba_autotask... 阅读全文
posted @ 2015-04-16 10:59 PoleStar 阅读(3155) 评论(0) 推荐(0)
摘要:一.关于ASH 我们都知道,用户在 ORACLE 数据库中执行操作时,必然要创建相应的连接和会话, 其中,所有当前的会话信息都保存在动态性能视图 V$SESSION 中,通过该视图,DBA 可 以查看用户实际执行的操作,或者当前的等待事件等。通常这部分信息是调优过程中的关键 信息,不过,一旦连接断... 阅读全文
posted @ 2015-01-06 16:28 PoleStar 阅读(570) 评论(0) 推荐(0)
摘要:HASHJOIN的模式 hash join有三种工作模式,分别是optimal模式,onepass模式和multipass模式,分别在v$sysstat里面有对应的统计信息: SQL> select name, value from v$sysstat where name like '%wor... 阅读全文
posted @ 2014-12-07 17:04 PoleStar 阅读(2162) 评论(0) 推荐(0)
摘要:Hash算法原理 对于什么是Hash算法原理?这个问题有点难度,不是很好说清楚,来做一个比喻吧:我们有很多的小猪,每个的体重都不一样,假设体重分布比较平均(我们考虑到公斤级别),我们按照体重来分,划分成100个小猪圈。 然后把每个小猪,按照体重赶进各自的猪圈里,记录档案。 好了,如果我们要找某个小... 阅读全文
posted @ 2014-12-07 16:51 PoleStar 阅读(510) 评论(0) 推荐(0)
摘要:我们对hash join的常见误解,一般包括两个: 第一个误解:是我们经常以为hash join需要对两个做join的表都做全表扫描 第二个误解:是经常以为hash join会选择比较小的表做build table纠正第一个误解: 我们经常以为hash join需要对两个做join的表都做... 阅读全文
posted @ 2014-12-07 11:39 PoleStar 阅读(1749) 评论(0) 推荐(0)