ITPub博客

首页 > 数据库 > Oracle > [20150403]修正sql语句.txt

[20150403]修正sql语句.txt

原创 Oracle 作者:lfree 时间:2015-04-03 09:20:51 0 删除 编辑

[20150403]修正sql语句.txt

--主要在一些调试与优化时加入hint容易.

--参考了链接,我自己做了小量的修改.
http://blog.itpub.net/22034023/viewspace-1063610/

/* Formatted on 2015/4/3 9:01:53 (QP5 v5.252.13127.32867) */
--SET LINESIZE 153
SET VERIFY OFF
--SET PAGESIZE 10000
--ACCEPT sql_id -
--PROMPT 'Enter value for sql_id: ' -
--DEFAULT '&&1'

SELECT * FROM TABLE (DBMS_XPLAN.display_cursor ('&&1', NULL, 'outline'));

ACCEPT hint_txt -
PROMPT 'Enter value for hint_text: ' -
DEFAULT 'comment'
SET FEEDBACK OFF
SET SQLBLANKLINES ON
SET SERVEROUTPUT ON

DECLARE
   l_profile_name   VARCHAR2 (30);
   cl_sql_text      CLOB;
BEGIN
   SELECT sql_fulltext
     INTO cl_sql_text
     FROM v$sqlarea
    WHERE sql_id = '&&1';

   SELECT 'profile ' || '&&1'  INTO l_profile_name FROM DUAL;

   DBMS_SQLTUNE.import_sql_profile
   (
      sql_text      => cl_sql_text
     ,profile       => sqlprof_attr (q'[&&hint_txt]')
     ,category      => ''
     ,name          => l_profile_name
     ,force_match   => FALSE
   );

   DBMS_OUTPUT.put_line (' ');
   DBMS_OUTPUT.put_line ('Profile ' || l_profile_name || ' created.');
   DBMS_OUTPUT.put_line (' ');
END;
/

COL FIRST_LOAD_TIME FOR a20

SELECT OBJECT_STATUS
      ,FIRST_LOAD_TIME
      ,plan_hash_value
      ,executions
      ,buffer_gets
      ,LAST_ACTIVE_TIME
      ,SQL_ID
  FROM v$sql
WHERE sql_id = '&&1';

prompt =================================================================================================================================================
prompt if drop or alter sql profile ,run :
prompt execute dbms_sqltune.drop_sql_profile(name => 'profile &&1')
prompt execute dbms_sqltune.alter_sql_profile(name => 'profile &&1',attribute_name=>'STATUS',value=>'DISABLED')
prompt =================================================================================================================================================
prompt
prompt
PRO
PRO
UNDEF sql_id
UNDEF hint_txt

SET SQLBLANKLINES OFF
SET SERVEROUTPUT OFF
SET FEEDBACK ON

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-1484706/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7971601