Oracle数据库跟踪SQL
教大家如何玩转跟踪(to owner session、other session)https://zhuanlan.zhihu.com/p/72186015Oracle数据库的跟踪和分析方法https://www.modb.pro/db/33350Oracle 数据库跟踪 SQL 的几种方法https://dhexx.cn/news/show-2631128.html?action=onClick
利用dbms_profile定位存储过程或者package里低效率语句
http://blog.chinaunix.net/uid-74941-id-85352.htmlhttps://www.bbsmax.com/A/MAzAgQNq59/1.检查是否安装了dbms_profiler包如果没有安装的话,执行下面的语句安装,@?/rdbms/admin/profload.sql2.把dbms_profiler的执行权限赋于scottgrant execute on d
sql_plan_baseline
https://blog.csdn.net/u010719917/article/details/520026791、查看错误的SQL 所执行 的执行计划,确认是否需要使用基线控制执行计划(前提,我们无法直接修改SQL,否则直接通过SQL改写方式即可)2、打开基线捕获参数 alter session set optimizer_capture_sql_plan_baselines=TR
关于加快INSERT语句执行速度和 HINT /*+ append*/及nologging的使用
http://blog.itpub.net/25834554/viewspace-1054672/非归档,T01(LOGGING),普通INSERT语句产生的redo值:1255940非归档,T01(LOGGING),HINT /*+append*/,产生的redo值:2416归档,T01(LOGGING),普通INSERT语句产生的redo值:1199344归档,T01(LOGGING), HI
Oracle“并行执行”——监控视图
http://www.mamicode.com/info-detail-1422946.html
使用sql monitor获取更加详细的执行计划 - dbms_sqltune.report_sql_monitor
在数据库上执行SQL语句,执行完毕或执行过程中可以通过如下语句查询到 SQL_ID 。select * from v$sql where sql_text like '%SELECT BOOK.DESCRIPTION AS%' o
WITH AS and materialize hints
加--+materialize提示,Oracle会先将查询结果写入一张临时表,然再查询临时表。WITH AS: 就是将一个子查询部分独立出来,有时候是为了提高SQL语句的可读性,有时候是为了提高SQL语句性能。 如果一个SQL语句中,某个表会被访问多次,而且每次访问的限制条件一样的话,就可以使用with a
SQL调优(SQL TUNING)并行查询提示(Hints)之pq_distribute的使用
pq_distribute提示通常被用于提升数据仓库中分区表间的连接操作性能。 pq_distribute提示允许你确定参与连接的表数据行在生产和消费并行查询服务进程间如何分配。 pq_distribute提示接受三个参数:表名,外分配和内分配。当执行并行查询连接时,我们总是想着避免PARALLEL_TO_PARALLEL执行计划。PARALLEL_TO_PARALLEL操作意味着输入输出数据流都
Oracle 内存管理方式
Oracle 内存管理方式oracle11g新出参数MEMORY_MAX_TARGET 和 MEMORY_TARGET进行自动管理PGA 和SGA 称之为 自动化内存管理(Automatic Memory Management,AMM。MEMORY_MAX_TARGET :MEMORY_TARGET所能设定的最大值。非动态可调。MEMORY_TARGET :操作系统上 Or
Oracle数据库work area size & pga_aggregate_target参数
单个session的PGA内存使用量限制有比较多的概念,现在统一梳理一下: 1、关于PGA内存是自动管理还是手工管理,以及*_area_size(例如 sort_area_size)参数是否生效workarea_size_policy:该参数定义数据库PGA内存是否自动管理,同时涉及到SQL运行中各种内存参数设置是否生效;当PGA内存为自动内存管理(workarea_size_polic
AWR报告参数:DB TIME和DB CPU
http://blog.itpub.net/12679300/viewspace-1182396/一、前言:AWR报告是了解ORACLE运行的一个重要报告,CPU的使用情况是AWR报告的一个重要指标,本文档从单个CPU的维度去解读AWR报告; 二、重要参数介绍: DB Time:Amount of elapsed time (in microseconds) spent performing Database user-leve...
动态抽样(Dynamic Sampling)
https://blog.csdn.net/indexman/article/details/42324465https://blog.csdn.net/renfengjun/article/details/21385335http://www.killdb.com/2012/04/12/in-depth-analysis-of-the-parameter-optimizer_dynamic_sampling.html1、什么是动态采样?动态抽样从 oracle 9i第2版引入。它使得优化器(CBO)在硬解析期间有...
sql_trace和10046事件解析
sql_trace和10046事件解析.docx
Oracle扩展统计信息
oracle 11g在统计信息收集方面增加了扩展统计信息的特性,它可以收集一个表中相关列上的统计信息,也可以收集函数表达式上的统计信息.使选择率,成本的估计更加准确,也更容易走正确的执行计划.在相关列上收集统计信息,好处还是很明显的.例如两列在逻辑上有一定的关系,但如果只是对这两个列单独做统计信息的收集,根据多条件的选...
11gR2 新特性之(一)Adaptive Cursor Sharing(ACS)
http://www.killdb.com/2011/06/19/11gr2-%e6%96%b0%e7%89%b9%e6%80%a7%e4%b9%8b%ef%bc%88%e4%b8%80%ef%bc%89adaptive-cursor-sharing%ef%bc%88acs%ef%bc%89.html一概述关于该特性,其实并不是11gR2开始引入的,其实在11gR1就引入了,只不过其问题较多,并未引起太多关注而已(bug不少)。该特性主要解决了哪些问题?● ...
Oracle 11g 之自动收集统计信息
在Oracle的11g版本中提供了统计数据自动收集的功能。在部署安装11g Oracle软件过程中,其中有一个步骤便是提示是否启动这个功能(默认是启用这个功能)。一、查看自动收集统计信息的任务及状态:SQL> select client_name,status from dba_autotask_client;CLIENT_NAME ...
oracle表碎片整理
数据库在日常使用过程中,不断的insert,delete,update操作,导致表和索引出现碎片是在所难免的事情,碎片多了,sql的执行效率自然就差了,道理很简单,高水位线(HWL)下的许多数据块都是无数据的,但全表扫描的时候要扫描到高水位线的数据块!表的碎片和文件系统的碎片化的是不一样的,当随着在一个表上的DML的上操作越...
Oracle 11g RAC生成 AWR 报告方法
Oracle 11g RAC生成 AWR 报告方法 1.生成单实例 AWR 报告:@$ORACLE_HOME/rdbms/admin/awrrpt.sql2.生成 Oracle RAC AWR 报告:@$ORACLE_HOME/rdbms/admin/awrgrpt.sql3.生成 RAC 环境中特定数据库实例的 AWR 报告:@$ORACLE_HOME/rdbms/admin/awrrpti.sql4.生成 Oracle RAC 环境中多个数据库实例的 AWR 报告的方...
AWR 导出/导入/生成报告
客户的生产系统总是那么重要,一般不会让你长时间的在他们的生产机器上做操作,但是分析和生成AWR报告都是一个相对耗时的工作,当然只生成一个AWR报告是不费时的,但是要对系统进行详细分析的时候,我们可能需要的是一段时间内的所有AWR数据,需要根据实际情况进行选取。这时我们就需要将客户的AWR数...
自动/手动类型sql_profile(dbms_sqltune/coe_xfr_sql_profile.sql)
一、自动类型的sql_profile(运用dbms_sqltune)create table t1 (n number);SQL> create table t1 (n number);Table created.SQL> declare begin for i in 1..10000 loop insert into t1 values(i); commit; ...