oracle ash性能报告的使用方法
活动会话历史报告活动会话历史v$active_session_history视图提供了在实例级别抽取会话活动信息.活动会话每分钟会被抽样一次且被存储在sga中的循环缓冲区中.任何被连接到数据库且正等待一个不属于空闲等待事件的会话会被考虑是一个活动的会话.每个会话抽样都是一组行数据且通过v$active_session_history视图来返回每个被抽...
oracle增加分区的方法
在项目中经常要增加大量的分区,总结了增加分区的方法:1.如果只增加一级分区,没有子分区,可以简单的用如下语句增加:alter table TDW_12580_ORD_REL_TAB_Madd PARTITION M_TDW_12580_201005 VALUES (201005)[@more@]2.如果增加的分区有子分区,则需要先建一个一级分区和子分区,然后用下面的脚本来增加:注意:表名用大写,日期格式为20100801 结束日期为下一个月的1号,如20100901脚本:declare --初始化参数 v_table_name varchar2(30); v_partition_name varchar2(30); v_subpartition_name varchar2(30); v_segmen
使用 DBMS_XPLAN 查看执行计划
使用 DBMS_XPLAN 查看执行计划
Oracle 表连接
Oracle 表连接
orale查看执行计划--实战
1.列计划.txt2.sql_trace.txt3.auto_trace.txt4.通过包来查看执行计划.txt
监控Oracle索引是否被使用?
开发人员提出:需要对之前的索引监控 然后找出没用的索引 找时间删除 从而减少未用索引占用空间 提高DML效率此文只是 监控索引 对监控结果 需要进行统计分析 然后可以考虑先unusable 索引 观察一段时间 再drop index
alter table新增字段操作究竟有何影响?(下篇)
<span class="Apple-style-span" style="border-collapse:separate;color:#000000;font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-align:auto;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-...
Oracle体系结构理论篇
我们先看下面几个我们实际工作中经常会遇到的问题:1、通常说Oracle数据库是什么?2、如何理解Oracle实例?3、Oracle实例由哪些部分组成,它们之间的作用是什么?4、如何理解Oracle的物理结构?5、Oracle的物理结构由哪些部分组成,它们之间的作用是什么?6、如何理解Oracle的逻辑结构?7、O...
探究AWR 第一篇
statspack相比算是比较通用,免费,可以在标准版,企业版中使用,awr算是statspack的一个升级版,而且代码不公开。但是实现的功能和数据的采集要更丰富。awr算是dba工作的必备工具。自己总结了一下,大概由以下几个方面来说明一下。1.snapshot的管理先来看看snapshot,这是列出近几天的snapshot,可以看出如果数据库重启...
[20151021]理解dbms_xplan.display_cursor的format参数all.txt
[20151021]理解dbms_xplan.display_cursor的format参数all.txt--今天才理解dbms_xplan.display_cursor的format参数all,看来看书与看文档不够仔细。--我一般看执行计划使用我自己的脚本:$ cat dpcz.sqlset verify off--select * from table(dbms_xplan.display_cursor(NVL('&1',NULL),NULL,'ALLSTATS LAST PEEKED_BI...
根据SQL_ID查看执行计划
获取执行计划,第一种方式,set autotrace on第二种方式,explain plan for 第三种方式,dbms_xplan.DISPLAY_CURSORalter session set STATISTICS_LEVEL = ALL;--不设置无法获得A-ROWS等信息select sysdate from dual;--运行SQLselect * from table(dbms_xplan.DIS...
关于执行计划里recursive calls,db block gets和consistent gets等参数的解释
我们在实际工作中经常要看某个sql语句的执行计划,例如:在sqlplus使用命令SET AUTOTRACE ON后,执行计划显示如下:SELECT STATEMENT ptimizer=ALL_ROWS (Cost=985 Card=1 Bytes=26)Statistics----------------------...
v$sql_bind_capture与timestamp类型的绑定变量的数值
v$sql_bind_capture与timestamp类型的绑定变量的数值 我们的一个程序(10g)存在一个隐式类型转换的问题,就是程序中使用timestmp类型,而表的定义为date类型。这样存在隐式转换。在查询v$sql_bind_...
通过v$sql_bind_capture 查看绑定变量。
最近在排查CRMG性能SQL的过程中,大量的SQL需要确定绑定变量的值,如果一个个联系开发确定,效率太低。还有一些技术手段比如10046,LOGMINER又复杂的要死。大多数人都知道通过v$sql_bind_capture视图,可以查看绑定...
通过shell脚本定位性能sql和生成报告
oracle的sql monitor是一个很有用的工具集。但是通过sql命令和反复去调用dbms_tune来传入参数等等操作感觉挺费事的。可以通过如下的脚本来定位sql monitor中的性能sql,发现一些潜在的性能问题。这个脚本可以定位正在sql monitor监控范围内的sql语句。MONITOR_OWNER=`sqlplus -silent $DB_CONN_STR@$SH_DB_SID <<ENDse...
使用dbms_metadata生成建表语句
有时候在工作中,可以使用exp/imp得到表的创建语句。如果想得到关于table,index,constraint的语句,可以考虑使用dbms_metadata来实现。我们可以使用如下的脚本来得到建表语句,对应的索引语句,和ref_constraint语句。建表语句就不多说了,关于索引的部分,过滤了主键和唯一性索引的部分,这些语句会和建表语句中的cons...
关于抓取session信息的一个脚本
关于session的诊断,可以基于动态性能视图,ash,awr..自己也写过一些简单的脚本,在平时的工作中也能够完成一些基本的工作。今天在看taner分享的脚本snapper的时候,让自己眼前一亮,也发现自己存在着很多的不足的地方。可以从脚本中看到他孜孜不倦的分享着自己的心得,而且自己也写了一些更加深入的一些工具集来解析orac...
多行数据的批处理之bulk collect
在写pl/sql的时候,很多时候都会用比较经典的模式,定义一个游标cursor,然后循环从游标中取值进行处理。类似下面的格式declarecursor xxxx is xxxxx;beginloop cur in xxxxx loopxxxxxend loop;end;/如果cursor中包含的数据太多的时候,可能会有性能问题,性能的考虑主要在于pl/sql引擎和sql引擎的切换,和编...
关于enq: TX - allocate ITL entry的问题分析
今天发现系统在下午1点左右的时候负载比较高,就抓取了一个最新的awr报告.Snap IdSnap TimeSessionsCursors/SessionBegin Snap:2089226-Nov-14 13:20:1736235.4...
shell基础学习总结(二)
-->关于shell编程之文件比较可以使用如下的选项来做文件的比较。有了这些选项,文件的比较来说都是游刃有余。-d file file是否存在并是一个目录-e file file是否存在-f file file是否存在并是一个文件-r file &nb...