Oracle调优总结】的更多相关文章

转载:http://langgufu.iteye.com/blog/1974211 Problem Description:1.每个表的结构及主键索引情况2.每个表的count(*)记录是多少3.对于创建索引的列,索引的类型是什么?count(distinct indexcol)的值是多少?4.最后一次对表进行分析是在什么时间,分析后,是否又对相关表做过大的操作5.索引最后一次rebuild,是在什么时间,此后对表的操作类型又是什么状况?索引中浪费的空间是多少?6.这些表的存储情况,表的存储参数…
Oracle调优总结(经典实践 重要) https://blog.csdn.net/dtjiawenwang88/article/details/74892245 https://www.cnblogs.com/cnblog-long/p/6918404.html 1.物理的优化: 1). Oracle的运行环境(网络,硬件等) 2). 使用合适的优化器 3). 合理配置oracle实例参数 4). 建立合适的索引(减少IO) 5). 将索引数据和表数据分开在不同的表空间上(降低IO冲突) 6)…
一个oracle block与data buffer中的一个buffer对应.用户进程(server process)负责读取磁盘上的block到data buffer cache中,DEWn进程负责将脏块写到磁盘上. 一个buffer在data buffer中有4种状态    pined:多个进程想写这个块,但只有1个进程能获得锁.    claen    :buffer中的数据和磁盘上的数据时一致的,这些块将优先被淘汰.    free/unused:没有被使用过,是空白内容.    dir…
调优之浅析"会话管理开销"   [简单介绍]        在调优的过程中,对于会话的管理是比較普遍的问题,由于维护会话的开销相对是比較高的. [过程表现例如以下]        客户请求(sid)→监听接收到→监听派生出新的进程(systemprocess id)→客户进程 凝视: SPID:system process id.表示该serverprocess在OS层面的Process ID(操作系统进程ID); PID:oracle process id.能够理解为Oracle自身…
@ 目录 1.文章写作前言简介 2.什么是执行计划? 3.怎么查看执行计划? 4.查看真实执行计划 5.看懂Oracle执行计划 5.1 查看explain 5.2 explain执行顺序 5.3 访问数据的方法 5.3.1 全表扫描(TABLE ACCESS FULL) 5.3.2 ROWID扫描(TABLE ACCESS BY ROWID) 5.3.3 索引唯一扫描(INDEX UNIQUE SCAN) 5.3.4 索引全扫描(INDEX FULL SCAN) 5.3.5 索引快速全扫描(I…
AWR报告分析可从以下几点入手: (1).Oacle主机资源开销分析及负载情况 (2).oracle top信息分析 Top 10 Foreground Events by Total Wait Time (3).sql开销情况 SQL ordered by Elapsed Time (4).oracle负载情况 Load Profile (5).oracle实例效率分析 Instance Efficiency Percentages (Target 100%) (6).oracle共享池分析…
情景分析: 1)某查询必须要走全表扫描 2)该查询执行的频率相当高 3)对执行时间的要求也相当苛刻的话 4)数据库的IO比较吃紧 5)数据库的内存比较宽松 6)该表的大小没有大到离谱 以上情况下,可以使用“把整张表放到内存里”的方式进行优化 操作方法: --缓存abs_assetreturnschedule 表 alter table abs_assetreturnschedule storage(buffer_pool keep); --缓存索引 PK_ASSETIDRETURN alter…
浅析关联设计 [范式] 比較理想的情况下,数据库中的不论什么一个表都会相应到现实生活中的一个对象,如球员是一个对象,球队是一个对象,赛程是一个对象,比赛结果又是一个对象等等,则就是范式. [关联设计] 对于关联设计能够理解成表和表之间要有关联关系,在对表查询时常常使用关联查询. 补充:关系数据库的来源:对一个事务操作要从多个表中读. 如2014巴西世界杯这个表空间中要有球员表.赛程表.比赛结果表,比赛结果表要关联比赛的队伍名字.球员的名字最后关联一个比赛的结果,这就是一个简单的关联关系.至于为何…
数据迁移后性能受到影响,需要将老数据库中keep到内存中的表在新库中keep到内存中,使用如下方法. 新库设置db_keep_cache_size为适当值,这个值的大小不能小于需要keep的表的大小. 查看老库中需要keep的表信息:select s.owner,       s.segment_name,       s.partition_name,       s.bytes / 1024 / 1024 as "size(m)"  from dba_segments s wher…
浅析有效的游标管理 [思路分析] 能够把游标理解成共享的运行计划,当sql不被共享时.常规的解决思路有两个方向: 1.调整共享池的尺寸(共享池的库缓存区中共享运行计划): 2.sql书写时尽量重用绑定变量,以起到共享sql的作用. [较差的游标管理体现] 1.不重用运行计划(缺少绑定变量) 2.重用的运行计划保留不下来(共享池尺寸过小)…
select * from v$session where username is not null;select username,count(username) from v$session where username is not null group by username;select count(*) from v$process;select value from v$parameter where name = 'processes';Select count(*) from…
目录 一.前言 二.注意点 三.Oracle执行计划 四.调优记录 @ 一.前言 本博客只记录工作中的一次oracle sql调优记录,因为数据量过多导致的查询缓慢,一方面是因为业务太过繁杂,关联了太多表.面对复杂的业务场景,确实有些情况是需要关联很多表的.当然有些情况是可以将业务实现放在Java代码里,有些情况可以不要关联很多表. 二.注意点 对于SQL调优,不要马上就说加索引什么的,加索引不一定就能解决问题的,加错索引,反而会导致查询变慢,注意加索引的同时也会影响数据库写数据的速度. 三.O…
转自 http://blog.itpub.net/12272958/viewspace-696834/ 一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且google很多下.现在记录下来,做下备份.         一.概述:                     oracle 的内存可以按照共享和私有的角度分为系统全局区和进程全局区,也就是 SGA和 PGA(process global area or private global area).…
一.ASH和AWR的故事 1.1 关于ASH 我们都知道,用户在ORACLE数据库中执行操作时,必然要创建相应的连接和会话,其中,所有当前的会话信息都保存在动态性能视图V$SESSION中,通过该视图,DBA可以查看用户实际执行的操作,或者当前的等待事件等.通常这部分信息是调优过程中的关键信息,不过,一旦连接断开.会话信息就会被同时从V$SESSION及其它相关视图中清除,也就是说,用户执行完操作走人,而你(DBA),如果不能在当前逮到他,过了这点,就不知道它曾经做过什么了. 10g 版本中,O…
oracle自动判断SQL性能功能. 11G的ADV,建议.SNAPSHOT,数据集合, 存储在oracle sys $_开头的表(10几条).  创建SNAPSHOT时选择天数, 默认14天. sql orderde by Gets. Gets per exac每执行一次读取缓存次数. executions 每小时执行次数(因为snapshot 每小时执行一次) 自动化调优建议. --语句修改, rewrite. --物理优化. --调整索引. 想象的索引不走. --gather, 不产生物理…
Oracle SQL 调优健康检查脚本 我们关注数据库系统的性能,进行数据库调优的主要工作就是进行SQL的优化.良好的数据架构设计.配合应用系统中间件和写一手漂亮的SQL,是未来系统上线后不出现致命性能问题的有力保证. 在CBO时代,一个SQL的执行计划是多样的.影响执行计划的因素也从过去RBO时代的SQL书写规则变为综合性因素.这为我们生成更加优秀执行计划提供了基础,同时也给我们进行调优带来的很多麻烦. 目前我们通常的做法,是通过AWR报告或者调试手段,发现某某SQL有问题,之后从Librar…
年前抽空到兄弟公司支援了一下Oracle迁移MySQL的测试,本想把MySQL调优到接近Oracle的性能即可,但经过 @何_登成 @淘宝丁奇 @淘宝褚霸 @淘伯松 诸位大牛的指导和帮助(排名不分先后,仅按第一次为此CASE而骚扰的时间排序),不断修正方案,最终获得了比Oracle更好的性能,虽然是个特殊场景,但是我觉得意义是很广泛的,值得参考,遂记录于此.所有涉及表结构和具体业务模型的部分全部略去,也请勿咨询,不能透露,敬请谅解. 目录 (Contents) [隐藏 (Hide)] 1 一.测…
该文档为根据相关资料整理.总结而成,主要讲解Oracle数据库中,获取SQL语句执行计划的最权威.最正确的方法.步骤,此外,还详细说明了每种方法中可选项的意义及使用方法,以方便大家和自己日常工作中查阅使用,因本人未发现本博客支持附件上传功能,需要PDF文件格式的朋友可向我要,也可到群里下载,转载请注明出处. 1.查询v$sql_plan: SQL> col "Query Plan_Table" format a100 SQL> select id,lpad(' ', 2*(…
Oracle 10gr2的后续版本中添加了UNDO信息最短保留时间段自动调优的特性,不再仅仅依据参数UNDO_RETENTION的设定,其调优原则如下:1. 当UNDO TABLESPACE为 fixed- size,Oracle将根据表空间的大小和历史使用情况,自动调整undo信息保存时间,同时忽略 undo_retention的值,除非 undo_retention的guarantee 特性被启用.2. 当UNDO TABLESPACE为AUM时,Oracle将动态调整撤销信息最短保留时间为…
Oracle 数据库系统中起到调节作用的参数叫初始化参数,数据库管理员根据实际情况需要适当调整这些 初始化参数以优化Oracle系统. 1 主要系统参数调优介绍 2 系统内存参数的分配 2.1 Oracle 实例= 内存结构 + 进程结构 内存结构 = SGA + PGA SGA(系统全局区): 用户存储数据库信息的内存区,该区域为数据库进程所共享.它包含服务器的数据和控制信息,主要包含高速数据缓冲区.共享池.重做日志缓存区.Java池,大型池等内存结构. SGA的设置,理论上SGA的大小应该占…
一:前言 一:调整初始化参数 1: Oracle 初始化参数分类 2:主要系统调优参数介绍 二:系统全局区 sga 优化 1:调整内存分配 2:调整日志缓冲区 1:查询当前oracle 实例的日志缓冲区的大小 SYS@orcl> select distinct lebsz as log_cache_size from x$kccle; LOG_CACHE_SIZE -------------- 512 0 SYS@orcl> 3:调整共享池 SYS@orcl> select sum(pi…
一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且google很多下.现在记录下来,做下备份.           一.概述:                     oracle 的内存可以按照共享和私有的角度分为系统全局区和进程全局区,也就是 SGA和 PGA(process global area or private global area).对于 SGA 区域内的内存来说,是共享的全局的,在 UNIX 上,必须为 oracle 设置共享内存…
目录 一.分区表简介 二.分区表优势 三.分区表分类 3.1 范围分区 3.2 列表分区 3.3 散列分区 3.4 组合分区 四.分区相关操作 五.分区相关查询 附录:分区表索引失效的操作 一.分区表简介 分区通过让您将它们分解为更小且更易于管理的分区(称为分区)来解决支持非常大的表和索引的关键问题.不需要修改SQL查询和DML语句以访问分区表.但是,在定义分区之后,DDL语句可以访问和操作个别分区,而不是整个表或索引.这就是分区可以简化大型数据库对象的可管理性的方式.此外,分区对应用程序完全透…
 怎样使用oracle 的DBMS_SQLTUNE package 来执行 Sql Tuning Advisor 进行sql 自己主动调优 1>.这里简单举个样例来说明DBMS_SQLTUNE 的使用 首先现运行下某个想要调优的sql,然后获取sqlid SQL> select * from v$sqltext where sql_text like 'select * from dual%'; ADDRESS          HASH_VALUE SQL_ID        COMMA…
Oracle第二话之调优工具 原创if 0 = -I can 发布于2019-04-09 19:53:12 阅读数 172  收藏 展开 目录 1.告警日志 2.用户进程trace文件 3.动态性能视图 4.statspack 安装产生报告 5.生成AWR ADDM ASH 报告 6.explan  --用来看执行计划 1.告警日志 数据库出现任何问题,第一件事就是先看告警日志文件. 1)告警日志内容: (1)启动时间以及操作模式的启动和关闭命令. (2)涉及物理结构的操作,使用ALTER DA…
目录 一.物化视图简介 二.实践:创建物化视图 一.物化视图简介 物化视图分类 物化视图分类,物化视图语法和as后面的sql分为: (1) 基于主键的物化视图(主键物化视图) (2)基于Rowid的物化视图(Rowid物化视图) 本博客介绍一下Oracle的物化视图,物化视图(Materialized view)是相对与普通视图而已的,普通视图是伪表,功能没那么多,而物化视图创建是需要占用一定的存储空间的,物化视图常被应用与调优一些列表SQL查询,物化视图的基本语法: create materi…
本博客记录一下Oracle虚拟索引的用法,虚拟索引是定义在数据字典中的伪索引,可以说是伪列,没有修改的索引字段的.虚拟索引的目的模拟索引,不会增加存储空间的使用,有了虚拟索引,开发者使用执行计划的时候也不需要等索引完全创建好才可以看到效果 ok,这里找张用户表来测试一下虚拟索引 //设置执行计划 SQL> set autotrace traceonly //查询用户,因为没加索引,所以是全表扫描 SQL> select * from sys_user where username='admin…
项目中需要做一个船舶代理费的功能,针对代理的船进行收费,那么该功能的第一步便是选择进行代理费用信息的录入,在进行船舶选择的时候,发现加载相关船舶信息十分的慢,其主要在sql语句的执行,因为测试的时候数据较少,实际使用中,数据量较大. 关于regexp_substr函数的使用可查看Oracle通过一个字段的值将一条记录拆分为多条记录 需求和表结构 船舶相关的信息在系统中有船舶动态表(CBDT),另外有一张船舶代理费表(CBDLF),要求对于已经录入代理费的船舶不再出现在列表中(CBDLF表中有记录…
@ 目录 1.SQL Monitor简介 2.捕捉sql的前提 3.SQL Monitor 参数设置 4.SQL Monitor Report 4.1.SQL_ID获取 4.2.Text文本格式 4.3.Html格式 4.4.ACTIVE格式 4.5 SQL Monitoring list 5.SQL Monitor Report查询 5.1.查看所有的sql monitor report 5.2.查看某个sql的sql monitor report 5.3.查看某个sql的整体性能 5.4.查…
转自:http://blog.51cto.com/tiany/1596012 通过案例学调优之--Oracle Time Model(时间模型) 数据库时间 优化不仅仅是缩短等待时间.优化旨在缩短最终用户响应时间和(或)尽可能减少每个请求占用的平均资源.有时这些目标可同时实现,而有时则需要进行折衷(如在并行查询时).通常可以认为,优化就是避免以浪费的方式占用或保留资源. 对数据库发出的任何请求都由两个不同的段组成:等待时间(数据库等待时间)和服务时间(数据库 CPU 时间).等待时间是各种数据库…