Gestire il partizionamento automatico su Autonomous Database
Il partizionamento automatico, se applicato, è trasparente e non richiede alcuna interazione o manutenzione da parte dell'utente.
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. - Funzionamento del partizionamento automatico
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. - Configure Automatic Partitioning
Utilizzare la proceduraDBMS_AUTO_PARTITION.CONFIGURE
per configurare le opzioni di partizionamento automatico. - Usa partizionamento automatico
Descrive il flusso e i processi generali per l'utilizzo e la gestione del partizionamento automatico in Autonomous Database. - Generare report di partizionamento automatico
Generare report di partizionamento automatico utilizzando le funzioniREPORT_ACTIVITY
eREPORT_LAST_ACTIVITY
del pacchettoDBMS_AUTO_PARTITION
. - Esempio di scenari di partizionamento automatico
Scenari di esempio per il partizionamento automatico mediante le procedure e le funzioni dell'APIDBMS_AUTO_PARTITION
. - 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.
Argomento padre: Performance Monitor and Management
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.
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.
Argomento padre: Gestire il partizionamento automatico su 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 si richiama il partizionamento automatico, vengono eseguite le seguenti operazioni:
-
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.
-
Valuta gli schemi di partizione in base all'analisi del carico di lavoro, alla quantificazione e alla verifica dei vantaggi delle prestazioni:
-
Gli schemi di partizione vuoti candidati con statistiche sintetizzate vengono creati internamente e analizzati per le prestazioni.
-
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.
-
Se uno schema di partizione candidato non migliora le prestazioni oltre i criteri di prestazioni e regressione specificati, il partizionamento automatico non è consigliato.
-
-
Implementa la strategia di partizionamento ottimale, se configurata per farlo, per le tabelle analizzate dalle procedure di partizionamento automatico.
Argomento padre: Gestire il partizionamento automatico su Autonomous Database
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');
Questa modalità non disabilita le tabelle partizionate automaticamente esistenti.
Gestire schemi e tabelle per il partizionamento automatico
AUTO_PARTITION_SCHEMA
e AUTO_PARTITION_TABLE
per specificare gli schemi e le tabelle considerati per il partizionamento automatico.
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 tabellaSH.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.
Argomento padre: Gestire il partizionamento automatico su Autonomous Database
Usa partizionamento automatico
Descrive il flusso e i processi generali per l'uso e la gestione del partizionamento automatico in Autonomous Database.
- 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.
- 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. - 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.
- Utilizzare un database duplicato per il partizionamento automatico.
- 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. - 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 colonnaMODIFY_TABLE_DDL
nella vistaDBA_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.
Argomento padre: Gestire il partizionamento automatico su Autonomous Database
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.
Argomento padre: Gestire il partizionamento automatico su Autonomous Database
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
- Impostare il parametro
AUTO_PARTITION_MODE
suREPORT 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; /
- 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.
- Richiamare l'API
DBMS_AUTO_PARTITION
per generare un suggerimento per la tabellaTPCH.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. - 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;
- 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;
- 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
- Impostare il parametro
AUTO_PARTITION_MODE
suREPORT 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; /
- 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.
- 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;
- 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';
- 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.
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
- Impostare il parametro
AUTO_PARTITION_MODE
suREPORT 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; /
- 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.
- 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;
- 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.
Argomento padre: Gestire il partizionamento automatico su Autonomous Database
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 View
Visualizza le impostazioni dei parametri di configurazione correnti per il partizionamento automatico. - DBMS_AUTO_PARTITION Vista DBA_AUTO_PARTITION_RECOMMENDATIONS
Quando si esegueCONFIGURE
oRECOMMEND_PARTITION
, i risultati di tali procedure vengono memorizzati in questa vista. IlRECOMMENDATION_ID
viene utilizzato in diverse procedure e funzioni. - DBMS_AUTO_PARTITION Aggiornamenti alle viste esistenti
Discute le modifiche apportate alle viste esistenti in seguito all'implementazione del partizionamento automatico.
Argomento padre: Gestire il partizionamento automatico su Autonomous 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 |
Argomento padre: Viste del dizionario dati per il partizionamento automatico
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. |
Argomento padre: Viste del dizionario dati per il partizionamento automatico
DBMS_AUTO_PARTITION Aggiornamenti alle viste esistenti
Descrive le modifiche apportate alle viste esistenti in seguito all'implementazione del partizionamento automatico.
*_PART_TABLES
è stata aggiunta la colonna AUTO
(VARCHAR2(3)
). I suoi valori sono i seguenti:
YES
: se la tabella è stata partizionata daDBMS_AUTO_PARTITION
.NO
: se la tabella non è stata partizionata daDBMS_AUTO_PARTITION
.
Argomento padre: Viste del dizionario dati per il partizionamento automatico