
Oracle 性能优化
文章平均质量分 91
lovely可爱欧辰
余好读书,乐思善疑。有过目不忘之能,亦有掩卷即忘之病,故尝攥文以记之。
展开
-
Oracle的AWR报告分析
* 定义:awr报告是oracle 10g下提供的一种性能收集和分析工具,它能提供一个时间段内整个系统资源使用情况的报告,通过这个报告,我们就可以了解一个系统的整个运行情况,这就像一个人全面的体检报告。如何分析:* 在看awr报告的时候,我们并不需要知道所有性能指标的含义,就可以判断出问题的所在,这些性能指标其实代表了oracle内部实现,对oracle理解的越深,在看awr报告的时候,对数据库性能的判断也会越准确* 在看性能指标的时候,心里先要明白,数据库出现性能问题,一般都在三个地方,io,内存,.转载 2021-06-01 17:05:21 · 2618 阅读 · 0 评论 -
Oracle_AWR_报告分析实例讲解
WORKLOAD REPOSITORY report forDB NameDB IdInstanceInst numReleaseRACHostICCI1314098396ICCI1110原创 2012-09-13 21:16:46 · 3647 阅读 · 0 评论 -
ASM_POWER_LIMIT 参数
ASM_POWER_LIMIT 参数 这个参数 ASM_POWER_LIMIT 参数控制 ASM 后台进程 ARBx 的数量。ARBx 进程用来进行 ASM 磁盘数据重新分布打散。ASM_POWER_LIMIT 取值 从 0 到 11(据说从 10gR2 开始可以设置为 0 ). 当新添加磁盘或者删除磁盘后,ASM 会启动 ARBx 进行 IO 分散操作,这是个非常消耗资源的动作,所以一定要选原创 2012-09-11 14:58:18 · 6190 阅读 · 0 评论 -
statistics_level参数的介绍
statistics_level参数的介绍statistics_level控制数据库收集统计信息的级别,有三个参数值:BASIC :收集基本的统计信息TYPICAL:收集大部分统计信息(数据库的默认设置)ALL:收集全部统计信息[oracle@linuxoracle oracle]$ sqlplus "/ as sysdba"SQL*Plus: Release 9.2.转载 2012-09-11 15:29:42 · 9132 阅读 · 0 评论 -
Oracle 11g 数据统计量Pending处理
在CBO时代,SQL语句的执行计划完全依赖于在数据字典中保存的统计量信息和优化器Optimizer的计算公式参数。从9i开始到现在的11gR2,我们说CBO优化器已经很成熟和完善。在通常情况下,我们的SQL都是可以获取到较好的执行计划以及执行效率的。 在实际工作中,我们经常会遇到执行计划低效的情况。但是这种故障根源中,绝大多数的原因在于统计量的错误或者失效。错误的统计量连带生成的就是不恰当转载 2012-09-03 11:33:52 · 942 阅读 · 0 评论 -
Oracle ADDM 自动诊断监视工具 介绍
Oracle AWR 介绍(AWR -- Automatic Workload Repository)http://blog.youkuaiyun.com/tianlesoftware/archive/2009/10/17/4682300.aspx 一. ADDM概述 ADDM(Automatic Database Diagnostic Monitor) 是植入Oracle数据转载 2012-08-16 11:13:03 · 1209 阅读 · 0 评论 -
Quest Spotlight On Oracle 很牛的监控软件
Spotlight on Oracle 能让你迅速发现任何性能瓶颈,无论是实时还是历史查询。Spotlight 能鉴别和诊断几千种性能问题,无论是特定用户问题、集中资源SQL事务、 I/O瓶颈、锁定等待或者其它源码问题。Spotlight for Oracle 能自动为每个实例建立正常活动的底线,当检测到性能瓶颈时自动发出警告上面的是网上对Spotlight的介绍,概要而精准。在I原创 2012-07-24 20:43:03 · 3753 阅读 · 1 评论 -
【AWR】调整AWR数据采样时间间隔及历史快照保留时间
1.AWR默认的采样间隔和历史快照保留时间默认是保留七天,采集间隔是1小时,这个信息可以从DBA_HIST_WR_CONTROL视图中获得。sys@ora10g> col SNAP_INTERVAL for a20sys@ora10g> col RETENTION for a20sys@ora10g> select * from dba_hist_wr_control;转载 2012-05-14 16:48:55 · 6401 阅读 · 0 评论 -
Oracle数据库锁的种类及研究
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改;加了共享锁的数据对象可以被其他事务原创 2012-03-20 09:19:15 · 8505 阅读 · 1 评论 -
查询计划中集的势(Cardinality)的计算
当使用CBO模式的优化器时,oracle在生成查询计划时,会计算各个访问路径的代价,选择代价最小的访问路径作为查询计划。这个选择过程我们可以通过做一个10053的trace来观察。在做代价估算时,有一个很重要的参数作为代价计算的因数,这就扫描字段的集的势(cardinality)。那么这个值是如何计算的呢?这个值的计算根据索引情况及查询条件不同而不同,因而它的计算也比较复杂。下面我们只讨论在使转载 2012-04-02 10:43:53 · 3029 阅读 · 0 评论 -
dbms_xplan.display_cursor 获取执行过的sql的执行计划
该函数的语法:DBMS_XPLAN.DISPLAY_CURSOR( sql_id IN VARCHAR2 DEFAULT NULL, child_number IN NUMBER DEFAULT NULL, format IN VARCHAR2 DEFAULT 'TYPICAL');举个例子 执行一个简单查询:SQL> se转载 2012-04-02 10:43:06 · 3601 阅读 · 0 评论 -
Oracle执行计划显示
生成和显示SQL语句的执行计划,是大多数DBA、SQL开发人员以及性能优化专家经常做的工作,因为执行计划能够提供SQL语句性能相关的信息。执行计划解释了SQL语句执行的详细过程,这个过程记录了一系列的数据库操作以及每个操作涉及到的数据行数和生成的数据行数。优化器使用查询转换和物理优化技术决定数据库操作顺序和过程实现。执行计划通常以扁平的表格形式呈现,是一个事实树形结构。下面是一个基于SH模转载 2012-01-04 16:11:35 · 4150 阅读 · 0 评论 -
Resize Datafile时ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据
前些天做测试,为了图方便,在sys用户下建立了一张大表,插入的数据大概几亿条,导致system空间增长了30G左右,后面想删除数据,缩小system空间,因此truncate table,后面又drop table,但是此时只是降低了段的高水位,数据文件还有高水位,因此磁盘空间并没有被释放。1、先查询可以利用的空闲空间SQL> select sum(bytes/1024/1024/10转载 2011-12-29 13:53:57 · 10712 阅读 · 1 评论 -
NOLOGGING&&FORCE LOGGING
=======================NOLOGGING&&FORCE LOGGING=================================关于nologging:You can create tables and indexes with the CREATE TABLE AS SELECT statement. You can also sp原创 2012-10-04 23:58:20 · 1462 阅读 · 0 评论 -
V$SESSION_LONGOPS
V$SESSION_LONGOPS视图记录了执行时间长于6秒的某个操作(这些操作可能是备份,恢复,Hash Join,Sort ,Nested loop,Table Scan, Index Scan 等等)。要想V$SESSION_LONGOPS视图中有记录1.必须将初始化参数 timed_statistics设置为true或者开启sql_trace2.必须用ANALY转载 2012-10-08 14:55:07 · 1738 阅读 · 0 评论 -
ST_Geometry操作报ora-01704字符串文字太长
今天接到一用户电话,说他们的一个要素包含几百个点,使用SQL语句ST_Geometry操作,报Ora-01704错误(因为包含点多,所以构造函数点串就很多,所以显得SQL很长,因此会报ora-01704错误。那么我们就做了一个实验,使用ArcTutor的一个大洲的数据,这个数据的特点就是要素包含的点超级多。[csharp] view plain copy转载 2016-07-05 17:43:46 · 3103 阅读 · 0 评论 -
查询DBA_HIST_ACTIVE_SESS_HISTORY缓慢
[20140822]查询DBA_HIST_ACTIVE_SESS_HISTORY缓慢.txt生产系统前一段时间我修改了awr保留时间间隔,主要是比较每个月底要执行的报表。SCOTT@test> select 40*60*24 from dual ; 40*60*24 ---------- 57600--exec DBMS_WORKLOAD_REPO转载 2015-08-10 11:16:12 · 2936 阅读 · 0 评论 -
sqlplus中利用spool生成带日期的文件名
col v_filename new_value v_filename noprintSelect to_char(sysdate,'yyyymmdd')||'.txt' v_filename from dual;spool e:&v_filename;select * from dual;spool off;转载 2014-10-29 21:45:55 · 4141 阅读 · 0 评论 -
db_files 不要设置的太大,否则影响内存的使用
db_files参数限制了数据库数据文件总的个数,datafiles数目达到db_files指定后数据库不能添加新的数据文件,如果需要修改要重新重启数据库所以这个参数都会有一定的预留,但是如果预先设置太大的话会影响oracle内存的使用下面采取极端的 200 vs 20000 来做一个简单的比较首先我们来看其对SGA的影响db_files=200SQL> s转载 2014-10-29 21:37:26 · 2655 阅读 · 0 评论 -
统计数据库每天的数据增长量的脚本
论坛上一个统计数据库数据增长的脚本,虽然没测试过,大家评价很好,应该不错,收藏留着备用!其实EM里面统计表空间的增加百分比也能查看。set linesize 1000 set pagesize 100 select t.* from (SELECT D.TABLESPACE_NAME, SPACE "SUM_SPACE(M)",转载 2014-10-26 09:12:54 · 6013 阅读 · 0 评论 -
oracle复合索引介绍(多字段索引)
首先,在大多数情况下,复合索引比单字段索引好.以税务系统的SB_ZSXX(申报类_征收信息表)为例,该表为税务系统最大的交易表.如果分别按纳税人识别号,税务机关代码,月份3个字段查询,每个字段在该表中的可选性或约束性都不强,如一个纳税人识别号有很多纳税记录,一个税务机关代码和同一月份记录就更多了,所以3个字段合起来,"某个纳税人识别号+某个税务机关代码+某月"的记录就少多了.因此复合索引比单字段索原创 2013-10-28 11:20:19 · 43245 阅读 · 7 评论 -
sys.dbms_transaction.local_transaction_id出现的问题
同事反映,删除一条数据总是没有反应,请求协助解决. 问题非常明显,肯定是有某个session在block他的session,导致一直在等待资源的释放.于是很快将问题定位,得到如下数据: Java代码 SESS ID1 ID2 LMODE REQUEST TYPE CTIME BLOCK Holder: 389 17267 0原创 2013-09-08 14:01:03 · 10148 阅读 · 0 评论 -
关于COUNT STOPKEY的工作机制
在查询中有时使用到伪列rownum对使用伪列rownum的查询,优化器要么使用count操作,要么使用count stopkey操作来对rownum计数器进行增量(注意:这里的count操作和count stopkey操作与count函数没有任何关系),如果对rownum伪列应用一个限定条件,如:where rownum例1:不在Rownum伪列上使用限定条件 select原创 2013-09-06 15:15:22 · 7977 阅读 · 0 评论 -
如何在线创建索引或者重构索引
重新创建(create)索引的主要原因是因为新的业务的发展的需要,而重组索引往往是因为索引的偏移膨胀或者是数据删除引起的稀疏状态,也就是有些人说的“碎片”,这个情况下,我们就可以在线重组索引(rebuild online)。当然,如果需要创建的索引或者需要重组的索引很小,创建与重组过程在几秒之内,这些都可以直接做而不需要讨论。实际情况是,业务很繁重以及表与索引都很大。这些情况下我们需要注意原创 2013-01-14 09:59:52 · 1591 阅读 · 0 评论 -
参数NLS_LENGTH_SEMANTICS的设置问题
在Oracle数据库中和Oracle FORM中都 有这样一个参数的设置,有必要澄清一下:参数NLS_LENGTH_SEMANTICS的含义在Oracle文档中这样描述:Oracl文档中的说明: Syntax: NLS_LENGTH_SEMANTICS = string Range of values: BYTE | CHAR NLS_LENGTH_SEMANTICS enable转载 2012-10-11 23:32:01 · 10584 阅读 · 0 评论 -
小心NLS_SORT和NLS_COMP的设置成为性能杀手
NLS_SORT和NLS_COMP是Oracle两个初始化参数。顾名思义,NLS_SORT和NLS_COMP是设置排序和比较的方式。通过设置这两个参数可以实现自定义的排序和比较的方式。设置这两个参数的值可以在数据库创建的时候指定,也可以通过Alter Session语句来修改。如果是在创建数据库的时候设定,那么是不能再修改的,并在所有的Session中起作用。但是我们也通过Alter Sessio转载 2012-10-11 23:05:33 · 997 阅读 · 0 评论 -
Automatic Shared Memory Management(ASMM)
1.base: 1) In Oracle 10g, you need to specify only the SGA_TARGET parameter, which specifies the total size of the SGA. Individual components of the SGA are automatically allocated by the databa转载 2012-10-10 22:16:46 · 2750 阅读 · 0 评论 -
Oracle删除数据文件
在我们详细介绍之前,我们必须说清楚一点:Oracle不提供如删除表、视图一样删除数据文件的方法,数据文件是表空间的一部分,所以不能“移走”表空间。 一、使用offline数据文件的方法非归档模式使用:alter database datafile '...' offline drop;归档模式使用: alter database datafile '...' of转载 2011-12-29 13:53:23 · 823 阅读 · 0 评论 -
Oracle表与索引的分析及索引重建
1.分析表与索引(analyze 不会重建索引)analyze table tablename compute statistics 等同于 analyze table tablename compute statistics for table for all indexes for all columnsfor table 的统计信息存在于视图:user_tables 、a转载 2011-12-14 11:49:14 · 832 阅读 · 0 评论 -
深入解析oracle回滚段
深入解析oracle的回滚段日前在整理数据库表空间的是否,发现最大的数据文件来自回滚段。回滚段文件undotbs1的数据文件已经达到23G。希望清理这部分数据,但一时又无从下手。于是决定深入了解一下这部分内容。法和规划及问题的解决。 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值)。回滚段的头部包含正在使用的该回滚段事务的信息。一个事务只能使用一个回转载 2011-12-12 13:10:36 · 1695 阅读 · 0 评论 -
8个DBA最常用的监控Oracle数据库的常用shell脚本
本文介绍了8个常用的监控数据shell脚本。首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本。网上也有好多类似的文章,但基本上都不能正常运行,花点时间重新整理了下,以后就能直接使用了。一.同时文章还介绍了8个重要的脚本来转载 2011-08-11 11:35:56 · 1026 阅读 · 0 评论 -
oracle 内存分配和调优 总结
oracle 内存分配和调优 总结 一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且google很多下。现在记录下来,做下备份。 一、概述:转载 2011-08-10 10:50:02 · 1637 阅读 · 0 评论 -
oracle 后台进程(background process)详解
查看已运行background process$ps -ef | grep oraSQL> select name,description from v$bgprocess where paddr !=’00’1. DBWn (database writer,数据库写转载 2011-08-10 10:23:11 · 6695 阅读 · 0 评论 -
Spotlight on oracle 使用
Spotlight on oracle 使用2008-12-17 16:06Spotlight on oracle 主要是用来监控数据库性能的,还可以监控服务器的资源使用情况。前两天下载了试用版本,我下载的是6.0.0.1325版本,大小:16原创 2011-09-07 08:32:28 · 1498 阅读 · 0 评论 -
oracle dbv使用详解
DBV的意思是,数据库验证(database verify),我们可以使用它来验证数据库的一个文件是否有问题,例如 : dbv file = /u01/app/oracle/10.2.4.0/JXDX_ODS/oradata/system01.dbf原创 2011-08-04 10:06:29 · 5553 阅读 · 0 评论 -
五分钟精通Oracle Hints
在向大家详细介绍Oracle Hints之前,首先让大家了解下Oracle Hints是什么,然后全面介绍Oracle Hints,希望对大家有用。基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划原创 2011-08-04 16:23:54 · 691 阅读 · 0 评论 -
Oracle Parallel Execution(并行执行) .
关于Oracle 的并行执行,Oracle 官方文档有详细的说明: Using Parallel Executionhttp://download.oracle.com/docs/cd/E11882_01/se转载 2011-08-04 15:39:21 · 1159 阅读 · 0 评论 -
ORA-01555错误
Tue Nov 17 09:49:02 2009ORA-01555 caused by SQL statement below (SQL ID: 98s35x4tpqm5d, Query Duration=0 sec, SCN: 0x0000.02258a47):Tue原创 2011-08-04 11:06:12 · 1545 阅读 · 0 评论 -
Select For update语句浅析
Select …for update语句是我们经常使用手工加锁语句。通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作。同时,在多版本一致读机制的支持下,select语句也不会被其他类型语句所阻碍。 借助for update子句,我们可原创 2011-08-03 17:11:54 · 901 阅读 · 0 评论 -
Oracle 绑定变量 详解 .
之前整理过一篇有关绑定变量的文章,不太详细,重新补充一下。 Oracle 绑定变量 http://blog.youkuaiyun.com/tianlesoftware/archive/2009/10/17/4678335.aspx 一转载 2011-08-04 15:37:45 · 661 阅读 · 0 评论