Gestire il partizionamento automatico su Autonomous Database
Il partizionamento automatico, quando 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 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. - 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. - Configura partizionamento automatico
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. - Genera report di partizionamento automatico
Generare report di partizionamento automatico utilizzando le funzioniREPORT_ACTIVITY
eREPORT_LAST_ACTIVITY
del pacchettoDBMS_AUTO_PARTITION
. - Scenari di partizionamento automatico di esempio
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 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.
Il partizionamento automatico richiede chiamate esplicite alle API PL/SQL
DBMS_AUTO_PARTITION
per consigliare e applicare il partizionamento automatico a un Autonomous Database.
Argomento padre: Gestire il partizionamento automatico su 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 si richiama il partizionamento automatico, vengono eseguiti i task riportati di seguito.
-
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.
-
Valuta gli schemi di partizione in base all'analisi del carico di lavoro, alla quantificazione e alla verifica dei vantaggi in termini di prestazioni:
-
Gli schemi di partizione vuota del candidato con statistiche sintetizzate vengono creati internamente e analizzati per garantire le prestazioni.
-
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.
-
Se uno schema di partizione candidato non migliora le prestazioni oltre i criteri di prestazioni e regressione specificati, si sconsiglia il partizionamento automatico.
-
-
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
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');
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 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 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; /
-
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.
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 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.
- 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. - 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.
- 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 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. - 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 colonnaMODIFY_TABLE_DDL
nella vistaDBA_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.
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
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.
Argomento padre: Gestire il partizionamento automatico su Autonomous Database
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
- Impostare il parametro
AUTO_PARTITION_MODE
suREPORT 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; /
- 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.
- 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 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. - 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;
- 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;
- 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
- Impostare il parametro
AUTO_PARTITION_MODE
suREPORT 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; /
- 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.
- 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;
- 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';
- 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.
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
- Impostare il parametro
AUTO_PARTITION_MODE
suREPORT 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; /
- 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.
- 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;
- 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.
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 Vista
Visualizza le impostazioni correnti dei parametri di configurazione per il partizionamento automatico. - DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_RECOMMENDATIONS Vista
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
Consente di discutere 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 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 |
Argomento padre: Viste del dizionario dati per il partizionamento automatico
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. |
Argomento padre: Viste del dizionario dati per il partizionamento automatico
DBMS_AUTO_PARTITION Aggiornamenti alle viste esistenti
Discute 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