Gestire il partizionamento automatico su Autonomous Database

Il partizionamento automatico analizza e automatizza la creazione delle partizioni per tabelle e indici di uno schema specificato al fine di migliorare le prestazioni e la gestibilità in Autonomous Database.

Il partizionamento automatico, se applicato, è trasparente e non richiede alcuna interazione o manutenzione da parte dell'utente.

Nota

Il partizionamento automatico non interferisce con le strategie di partizionamento esistenti ed è complementare al partizionamento manuale in Autonomous Database. Le tabelle partizionate manualmente sono escluse come candidate per il partizionamento automatico.

Informazioni sul partizionamento automatico

Il partizionamento automatico in Autonomous Database analizza il carico di lavoro dell'applicazione e applica automaticamente il partizionamento alle tabelle e ai relativi indici per migliorare le prestazioni o consentire una migliore gestione delle tabelle di grandi dimensioni.

La ricerca di strategie di partizionamento appropriate richiede una conoscenza approfondita del carico di lavoro dell'applicazione e della distribuzione dei dati. Quando si esegue il partizionamento manuale, è necessario analizzare il carico di lavoro e scegliere come applicare il partizionamento a tabelle e indici per migliorare le prestazioni delle applicazioni. Il partizionamento automatico consente agli utenti di Autonomous Database di trarre vantaggio dal partizionamento senza eseguire analisi manuali dello schema e del carico di lavoro.

Il partizionamento automatico utilizza una chiave di partizione a colonna singola combinata con il partizionamento a livello singolo. Il partizionamento automatico non supporta strategie di partizionamento più complesse come tabelle partizionate a più colonne o partizionamento composito.

Il partizionamento automatico sceglie tra i seguenti metodi di partizione:

  • INTERVALLO AUTOMATICO: Questa scelta è più adatta per intervalli di valori delle chiavi di partizione.
  • LIST AUTOMATIC: questo metodo di partizionamento si applica ai valori delle chiavi di partizione distinte.
  • HASH: applica il partizionamento sui valori HASH della chiave di partizione.

Per ulteriori informazioni, vedere Partitioning Concepts.

Il partizionamento automatico fornisce le funzionalità riportate di seguito.

  • Analizza il carico di lavoro dell'applicazione e trova la strategia di partizionamento ottimale per migliorare le prestazioni delle query per le tabelle idonee al partizionamento automatico.
  • Fornisce API PL/SQL per la configurazione del partizionamento automatico in un database, la generazione di report sui risultati del partizionamento e la generazione e l'applicazione di una strategia di partizionamento identificata per un determinato carico di lavoro.
Nota

Il partizionamento automatico richiede chiamate esplicite alle API PL/SQL DBMS_AUTO_PARTITION per consigliare e applicare il partizionamento automatico ad un'istanza di Autonomous Database.

Funzionamento del partizionamento automatico

A differenza dell'indicizzazione automatica, il partizionamento automatico non viene eseguito periodicamente come attività in background. Il partizionamento automatico viene eseguito solo quando viene richiamato utilizzando la funzione DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD.

Quando viene richiamato, il partizionamento automatico identifica le tabelle candidate per il partizionamento automatico, valuta gli schemi di partizione e implementa una strategia di partizionamento.

Quando si richiama il partizionamento automatico, vengono eseguite le seguenti operazioni:

  1. Identifica le tabelle dei candidati per il partizionamento automatico analizzando il carico di lavoro per le tabelle dei candidati selezionate.

    Per impostazione predefinita, il partizionamento automatico utilizza le informazioni sul carico di lavoro raccolte in un'istanza di Autonomous Database per l'analisi. A seconda delle dimensioni del carico di lavoro, è possibile prendere in considerazione un campione di query.

  2. Valuta gli schemi di partizione in base all'analisi del carico di lavoro, alla quantificazione e alla verifica dei vantaggi delle prestazioni:

    1. Gli schemi di partizione vuoti candidati con statistiche sintetizzate vengono creati internamente e analizzati per le prestazioni.

    2. Lo schema candidato con la più alta riduzione IO stimata viene scelto come strategia di partizionamento ottimale ed è implementato internamente per testare e verificare le prestazioni.

    3. Se uno schema di partizione candidato non migliora le prestazioni oltre i criteri di prestazioni e regressione specificati, il partizionamento automatico non è consigliato.

  3. Implementa la strategia di partizionamento ottimale, se configurata per farlo, per le tabelle analizzate dalle procedure di partizionamento automatico.

Configurare il partizionamento automatico

Utilizzare la procedura DBMS_AUTO_PARTITION.CONFIGURE per configurare le opzioni di partizionamento automatico.

Abilita e implementa suggerimenti

EXEC DBMS_AUTO_PARTITION.CONFIGURE('AUTO_PARTITION_MODE','IMPLEMENT');

Abilita i suggerimenti, ma non implementarli

EXEC DBMS_AUTO_PARTITION.CONFIGURE('AUTO_PARTITION_MODE','REPORT ONLY');

Disabilitare le nuove raccomandazioni e l'attuazione di tali nuove raccomandazioni

EXEC DBMS_AUTO_PARTITION.CONFIGURE('AUTO_PARTITION_MODE','OFF');
Nota

Questa modalità non disabilita le tabelle partizionate automaticamente esistenti.

Gestire schemi e tabelle per il partizionamento automatico

Utilizzare le impostazioni AUTO_PARTITION_SCHEMA e AUTO_PARTITION_TABLE per specificare gli schemi e le tabelle considerati per il partizionamento automatico.
Nota

Quando viene richiamato il partizionamento automatico, tutti gli schemi e le tabelle negli schemi gestiti dall'utente vengono considerati per il partizionamento automatico se le liste di inclusione ed esclusione sono vuote.
  • Se la lista di inclusione e la lista di esclusione sono vuote, aggiungere lo schema HR e la tabella SH.SALES alla lista di esclusione, impedendo solo a tali oggetti di eseguire l'analisi automatica del partizionamento.

    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
             PARAMETER_NAME  => 'AUTO_PARTITION_SCHEMA', 
             PARAMETER_VALUE => 'HR',
             ALLOW           => FALSE);
    
        DBMS_AUTO_PARTITION.CONFIGURE(
             PARAMETER_NAME  => 'AUTO_PARTITION_TABLE', 
             PARAMETER_VALUE => 'SH.SALES',
             ALLOW           => FALSE);
    END;
    /
  • Dopo l'esecuzione dell'esempio precedente, utilizzare quanto segue per rimuovere lo schema HR dalla lista di esclusione.

    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
             PARAMETER_NAME  => 'AUTO_PARTITION_SCHEMA', 
             PARAMETER_VALUE => 'HR',
             ALLOW           => NULL);
    END;
    /
  • Utilizzare il comando seguente per rimuovere tutti gli schemi dalla lista di esclusione.

    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
             PARAMETER_NAME  => 'AUTO_PARTITION_SCHEMA', 
             PARAMETER_VALUE => NULL,
             ALLOW           => TRUE);
    END;
    /
  • Se le liste di inclusione ed esclusione sono vuote, l'esempio seguente aggiunge lo schema HR alla lista di inclusione. Non appena la lista di inclusione non è più vuota, vengono considerati solo gli schemi nella lista di inclusione.

    In questo esempio, solo lo schema HR è un candidato per il partizionamento automatico.

    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
             PARAMETER_NAME  => 'AUTO_PARTITION_SCHEMA', 
             PARAMETER_VALUE => 'HR',
             ALLOW           => TRUE);
    END;
    /

Gestisci periodo di conservazione report partizionamento automatico

Impostare il periodo di conservazione per i report di partizionamento automatico su 365 giorni.

BEGIN
    DBMS_AUTO_PARTITION.CONFIGURE(
         PARAMETER_NAME  => 'AUTO_PARTITION_REPORT_RETENTION', 
         PARAMETER_VALUE => '365');
END;
/
Per ulteriori informazioni, vedere Procedura CONFIGURA.

Usa partizionamento automatico

Descrive il flusso e i processi generali per l'uso e la gestione del partizionamento automatico in Autonomous Database.

  1. Scegliere il database per il partizionamento automatico.

    In generale, Oracle consiglia di utilizzare il partizionamento automatico nei database clonati o creati manualmente anziché nei database di produzione. L'analisi e la verifica del partizionamento automatico mediante RECOMMEND_PARTITION_METHOD è un'operazione potenzialmente a uso intensivo di risorse e con tempi di esecuzione lunghi che può aggiungere un'elaborazione indesiderata al database.

    Per utilizzare un database secondario per l'analisi automatica del partizionamento, il database deve disporre di informazioni sul carico di lavoro in un repository del carico di lavoro SQL gestito internamente.

    1. Utilizzare un database duplicato per il partizionamento automatico.

      Autonomous Database raccoglie automaticamente le informazioni sul carico di lavoro nel tempo in un repository del carico di lavoro SQL gestito internamente gestito nell'SQL Tuning Set (SYS_AUTO_STS). Se si duplica il database di produzione dopo aver eseguito il carico di lavoro per un po', la copia avrà le informazioni necessarie sul carico di lavoro. È possibile utilizzare il partizionamento automatico con tali cloni senza alcuna azione aggiuntiva.

      Vedere Duplicazione di un'istanza di Autonomous Database

    2. Utilizzare altri database per il partizionamento automatico.

      Puoi eseguire il carico di lavoro manualmente per raccogliere le informazioni necessarie sul carico di lavoro. Se si esegue manualmente il carico di lavoro prima di utilizzare il partizionamento automatico, qualsiasi Autonomous Database contenente gli schemi e i dati desiderati può essere utilizzato per il partizionamento automatico dopo l'esecuzione del carico di lavoro, indipendentemente dal fatto che sia stato duplicato o creato manualmente.

  2. Consigliare il partizionamento automatico.

    Utilizzare RECOMMEND_PARTITION_METHOD per analizzare il database, schemi specifici o tabelle specifiche per identificare l'eventuale strategia di partizionamento ottimale. Il suggerimento analizza il carico di lavoro e gli schemi che verificano i vantaggi delle prestazioni eseguendo il carico di lavoro su una tabella ausiliaria creata internamente. Si tratta di un'operazione a uso intensivo di risorse e con tempi di esecuzione lunghi, che richiede CPU e I/O per creare la tabella ausiliaria e verificare le prestazioni. Sarà anche temporaneamente necessario spazio aggiuntivo, di 1 - 1,5 volte, la tabella dei candidati più grande.

  3. Applicare il suggerimento.

    Qualsiasi suggerimento può essere implementato con la procedura APPLY_RECOMMENDATION nel database in cui si è verificata l'analisi dei suggerimenti. In alternativa, è possibile estrarre qualsiasi suggerimento dal database utilizzato per l'analisi e applicarlo a qualsiasi database, ad esempio un sistema di produzione. Lo script necessario per la modifica manuale viene memorizzato nella colonna MODIFY_TABLE_DDL nella vista DBA_AUTO_PARTITION_RECOMMENDATION.

    Oracle consiglia di applicare il partizionamento automatico al database in orari non di punta. Mentre le tabelle verranno modificate in tabelle partizionate automaticamente, la conversione aggiunge ulteriori requisiti di risorse al sistema, ad esempio CPU e I/O aggiuntivi. Il partizionamento automatico richiede fino a 1,5 volte la dimensione della tabella da modificare come spazio libero aggiuntivo, a seconda delle operazioni DML in corso concorrenti su tali tabelle.

Generazione di report sul partizionamento automatico

Generare report di partizionamento automatico utilizzando le funzioni REPORT_ACTIVITY e REPORT_LAST_ACTIVITY del pacchetto DBMS_AUTO_PARTITION.

Generare un report, in formato testo normale, delle operazioni di partizionamento automatico per un periodo specifico

Questo esempio genera un report contenente informazioni tipiche sulle operazioni di partizionamento automatico nelle ultime 24 ore. Per impostazione predefinita, il report viene generato in formato testo normale.

DECLARE
  Report clob := NULL
BEGIN
    Report := DBMS_AUTO_PARTITION.REPORT_ACTIVITY();
END;
/

Generare un report, in formato HTML, delle operazioni di partizionamento automatico per MAGGIO 2021

Questo esempio genera un report contenente informazioni di base sulle operazioni di partizionamento automatico per il mese di MAGGIO 2021. Il report viene generato in formato HTML e include solo un riepilogo delle operazioni di partizionamento automatico.

DECLARE
  Report clob := NULL
BEGIN
    Report := DBMS_AUTO_PARTITION.REPORT_ACTIVITY(
                       ACTIVITY_START => TO_TIMESTAMP('2021-05-01', 'YYYY-MM-DD'),
                       ACTIVITY_END   => TO_TIMESTAMP('2021-06-01', 'YYYY-MM-DD'),
                       TYPE           => 'HTML',
                       SECTION        => 'SUMMARY',
                       LEVEL          => 'BASIC' );
END;
/

Generare un report, in formato testo normale, dell'ultima operazione di partizionamento automatico

Questo esempio genera un report contenente informazioni tipiche sull'ultima operazione di partizionamento automatico. Per impostazione predefinita, il report viene generato in formato testo normale.

DECLARE
  Report clob := NULL
BEGIN
    Report := DBMS_AUTO_PARTITION.REPORT_LAST_ACTIVITY();
END;
/

Per ulteriori informazioni, vedere REPORT_ACTIVITY Function.

Per ulteriori informazioni, vedere REPORT_LAST_ACTIVITY Function.

Esempio di scenari di partizionamento automatico

Scenari di esempio per il partizionamento automatico utilizzando le procedure e le funzioni API DBMS_AUTO_PARTITION.

Generare un suggerimento per una singola tabella e applicare manualmente il suggerimento

  1. Impostare il parametro AUTO_PARTITION_MODE su REPORT ONLY per abilitare l'esecuzione e la verifica di un suggerimento di partizionamento automatico. Il suggerimento non viene applicato alla tabella.
    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
            PARAMETER_NAME  => 'AUTO_PARTITION_MODE', 
            PARAMETER_VALUE => 'REPORT ONLY');
    END;
    /
  2. Verificare che la tabella TPCH.LINEITEM sia idonea per il partizionamento automatico. Questa operazione è facoltativa e consigliata quando si mirano in modo selettivo a singole tabelle.
    SELECT DBMS_AUTO_PARTITION.VALIDATE_CANDIDATE_TABLE(
               TABLE_OWNER => 'TPCH',
               TABLE_NAME  => 'LINEITEM')
    FROM DUAL;

    Se la tabella è un candidato valido, quando si richiama il partizionamento automatico per un'analisi dei suggerimenti, viene restituito come VALID. In caso contrario, vengono visualizzati i criteri di violazione.

    Per un elenco dei criteri per le tabelle dei candidati idonei, vedere VALIDATE_CANDIDATE_TABLE Function.

  3. Richiamare l'API DBMS_AUTO_PARTITION per generare un suggerimento per la tabella TPCH.LINEITEM.
    -- DEFINE SQLPLUS BIND VARIABLE FOR RECOMMENDATION ID
    VARIABLE RECOMMENDATION_ID VARCHAR2(32);
    BEGIN
      :RECOMMENDATION_ID := DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD(
                                 TABLE_OWNER => 'TPCH',
                                 TABLE_NAME  => 'LINEITEM');
    END;
    /

    L'analisi e la verifica dei suggerimenti eseguite con DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD possono essere operazioni a uso intensivo di risorse e con tempi di esecuzione lunghi e richiedere molto tempo. Eseguire questa operazione su un database che non è il sistema di produzione principale. Oracle consiglia di fornire all'operazione di verifica risorse sufficienti scegliendo il servizio HIGH.

  4. Controllare il suggerimento. La vista DBA_AUTO_PARTITION_RECOMMENDATIONS contiene le informazioni sul suggerimento. In questo esempio, controllare la chiave di partizione e il metodo di partizione consigliati.
    SELECT PARTITION_METHOD, PARTITION_KEY
      FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
      WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;
    

    Inoltre, eseguire una query sulla stessa vista per ottenere il report di analisi delle prestazioni generato per il carico di lavoro dopo che la tabella è stata partizionata in base ai suggerimenti.

    SELECT REPORT
        FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
        WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;
    
  5. Dopo la convalida manuale del suggerimento, applicare il suggerimento. Se si applica il suggerimento nel database in cui è stata eseguita l'analisi dei suggerimenti, applicare il suggerimento eseguendo la procedura APPLY_RECOMMENDATION.
    BEGIN
        DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION(
             RECOMMENDATION_ID => :RECOMMENDATION_ID);
    END;
    /

    Se si desidera applicare il suggerimento a un database diverso, ad esempio l'ambiente di produzione, estrarre il DDL di modifica. Quindi, eseguire il DDL di modifica estratto nel database di destinazione. La query per estrarre la DDL di modifica è la seguente:

    SELECT MODIFY_TABLE_DDL
        FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
        WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;
    

    Esempio di output di modifica DDL:

    BEGIN
        -- DBMS_AUTO_PARTITION RECOMMENDATION_ID C3F7A59E085C2F25E05333885A0A55EA
        --   FOR TABLE "TPCH"."LINEITEM"
        --   GENERATED AT 06/04/2021 20:52:29
        DBMS_AUTO_PARTITION.BEGIN_APPLY(EXPECTED_NUMBER_OF_PARTITIONS => 10);
    
        EXECUTE IMMEDIATE
        'ALTER TABLE "TPCH"."LINEITEM"
        MODIFY PARTITION BYLIST(SYS_OP_INTERVAL_HIGH_BOUND
            ("L_SHIPDATE", INTERVAL ''10'' MONTH, TIMESTAMP ''1992-01-01 00:00:00''))
        AUTOMATIC /* SCORE=23533.11;  */
        (PARTITION P_NULL VALUES(NULL))
        AUTO ONLINE PARALLEL';
    
        DBMS_AUTO_PARTITION.END_APPLY;
    EXCEPTION WHEN OTHERS THEN
        DBMS_AUTO_PARTITION.END_APPLY;
        RAISE;
    END;
    
  6. Verificare che la tabella sia stata partizionata automaticamente, eseguire una query sulle viste catalogo.
    SELECT T.AUTO, T.PARTITIONING_TYPE, C.COLUMN_NAME
        FROM DBA_PART_TABLES T, DBA_PART_KEY_COLUMNS C
        WHERE T.OWNER = 'TPCH' AND T.TABLE_NAME = 'LINEITEM'
            AND T.OWNER = C.OWNER AND T.TABLE_NAME = C.NAME;
    

    Utilizzare questa query per identificare quando il partizionamento automatico è stato applicato a una determinata tabella.

    SELECT APPLY_TIMESTAMP_START, APPLY_TIMESTAMP_END
        FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
        WHERE TABLE_OWNER = 'TPCH' AND TABLE_NAME = 'LINEITEM';
    

Per informazioni, vedere Procedura CONFIGURA.

Per informazioni, vedere VALIDATE_CANDIDATE_TABLE Function.

Per informazioni, vedere RECOMMEND_PARTITION_METHOD Function.

Per informazioni, vedere APPLY_RECOMMENDATION Procedure.

Generare un suggerimento per le tabelle idonee e applicare manualmente il suggerimento

  1. Impostare il parametro AUTO_PARTITION_MODE su REPORT ONLY per abilitare l'esecuzione e la verifica di un suggerimento di partizionamento automatico. Il suggerimento non viene applicato alle tabelle esistenti.
    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
            PARAMETER_NAME  => 'AUTO_PARTITION_MODE', 
            PARAMETER_VALUE => 'REPORT ONLY');
    END;
    /
  2. Richiamare l'API DBMS_AUTO_PARTITION per generare una tabella di suggerimenti.
    -- DEFINE SQLPLUS BIND VARIABLE FOR RECOMMENDATION ID
    VARIABLE RECOMMENDATION_ID VARCHAR2(32);
    BEGIN
      :RECOMMENDATION_ID := DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD();
    END;
    /

    L'analisi e la verifica dei suggerimenti sono operazioni ad alta intensità di risorse e a lungo termine e potrebbero richiedere molto tempo. Nei database secondari non di produzione, Oracle consiglia di fornire alla verifica risorse sufficienti scegliendo il servizio HIGH.

  3. Eseguire una query sulla vista DBA_AUTO_PARTITION_RECOMMENDATIONS per vedere quali tabelle sono state analizzate.
    SELECT TABLE_OWNER, TABLE_NAME, PARTITION_METHOD, PARTITION_KEY
        FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
        WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID
        ORDER BY RECOMMENDATION_SEQ;
    
  4. Utilizzare questa query per eseguire il drill-down nel report di una tabella specifica analizzata nell'esecuzione, ovvero la tabella TPCH.LINEITEM in questo esempio.
    SELECT REPORT
        FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
        WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID
            AND TABLE_OWNER = 'TPCH'
            AND TABLE_NAME  = 'LINEITEM';
    
  5. Applicare il suggerimento eseguendo la procedura APPLY_RECOMMENDATION.
    BEGIN
        DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION(
             RECOMMENDATION_ID => :RECOMMENDATION_ID);
    END;
    /

    In alternativa, applicare i suggerimenti per una tabella specifica analizzata, la tabella TPCH.LINEITEM in questo esempio.

    BEGIN
        DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION(
            RECOMMENDATION_ID => :RECOMMENDATION_ID,
            TABLE_OWNER       => 'TPCH',
            TABLE_NAME        => 'LINEITEM');
    END;
    /

Per informazioni, vedere Procedura CONFIGURA.

Per informazioni, vedere RECOMMEND_PARTITION_METHOD Function.

Per informazioni, vedere APPLY_RECOMMENDATION Procedure.

Nota

I consigli sul partizionamento automatico generati dalla funzione RECOMMEND_PARTITION_METHOD prevedono un limite di tempo, specificato dal parametro TIME_LIMIT, con un valore predefinito di 1 giorno. Se si sta analizzando un sistema di grandi dimensioni con molte tabelle dei candidati, un singolo richiamo potrebbe non generare un suggerimento per tutte le tabelle che possono essere partizionate. È possibile richiamare in tutta sicurezza il suggerimento per il partizionamento automatico ripetutamente per generare suggerimenti per tabelle aggiuntive. Quando la funzione viene richiamata e zero righe sono in DBA_AUTO_PARTITION_RECOMMENDATIONS per RECOMMENDATION_ID, la funzione non ha trovato altre tabelle candidate per il partizionamento automatico.

Genera e applica automaticamente i suggerimenti per le tabelle idonee

  1. Impostare il parametro AUTO_PARTITION_MODE su REPORT ONLY per abilitare l'esecuzione e la verifica di un suggerimento di partizionamento automatico. Il suggerimento non viene applicato alle tabelle esistenti.
    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
            PARAMETER_NAME  => 'AUTO_PARTITION_MODE', 
            PARAMETER_VALUE => 'IMPLEMENT');
    END;
    /
  2. Richiamare l'API DBMS_AUTO_PARTITION per generare una tabella di suggerimenti.
    -- DEFINE SQLPLUS BIND VARIABLE FOR RECOMMENDATION ID
    VARIABLE RECOMMENDATION_ID VARCHAR2(32);
    BEGIN
      :RECOMMENDATION_ID := DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD();
    END;
    /

    L'analisi e la verifica dei suggerimenti sono operazioni ad alta intensità di risorse e a lungo termine e potrebbero richiedere molto tempo. Nei database secondari non di produzione, Oracle consiglia di fornire alla verifica risorse sufficienti scegliendo il servizio HIGH.

  3. Eseguire una query sulla vista DBA_AUTO_PARTITION_RECOMMENDATIONS per vedere quali tabelle sono state analizzate.
    SELECT TABLE_OWNER, TABLE_NAME, PARTITION_METHOD, PARTITION_KEY
        FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
        WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID
        ORDER BY RECOMMENDATION_SEQ;
    
  4. Utilizzare la funzione REPORT_LAST_ACTIVITY per recuperare il report sulle azioni eseguite durante l'ultima esecuzione.
    SELECT DBMS_AUTO_PARTITION.REPORT_LAST_ACTIVITY() FROM DUAL;
    

Per informazioni, vedere Procedura CONFIGURA.

Per informazioni, vedere RECOMMEND_PARTITION_METHOD Function.

Per informazioni, vedere REPORT_LAST_ACTIVITY Function.

Viste del dizionario dati per il partizionamento automatico

Nel dizionario dati sono disponibili due nuove viste e una vista aggiornata per informazioni sulla configurazione e i suggerimenti del partizionamento automatico nel database.

DBMS_AUTO_PARTITION Vista DBA_AUTO_PARTITION_CONFIG

Visualizza le impostazioni dei parametri di configurazione correnti per il partizionamento automatico.

Colonna Descrizione
PARAMETER_NAME Nome del parametro di configurazione
PARAMETER_VALUE Valore del parametro di configurazione
LAST_MODIFIED Ora, in UTC, in cui il valore del parametro è stato modificato per l'ultima volta.
MODIFIED_BY Utente che ha modificato per ultimo il valore del parametro

DBMS_AUTO_PARTITION Vista DBA_AUTO_PARTITION_RECOMMENDATIONS

Quando si esegue CONFIGURE o RECOMMEND_PARTITION, i risultati di tali procedure vengono memorizzati in questa vista. Il RECOMMENDATION_ID viene utilizzato in diverse procedure e funzioni.

Colonna Descrizione
TABLE_OWNER Proprietario della tabella
TABLE_NAME Proprietario della tabella
PARTITION_METHOD Metodo di partizione consigliato. Vedere Procedura CONFIGURA
PARTITION_KEY Chiave di partizione consigliata. NULL indica che l'analisi è stata completata e che si consiglia di non partizionare la tabella.
GENERATE_TIMESTAMP Tempo, in UTC, in cui è stato generato questo suggerimento.
RECOMMENDATION_ID ID utilizzato con le API DBMS_AUTO_PARTITION per ottenere ulteriori informazioni su questo suggerimento.
RECOMMENDATION_SEQ Quando un ID suggerimento contiene suggerimenti per più tabelle, fornisce l'ordine in cui sono stati generati i suggerimenti. I report sulle prestazioni vengono generati presumendo che siano stati applicati suggerimenti precedenti. Ad esempio, il report per RECOMMENDATION_SEQ = 2 presuppone che le raccomandazioni siano state applicate sia per RECOMMENDATION_SEQ = 1 che per RECOMMENDATION_SEQ = 2.
MODIFY_TABLE_DDL DDL utilizzato o utilizzato per applicare il suggerimento.
APPLY_TIMESTAMP_START Ora, in UTC, quando è stata avviata l'applicazione di questo suggerimento. NULL se il suggerimento non è stato applicato.
APPLY_TIMESTAMP_END Tempo, in UTC, al termine dell'applicazione di questa raccomandazione. NULL se il suggerimento non è stato applicato o se l'applicazione non è stata completata.
REPORT Report di SQL Performance Analyzer dall'esecuzione SQL sul database dopo l'applicazione del suggerimento.

DBMS_AUTO_PARTITION Aggiornamenti alle viste esistenti

Descrive le modifiche apportate alle viste esistenti in seguito all'implementazione del partizionamento automatico.

In *_PART_TABLES è stata aggiunta la colonna AUTO (VARCHAR2(3)). I suoi valori sono i seguenti:
  • YES: se la tabella è stata partizionata da DBMS_AUTO_PARTITION.
  • NO: se la tabella non è stata partizionata da DBMS_AUTO_PARTITION.