warehouse客栈

ITPUB认证区版主

  • 博客访问: 4840605
  • 博文数量: 856
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-07 15:08
  • 认证徽章:
个人简介

了解并联系warehouse: http://blog.itpub.net/19602/viewspace-1059211/

文章分类

全部博文(856)

文章存档

2018年(5)

2017年(7)

2016年(20)

2015年(19)

2014年(42)

2013年(65)

2012年(66)

2011年(87)

2010年(68)

2009年(103)

2008年(140)

2007年(142)

2006年(38)

2005年(53)

2004年(1)

发布时间:2016-11-22 09:44:48

原文链接如下:http://blog.itpub.net/22664653/viewspace-716639/客户的一个系统时不时的hang,通过hanganalyze 分析一下,不难掌握,通过锁的阻塞和死锁模拟一下就好理解了。1. 数据库hang的几种可能性oracle 死锁或者系统负载非常高比如cpu使用或其他一些锁等待很高都可能导致系统hang住,比如大量的DX锁。通常.........【阅读全文】

阅读(263) | 评论(0) | 转发(0)

发布时间:2013-07-27 19:55:58

从10g开始 oracle默认会自动收集优化器统计信息,自动搜集只会为下面2种情况搜集优化器统计信息:1、missing statistics2、stale statistics[@more@]1、missing statistics如果sql语句中访问的对象没有optimizer statistics,那么oracle会自动估算optimizer statistics,但是这样会影响sql的解析效率2、stale statisticsstatistics陈旧是指表里的数据修改超过10%,oracle从10g开始自动对表上的dml和truncate操作进行监控,自动监控的条件是:statistics_level为typical或者all,监控的结果可以通过dba_tab_modifications来查看。数据被修改......【阅读全文】

阅读(2960) | 评论(0) | 转发(0)

发布时间:2013-06-04 21:43:36

http://www.eygle.com/archives/2010/10/oracle_histograms_column.htmlhttp://blog.163.com/scott_guo/blog/static/18102608320114175357686/[@more@]为了防止第二个连接过期,把内容拷贝如下:本文只涉及使用dbm_stats来收集或删除列的统计信息的一些命令,以备查询。测试表如下(实验环境为10.2.0.4):SQL> create table test(i int,a varchar2(30)); Table created. SQL> insert into test select rownum,object_name from all_objects; 9907 rows created. 简单的说,列的统计信息,主要包括两种类型:只有基本信息:收集的......【阅读全文】

阅读(2368) | 评论(0) | 转发(0)

发布时间:2013-06-03 22:08:09

Histograms是Column Statistics的一部分有关柱状图更详细的信息可以参考性能优化向导中对应的章节:http://docs.oracle.com/cd/E11882_01/server.112/e16638/stats.htm#PFGRF94724[@more@]Column Statistics and HistogramsWhen gathering statistics on a table, DBMS_STATS gathers information about the data distribution of the columns within the table. The most basic information about the data distribution is the maximum value and minimum value of the column. However, this level of statistics may be insufficient ......【阅读全文】

阅读(2103) | 评论(0) | 转发(0)

发布时间:2013-04-25 17:23:56

利用oracle undo自动管理undo segment不够的时侯smon会自动创建这样的特性,可以查询实例启动起来事务的最大数量,undo segment的最大数量就是实例启动起来事务曾经得到的最大数量,不管现在的undo segment是否都是offline的。 在undo auto管理以后,如果undo空间够那么oracle是不会让多个事务使用同一个undo segment的,也就是说在undo空间够用的情况下一个事务只能使用一个undo segment,这样每个实例上undo segment的最大数量就是该实例上事务的最大数量。[@more@]SQL> select tablespace_name,status,count(*)2 from dba_rollback_s......【阅读全文】

阅读(3454) | 评论(0) | 转发(0)

发布时间:2013-04-16 19:50:52

这是我长期维护的一家专科医院的系统,客户也没有反应慢,我在执行常规的例行检查时发现DB Time很大,达到2,221.28,这是8点~9点的awr报告,9点~10点的达到3000多了,我认为系统会非常的慢,客户信息中心人员说没人打电话反应慢,看到这种情况不能无动于衷了,等待事件就不用看了,平常就是gc buffer busy,建议客户修改应用的连接字符串,让同类应用从一个节点连进去,他们一直也没有调整。[@more@]1、[oracle@rac1 awr]$ more awrrpt_1_21391_21392.txt WORKLOAD REPOSITORY report forDB Name DB Id Instance Inst Num Release RAC H......【阅读全文】

阅读(2893) | 评论(0) | 转发(0)

发布时间:2012-05-13 17:34:34

给一个客户讲课是顺道录制了视频,与大家分享,希望对想了解优化的兄弟们有所帮助,该视频是以index为主题展开讲解的,内容涉及到rowid,index的原理,execute plan,优化器统计信息,index的使用以及hint,柱状图等。一天的时间介绍的内容比较多,以案例为主,动手实践性比较强,阅读的顺序以视频里面电脑显示的时间先后顺序看就可以了。[@more@]http://115.com/file/be9o2rgh#执行计划.rarhttp://115.com/file/dpbt7o7j#rowid.rarhttp://115.com/file/c285pf2n#optermize statistics-histograms.rarhttp://115.com/file/dpbt70dj#compos......【阅读全文】

阅读(5758) | 评论(0) | 转发(1)

发布时间:2012-03-14 18:39:26

弄rac的时侯同时开启2台机器,常常感觉很慢,既然是测试,可以先关闭这些启动比较慢的服务。[@more@]# chkconfig cups off# chkconfig sendmail off# chkconfig isdn off# chkconfig smartd off# chkconfig iptables off......【阅读全文】

阅读(3154) | 评论(0) | 转发(0)

发布时间:2012-01-07 23:34:59

在讲性能优化的时侯,我常常模拟一些cpu,io比较高以及如何监控和诊断的一些案例,有一次一位学员问是否可以模拟一下物理内存耗尽出现swap的情况,这个要比模拟cpu和io高的情况稍微复杂一点。下面是详细的过程:[@more@]直接在主机上能否把内存耗尽我想也可以,无非就是尽可能启动多的进程,而且让起来的进程尽可能消耗多的内存,对主机没有对oracle熟悉,所以下面还是通过oracle来消耗内存观查swap的情况,oracle消耗的内存无非就是sga和pga,sga消耗的内存是固定的,但是由于在windows和linux都不支持参数lock_sga,所以在模拟的时侯可能......【阅读全文】

阅读(4585) | 评论(0) | 转发(0)

发布时间:2010-12-30 10:35:31

Oracle® Database Performance Tuning Guide10g Release 2 (10.2)Part Number B14211-0314 Managing Optimizer Statistics[@more@]http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/stats.htm#PFGRF30103......【阅读全文】

阅读(3097) | 评论(0) | 转发(0)

发布时间:2010-11-08 12:49:02

前段时间在北京给几个重要的客户培训oracle性能优化,写的ppt,放在这里与大家分享一下,由于有附件,所以我放在了itpub上,里面是连接[@more@]http://www.itpub.net/thread-1358294-1-1.html......【阅读全文】

阅读(4023) | 评论(0) | 转发(0)

发布时间:2010-11-02 15:08:27

通过对比分区表和普通表,简单的测试了性能和对分区表存在index时的维护,最后我们不得不说使用分区表很多时候不一定能提高性能,主要是维护起来方便,如果我们能把访问的数据集中在一个或者有限的几个分区里,那么性能肯定比访问普通的全表要好,还是那句话让执行的sql尽可能的少读、少写,这样才是提高sql性能的关键,就像anlinew提到的公式:T=S/V,其实少读、少写的目的就是减小S...[@more@]--创建2个结构完全相同,数据量几乎相同的表,只不过是分区表,一个是普通的heap表,然后简单的做个访问时的性能对比,从而更好的理解如何合理的......【阅读全文】

阅读(3708) | 评论(0) | 转发(0)

发布时间:2010-10-13 12:38:28

外键上没有index操作主表数据时常会引起阻塞和deadlock问题[@more@]外键引起的阻塞:session 1:SQL> create table p(id int primary key ) tablespace users;表已创建。SQL> create table r(id int references p on delete cascade) tablespace users;表已创建。SQL> insert into p values(1);已创建 1 行。SQL> insert into p values(2);已创建 1 行。SQL> insert into p values(3);已创建 1 行。SQL> commit;提交完成。SQL> select distinct sid from v$mystat;SID----------159SQL> select * from p;ID-------......【阅读全文】

阅读(4210) | 评论(0) | 转发(0)

发布时间:2010-10-12 12:31:20

客户系统原来运行在windows上,sga总共给了800m左右,系统尽管运行的不稳定,但是ora-04031错误报的并不多,之后系统迁入到aix 双机rac(oarcle 11.1)环境下,sga给了4g,共享池基本上维持在2g多,但是系统频繁出现ora-04031,出现ora-04031之后客户端应用无法连接,起初客户使用alter system flush shared_pool的办法刷新shared pool,刷新之后问题得以解决,不过没隔几天问题再次出现,此时有时候刷新shared pool不能解决问题了,由于是双机,因此不得以的情况下只能重启出现ora-04031错误的节点上的实例,重启之后问题得以暂时解决,但......【阅读全文】

阅读(3677) | 评论(0) | 转发(0)

发布时间:2010-09-21 08:55:07

讲优化时大致写的一个提纲,内容分db的物理设计和逻辑设计,主要以物理设计为主,逻辑设计介绍的内容不多,提纲里把物理结构设计和实例优化有机的结合在一起,把逻辑结构设计和应用调整结合在一起......[@more@]Oracle性能调整指导纲要数据库物理结构设计和实例级别的调整一、Oracle性能优化方法论1.为什么(what)要优化(系统慢了?慢是表象)2.怎样(how)优化?(需要找到慢的原因)a.是系统的问题?b.是数据库的问题?3.谁(who)来优化?a.系统架构师(系统架构设计的有问题,麻烦大了)b.系统管理员(os、storage问题)c.数......【阅读全文】

阅读(17581) | 评论(0) | 转发(0)

发布时间:2009-11-22 16:53:30

这是10.2版本提出的mutex(互斥)机制用来解决library cache bin latch争夺问题引入的新事件,是否使用这种机制受到隐含参数_kks_use_mutex_pin的限制,从10.2.0.2开始该参数default为true,使用这种机制oracle是为了解决library cache bin latch的串行使用问题,但是mutex貌似还不是很稳定,在很多系统中会出现cursor: pin S wait on X等待事件,这个事件和mutex的使用有关,最近一客户受到cursor: pin S wait on X等待事件的困扰,出现cursor: pin S wait on X等待事件时通常等待比较严重,系统会出现hang,这个事件的出现受到很多因素的影响:在高并......【阅读全文】

阅读(10987) | 评论(0) | 转发(0)

发布时间:2009-11-21 20:02:09

This event occurs when a session requests a buffer that is currently being read into the buffer cache by another session. Prior to release 10.1, waits for this event were grouped with the other reasons for waiting for buffers under the 'buffer busy wait' event客户系统最近这个事件表现的比较突出,简单的模拟了一下,这是一个和io相关的读等待事件,因此它也伴随着db file sequential read和db file sequential read一起出现[@more@]session 1:SQL> select distinct sid from v$mystat; SID---------- ......【阅读全文】

阅读(5331) | 评论(0) | 转发(0)

发布时间:2009-11-21 00:14:04

oracle从8i就引入的参数fast_start_parallel_rollback旨在解决由于session或者进程中断从而缩短回滚大事务所需要的时间问题,不过通过测试发现当fast_start_parallel_rollback=low时观察不到oracle启动多个paralle process,当fast_start_parallel_rollback=high时oracle确实启动了4×cpu_count个parallel process,但是几乎观察不到有多个process paralle来恢复事务,也许被恢复的事务还不够大、所需的时间还不够长,似乎不是;也许oracle认为使用smon一个进程恢复时间更快?[@more@]C:>sqlplus / as sysdbaSQL*Plus: Release 10.2.0.......【阅读全文】

阅读(5351) | 评论(0) | 转发(0)

发布时间:2009-11-13 15:25:46

这是一个很重要的参数,也是一个不太容易理解的参数:--下面是来自biti对该参数的测试和解释:http://www.wangchao.net.cn/bbsdetail_60551.html当列上存在histograms ,则每次是不同的值的时候都产生硬解析 ,若不存在 histograms,则不产生硬解析。换句话说,当表的字段被分析过存在histograms的时候,similar 的表现和exact一样,当表的字段没被分析,不存在histograms的时候,similar的表现和force一样。这样避免了一味的如force一样转换成变量形式,因为有histograms的情况下转换成变量之后就容易产生错误的执行计划,没有利用上统计信......【阅读全文】

阅读(3365) | 评论(0) | 转发(0)

发布时间:2009-10-31 09:02:17

10g 引入ash(active session history)真是个不错的东西[@more@]ash的一点总结10g 引入ash(active session history)真是个不错的东西 10g引入v$active_session_history视图用来定期取样v$session中的active session的数据数据,这里的active可以这样理解,根据oracle的doc描述,只要session处于等待或者持有cpu就算活动的,对应的含义是:WAITING或者ON CPU;取样的间隔受到隐含参数_ash_sampling_interval的限制,default是1000,单位ms(毫秒),不过尝试修改为3000,貌似没有起作用,这个大家也可以自己测试;v$active_session_history的......【阅读全文】

阅读(4412) | 评论(0) | 转发(0)

发布时间:2009-10-12 23:16:24

为我们根据等待事件判断系统的问题尽可能的指明方向...[@more@]SQL> select distinct wait_class#,wait_class from v$event_name order by wait_class#;WAIT_CLASS# WAIT_CLASS----------- ---------------------------------------------------------------- 0 Other 1 Application 2 Configuration 3 Administrative 4 Concurrency 5 Commit 6 Idle 7 Network 8 User I/O 9 System I/O 10 SchedulerWAIT_CLASS# WAIT_CLASS-----......【阅读全文】

阅读(3042) | 评论(0) | 转发(0)

发布时间:2009-10-12 23:09:35

10g的doc居然没有查到这2个视图的解释...这2个视图的结构完全相同,数据到底有什么区别?[@more@]一下是11gR2中这个视图的解释:V$METRIC displays the most recent statistic values for the complete set of metrics captured by the AWR infrastructure.V$METRIC_HISTORY displays all the available statistic values for the complete set of metrics captured by the AWR infrastructure.这里提到V$METRIC 显示了recent的数据,而V$METRIC_HISTORY显示了all,查询一下发现recent=1分钟,all表示至实例启动以来:SQL> select min(b......【阅读全文】

阅读(3423) | 评论(0) | 转发(0)

发布时间:2009-09-29 21:29:42

利用此函数可以实现dump函数的反转[@more@]链接:http://structureddata.org/2007/10/16/how-to-display-high_valuelow_value-columns-from-user_tab_col_statistics/create or replace function display_raw (rawval raw, type varchar2) return varchar2 is cn number;cv varchar2(32); cd date; cnv nvarchar2(32);cr rowid; cc char(32); begin if (type = 'NUMBER') then dbms_stats.convert_raw_value(rawval, cn); return to_char(cn); elsif (type = 'VARCHAR2') then dbms_stats.conver......【阅读全文】

阅读(5992) | 评论(0) | 转发(0)

发布时间:2009-08-03 06:19:05

我们知道index的key值被删除之后其使用的空间并不会理解释放,只有当这个index block空间完全不被使用之后才可以被再次使用,这也就是index的pctused为0的缘故。有些时候由于表中的数据被大量删除,此时index的leaf block中保留了很多没有用的key 值,不仅浪费了空间,而且再次使用该index时效率可能也极其低下,可以通过对index的监视以及对index结构的有效性验证来判断index是否需要重建,重建时在高可用性系统中当然还需要考虑lock的问题。[@more@]SQL> desc t 名称 是否为空? 类型 ---------......【阅读全文】

阅读(3852) | 评论(0) | 转发(0)

发布时间:2009-06-25 14:47:23

http://www.eygle.com/case/Use.sql_trace.to.Diagnose.database.htmhttp://xiaoxiongg.itpub.net/post/6060/31115[@more@]http://www.eygle.com/case/Use.sql_trace.to.Diagnose.database.htmhttp://xiaoxiongg.itpub.net/post/6060/31115......【阅读全文】

阅读(3191) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册