真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

OracleDatabase19c中自動索引的功能介紹

這篇文章主要介紹“Oracle Database 19c中自動索引的功能介紹”,在日常操作中,相信很多人在Oracle Database 19c中自動索引的功能介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”O(jiān)racle Database 19c中自動索引的功能介紹”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、東港ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的東港網(wǎng)站制作公司

1、它能做什么

自動索引功能執(zhí)行以下操作。

  • 根據(jù)表列使用情況確定潛在的自動索引。文檔稱這些為“候選索引(candidate indexes)”。

  • 將自動索引創(chuàng)建為不可見索引,因此不會在執(zhí)行計(jì)劃中使用它們。索引名稱包括“SYS_AI”前綴。

  • 根據(jù)SQL語句測試不可見的自動索引,以確保它們能提高性能。如果它們導(dǎo)致性能提高,則可以它們可見。如果性能未得到改善,則相關(guān)的自動索引將標(biāo)記為不可用,稍后將被刪除。針對失敗的自動索引測試的SQL語句被列入黑名單,因此將來不會考慮將它們用于自動索引。第一次對數(shù)據(jù)庫運(yùn)行SQL時(shí),優(yōu)化程序不會考慮自動索引。

  • 刪除未使用的索引。

2、先決條件

通過設(shè)置初始化參數(shù)“_exadata_feature_on=true”進(jìn)行測試。注:請不要在生產(chǎn)系統(tǒng)中測試。

export ORACLE_SID=cdb1
export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES
sqlplus / as sysdba <

3、配置

使用 DBMS_AUTO_INDEX 包來管理自動索引特性。下面描述了基本管理。

3.1 顯示配置

CDB_AUTO_INDEX_CONFIG視圖顯示當(dāng)前的自動索引配置。
COLUMN parameter_name FORMAT A40
COLUMN parameter_value FORMAT A15
SELECT con_id, parameter_name, parameter_value 
FROM   
cdb_auto_index_config
ORDER BY 1, 2;
    CON_ID PARAMETER_NAME                           PARAMETER_VALUE
---------- ---------------------------------------- ---------------
         
1 AUTO_INDEX_COMPRESSION                   OFF
1 AUTO_INDEX_DEFAULT_TABLESPACE
1 AUTO_INDEX_MODE                          OFF
1 AUTO_INDEX_REPORT_RETENTION              31
1 AUTO_INDEX_RETENTION_FOR_AUTO            373
1 AUTO_INDEX_RETENTION_FOR_MANUAL
1 AUTO_INDEX_SCHEMA
1 AUTO_INDEX_SPACE_BUDGET                  50
3 AUTO_INDEX_COMPRESSION                   OFF
3 AUTO_INDEX_DEFAULT_TABLESPACE
3 AUTO_INDEX_MODE                          OFF
3 AUTO_INDEX_REPORT_RETENTION              31
3 AUTO_INDEX_RETENTION_FOR_AUTO            373
3 AUTO_INDEX_RETENTION_FOR_MANUAL
3 AUTO_INDEX_SCHEMA
         3 AUTO_INDEX_SPACE_BUDGET                  50
SQL>

如果我們切換到用戶定義的可插拔數(shù)據(jù)庫,我們只獲取該容器的值。

ALTER SESSION SET CONTAINER = pdb1;
COLUMN parameter_name FORMAT A40
COLUMN parameter_value FORMAT A15
SELECT con_id, parameter_name, parameter_value 
FROM   
cdb_auto_index_config
ORDER BY 1, 2;
    CON_ID PARAMETER_NAME                           PARAMETER_VALUE
---------- ---------------------------------------- ---------------
         
3 AUTO_INDEX_COMPRESSION                   OFF
         
3 AUTO_INDEX_DEFAULT_TABLESPACE
         
3 AUTO_INDEX_MODE                          OFF
         
3 AUTO_INDEX_REPORT_RETENTION              31
         
3 AUTO_INDEX_RETENTION_FOR_AUTO            373
         
3 AUTO_INDEX_RETENTION_FOR_MANUAL
         
3 AUTO_INDEX_SCHEMA
         
3 AUTO_INDEX_SPACE_BUDGET                  50
SQL>

3.2 啟用/禁用自動索引

使用 DBMS_AUTO_INDEX包的 CONFIGURE 存儲過程配置自動索引。

使用 AUTO_INDEX_MODE 屬性控制用于自動索引的開關(guān),該屬性具有以下允許值:

  • IMPLEMENT:打開自動索引。 提高性能的新索引可見并可供優(yōu)化程序使用。

  • REPORT ONLY:打開自動索引,但新索引仍然不可見。

  • OFF:關(guān)閉自動索引。

模式之間切換的命令示例如下:

    EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','IMPLEMENT');
    EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','REPORT ONLY');
    EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','OFF');

    3.3 自動索引的表空間

    默認(rèn)情況下,自動索引是在默認(rèn)的永久表空間中創(chuàng)建的。如果這是不可接受的,您可以使用 AUTO_INDEX_DEFAULT_TABLESPACE屬性指定一個(gè)表空間來保存它們。下面我們創(chuàng)建一個(gè)表空間來保存自動索引,并相應(yīng)地設(shè)置屬性。

    ALTER SESSION SET CONTAINER = pdb1;
    CREATE TABLESPACE AUTO_INDEXES_TS 
    DATAFILE SIZE 100M 
    AUTOEXTEND ON NEXT 100M;
    EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_DEFAULT_TABLESPACE','AUTO_INDEXES_TS');

    如果要設(shè)置使用默認(rèn)永久表空間,可以設(shè)置為 NULL,如下命令所示:

    EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_DEFAULT_TABLESPACE',NULL);

    3.4 模式級(Schema-Level)控制

    一旦啟用了自動索引,在嘗試識別候選索引時(shí)會考慮所有模式。您可以使用AUTO_INDEX_SCHEMA 屬性更改默認(rèn)行為,該屬性允許您維護(hù) 包含/排除 列表。

    如果 ALLOW參數(shù)設(shè)置為true,則指定的模式(schema)將添加到包含列表中。注意:它構(gòu)建了一個(gè)包含模式的謂詞。

    EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_SCHEMA', 'TEST', allow => TRUE);
    EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_SCHEMA', 'TEST2', allow => TRUE);
    COLUMN parameter_name FORMAT A40
    COLUMN parameter_value FORMAT A15
    SELECT con_id, parameter_name, parameter_value 
    FROM   
    cdb_auto_index_config
    ORDER BY 1, 2;
        CON_ID PARAMETER_NAME                           PARAMETER_VALUE
    ---------- ---------------------------------------- ----------------------------------------
             
    3 AUTO_INDEX_COMPRESSION                   OFF
             
    3 AUTO_INDEX_DEFAULT_TABLESPACE            AUTO_INDEXES_TS
             
    3 AUTO_INDEX_MODE                          IMPLEMENT
             
    3 AUTO_INDEX_REPORT_RETENTION              31
             
    3 AUTO_INDEX_RETENTION_FOR_AUTO            373
             
    3 AUTO_INDEX_RETENTION_FOR_MANUAL
             
    3 AUTO_INDEX_SCHEMA                        schema IN (TEST, TEST2)
             
    3 AUTO_INDEX_SPACE_BUDGET                  50
    SQL>

    可以使用 NULL 參數(shù)值消除包含列表,如下所示:

    EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_SCHEMA', NULL, allow => TRUE);
    COLUMN parameter_name FORMAT A40
    COLUMN parameter_value FORMAT A15
    SELECT con_id, parameter_name, parameter_value 
    FROM   
    cdb_auto_index_config
    ORDER BY 1, 2;
        CON_ID PARAMETER_NAME                           PARAMETER_VALUE
    ---------- ---------------------------------------- ----------------------------------------
             
    3 AUTO_INDEX_COMPRESSION                   OFF
             
    3 AUTO_INDEX_DEFAULT_TABLESPACE            AUTO_INDEXES_TS
             
    3 AUTO_INDEX_MODE                          IMPLEMENT
             
    3 AUTO_INDEX_REPORT_RETENTION              31
             
    3 AUTO_INDEX_RETENTION_FOR_AUTO            373
             
    3 AUTO_INDEX_RETENTION_FOR_MANUAL
             
    3 AUTO_INDEX_SCHEMA
             
    3 AUTO_INDEX_SPACE_BUDGET                  50
    SQL>

    如果 ALLOW參數(shù)設(shè)置為FALSE,則指定的模式將添加到排除列表中。

    EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_SCHEMA', 'TEST', allow => FALSE);
    EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_SCHEMA', 'TEST2', allow => FALSE);
    COLUMN parameter_name FORMAT A40
    COLUMN parameter_value FORMAT A15
    SELECT con_id, parameter_name, parameter_value 
    FROM   
    cdb_auto_index_config
    ORDER BY 1, 2;
        CON_ID PARAMETER_NAME                           PARAMETER_VALUE
    ---------- ---------------------------------------- ----------------------------------------
             
    3 AUTO_INDEX_COMPRESSION                   OFF
             
    3 AUTO_INDEX_DEFAULT_TABLESPACE            AUTO_INDEXES_TS
             
    3 AUTO_INDEX_MODE                          IMPLEMENT
             
    3 AUTO_INDEX_REPORT_RETENTION              31
             
    3 AUTO_INDEX_RETENTION_FOR_AUTO            373
             
    3 AUTO_INDEX_RETENTION_FOR_MANUAL
             
    3 AUTO_INDEX_SCHEMA                        schema NOT IN (TEST, TEST2)
             3 AUTO_INDEX_SPACE_BUDGET                  50
    SQL>

    可以使用NULL參數(shù)值清除排除列表。

    EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_SCHEMA', NULL, allow => FALSE);
    COLUMN parameter_name FORMAT A40
    COLUMN parameter_value FORMAT A15
    SELECT con_id, parameter_name, parameter_value 
    FROM   cdb_auto_index_config
    ORDER BY 1, 2;
        CON_ID PARAMETER_NAME                           PARAMETER_VALUE
    ---------- ---------------------------------------- ----------------------------------------
             3 AUTO_INDEX_COMPRESSION                   OFF
             3 AUTO_INDEX_DEFAULT_TABLESPACE            AUTO_INDEXES_TS
             3 AUTO_INDEX_MODE                          IMPLEMENT
             3 AUTO_INDEX_REPORT_RETENTION              31
             3 AUTO_INDEX_RETENTION_FOR_AUTO            373
             3 AUTO_INDEX_RETENTION_FOR_MANUAL
             3 AUTO_INDEX_SCHEMA
             3 AUTO_INDEX_SPACE_BUDGET                  50
    SQL>

    4、其它配置

    您可能希望考慮其他參數(shù),這些都在此詳細(xì)說明。

    • AUTO_INDEX_COMPRESSION:據(jù)推測用于控制壓縮程度。默認(rèn)為“OFF”。

    • AUTO_INDEX_REPORT_RETENTION:自動索引日志的保留期。默認(rèn)31天。

    • AUTO_INDEX_RETENTION_FOR_AUTO:未使用的自動索引的保留期。 默認(rèn)373天。

    • AUTO_INDEX_RETENTION_FOR_MANUAL:未使用的手動創(chuàng)建索引的保留期。設(shè)置為NULL時(shí),不考慮手動創(chuàng)建的索引。默認(rèn)為NULL。

    • AUTO_INDEX_SPACE_BUDGET:用于自動索引存儲的默認(rèn)永久表空間的百分比。使用 AUTO_INDEX_DEFAULT_TABLESPACE 參數(shù)指定自定義表空間時(shí),將忽略此參數(shù)。

    5、刪除二級索引

    在做這個(gè)之前,請仔細(xì)考慮,測試,測試,測試!

    如果您感覺特別勇敢,DROP_SECONDARY_INDEXES過程將刪除除用于約束的索引之外的所有索引。這可以在表、模式(Schema)、數(shù)據(jù)庫級別完成。
    -- 表級別
    EXEC DBMS_AUTO_INDEX.drop_secondary_indexes('MY_SCHEMA', 
    'MY_TABLE');
    -- 模式(Schema)級別
    EXEC DBMS_AUTO_INDEX.drop_secondary_indexes('MY_SCHEMA');
    -- 數(shù)據(jù)庫級別
    EXEC DBMS_AUTO_INDEX.drop_secondary_indexes;

    6、視圖

    有幾個(gè)與自動索引功能相關(guān)的視圖,如下所示:

    SELECT view_name
    FROM   
    dba_views
    WHERE  view_name LIKE 'DBA_AUTO_INDEX%'
    ORDER BY 1;
    VIEW_NAME
    --------------------------------------------------------------------------------
    DBA_AUTO_INDEX_CONFIG
    DBA_AUTO_INDEX_EXECUTIONS
    DBA_AUTO_INDEX_IND_ACTIONS
    DBA_AUTO_INDEX_SQL_ACTIONS
    DBA_AUTO_INDEX_STATISTICS
    DBA_AUTO_INDEX_VERIFICATIONS
    SQL>

    此外,{CDB|DBA|ALL|USER}_INDEXES 視圖包含AUTO列,該列指示索引是否由自動索引功能創(chuàng)建。 

    COLUMN owner FORMAT A30
    COLUMN index_name FORMAT A30
    COLUMN table_owner FORMAT A30
    COLUMN table_name FORMAT A30
    SELECT owner,
           
    index_name,
           
    index_type,
           
    table_owner,
           
    table_name
           
    table_type
    FROM   
    dba_indexes
    WHERE  auto = 'YES'
    ORDER BY owner, index_name;

    7、活動報(bào)告

    DBMS_AUTO_INDEX 包中包含兩個(gè)報(bào)告功能。

    DBMS_AUTO_INDEX.REPORT_ACTIVITY (
       activity_start  IN  TIMESTAMP 
    WITH TIME ZONE 
    DEFAULT SYSTIMESTAMP - 1,
       activity_end    IN  TIMESTAMP WITH TIME ZONE 
    DEFAULT SYSTIMESTAMP,
       
    type            IN  VARCHAR2 
    DEFAULT 'TEXT',
       
    section         
    IN  VARCHAR2 
    DEFAULT 'ALL',
       
    level           
    IN  VARCHAR2 
    DEFAULT 'TYPICAL')
    RETURN CLOB;
    DBMS_AUTO_INDEX.REPORT_LAST_ACTIVITY (
       type            IN  VARCHAR2 DEFAULT 'TEXT',
       section         IN  VARCHAR2 DEFAULT 'ALL',
       level           IN  VARCHAR2 DEFAULT 'TYPICAL')
    RETURN CLOB;

    REPORT_ACTIVITY 函數(shù)允許您顯示指定時(shí)間段內(nèi)的活動,默認(rèn)為最后一天。REPORT_LAST_ACTIVITY 函數(shù)報(bào)告上次自動索引操作。兩者都允許您使用以下參數(shù)定制輸出。

    • TYPE:允許值(TEXT,HTML,XML)。

    • SECTION:允許值(SUMMARY,INDEX_DETAILS,VERIFICATION_DETAILS,ERRORS,ALL)。您還可以使用帶有 “+” 和 “-” 字符的組合來指示是否應(yīng)包含或排除某些內(nèi)容。 例如'SUMMARY + ERRORS'或'ALL -ERRORS'。

    • LEVEL:允許值(BASIC,TYPICAL,ALL)。

    從SQL中使用這些函數(shù)的一些示例如下所示。注意引用LEVEL參數(shù)。在SQL調(diào)用中使用它時(shí),這是必要的,因此這不是對LEVEL偽列的引用。

    SET LONG 1000000 PAGESIZE 0
    -- 過去24小時(shí)的默認(rèn)TEXT報(bào)告。
    SELECT DBMS_AUTO_INDEX.report_activity()  FROM dual;
    -- 最新活動的默認(rèn)TEXT報(bào)告。
    SELECT DBMS_AUTO_INDEX.report_last_activity() FROM dual;
    -- 前天的HTML報(bào)告。
    SELECT DBMS_AUTO_INDEX.report_activity(
             activity_start => SYSTIMESTAMP-2,
             activity_end   => SYSTIMESTAMP-1,
    type           => 'HTML')
    FROM   dual;
    -- 最新活動的HTML報(bào)告。
    SELECT DBMS_AUTO_INDEX.report_last_activity( 
    type => 'HTML')
    FROM   dual;
    -- 前天的XML報(bào)告包含所有信息。
    SELECT DBMS_AUTO_INDEX.report_activity(
             activity_start => SYSTIMESTAMP-2,
             activity_end   => SYSTIMESTAMP-1,  
    type           => 'XML',
    section        => 'ALL',
    "LEVEL"        => 'ALL')
    FROM   dual;
    -- 包含所有信息的最新活動的XML報(bào)告。
    SELECT DBMS_AUTO_INDEX.report_last_activity(
    type     => 'HTML',    
    section  => 'ALL',     
    "LEVEL"  => 'ALL')
    FROM   dual;
    SET PAGESIZE 14

    以下是在創(chuàng)建任何索引之前默認(rèn)活動報(bào)告的輸出示例。

    SELECT DBMS_AUTO_INDEX.report_activity() 
    FROM dual;
    GENERAL INFORMATION
    -------------------------------------------------------------------------------
     Activity 
    start               : 
    03-JUN-2019 21:59:21
     Activity 
    end                 : 
    04-JUN-2019 21:59:21
     Executions completed         : 
    2
     Executions interrupted       : 
     Executions 
    with fatal 
    error  : 
    -------------------------------------------------------------------------------
    SUMMARY (AUTO INDEXES)
    -------------------------------------------------------------------------------
     Index candidates            : 
     Indexes created             : 
     Space used                  : 
    0 B
     Indexes dropped             : 
     SQL statements verified     : 
     SQL statements improved     : 
     SQL plan baselines created  : 
     Overall improvement factor  : 
    0x
    -------------------------------------------------------------------------------
    SUMMARY (MANUAL INDEXES)
    -------------------------------------------------------------------------------
     Unused indexes    : 
     Space used        : 
    0 B
     Unusable indexes  : 
    -------------------------------------------------------------------------------
    ERRORS
    ---------------------------------------------------------------------------------------------
    No errors found.
    ---------------------------------------------------------------------------------------------
    SQL>

    到此,關(guān)于“Oracle Database 19c中自動索引的功能介紹”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


    本文標(biāo)題:OracleDatabase19c中自動索引的功能介紹
    本文URL:http://weahome.cn/article/jipecp.html

    其他資訊

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部