亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? coe_xplain.sql

?? oracle常用管理腳本
?? SQL
?? 第 1 頁 / 共 4 頁
字號:
/*$Header: coe_xplain.sql 8.1/11.5     2000/01/15 16:00:00     csierra coe $ */

SET term off;

SET ver off;

/*=============================================================================

 OVERVIEW:

    Generates enhanced Explain Plan for one SQL statement.  Includes relevant

    statistics: table(s), index(es) and index(es)_column(s).  It optionally

    displays histograms, storage parameters and database parameters.



 INSTRUCTIONS:

    Insert your SQL statement under the 'III. Generate Explain Plan' section. 

    Finish your SQL statement with a semicolon ';'. Save and run this script.  



 NOTES:

 1. Download newer version from (case sensitive): 

    http://coe.us.oracle.com/~csierra/CoE_Scripts/coe_xplain.sql

 2. The Explain Plan is spooled to file COE_XPLAIN.LST contains.  The original

    SQL statement is spooled to COE_STATEMENT.LST

 3. Open the spooled files using WordPad, change the font to Courier New, style

    regular and size 8.  Set up the page to Lanscape with all 4 margins 0.5 in.

 4. This script has been tested on 8.0.5 and 8.1.6.  It is ready to run on any

    8.1.6+ server. If you need to run it on 8.0 remove all lines having the

    comment '-- 8.1' on them.

 5. For a list of all install init.ora parameters and values on 11i run script

    $FND_TOP/sql/AFCHKCBO.sql.  This script includes the display of such

    parameters for Apps 11i.

 6. This script is capable of tracing the CBO.  Find the two lines referencing

    event 10053 (do find on '10053) and remove comment (--).

    Read Note:72346.1 for interpretation.

 7. Table COE_HISTOGRAMS has been created to workaround Bug 894549 (poor

    performance on TAB_HISTOGRAMS views)



 PARAMETERS:

 1. Include count(*) of Tables in SQL Statement? <Y/N> 

        N - Does not display count(*) information for all Tables (DEFAULT)

        Y - Creates nd runs a SQL script to perform a count(*) on all Tables

            referenced in the Explain Plan.  It may be slow but it is highly

            recommended for RULE based optimizer 

 2. Include Table and Index Storage Parameters? <N/Y> 

        Y - Displays both Table and Index Storage Parameters from ALL_TABLES

            and ALL_INDEXES.

        D - Same as Y.  It also displays, counts and summarizes Extents for

            each Object referenced in Explain Plan.  This step may be slow.

            Request this Detailed option only when really needed.

        N - Skips the extract and display of Storage Parameters (DEFAULT)

 3. Include all Table Columns? <N/Y> 

        Y - Extracts and displays all Columns for all Tables referenced in

            Explain Plan

        N - Displays statistics only for those Columns included in at least

            one Index of a Table referenced in the Explain Plan (DEFAULT)

 4. Include all Column Histograms? <N/Y>

        Y - Display all Histogram information from ALL_TAB_HISTOGRAMS for

            all Columns in all Tables referenced in Explain Plan

        N - Skips the display of all Histograms (DEFAULT)

 5. Include relevant INIT.ORA DB parameters? <N/Y>

        Y - Displays relevant DB parameters from v$parameter.  

        N - Skips the display of v$parameter (DEFAULT)

 6. Enter your initials to suffix objects <null>

        xx  Create COE temp objects with xx suffix (DEFAULT)

            Use this option if more than one analyst is using this script

            at the same time (concurrency).

            To activate this parameter, remove comments in ACCEPT INITIALS

 DISCLAIMER:

    This script is provided for educational purposes only.  It is not supported

    by Oracle World Wide Technical Support.  The script has been tested and 

    appears to works as intended.  However, you should always test any script 

    before relying on it. 

    Proofread this script prior to running it!  Due to differences in the way 

    text editors, email and operating systems handle text formatting (spaces, 

    tabs and carriage returns), this script may not be in an executable state 

    when you first receive it.  Check over the script to ensure that errors of 

    this type are corrected. 

    This script can be sent to customers.  Do not remove disclaimer paragraph.



 HISTORY:

    02-DEC-99 Created                                                   csierra

    21-JAN-00 Row Count(*) for Tables in Explain Plan is added          csierra

    17-FEB-00 Index summary is added                                    csierra

    20-MAR-00 Statistics information is enhanced and index_column added csierra

    06-APR-00 Operation Type and Order columns are incorporated         csierra

    08-MAY-00 Parameter include_count added to avoid redundant count(*) csierra

    01-SEP-00 COE_PLAN_TABLE is incorporated replacing PLAN_TABLE       csierra

    08-SEP-00 (RBO or CBO has been used) is displayed in Plan           csierra

    08-SEP-00 Display of DBA_TABLES data is splited by blocks           csierra

    14-SEP-00 COE_INDEXES table is created                              csierra

    21-SEP-00 Table Columns are added                                   csierra

    22-SEP-00 Storage Parameters plus Table and Index Extents           csierra

    25-SEP-00 Include relevant DB parameters from v$parameter           csierra

    06-NOV-00 Fixing some column sizes                                  csierra

    20-NOV-00 Include Object_id for tables and indexes (event 10053)    csierra

    27-NOV-00 Added parameter 'initials' to avoid sync crashes multiusr csierra

    12-DEC-00 Hide parameter 'initials' and CBO traceing                csierra

    13-DEC-00 Include all Column Histograms                             csierra 

    21-DEC-00 Fixed High Water Mark - adding 1 to blocks + empty bloks  csierra

    05-JAN-01 Table COE_HISTOGRAMS is created to workaround 894549      csierra

    05-JAN-01 Histograms and FND_HISTOGRAM_COLS are incorporated        csierra

 =============================================================================*/



/* I. Execution Parameters Section                                            

   ===========================================================================*/

SET term on;

PROMPT Unless otherwise instructed by Support, hit <Enter> for each parameter

accept include_count prompt - 

       '1. Include count(*) of Tables in SQL Statement? <n/y> ';

accept include_storage prompt - 

       '2. Include Table and Index Storage Parameters? <n/y/d> ';

accept include_all_columns prompt -

       '3. Include all Table Columns? <n/y> ';

accept include_histograms prompt -

       '4. Include all Column Histograms? <n/y> ';

accept include_vparameter prompt -

       '5. Include relevant INIT.ORA DB parameters? <n/y> ';

def initials='XX'; -- remove comments in next two lines to acctivate parameter

-- accept initials prompt -

--       '6. Enter your initials to suffix objects <null> ';

PROMPT Generating...

SET term off;



/* II. DDL Section - Create Tables COE_PLAN_TABLE, COE_TABLES and COE_INDEXES

   ========================================================================== */

DROP   TABLE COE_PLAN_TABLE_&&initials;

CREATE TABLE COE_PLAN_TABLE_&&initials

    (statement_id varchar2(30),timestamp date,remarks varchar2(80),

     operation varchar2(30),options varchar2(30),object_node varchar2(128),

     object_owner varchar2(30),object_name varchar2(30),

     object_instance numeric,object_type varchar2(30),

     optimizer varchar2(255),search_columns number,id numeric,

     parent_id numeric,position numeric,cost numeric,cardinality numeric,

     bytes numeric,other_tag varchar2(255),partition_start varchar2(255),

     partition_stop varchar2(255),partition_id numeric,other long,

     execution_order numeric);

DROP   TABLE COE_TABLES_&&initials;

CREATE TABLE COE_TABLES_&&initials 

    (TABLE_NUM NUMBER,TABLE_OWNER VARCHAR2(30),TABLE_NAME VARCHAR2(30),

     ROWS_COUNT NUMBER);

DROP   TABLE COE_INDEXES_&&initials;

CREATE TABLE COE_INDEXES_&&initials 

    (TABLE_NUM NUMBER,INDEX_NUM NUMBER,INDEX_OWNER VARCHAR2(30), 

     INDEX_NAME VARCHAR2(30),TABLE_OWNER VARCHAR2(30),TABLE_NAME VARCHAR2(30));

DROP   TABLE COE_HISTOGRAMS_&&initials;

CREATE TABLE COE_HISTOGRAMS_&&initials

    (TABLE_NUM NUMBER,TABLE_OWNER VARCHAR2(30),TABLE_NAME VARCHAR2(30),

     COLUMN_NAME VARCHAR2(30),ENDPOINT_NUMBER NUMBER,ENDPOINT_VALUE NUMBER,

     ENDPOINT_ACTUAL_VALUE VARCHAR2(30), ENDPOINT_JULIAN NUMBER(7));



/* III. Generate Explain Plan Section                                         

   ===========================================================================*/

-- alter session set events '10053 trace name context forever, level 1';

SPOOL coe_statement.lst;

SET pages 1000;

SET lin 150;

SET sqlp '';

SET sqln off;

SET autotrace off;

SET term on;

SET echo on;



explain plan set statement_id = 'COE_XPLAIN' into COE_PLAN_TABLE_&&initials for

/*===========================================================================

  Generate Explain Plan for SQL statement below (ending with a semicolon ';') 

  =========================================================================== */ 

select

   fc.forecast_designator        "forecast",

   fc.forecast_set               "set",

   fi.inventory_item_id          "item",

   fd.forecast_date              "fc date",

   fd.original_forecast_quantity "orig qty",

   fd.current_forecast_quantity  "curr qty",

   fd.transaction_id             "xtn id",

   fu.update_sales_order         "sales order"

from

    mrp_forecast_designators     fc,

    mrp_forecast_items           fi,

    mrp_forecast_dates           fd,

    mrp_forecast_updates         fu

where

    fc.organization_id         = 207

and fc.forecast_designator     = 'F-M1-SCP'

and fd.forecast_date           < sysdate

and fc.organization_id         = fi.organization_id

and fc.forecast_designator     = fi.forecast_designator

and fi.organization_id         = fd.organization_id

and fi.forecast_designator     = fd.forecast_designator

and fi.inventory_item_id       = fd.inventory_item_id

and fd.transaction_id          = fu.transaction_id(+)

order by 1,2,3,4;



/* ========================================================================== */

SET echo off;

SPOOL OFF;

SET term off;

-- alter session set events '10053 trace name context off';



/* IV. Compute Execution Order Section                                        

   ===========================================================================*/

DECLARE

    coe_pointer     number := 0;  -- Row on COE_PLAN_TABLE being processed.

    coe_next_order  number := 1;  -- To update Execution Order

    coe_xplain      CONSTANT varchar2(30) := 'COE_XPLAIN'; -- statement_id.

    coe_parent_id   number;       -- To move pointer (only if needed).

    coe_curr_order  varchar2(80); -- Order in current row of COE_PLAN_TABLE.

    coe_count_child number;       -- Number of children for a parent.

BEGIN

    LOOP

        SELECT parent_id, execution_order    -- Reads COE_PLAN_TABLE w/pointer.

        INTO   coe_parent_id, coe_curr_order -- Starts on first row (id=0) and

        FROM   COE_PLAN_TABLE_&&initials     -- works its way down.

        WHERE  id           = coe_pointer

        AND    statement_id = coe_xplain;

        IF  coe_curr_order is not null THEN  -- When row has already its Order:

            EXIT WHEN coe_pointer = 0;       -- Exit Loop if back at the Top.

            coe_pointer := coe_parent_id;    -- Else, move pointer to parent.

        ELSE                                 -- When row doesn't have Order yet:

            SELECT count(*)                  -- Determines if there is any

            INTO   coe_count_child           -- child for the current parent

            FROM   COE_PLAN_TABLE_&&initials -- pending to receive Order.

            WHERE  parent_id        = coe_pointer

            AND    execution_order is null

            AND    statement_id     = coe_xplain;

            IF  coe_count_child     = 0 THEN -- If no child is pending:

                UPDATE COE_PLAN_TABLE_&&initials -- row gets updated with Order.

                SET execution_order = to_char(coe_next_order)

                WHERE  id           = coe_pointer

                AND    statement_id = coe_xplain;

                coe_next_order := coe_next_order + 1; -- Order gets incremented.

            ELSE                             -- If at least one pending child:

                SELECT id                    -- Move pointer to first pending

                INTO   coe_pointer           -- child.

                FROM   COE_PLAN_TABLE_&&initials

                WHERE  parent_id        = coe_pointer

                AND    execution_order is null

                AND    rownum           = 1

                AND    statement_id     = coe_xplain;

            END IF;

        END IF;

    END LOOP;

END;

/



/* V. COLUMN Definition Section                                               

   ===========================================================================*/

SET feed off;

SET numf 999,999,999;

CLEAR columns;

CLEAR breaks;

COLUMN typ FORMAT a3 HEADING 'Ope|Typ';

COLUMN execution_order FORMAT 9999 HEADING 'Exec|Order';

COLUMN query_plan FORMAT a140 HEADING - 

                    'Explain Plan (coe_xplain.sql 8.1/11.5 20010115)' wor;

COLUMN owner_table FORMAT a37 HEADING 'Owner.Table';

COLUMN owner_index FORMAT a40 HEADING 'Owner.Index';

COLUMN table_name FORMAT a30 HEADING 'Table';

COLUMN index_name FORMAT a33 HEADING 'Index';

COLUMN last_analyzed HEADING 'Last|Analyzed';

COLUMN num_rows FORMAT 99,999,999 HEADING -

                    '(B)|Num of rows|in Table|(Cardinality)';

COLUMN num_rows_i FORMAT 99,999,999 HEADING '(C)|Number|of rows|in Index';

COLUMN delta_percent FORMAT b999.9 HEADING 'Delta|Percent|ABS(A-B)/A';

COLUMN avg_row_len FORMAT b99,999 HEADING 'Avg Row|Length|(bytes)';

COLUMN avg_col_len FORMAT b99,999 HEADING 'Avg Col|Length|(bytes)';

COLUMN num_buckets FORMAT b99,999 HEADING 'Number|Buckets|Histogr';

COLUMN hwm_blocks FORMAT b99,999,999 HEADING 'High|Water-Mark|(blocks)';

COLUMN empty_blocks FORMAT b99,999,999 HEADING 'Empty|Blocks';

COLUMN used_blocks FORMAT b99,999,999 HEADING 'Used|Blocks';

COLUMN freelists FORMAT b99 HEADING 'Free|Lists';

COLUMN global_stats FORMAT a6 HEADING 'Global|Stats';

COLUMN distinct_keys FORMAT 99,999,999 HEADING '(D)|Distinct|Keys';

COLUMN num_distinct FORMAT 99,999,999 HEADING '(H)|Num of|Distinct|Values';

COLUMN rows_count FORMAT b99,999,999 HEADING '(A)|Rows from|Count(*)';

COLUMN index_cardinality FORMAT 99,999,999 HEADING - 

                    '(E)|Computed|Index|Cardinality|(C/D)';

COLUMN index_selectivity FORMAT 9.9999eeee HEADING -

                    'Computed|Index|Selectivity|(E/B)';

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品无人区卡一卡二卡三乱码免费卡| 国产美女精品在线| 久久成人羞羞网站| 99精品欧美一区二区蜜桃免费| 美日韩黄色大片| 午夜视黄欧洲亚洲| 日韩精品一卡二卡三卡四卡无卡| 亚洲精品国产高清久久伦理二区| 欧美激情一区三区| 国产精品家庭影院| 椎名由奈av一区二区三区| 国产精品久久久久久久久免费丝袜| 国产欧美综合在线观看第十页| 国产亚洲一二三区| 国产精品久久久久影院老司| 中文字幕亚洲在| 亚洲一级二级三级| 奇米色一区二区| 国产一区二区调教| eeuss鲁片一区二区三区| 91啦中文在线观看| 欧美精品777| 91黄视频在线观看| 欧美男女性生活在线直播观看| 欧美日韩高清一区二区三区| 91精品久久久久久蜜臀| 2022国产精品视频| 国产精品国产三级国产三级人妇| 亚洲精品ww久久久久久p站| 性做久久久久久久免费看| 美洲天堂一区二卡三卡四卡视频| 久88久久88久久久| 成人午夜视频网站| 欧美日韩高清一区二区不卡| 久久免费电影网| 亚洲欧美视频在线观看视频| 五月开心婷婷久久| 国产成人精品亚洲日本在线桃色 | 一本到三区不卡视频| 91国产免费观看| 精品日产卡一卡二卡麻豆| 国产拍揄自揄精品视频麻豆| 亚洲成人久久影院| 风间由美中文字幕在线看视频国产欧美| 99久免费精品视频在线观看 | 视频一区二区三区在线| 国产精品一线二线三线精华| 在线观看免费成人| 欧美国产一区视频在线观看| 日韩国产欧美视频| 成人激情开心网| 精品福利一区二区三区免费视频| 亚洲另类在线视频| 粉嫩在线一区二区三区视频| 日韩欧美国产电影| 亚洲午夜一区二区三区| 成人va在线观看| 欧美大片顶级少妇| 三级亚洲高清视频| 色老汉av一区二区三区| 欧美激情中文字幕一区二区| 麻豆专区一区二区三区四区五区| 91久久精品网| 亚洲三级小视频| 成人午夜免费av| 亚洲同性同志一二三专区| 国产精品一品二品| 精品国产第一区二区三区观看体验| 午夜精品久久久久久久久久| 一本到不卡免费一区二区| 中文字幕一区二区三| 成人中文字幕在线| 欧美国产精品一区| 国产成人免费在线视频| 2020国产成人综合网| 久久99蜜桃精品| 日韩视频中午一区| 美女免费视频一区二区| 91精品国产一区二区| 秋霞午夜av一区二区三区| 777色狠狠一区二区三区| 三级不卡在线观看| 在线不卡a资源高清| 三级欧美在线一区| 日韩午夜电影在线观看| 精品一区二区三区在线播放视频| 日韩欧美一级二级| 国内精品国产三级国产a久久| 欧美一级免费大片| 狠狠色伊人亚洲综合成人| 精品精品国产高清一毛片一天堂| 免费高清不卡av| 久久视频一区二区| eeuss鲁片一区二区三区| 亚洲免费观看高清| 久久久久国产免费免费| 国产精品一色哟哟哟| 自拍av一区二区三区| 日本精品视频一区二区| 视频一区视频二区中文字幕| 日韩视频免费直播| 国产91精品一区二区| 亚洲欧洲精品成人久久奇米网| 日本精品一区二区三区高清 | 在线播放日韩导航| 精品亚洲成a人| 国产精品久99| 欧美精品久久一区| 国产成人8x视频一区二区| 亚洲精品国产精华液| 日韩欧美一级在线播放| av电影天堂一区二区在线 | 欧美va亚洲va国产综合| 国产成人aaa| 肉肉av福利一精品导航| 2020国产成人综合网| 欧美午夜不卡视频| 国产在线观看一区二区| 亚洲精品国产第一综合99久久| 日韩欧美一级特黄在线播放| 91麻豆蜜桃一区二区三区| 裸体歌舞表演一区二区| 中文字幕一区二区视频| 在线电影欧美成精品| 成人午夜精品一区二区三区| 天天操天天色综合| 国产精品人妖ts系列视频| 7777女厕盗摄久久久| 成人高清免费在线播放| 理论电影国产精品| 亚洲图片欧美色图| 国产精品你懂的| 日韩免费观看2025年上映的电影| 99天天综合性| 国产福利一区二区| 久久99久久久久久久久久久| 亚洲国产综合在线| 中文字幕人成不卡一区| 日本一区二区三区在线不卡| 欧美一区二区三区性视频| 在线观看欧美黄色| 色欧美片视频在线观看 | 欧美高清在线视频| 精品国产露脸精彩对白| 欧美欧美欧美欧美首页| 精品视频在线看| 色综合久久综合| jvid福利写真一区二区三区| 国产一区二区成人久久免费影院| 奇米影视一区二区三区| 午夜电影一区二区| 午夜一区二区三区视频| 亚洲一区二区三区四区的| 亚洲精品中文在线| 亚洲精品久久7777| 玉米视频成人免费看| 夜夜精品浪潮av一区二区三区| 亚洲啪啪综合av一区二区三区| 亚洲欧洲日产国码二区| 国产精品女同一区二区三区| 国产精品美女久久久久aⅴ| 中文字幕第一区第二区| 国产精品久久久久久久岛一牛影视| 国产无人区一区二区三区| 中文子幕无线码一区tr| 国产精品久久久久婷婷| 亚洲欧美国产77777| 亚洲精品第一国产综合野| 亚洲黄色免费网站| 日韩国产精品久久| 激情五月激情综合网| 成人一区在线看| 一本一道波多野结衣一区二区 | 亚洲永久免费视频| 午夜av区久久| 国产最新精品精品你懂的| 成人午夜视频网站| 在线观看免费一区| 7777精品伊人久久久大香线蕉经典版下载 | 中文字幕视频一区二区三区久| 亚洲男人的天堂在线aⅴ视频| 亚洲午夜一区二区| 久久精品99国产精品日本| 国产不卡一区视频| 日本久久一区二区三区| 91精品国产91久久久久久最新毛片| 精品国产91亚洲一区二区三区婷婷| 国产亚洲综合av| 亚洲国产cao| 国产精品一区一区三区| 欧美性受xxxx黑人xyx| 久久美女高清视频| 一区二区高清视频在线观看| 久久疯狂做爰流白浆xx| 91福利在线观看| 久久精品一级爱片| 午夜久久久影院| 99这里只有精品| 欧美xxxxxxxx| 午夜视频在线观看一区二区 |