oracle sql tuning之非常实用的4条sql语句

2024-06-11 08:18

本文主要是介绍oracle sql tuning之非常实用的4条sql语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

--[1]查看full sql text

SELECTp.sql_fulltext

  FROM gv$locked_object l, gv$session s, gv$sqlarea p

 WHERE l.session_id = s.sid

   and s.sql_id = p.sql_id;

--[2]查看表和锁的相关信息

SELECTdistinct

       s.username,

       s.inst_id,

      o.object_name,

       s.wait_class,

       'alter system kill session ''' || s.sid ||',' ||s.serial# ||

       ''' immediate;'as sql_kill_session,

       'ps -ef | grep ' || p.spid ||' | grep -v grep'as shell_grep_proc,

       'kill -9 ' || p.spidas shell_kill_proc,

      s.blocking_session,

      s.seconds_in_wait,

       machine,

       p.program,

       s.sql_id

  FROM gv$locked_object l, dba_objects o, gv$session s,gv$process p

 WHERE l.object_id = o.object_id

   AND l.session_id = s.sid

   and s.paddr = p.addr

   and s.usernamein ('J1_DW','J1_LDCX','J1_LDM','J1_G3_ZBQ')

   --and machine='fjstj1ap01'

   --and s.inst_id = '1';

   orderby o.object_name,s.username;

  

--[3]查看真实的执行计划

declare
  type array_table is table of varchar2(4000 char) index by binary_integer;
  lvc_array array_table;
  i         number;
begin
  dbms_output.enable(buffer_size => null);
  execute immediate 'select *
  from TABLE(DBMS_XPLAN.DISPLAY_CURSOR(''1s87w0c9x0z5g'', 0, ''ADVANCED''))' bulk
                    collect
    into lvc_array;


  for i in 1 .. lvc_array.count loop
    dbms_output.put_line(lvc_array(i));
  end loop;
end;

 

--[4]进行sql tuning

declare

  lv_task_name varchar2(30);

begin

  --select instance_name,instance_numberfrom v$instance;

  lv_task_name :=DBMS_SQLTUNE.create_tuning_task(sql_id =>'ggudmy1v4muuz',

                                                 scope       =>'comprehensive',

                                                 time_limit  =>'60',

                                                 task_name   =>'sql_tuning_DM2_ZS_ZDSYQYRKHXS',

                                                  description =>'taskto tune a query');

 dbms_output.put_line(lv_task_name);

 DBMS_SQLTUNE.execute_tuning_task(task_name => 'sql_tuning_DM2_ZS_ZDSYQYRKHXS');

end;

  --查看report_tuning_task

selectdbms_sqltune.report_tuning_task('sql_tuning_DM2_ZS_ZDSYQYRKHXS')fromdual;

  --使用sql profile

begin

 dbms_sqltune.accept_sql_profile(task_name  => 'sql_tuning_DM2_ZS_ZDSYQYRKHXS',

                                  task_owner=> 'J1_DW',

                                  replace    =>TRUE);

END;

这篇关于oracle sql tuning之非常实用的4条sql语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050628

相关文章

SQL Server 查询数据库及数据文件大小的方法

《SQLServer查询数据库及数据文件大小的方法》文章介绍了查询数据库大小的SQL方法及存储过程实现,涵盖当前数据库、所有数据库的总大小及文件明细,本文结合实例代码给大家介绍的非常详细,感兴趣的... 目录1. 直接使用SQL1.1 查询当前数据库大小1.2 查询所有数据库的大小1.3 查询每个数据库的详

MySQL中REPLACE函数与语句举例详解

《MySQL中REPLACE函数与语句举例详解》在MySQL中REPLACE函数是一个用于处理字符串的强大工具,它的主要功能是替换字符串中的某些子字符串,:本文主要介绍MySQL中REPLACE函... 目录一、REPLACE()函数语法:参数说明:功能说明:示例:二、REPLACE INTO语句语法:参数

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

MySQL中优化CPU使用的详细指南

《MySQL中优化CPU使用的详细指南》优化MySQL的CPU使用可以显著提高数据库的性能和响应时间,本文为大家整理了一些优化CPU使用的方法,大家可以根据需要进行选择... 目录一、优化查询和索引1.1 优化查询语句1.2 创建和优化索引1.3 避免全表扫描二、调整mysql配置参数2.1 调整线程数2.

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

MySQL实现多源复制的示例代码

《MySQL实现多源复制的示例代码》MySQL的多源复制允许一个从服务器从多个主服务器复制数据,这在需要将多个数据源汇聚到一个数据库实例时非常有用,下面就来详细的介绍一下,感兴趣的可以了解一下... 目录一、多源复制原理二、多源复制配置步骤2.1 主服务器配置Master1配置Master2配置2.2 从服

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注