Gestire il partizionamento automatico su Autonomous Database

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

Il partizionamento automatico, quando 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 candidati 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 manuale 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, ad esempio tabelle partizionate a più colonne o partizionamento composto.

Il partizionamento automatico sceglie i seguenti metodi di partizione:

  • INTERVAL AUTOMATICO: Questa scelta è più adatta per intervalli di valori chiave di partizione.
  • LIST AUTOMATIC: questo metodo di partizionamento si applica a valori di chiave di partizione distinti.
  • HASH: applica il partizionamento sui valori HASH della chiave di partizione.

Per ulteriori informazioni, vedere Concetti di partizionamento.

Il partizionamento automatico fornisce le funzionalità indicate 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 per il partizionamento automatico.
  • Fornisce API PL/SQL per configurare il partizionamento automatico in un database, generare report sui risultati del partizionamento e generare e applicare 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 a un Autonomous Database.

Come funziona il partizionamento automatico

A differenza dell'indicizzazione automatica, il partizionamento automatico non viene eseguito periodicamente come task 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 eseguiti i task riportati di seguito.

  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 Autonomous Database per l'analisi. A seconda delle dimensioni del carico di lavoro, è possibile prendere in considerazione un esempio di query.

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

    1. Gli schemi di partizione vuota del candidato con statistiche sintetizzate vengono creati internamente e analizzati per garantire le prestazioni.

    2. Lo schema candidato con la più alta riduzione di 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, si sconsiglia il partizionamento automatico.

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

Configurazione del 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');

Abilitare i suggerimenti, ma non implementarli

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

Disabilitare i nuovi suggerimenti e l'implementazione di tali nuovi suggerimenti

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 entrambe le liste di inclusione ed esclusione sono vuote.
  • Supponendo che la lista di inclusione e la lista di esclusione siano 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;
    /
  • Supponendo che le liste di inclusione ed esclusione siano vuote, l'esempio seguente aggiunge lo schema HR alla lista di inclusione. Non appena l'elenco di inclusione non è più vuoto, vengono considerati solo gli schemi nell'elenco 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 CONFIGURE.

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 duplicati o creati manualmente anziché nei database di produzione. L'analisi e la verifica del partizionamento automatico mediante RECOMMEND_PARTITION_METHOD è potenzialmente un'operazione 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 di carichi 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 di carichi di lavoro SQL gestito internamente gestito in SQL Tuning Set (SYS_AUTO_STS). Se si duplica il database di produzione dopo aver eseguito il carico di lavoro per un certo periodo di tempo, la copia avrà le informazioni necessarie sul carico di lavoro. È possibile utilizzare il partizionamento automatico con tali cloni senza alcuna azione aggiuntiva.

      Vedere Copia di un'istanza di Autonomous Database

    2. Utilizzare altri database per il partizionamento automatico.

      È possibile eseguire manualmente il carico di lavoro per raccogliere le informazioni necessarie sul carico di lavoro. Se si esegue manualmente il carico di lavoro prima di utilizzare il partizionamento automatico, è possibile utilizzare qualsiasi Autonomous Database contenente gli schemi e i dati desiderati per il partizionamento automatico dopo l'esecuzione del carico di lavoro, indipendentemente dal fatto che venga 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 per verificare i vantaggi a livello di prestazioni eseguendo il carico di lavoro su una tabella ausiliaria creata internamente. Può trattarsi 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. Avrai anche bisogno temporaneamente di spazio aggiuntivo, di 1 - 1,5 volte, il tuo tavolo candidato più grande.

  3. Applicare il consiglio.

    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 tempi non di punta. Mentre le tabelle verranno modificate in tabelle partizionate automaticamente, la conversione aggiunge ulteriori requisiti di risorse al sistema, come 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 simultanee in corso 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

In questo esempio viene generato 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.

Scenario di esempio del partizionamento automatico

Esempi di scenari 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 la creazione 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. Questo passo è facoltativo e consigliato quando si ha come target selettivo 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 Funzione.

  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 eseguiti con DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD possono essere un'operazione a uso intensivo di risorse e con tempi di esecuzione lunghi e possono richiedere molto tempo. È necessario 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 consigliata e il metodo di partizione.
    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 al suggerimento.

    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 la DDL di modifica. Eseguire quindi la DDL di modifica estratta 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;
    

    Output di esempio della DDL di modifica:

    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 ed eseguire una query sulle viste del 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 è stato applicato il partizionamento automatico 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 ulteriori informazioni, vedere Procedura CONFIGURE.

Per ulteriori informazioni, vedere VALIDATE_CANDIDATE_TABLE Function.

Per ulteriori informazioni, vedere RECOMMEND_PARTITION_METHOD Function.

Per informazioni, vedere APPLY_RECOMMENDATION Procedura.

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

  1. Impostare il parametro AUTO_PARTITION_MODE su REPORT ONLY per abilitare la creazione 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 dei 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 un'operazione che richiede molte risorse e tempi di esecuzione lunghi e potrebbero richiedere molto tempo. Sui 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 visualizzare le tabelle 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 per una tabella specifica analizzata nell'esecuzione, 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 ulteriori informazioni, vedere Procedura CONFIGURE.

Per ulteriori informazioni, vedere RECOMMEND_PARTITION_METHOD Function.

Per informazioni, vedere APPLY_RECOMMENDATION Procedura.

Nota

I suggerimenti per il partizionamento automatico generati dalla funzione RECOMMEND_PARTITION_METHOD hanno un limite di tempo, specificato dal parametro TIME_LIMIT, con l'impostazione predefinita 1 giorno. Se si sta analizzando un sistema di grandi dimensioni con molte tabelle candidate, un singolo richiamo potrebbe non generare un suggerimento per tutte le tabelle che possono essere partizionate. È possibile richiamare in modo sicuro il suggerimento per il partizionamento automatico ripetutamente per generare suggerimenti per tabelle aggiuntive. Quando la funzione viene richiamata e le righe zero si trovano in DBA_AUTO_PARTITION_RECOMMENDATIONS per RECOMMENDATION_ID, la funzione non ha trovato tabelle candidate aggiuntive per il partizionamento automatico.

Genera e applica automaticamente suggerimenti per tabelle idonee

  1. Impostare il parametro AUTO_PARTITION_MODE su REPORT ONLY per abilitare la creazione 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 dei 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 un'operazione che richiede molte risorse e tempi di esecuzione lunghi e potrebbero richiedere molto tempo. Sui 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 visualizzare le tabelle 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 ulteriori informazioni, vedere Procedura CONFIGURE.

Per ulteriori informazioni, vedere RECOMMEND_PARTITION_METHOD Function.

Per ulteriori 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 DBA_AUTO_PARTITION_CONFIG Visualizza

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

A colonne descrizione;
PARAMETER_NAME Nome del parametro di configurazione
PARAMETER_VALUE Valore del parametro di configurazione
LAST_MODIFIED Ora, in UTC, in corrispondenza della quale il valore del parametro è stato modificato per l'ultima volta.
MODIFIED_BY Utente che ha apportato l'ultima modifica al valore del parametro

DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_RECOMMENDATIONS Visualizza

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.

A colonne descrizione;
TABLE_OWNER Proprietario della tabella
TABLE_NAME Proprietario della tabella
PARTITION_METHOD Metodo di partizione consigliato. Vedere Procedura CONFIGURA
PARTITION_KEY Chiave di partizionamento consigliata. NULL indica che l'analisi è completa e si consiglia di non partizionare la tabella.
GENERATE_TIMESTAMP Ora, 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 presupponendo che siano stati applicati suggerimenti precedenti. Ad esempio, il report per RECOMMENDATION_SEQ = 2 presuppone che siano stati applicati suggerimenti sia per RECOMMENDATION_SEQ = 1 che per RECOMMENDATION_SEQ = 2.
MODIFY_TABLE_DDL DDL utilizzato o utilizzato per applicare la raccomandazione.
APPLY_TIMESTAMP_START Ora, in UTC, in cui è stata avviata l'applicazione di questo suggerimento. NULL se il suggerimento non è stato applicato.
APPLY_TIMESTAMP_END Ora, in UTC, al termine dell'applicazione di questa raccomandazione. NULL se il suggerimento non è stato applicato o se l'applicazione non è terminata.
REPORT Report di SQL Performance Analyzer dall'esecuzione SQL nel database dopo l'applicazione del suggerimento.

DBMS_AUTO_PARTITION Aggiornamenti alle viste esistenti

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

Nella colonna *_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.