SQL profile纵览(10g)】的更多相关文章

第一篇:介绍         10g开始,查询优化器(Query optimizer)扩展成自动调整优化器(Automatic Tuning Optimizer).也就是扩展了功能.此时,我们就可以让它花更多时间来返回更优秀的执行计划.正常情况下,查询优化器要以最快的速度返回执行计划.与此不同的是,自动调整优化器可以花费较长的时间来产生一个高效的执行计划.它会用假设分析(what-if)来核实哪个才是最好的执行计划.sql概要其实也就是一系列的hint. 自动调整优化器是通过SQL调优建议器(S…
sql profile最大的优点是在不修改sql语句和会话执行环境的情况下去优化sql的执行效率,适合无法在应用程序中修改sql时.sql profile最常用方法大概是:--创建产生sql tuning advisor任务DECLARE  tuning_task varchar2(100);  l_sql_id    v$session.prev_sql_id%TYPE;BEGIN  l_sql_id    := '6w02d3ggsj4xb';  tuning_task := dbms_sq…
一.前提概述 在介绍SQL Profile之前,不得不说的一个工具就是SQL Tuning Advisor:这个工具是从Oracle 10g開始引入,它的任务就是分析一个指定的SQL语句,并建议怎样使用一些方法来提高指定语句的性能,比如:收集缺失的对象统计信息.或者收集过时的对象统计信息.创建新的索引.调整SQL语句结构.採用SQL Profile等等方式. 二.为什么SQL Tuning Advisor可以找出提高语句性能的方法? 这须要从SQL Tuning Advisor的工作原理開始说明…
前提:sql profile工具的相关视图 dba_sql_profile 10g: sys.sqlprof$attr  &  sqlprof$ 11g: sys.sqlobj$data  &  sys.sqlobj$ 1.主要完毕四个演示样例,例如以下 使用dbms_sqltune.import_sql_profile过程手工指定提示的方式,这样的方式要求很高(查询块名等),一般不会使用 使用create_sql_profile.sql脚本固定内存中已经有的SQL的运行计划,通过指定sq…
日常运维中,经常会遇到需要绑定好的执行计划的场景. 简单来说,就是将一个sql_id绑定好的plan_hash_value.如果没有使用到绑定变量,还需要把force_match设置为true. 用到的是MOS文档215187.1提供的系列脚本中的coe_xfr_sql_profile.sql. 下载地址:coe_xfr_sql_profile.sql.zip 脚本内容具体如下: SPO coe_xfr_sql_profile.log; PAGES LONGC TRIMS NUMF ""…
SQL TYPE 1:for bind value sql , first create a good plan with literal and with good  profile. then use sqlT to replace the profile‘’s good plan  to bind value sql_id. then double checking . var 1 varchar2(32);var 2 VARCHAR2(32);var 3 VARCHAR2(32);var…
SQL Profile就是为某一SQL语句提供除了系统统计信息.对象(表和索引等)统计信息之外的其它信息,比方执行环境.额外的更准确的统计信息,以帮助优化器为SQL语句选择更适合的执行计划. SQL Profiles可以说是Outlines的进化.Outlines可以实现的功能SQL Profiles也全然可以实现,而SQL Profiles具有Outlines不具备的优化,最重要的有二点:     SQL Profiles更easy生成.更改和控制. SQL Profiles在对SQL语句的支…
固定(稳定)执行计划 你的应用的功能时快时慢,变化比较大,功能的性能能够保持一种稳定的状态,ORACLE 固定执行计划,采用以下这几种方式 oracle 9i使用 Outline oracle 10g采用 sql profile oracle 11g增加了sql plan manage oracle 10g采用 sql profile :两种模式 从SQL语句历史的执行计划,找到一个合理的,进行绑定 还有一种无法从历史的执行计划找到合理的,只能手工构造进行绑定 提供脚本 create_sql_p…
为什么需要SQL Profile Why oracle need SQL Profiles,how it work and what are SQL Profiles... 使用DBMS_XPLAN.DISPLAY分析SQL执行计划,通常会看到Note中有类似下面这样的提示: Note ----- - SQL profile "SYS_SQLPROF_0158283a9b920000" used for this statement SQL profile由人为手工创建或在Automa…
我们经常会碰到一些线上的SQL问题,因为执行计划不对,可能需要添加HINT才能解决.但是添加HINT就意味着需要修改应用代码.一般一个应用代码的修改.测试及发布,可能需要两三个工作日才可完成.咱们数据库可等不起这个时间,必须要在短时间内解决这个SQL问题.这时候,SQL PROFILE就挺身而出了!它可以让DBA在不修改应用代码程序的情况下,修改SQL的执行计划. 要使用SQL PROFILE,必须要有create any sql profile,drop any sql profile,alt…
1.  引子Oracle系统为了合理分配和使用系统的资源提出了概要文件的概念.所谓概要文件,就是一份描述如何使用系统的资源(主要是CPU资源)的配置文件.将概要文件赋予某个数据库用户,在用户连接并访问数据库服务器时,系统就按照概要文件给他分配资源. 包括: 1.管理数据库系统资源.利用Profile来分配资源限额,必须把初始化参数resource_limit设置为true默认是TRUE的.2.管理数据库口令及验证方式.默认给用户分配的是DEFAULT概要文件,将该文件赋予了每个创建的用户.但该文…
SQLT工具包含一个脚本,名字是 coe_load_sql_profile.sql,下面以用户SCOTT的EMP表为例,说明如何使用该脚本固定sql profile. 1. SQL> -- 对emp的列ename创建一个索引 SQL> create index i_emp_ename on scott.emp(ename); SQL> --收集统计信息 SQL> exec dbms_stats.gather_table_stats(ownname=>'SCOTT',tabna…
分析SQL优化运营开销SQL的重要手段.在MySQL数据库.可配置profiling参数启用SQL分析.此参数可以在全局和session水平集.级别则作用于整个MySQL实例,而session级别紧影响当前session.该參数开启后.兴许运行的SQL语句都将记录其资源开销,诸如IO,上下文切换,CPU,Memory等等.依据这些开销进一步分析当前SQL瓶颈从而进行优化与调整.本文描写叙述了怎样使用MySQL profile,不涉及详细的例子分析. 1.有关profile的描写叙述 --当前版本…
mysql  大数据库文件上传(10G) phpstudy2017 环境  mysql 5.5.53   php 5.5.45 更改php.ini memory_limit 为 2048M php.ini max_execute_time 为 0 my.ini  加入  max_allowed_packet = 2048000M 在cmd中 执行 mysql -uroot -p bss_box < F:\bss\bss_box.sql -f --default-character-set=utf…
select M.RESPONSIBILITY_NAME, B.PROFILE_OPTION_NAME, X.USER_PROFILE_OPTION_NAME, t.profile_option_value,x.* from FND_PROFILE_OPTION_VALUES t, FND_RESPONSIBILITY_VL M, FND_PROFILE_OPTIONS B, FND_PROFILE_OPTIONS_TL x where --t.profile_option_id(+) = 19…
如果你的数据库没有sqlprofile,看这里. 如果你没时间装sqlserver那一系列的东西,看看这里,也许能解决呢. 这是一个迷你版的sqlprofile ,在win7下测试,链接sqlserver 2012没有问题. http://expressprofiler.codeplex.com/…
这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异. 所以有时候我们应该先搞清楚需求到底是什么,SQL本身是否合理,这些思考很可能会使优化工作事半功倍.而本文是假设SQL本身合理,从Oracle提供给我们的一些技术手段来简单介绍下Oracle数据库,该如何使用一些现有的技术来优化一个SQL执行的性能. 确定需要优化的SQL文本及当前SQL执行计划 确定SQL涉及的所有表及…
主题简介 在数据库运维中我们会遇到各种各样的问题,这些问题的根源可能很明显,也可能被某种表象掩盖而使我们认不清.所以运维面临的两大问题就是,第一我们没有看清本质,第二应用不允许修改.那么我们如何解决这两个问题,是每一个运维者都应该思考的.今晚的分享将会从三个方面来进行.如何准确定位问题,如何不修改应用进行优化,以及如何通过SQL审核防患未然. 大家好.我是云和恩墨公司的专家罗海雄,主要专长于性能优化这个领域,包括数据库的优化,SQL优化等.今天给大家分享的主题是“如何在无法修改应用时进行数据库优…
6.OAM及系统管理 2014年9月13日 20:40 参考资料: 1.Oracle Applications System Administrator's Guide - Configuration http://download.oracle.com/docs/... acrobat/120sacg.pdf 2.Oracle Applications System Administrator's Guide - Maintenance http://download.oracle.com/d…
SQL优化器(SQL Tuning Advisor STA)是Oracle10g中推出的帮助DBA优化工具,它的特点是简单.智能,DBA值需要调用函数就可以给出一个性能很差的语句的优化结果.下面介绍一下它的使用. 使用STA一定要保证优化器是CBO模式下. 一.利用STA优化语句 我们下面简单介绍一下如何优化一条找到的问题语句.正如前面所述说的,STA是用起来很简单(只要你会调用存储过程,都能使用这个工具),三个步骤就可以完成一次语句调优. 测试环境创建: SQL> CREATE TABLE b…
背景 每当交易高峰时期,可能会暴露一些平时无法发现的问题,机遇和挑战并存.下面聊聊最近解决的一个案例,因为执行计划走错导致慢查询,进而引发应用线程阻塞.线程池爆满,最后应用功能瘫痪.如何标本兼治的解决问题,需要很多思考. 问题分析 step1 应用瘫痪 用户反应某查询功能一直处于加载中,并出现错误提示.查看后台应用日志,调用远程查询服务出现大量超时. step2 线程池爆满 通过jstack命令来分析查询服务jvm线程堆栈,发现设定的线程池已经满了,而且大部分线程阻塞在了数据库查询阶段(如下图)…
一.数据库升级后保障手段 为了保障从10.2.0.4版本升级到11.2.0.4版本更加平稳,我们事先采用了oracle性能分析器(SQL Performance Analyzer)来预测数据库的关键SQL在Oracle 11.2.0.4版本上的性能情况.以便提前发现问题并做相关性能优化.这一部分的SQL已经提前进行了优化处理.但是Oracle SPA功能这只是预测,我们并不能完全仿真真实应用业务压力上来之后对数据库性能造成的影响.因此,我们需要对其他SQL问题进行快速的处理,保障系统升级后平稳的…
11g新特性-自动sql调优(Automatic SQL Tuning) 在Oracle 10g中,引进了自动sql调优特性.此外,ADDM也会监控捕获高负载的sql语句. 在Oracle 11g中,通过运行sql tuning advisor加强了自动sql调优功能.默认情况下是每天夜间通过自动任务的方式运行”自动sql调优“. 自动sql调优的过程: 1.识别需要调优的sql语句  根据AWR中的CPU和I/O负载来识别 2.调优,生成新的sql profile 在维护窗口(maintena…
首先构建一个简单的测试用例来实际演示: create table emp as select * from scott.emp; create table dept as select * from scott.dept; create index idx_emp_empno on emp(empno); create index idx_dept_deptno on dept(deptno); 测试过程中查看真实执行计划的方法: set lines 1000 pages 1000 alter…
Oracle SQL 硬解析和子游标 What reasons will be happening sql hard parse and generating new child cursors 在一个繁忙的系统中,发现一个复杂且非常长的查询,产生40多个子游标和大量的硬解析,占用很多的内存.CPU资源: SQL> @sql 3168229204 Show SQL text, child cursors and execution stats for SQL hash value 3168229…
什么是SQL执行计划管理? SQL计划管理(SQL plan management)是一咱预防机制,记录和评估SQL语句的执行计划.SQL plan management的主要功能是sql plan baseline. sql plan baseline某个SQL的执行计划的集合,这些执行计划经过验证,性能良好. 为什么要使用sql baseline? 引入sql baseline的目的是无论数据库是否发生变化,都能保证SQL的性能(解决数据库发生变化时的性能问题).数据库的变化如: •New…
https://blog.csdn.net/lukeUnique/article/details/79331779 https://mauro-pagano.com/2014/10/27/when-the-going-gets-tough-the-tough-get-going-aka-sqlt-xplore/ When upgrading a database sometime you find that one or more SQLs run slower because of a new…
概述 在业务数据库性能问题诊断中,如果发现一个业务性能很差跟某个SQL有关,应用连接池几乎被该SQL占满,同时数据库服务器上也不堪重负.此时情况很紧急,业务改SQL重发布已经来不及了,运维能选择的操作不多.如批量重启应用.数据库切换或者重启.此时业务中断一下,很可能很快压力又上来,问题依然在那个SQL.前篇文章<阿里数据库性能诊断的利器——SQL全量日志>分享了如何定位问题SQL,本文就分享阿里数据库们如何处理这个问题SQL. ORACLE在SQL性能诊断方面的功能非常丰富,一直被其他数据库模…
1.   SQLT 下载 从metalink上下载SQLT工具,参考文档 (以下大部分(SQL可以在sqlt\utl 目录下找到)) 1.1 SQLT 安装 SQLT安装在自己的schema SQLTXPLAIN下,它不会在其他业务用户下安装任何对象.你可以在10.2以上版本的UNIX.LINUX或WINDOWS上安装. 安装步骤: 卸载之前版本 (可选). 这个步骤可选,用来删除之前的SQLTXPLAIN schema 对象,准备为全新安装做准备. $ cd sqlt/install $ sq…