Registrazione delle modifiche alle partizioni logiche e viste materializzate
Descrive le informazioni sul framework di metadati LPCT (Logical Partition Change Tracking) e la riscrittura delle query con registrazione delle modifiche alla partizione logica in Autonomous Database.
- Informazioni sulla registrazione delle modifiche alle partizioni logiche
LPCT (Logical Partition Change Tracking) tiene traccia dello stallo delle viste materializzate. - Utilizzo di Logical Partition Change Tracking
LPCT (Logical Partition Change Tracking) esegue un partizionamento logico di una tabella utilizzando una colonna chiave e un metodo specificati. - Esempio: registrazione delle modifiche alle partizioni logiche
Mostra i passi per utilizzare Logical Partition Change Tracking (LPCT) utilizzando una vista materializzata contenente join e aggregati.
Argomento principale: Autonomous Database per utenti esperti di Oracle Database
Informazioni sul tracciamento delle modifiche alle partizioni logiche
Logical Partition Change Tracking consente di creare partizioni logiche sulle tabelle di base. Valuta la staleness delle tabelle di base per le singole partizioni logiche senza utilizzare un log delle viste materializzate o richiedere la partizionamento di una qualsiasi delle tabelle utilizzate nella vista materializzata.
Quando vengono aggiornate una o più tabelle di base dipendenti di una vista materializzata, una vista materializzata diventa STALE
e non può essere utilizzata per la riscrittura delle query in base alla modalità di integrità applicata predefinita.
Logical Partition Change Tracking (LPCT) offre la possibilità di sfruttare le informazioni di partizionamento logico fornite dall'utente delle tabelle di base di una vista materializzata per un tracciamento a livello di partizione più dettagliato dei dati non più validi sia a scopo di aggiornamento che di riscrittura. Mentre il Partitioning Change Tracking (PCT) classico si basa sul partizionamento fisico delle tabelle, LPCT non ha alcuna dipendenza dalle tabelle che vengono partizionate fisicamente; LPCT può essere utilizzato sia con tabelle partizionate che non partizionate.
Il meccanismo Logical Partition Change Tracking utilizza i sottoinsiemi (partizioni) FRESH
delle viste materializzate nonostante altri sottoinsiemi siano STALE
. È possibile ottenere tempi di risposta più rapidi per le query utente poiché i risultati precalcolati nelle viste materializzate vengono utilizzati più spesso. Oltre ad aumentare l'usabilità delle viste materializzate, PCT e LPCT consentono anche l'aggiornamento incrementale delle viste materializzate senza la necessità di log delle viste materializzate; l'aggiornamento può essere sia ON DEMAND
che ON COMMIT
.
Simile a Partitioning Change Tracking (PCT), Logical Partition Change Tracking (LPCT) è associato a una tabella di base e può identificare con precisione le righe in una vista materializzata interessata dalle modifiche ai dati nella tabella di base, in base ai limiti di partizione logica definiti.
Per ulteriori informazioni, vedere Viste materializzate avanzate.
Uso di Logical Partition Change Tracking
Logical Partition Change Tracking (LPCT) suddivide logicamente una tabella utilizzando una colonna chiave e un metodo specificati.
La sintassi di creazione di Logical Partition Change Tracking è analoga alle partizioni fisiche. A differenza delle partizioni fisiche, che devono essere create come parte della creazione della tabella, LPCT può essere specificato liberamente indipendentemente dalla creazione della tabella e dalla sua forma, consentendo una maggiore flessibilità per soddisfare le vostre esigenze. La creazione LPCT è solo metadati.
- Creazione di partizioni logiche - BNF
Verrà descritta la sintassi per creare partizioni logiche BNF. - Scelta della colonna chiave della partizione logica
La chiave di partizionamento logico viene specificata per definire i limiti di ogni partizione logica. - Freschezza delle viste materializzate utilizzando il tracciamento delle modifiche alla partizione logica
Il meccanismo di tracciamento della stanchezza LPCT (Logical Partition Change Tracking) registra e consolida automaticamente le statistiche delle modifiche internamente in base alla chiave di partizione logica e al metodo di partizionamento specificati durante ogni modifica dei dati. - Rewrite with Materialized Views Using Logical Partition Change Tracking
Utilizzando Logical Partition Change Tracking (LPCT), Oracle sa che una vista materializzata èSTALE
rispetto ad alcune partizioni logiche della tabella di base, maFRESH
rispetto ad altre porzioni. - Aggiornamento delle viste materializzate mediante la registrazione delle modifiche alle partizioni logiche
L'aggiornamento LPCT (Logical Partition Change Tracking) può essere implementato utilizzando la scalabilità dei dati con filtro per aggiornare in modo incrementale i subsetSTALE
di una vista materializzata, eliminando l'aggiornamento completo costoso o l'aggiornamento rapido basato su log. - Logical Partition Change Tracking – Data Dictionary Views
Descrive le viste del dizionario dati per trovare informazioni sulle partizioni logiche.
Creazione di partizioni logiche - BNF
Descrive la sintassi per creare partizioni logiche BNF.
Di seguito è riportata la sintassi per creare partizioni logiche BNF.
CREATE LOGICAL PARTITION TRACKING ON table_name
PARTITION BY RANGE (partition_key)
INTERVAL (interval_clause)
(partition_specification);
- Sono supportati solo i metodi di partizionamento logico
RANGE
eINTERVAL
. - È supportata una sola colonna di chiavi di partizione logica.
- La colonna della chiave di partizione può essere dei seguenti tipi di dati:
NUMBER
DATE
CHAR
VARCHAR
VARCHAR2
TIMESTAMP
TIMESTAMP WITH TIME ZONE
Argomento padre: Utilizzo della registrazione delle modifiche alla partizione logica
Scelta della colonna di chiavi della partizione logica
La chiave di partizionamento logico viene specificata per definire i limiti di ogni partizione logica.
La chiave di partizione logica non è fisica. Ciò significa che le righe di tabella appartenenti a un intervallo di chiavi non sono separate in una partizione fisica separata. La tabella può essere non partizionata o partizionata su una chiave diversa dalla chiave di partizione logica. La chiave di partizione logica può essere scelta liberamente e i limiti di partizione possono essere resi flessibili.
Per scegliere una colonna chiave LPCT (Logical Partition Change Tracking), è possibile considerare una colonna in cluster, ovvero una colonna in cui i dati sono vicini all'ordinamento in base al valore della colonna, a cui viene fatto spesso riferimento nei predicati del filtro query. Per una colonna in cluster, è probabile che durante i caricamenti dei dati vengano interessate meno partizioni logiche, pertanto è necessario aggiornare meno partizioni logiche STALE
e più partizioni logiche FRESH
sono pronte per essere utilizzate per le riscritture. Se una tabella è già partizionata, si consiglia di creare un LPCT utilizzando una colonna diversa dalla colonna chiave di partizione. LPCT offre vantaggi simili a Partitioning Change Tracking (PCT) e i vantaggi combinati non vengono massimizzati se il monitoraggio dei dati viene eseguito sulla stessa colonna.
Argomento padre: Utilizzo della registrazione delle modifiche alla partizione logica
Freschezza delle viste materializzate mediante il tracciamento delle modifiche alle partizioni logiche
Il meccanismo di tracciamento dello stallo LPCT (Logical Partition Change Tracking) registra e consolida automaticamente le statistiche delle modifiche internamente in base alla chiave di partizione logica e al metodo di partizionamento specificati durante ogni modifica dei dati.
I dati di modifica adiacenti sono raggruppati in una partizione "logica". A differenza di Partitioning Change Tracking (PCT), che è legato ai limiti di partizione fisica, lo schema LPCT offre flessibilità nella gestione e nel raggruppamento delle modifiche ai dati derivanti da DML applicati alla tabella di base.
Durante i DML e i carichi diretti convenzionali, LPCT adotta lo stesso algoritmo utilizzato da PCT per monitorare la stanchezza. Durante le riscritture delle query, LPCT adotta lo stesso algoritmo utilizzato da PCT per calcolare il contenimento delle riscritture.
Quando una tabella viene partizionata logicamente utilizzando intervalli di chiavi, una vista materializzata definita nella tabella è idonea a utilizzare LPCT per il tracciamento dello stallo, l'aggiornamento e la riscrittura delle query, a condizione che la vista materializzata contenga la chiave di partizione logica.
Tutti i tipi di viste materializzate sono supportati per LPCT.
Argomento padre: Utilizzo della registrazione delle modifiche alla partizione logica
Riscrivi con viste materializzate mediante tracciamento modifiche partizione logica
Utilizzando Logical Partition Change Tracking (LPCT), Oracle sa che una vista materializzata è STALE
rispetto ad alcune partizioni logiche della tabella di base, ma FRESH
rispetto ad altre porzioni.
Avendo le informazioni sulla staleness dei dati più fini delle tabelle di base, la vista materializzata associata verrebbe utilizzata più frequentemente a causa della riscrittura LPCT.
Oracle identifica e utilizza in modo trasparente il subset FRESH
delle viste materializzate per la riscrittura delle query per rispondere a query complesse di tabelle di base quando QUERY_REWRITE_INTEGRITY = ENFORCED |TRUSTED
.
Se le righe delle viste materializzate sono parzialmente FRESH
rispetto a tali partizioni logiche, è possibile che venga eseguita una riscrittura parziale per rispondere alla query utilizzando parzialmente la vista materializzata, ovvero le partizioni logiche FRESH
e utilizzando parzialmente la tabella di base, ovvero le partizioni logiche STALE
.
Argomento padre: Utilizzo della registrazione delle modifiche alla partizione logica
Aggiornamento delle viste materializzate mediante tracciamento modifiche partizione logica
L'aggiornamento LPCT (Logical Partition Change Tracking) può essere implementato utilizzando la scalabilità dei dati con filtro per aggiornare in modo incrementale i sottoinsiemi STALE
di una vista materializzata, eliminando il costoso aggiornamento completo o l'aggiornamento rapido basato su log.
Se si specifica l'aggiornamento LPCT, le partizioni logiche STALE
vengono identificate e le operazioni di aggiornamento mirate verranno eseguite solo a tali partizioni logiche.
Per richiamare l'aggiornamento utilizzando la registrazione delle modifiche alla partizione logica, specificare ‘L’
o ‘l’
("logico") come metodo di aggiornamento.
Ad esempio: execute DBMS_MVIEW.REFRESH(<materialized_view_name>,’L’);
Se si specifica REFRESH FORCE
, viene scelto e eseguito, se possibile, un aggiornamento FAST
oppure viene eseguito un aggiornamento COMPLETE
. Durante l'aggiornamento della vista materializzata FORCE
, l'aggiornamento LPCT ha la stessa priorità dell'aggiornamento PCT (Partitioning Change Tracking).
Argomento padre: Utilizzo della registrazione delle modifiche alla partizione logica
Registrazione delle modifiche alla partizione logica - Viste del dizionario dati
Descrive le viste del dizionario dati per trovare informazioni sulle partizioni logiche.
-
ALL_MVIEW_DETAIL_LOGICAL_PARTITION
: questa vista visualizza le informazioni sulla freschezza delle viste materializzate rispetto a una partizione logica dettagliata LPCT, accessibile all'utente corrente. Per ulteriori informazioni, vedere ALL_MVIEW_DETAIL_PARTITION. -
DBA_MVIEW_DETAIL_ LOGICAL_PARTITION
: visualizza le informazioni sulla freschezza di tutte le viste materializzate nel database rispetto a una partizione logica dettagliata LPCT. Per ulteriori informazioni, vedere DBA_MVIEW_DETAIL_PARTITION. -
USER_MVIEW_DETAIL_ LOGICAL_PARTITION
: visualizza le informazioni sulla freschezza di tutte le viste materializzate rispetto a una partizione logica dettagliata LPCT di proprietà dell'utente corrente. Per ulteriori informazioni, vedere USER_MVIEW_DETAIL_PARTITION.
Argomento padre: Utilizzo della registrazione delle modifiche alla partizione logica
Esempio: tracciamento modifiche partizione logica
Mostra la procedura per utilizzare Logical Partition Change Tracking (LPCT) utilizzando una vista materializzata contenente join e aggregati.
- Creare tabelle di base con partizioni di modifica logica.
- Crea una vista materializzata sopra le tabelle con tracciamento delle modifiche alle partizioni logiche.
- Osservare l'impatto dei DML sulla vista materializzata.
- Utilizza LPCT per l'aggiornamento incrementale.