代码改变世界

随笔分类 -  Oracle性能诊断

非空闲等待事件之:db file sequential read(转)

2011-08-22 16:20 by Tracy., 467 阅读, 收藏, 编辑
摘要: 名称可能造成误导,该事件是单块读取操作产生的等待事件。ORACLE进程需要一个当前不在SGA中的块,该进程会等待从磁盘读入所需数据块到SGA中。当从索引、回滚或撤消段、按ROWID访问的表、重建控制文件、转储数据文件标题(dump)、数据文件标题读取....提交该事件。存在该事件并不一定表示存在性能问题,但是如果该事件的等待时间比其他等待时间多得多,则表明应用程序正在执行大量的索引读取,需要要考虑全表扫描是否更为有效?通过索引访问数据是否合适?如果存在高平均等待时间,该事件可能是由于受到缓慢的IO子系统和拙劣的数据库文件布局的影响。但对系统IO的调整应该在应用程序调整和SQL调整之后进行。如果 阅读全文

Asktom Oracle: Partition table and index .

2011-08-11 15:24 by Tracy., 549 阅读, 收藏, 编辑
摘要: You AskedHelloI am currently working with Peoplesoft CRM v8One of consultants decided to partitioned the tables using hash partitioning, he also partitioned the indexes locally. Obviously he just showed me how clueless he is making the indexes local to the tables and time has shown I am right, we ha 阅读全文

Oracle:物化视图语法

2011-08-10 16:39 by Tracy., 430 阅读, 收藏, 编辑
摘要: 物化视图对于前台数据库使用者来说如同一个实际的表,具有和一般表相同的如select等操作,而其实际上是一个视图,一个由系统实现定期刷新其数据的视图(具体刷新时间在定义物化视图的时候已有定义),使用物化视图更可以实现视图的所有功能,而物化视图却不是在使用时才读取,大大提高了读取速度,特别适用抽取大数据量表某些信息以及数据链连接表使用,但是物化视图占用数据库磁盘空间。具体语法如下:create materialized view [view_name]refresh [fast|complete|force][on [commit|demand] |start with (start_time). 阅读全文

Oracle:10053事件简述

2011-08-10 11:12 by Tracy., 890 阅读, 收藏, 编辑
摘要: 一. 10053事件当一个SQL出现性能问题的时候,可以使用SQL_TRACE 或者 10046事件来跟踪SQL. 通过生成的trace来了解SQL的执行过程。 Oracle SQL Trace 和 10046 事件http://blog.csdn.net/tianlesoftware/archive/2010/09/02/5857023.aspx Event 10053 执行计划 绑定变量 Bind peekinghttp://blog.csdn.net/tianlesoftware/archive/2010/04/30/5544307.aspx Oracle 跟踪事件 set eventh 阅读全文

Asktom:Thanks for the question regarding "consistent gets -- Very puzzling".

2011-08-09 16:47 by Tracy., 248 阅读, 收藏, 编辑
摘要: You AskedTom:create table test( a int);beginfor i in 1..10000 loopinsert into test values (i);end loop;end;set autotrace onselect count(0) from test;Execution Plan---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE 1 0 SORT (AGGREGATE) 2 1 TABLE ACCESS (FUL 阅读全文

Oracle: DBMS_STATS的分析表与备份恢复的一点SQL

2011-08-03 15:27 by Tracy., 417 阅读, 收藏, 编辑
摘要: begindbms_stats.gather_table_stats(ownname => USER, tabname => 'TMS_ROUTE_HEADER');end;BEGINDBMS_STATS.set_table_stats (ownname => USER,tabname => 'TMS_ROUTE_HEADER',numrows => 100,numblks =>5); END;begindbms_stats.delete_table_stats(ownname => USER,tabname => 阅读全文

Oracle:详细介绍Oracle数据库的聚簇技术

2011-08-02 14:48 by Tracy., 3073 阅读, 收藏, 编辑
摘要: 1. 什么是聚簇 \JM=Fy d1=A=: 聚簇是根据码值找到数据的物理存储位置,从而达到快速检索数据的目的。聚簇索引的顺序就是数据的物理存储顺序,叶节点就是数据节点。非聚簇索引的顺序与数据物理排列顺序无关,叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。一个表最多只能有一个聚簇索引。 Lks)IT ~&|K<&6dt 2. 使用 Oracle 聚簇索引 ,6Yp+ZWR lfc=NAlUDS 聚簇是一种存储表的方法,这些表密切相关并经常一起连接进磁盘的同一区域。例如,表 BOOKSHELF 和BOOKSHELF_AUTHOR 数据 阅读全文

Asktom: Consistent reads

2011-07-26 16:40 by Tracy., 331 阅读, 收藏, 编辑
摘要: Alex -- Thanks for the question regarding "consistent reads", version 8.1.6.3Submitted on 26-Jun-2001 15:08 Central time zoneTom's latest followup | Bookmark | BottomLast updated 13-Jul-2011 19:59You AskedHiI have been wondering what are consistent gets and db block gets, according to 阅读全文

Oracle: Benefits and consequences of the NOLOGGING option

2011-07-26 11:22 by Tracy., 375 阅读, 收藏, 编辑
摘要: Posted on August 28, 2010 by Carlos Acostahttp://oracleexamples.wordpress.com/2010/08/28/benefits-and-consequences-of-the-nologging-option/I still find confusion out there about the LOGGING and NOLOGGING clauses when performing DML and DDL operations, the reality is that the NOLOGGING clause will wo 阅读全文

Oracle:DBMS_STATS.GATHER_TABLE_STATS的语法

2011-07-19 13:56 by Tracy., 10694 阅读, 收藏, 编辑
摘要: 作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息.DBMS_STATS.GATHER_TABLE_STATS的语法如下:DBMS_STATS.GATHER_TABLE_STATS (ownname VARCHAR2, tabname VARCHAR2, partname VARCHAR2, estimate_percent NUMBER, block_sample BOOLEAN, method_opt VARCHAR2, degree NUMBER, granularity VARCHAR2, cascade BOOLEAN, stattab VAR 阅读全文

Oracle:Scalar Subqueries

2011-07-19 13:41 by Tracy., 585 阅读, 收藏, 编辑
摘要: OverviewIntroduced in Oracle9, scalar subqueries allow you to treat the output of a subquery as a column or even an expression within a SELECT statement. It is a query that only selects one column or expression and returns just one row. If the scalar subquery fails to return select any rows, Oracle 阅读全文

Oracle:Using the DBMS_STATS-package

2011-07-19 13:19 by Tracy., 482 阅读, 收藏, 编辑
摘要: 原文地址http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:735625536552You AskedWe are doing performance-testing of SQL-statements in our project. When running explain-plans on the statements, the results are often not realistic due to the fact that we have not loaded the tables with data 阅读全文

Dingjun123:DBMS_PROFILER

2011-06-28 16:35 by Tracy., 307 阅读, 收藏, 编辑
摘要: DECLARE ReturnCode BINARY_INTEGER; BEGIN ReturnCode := DBMS_PROFILER.start_profiler ('Profiler Demo 2'); nocopy_test.test_copy (400, 1); ReturnCode := DBMS_PROFILER.stop_profiler; DBMS_OUTPUT.put_lin... 阅读全文

Asktom:Single Block IO Vs Multi Block IO

2011-06-28 15:31 by Tracy., 476 阅读, 收藏, 编辑
摘要: You Asked Tom: I was reading this Oracle magazine http://www.oracle.com/technetwork/issue-archive/2011/11-jul/o40asktom-402616.html <quote> A full index scan reads the index a block at a time, from s... 阅读全文

设置会话TRACE的方法(二)

2011-06-28 13:19 by Tracy., 330 阅读, 收藏, 编辑
摘要: 很多时候需要设置会话的SQL_TRACE,以便于分析,简单总结一下设置的方法和适用的情况。 这一篇介绍设置其他会话SQL_TRACE的方法。 设置会话TRACE的方法(一):http://yangtingkun.itpub.net/post/468/519830 Oracle10g新增DBMS_MONITOR包(一):http://yangtingkun.itpub.net/post/468/4... 阅读全文

设置会话TRACE的方法(一)

2011-06-28 13:18 by Tracy., 463 阅读, 收藏, 编辑
摘要: 很多时候需要设置会话的SQL_TRACE,以便于分析,简单总结一下设置的方法和适用的情况。 这一篇介绍设置当前会话SQL_TRACE的方法。 DBMS_SESSION包小议(五):http://yangtingkun.itpub.net/post/468/498559 最显而易见的方法设置SQL_TRACE参数: SQL> ALTER SESSION SET SQL_TRACE = TRUE; 会... 阅读全文

Oracle10g新增DBMS_MONITOR包(一)

2011-06-28 13:16 by Tracy., 753 阅读, 收藏, 编辑
摘要: 在10g中,Oracle新增了DBMS_MONITOR包,使得用户可以更加方便的设置TRACE和统计信息。 这一篇介绍TRACE相关的过程。 DBMS_MONITOR包中提供了多种方法来开启、关闭会话或整个实例的TRACE。 除了最常用的通过会话的SID和SERIAL#进行设置的SESSION_TRACE_ENABLE/SESSION_TRACE_DISABLE外,还包括设置数据库实例上所有会话的... 阅读全文

转itpub:DBMS_SESSION包小议(五)

2011-06-28 13:14 by Tracy., 432 阅读, 收藏, 编辑
摘要: 除了使用ALTER SESSION设置会话的状态,利用V$SESSION查询会话状态,Oracle还提供了PL/SQL接口DBMS_SESSION来查询和设置会话相关的状态。 描述用来设置TRACE的SET_SQL_TRACE、SESSION_TRACE_ENABLE和SESSION_TRACE_DISABLE过程。 DBMS_SESSION包小议(一):http://yangtingkun.i... 阅读全文

Oracle :Parallel execution when table created.

2011-06-28 11:18 by Tracy., 358 阅读, 收藏, 编辑
摘要: You Asked I was a bit surprised to notice in my development environment a couple of months, a large number of sessions that were invoking parallel operations, especially since I made sure to set all ... 阅读全文

Adaptive Cursor Sharing in Oracle Database 11g Release 1

2011-06-24 16:47 by Tracy., 263 阅读, 收藏, 编辑
摘要: Adaptive Cursor Sharing in Oracle Database 11g Release 1 DBAs are always encouraging developers to use bind variables, but when bind variables are used against columns containing skewed data they som... 阅读全文