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 il monitoraggio delle modifiche della partizione logica in Autonomous Database.
- Informazioni su Logical Partition Change Tracking
Logical Partition Change Tracking (LPCT) traccia lo staleness delle viste materializzate. - Uso di Logical Partition Change Tracking
Logical Partition Change Tracking (LPCT) suddivide logicamente una tabella utilizzando una colonna chiave e un metodo specificati. - Esempio: Registrazione modifica partizione logica
Mostra i passi per utilizzare la registrazione modifica partizione logica (LPCT) utilizzando una vista materializzata contenente join e aggregati.
Argomento padre: Autonomous Database per utenti esperti di Oracle Database
Informazioni su Logical Partition Change Tracking
Tracciamento modifiche partizione logica consente di creare partizioni logiche nelle tabelle di base. Valuta lo stato delle tabelle di base per le singole partizioni logiche senza utilizzare un log delle viste materializzate o senza richiedere il partizionamento 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 con la 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 più dettagliato a livello di partizione dei dati non più validi per scopi di aggiornamento e riscrittura. Mentre il classico Partitioning Change Tracking (PCT) si basa sul partizionamento fisico delle tabelle, LPCT non ha alcuna dipendenza dalle tabelle partizionate fisicamente; LPCT può essere utilizzato sia con le tabelle partizionate che con quelle non partizionate.
Il meccanismo di registrazione delle modifiche delle partizioni logiche utilizza i subset (partizioni) FRESH
delle viste materializzate nonostante gli altri subset 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 del controllo delle modifiche logico alla partizione
Logical Partition Change Tracking (LPCT) suddivide logicamente una tabella utilizzando una colonna chiave e un metodo specificati.
La sintassi di registrazione delle modifiche alla partizione logica è analoga a quella delle partizioni fisiche. A differenza delle partizioni fisiche, che devono essere create come parte della creazione di tabelle, LPCT può essere liberamente specificato indipendentemente dalla creazione della tabella e dalla sua forma, consentendo una maggiore flessibilità per soddisfare le tue esigenze. La creazione LPCT è solo metadati.
- Creazione di partizioni logiche - BNF
Descrive la sintassi per creare partizioni logiche BNF. - Scelta della colonna chiave di partizione logica
La chiave di partizionamento logica viene specificata per definire i limiti di ciascuna partizione logica. - Fresh of Materialized Views Using Logical Partition Change Tracking
Il meccanismo di tracciamento dello stato LPCT (Logical Partition Change Tracking) registra e consolida automaticamente le statistiche di modifica internamente in base alla chiave di partizione logica e al metodo di partizionamento specificati durante ogni modifica dei dati. - Ridefinire con viste materializzate utilizzando la registrazione delle modifiche alle partizioni logiche
Utilizzando la registrazione delle modifiche alle partizioni logiche (LPCT), Oracle sa che una vista materializzata èSTALE
rispetto ad alcune partizioni logiche della tabella di base, maFRESH
rispetto ad altre parti. - Aggiornamento delle viste materializzate mediante la registrazione delle modifiche alle partizioni logiche
L'aggiornamento della registrazione delle modifiche alle partizioni logiche (LPCT) può essere implementato utilizzando lo spessore dei dati più dettagliato per aggiornare in modo incrementale i sottoinsiemiSTALE
di una vista materializzata, eliminando costosi aggiornamenti completi o aggiornamenti rapidi basati su log. - Registrazione modifiche partizione logica - Viste dizionario dati
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 le 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 chiave di partizione logica.
- Di seguito sono riportati i tipi di dati disponibili nella colonna chiave di partizione.
NUMBER
DATE
CHAR
VARCHAR
VARCHAR2
TIMESTAMP
TIMESTAMP WITH TIME ZONE
Argomento padre: Utilizzo di Registrazione modifiche partizione logica
Scelta della colonna chiave di partizione logica
La chiave di partizionamento logico è specificata per definire i limiti di ciascuna partizione logica.
La chiave di partizione logica non è fisica, il che 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 in una chiave diversa dalla chiave di partizione logica. La chiave di partizione logica può essere scelta liberamente e i limiti della partizione possono essere resi flessibili.
Per scegliere una colonna chiave LCT (Logical Partition Change Tracking), è possibile prendere in considerazione una colonna in cluster, ovvero una colonna in cui i dati sono vicini al valore della colonna ordinato in base al valore, a cui viene fatto spesso riferimento nei predicati del filtro query. Per una colonna in cluster, è probabile che le partizioni meno logiche vengano interessate durante il caricamento dei dati. Ciò significa che è 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 al Partitioning Change Tracking (PCT) e i vantaggi combinati non vengono massimizzati se il tracciamento dei dati viene eseguito sulla stessa colonna.
Argomento padre: Utilizzo di Registrazione modifiche partizione logica
Aggiornamento delle viste materializzate mediante la registrazione delle modifiche alle partizioni logiche
Il meccanismo di tracciamento dello staleness di Logical Partition Change Tracking (LPCT) registra e consolida automaticamente le statistiche di modifica 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 del Partitioning Change Tracking (PCT), che è legato ai limiti delle partizioni fisiche, lo schema LPCT offre flessibilità nella gestione e nel raggruppamento delle modifiche ai dati derivanti dai DML applicati alla tabella di base.
Durante i DML convenzionali e i carichi diretti, LPCT adotta lo stesso algoritmo che PCT utilizza per tracciare la staleness. Durante la riscrittura delle query, LPCT adotta lo stesso algoritmo utilizzato da PCT per calcolare il contenimento della riscrittura.
Quando una tabella viene partizionata logicamente utilizzando intervalli di chiavi, una vista materializzata definita nella tabella è idonea a utilizzare LPCT per la registrazione dello stato, l'aggiornamento e la riscrittura delle query, a condizione che la vista materializzata contenga la chiave di partizione logica.
Per LPCT sono supportati tutti i tipi di viste materializzate.
Argomento padre: Utilizzo di Registrazione modifiche partizione logica
Riscrivi con viste materializzate mediante registrazione 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 sullo spessore 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 delle 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 parzialmente alla query utilizzando la vista materializzata, ovvero le partizioni logiche FRESH
, e parzialmente utilizzando la tabella di base, ovvero le partizioni logiche STALE
.
Argomento padre: Utilizzo di Registrazione modifiche partizione logica
Aggiornamento delle viste materializzate mediante la registrazione delle modifiche della partizione logica
L'aggiornamento LPCT (Logical Partition Change Tracking) può essere implementato utilizzando lo staleness dei dati a grana più fine per aggiornare in modo incrementale i sottoinsiemi STALE
di una vista materializzata, eliminando l'aggiornamento completo costoso o l'aggiornamento rapido basato su log.
Se si specifica l'aggiornamento LPCT, vengono identificate le partizioni logiche STALE
e le operazioni di aggiornamento mirato verranno eseguite solo a tali partizioni logiche.
Per richiamare l'aggiornamento utilizzando la registrazione delle modifiche della 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 ed eseguito un aggiornamento FAST
, se possibile, altrimenti 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 di Registrazione modifiche partizione logica
Tracciamento modifiche partizione logica - Viste 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 di dettaglio LPCT, accessibile all'utente corrente. Vedere ALL_MVIEW_DETAIL_PARTITION. -
DBA_MVIEW_DETAIL_ LOGICAL_PARTITION
: visualizza le informazioni sulla freschezza per tutte le viste materializzate nel database rispetto a una partizione logica di dettaglio LPCT. Vedere DBA_MVIEW_DETAIL_PARTITION. -
USER_MVIEW_DETAIL_ LOGICAL_PARTITION
: visualizza le informazioni sulla freschezza per tutte le viste materializzate rispetto a una partizione logica dei dettagli LPCT di proprietà dell'utente corrente. Vedere USER_MVIEW_DETAIL_PARTITION.
Argomento padre: Utilizzo di Registrazione modifiche partizione logica
Esempio: registrazione modifica partizione logica
Mostra i passi per utilizzare Logical Partition Change Tracking (LPCT) utilizzando una vista materializzata che contiene join e aggregati.
- Creare tabelle di base con partizioni di modifica logica.
- Creare una vista materializzata nella parte superiore delle tabelle con la registrazione delle modifiche alle partizioni logiche.
- Osservare l'impatto dei DML sulla vista materializzata.
- Utilizza LPCT per l'aggiornamento incrementale.