Come memorizzare nella cache la sequenza Oracle per migliorare le risorse del dizionario dei dati?

Come memorizzare nella cache la sequenza Oracle per migliorare le risorse del dizionario dei dati?

Le sequenze Oracle sono comunemente usate per generare identificatori numerici univoci per i record di database. Tuttavia, la generazione di valori di sequenza può essere un vincolo di prestazione per applicazioni ad alta concorrenza. Un modo per migliorare le prestazioni è quello di memorizzare nella cache le sequenze Oracle riducendo il numero di accessi del dizionario richiesti per generare valori di sequenza.

Questa guida spiegherà come memorizzare nella cache la sequenza Oracle per migliorare le risorse del dizionario dei dati.

Come memorizzare nella cache la sequenza Oracle per migliorare/migliorare le risorse del dizionario dei dati?

Le seguenti opzioni possono essere utilizzate per memorizzare nella cache la sequenza Oracle per migliorare le risorse del dizionario dei dati:

    • L'opzione cache
    • L'opzione Noorder
    • L'opzione Keep

Prima di iniziare con il miglioramento, accedi al database Oracle come amministratore di sistema digitando il comando di seguito:

Sqlplus sys/root1234 come sysdba


Nel comando sopra, "root1234"È la password del database.

Produzione


L'output ha mostrato l'accesso riuscito a un database Oracle.

Dopo l'accesso riuscito, confermiamo la dimensione della cache e il valore massimo della sequenza.

Controllare la dimensione della cache

Per controllare la dimensione della cache, l'istruzione SELECT può essere utilizzata con Cache_Size come indicato di seguito:

Seleziona cache_size da All_sequences
Dove sequence_owner = 'c ## md'
E sequence_name = 'dbObjectId_sequence';


Nel comando sopra, la dimensione della cache di una sequenza denominata "DBObjectId_ Sequence"È selezionato da All_sequences visualizzazione.

Produzione


L'output ha mostrato che la dimensione della cache è 50.

Controlla il valore massimo

Il "Max_Value" può essere utilizzato con l'istruzione Seleziona per recuperare il valore massimo dalla sequenza, come mostrato di seguito:

Seleziona max_value da All_sequences
Dove sequence_owner = 'c ## md'
E sequence_name = 'dbObjectId_sequence';


Produzione


L'output ha visualizzato il Max valore dalla sequenza.

Come memorizzare nella cache la sequenza Oracle usando l'opzione Cache?

IL "Cache"L'opzione viene utilizzata per pre-allocare un numero specificato di valori di sequenza in memoria, che vengono quindi utilizzati dal database senza la necessità di accessi. Per memorizzare nella cache una sequenza Oracle, è possibile utilizzare l'opzione Cache durante la creazione o la modifica della sequenza.

L'esempio è riportato di seguito:

Alter Sequence C ## MD.DBObjectId_ Sequence Cache 70;


Nell'esempio sopra:

    • IL "C ## MD"È il proprietario della sequenza.
    • IL "DBObjectId_ Sequence"È il nome della sequenza.
    • "70"È la nuova dimensione della cache.

Produzione


L'output ha visualizzato che la dimensione della cache è stata modificata.

Confermiamo la dimensione della cache digitando il comando dato:

Seleziona cache_size da All_sequences
Dove sequence_owner = 'c ## md'
E sequence_name = 'dbObjectId_sequence';


Produzione


L'output ha visualizzato che la dimensione della cache è stata cambiata in 70.

Come memorizzare nella cache la sequenza Oracle usando l'opzione Noorder?

IL "NESSUN ORDINE"L'opzione viene utilizzata per pre-allocare un numero specificato di valori di sequenza in memoria senza ordinare i valori in qualsiasi ordine specifico. Senza questa opzione, Oracle dovrà bloccare la sequenza prima di generare un nuovo valore che può ridurre le prestazioni.

Utilizzando l'opzione "Noorder", Oracle può memorizzare nella cache i valori di sequenza e migliorare l'utilizzo delle risorse del dizionario dei dati. Ecco un esempio:

Alter Sequence C ## MD.DBObjectId_ Sequence Cache 90 Noorder;


Produzione


Il risultato "Sequenza alterata"Ha mostrato che sono state apportate le modifiche.

Come memorizzare nella cache la sequenza Oracle usando l'opzione Keep?

IL "MANTENERE"L'opzione viene utilizzata per trattenere i valori di sequenza che sono stati generati e non ancora utilizzati, anche se il database si arresta in modo anomalo o viene chiuso inaspettatamente. Riduce anche la possibilità di lacune di sequenza. L'opzione Keep può essere utile per le sequenze che sono frequentemente accessibili o per le sequenze utilizzate in ambienti altamente simultanei.

Digitare il comando indicato di seguito per memorizzare nella cache la sequenza Oracle per migliorare le risorse del dizionario dei dati utilizzando l'opzione Keep:

Alter Sequence C ## MD.DBObjectid_sequence cache 120 Keep;


Produzione

L'output ha dimostrato che la sequenza è stata modificata:


Questo è come memorizzare nella cache la sequenza Oracle per migliorare le risorse del dizionario dei dati.

Conclusione

Caching Oracle Sequences Using the “Cache","NESSUN ORDINE", E "MANTENERE"Le opzioni possono migliorare le risorse del dizionario di dati riducendo il numero di accesso del dizionario richiesto per generare valori di sequenza. L'opzione cache pre-alloca un numero specificato di valori di sequenza nella memoria. Questa guida ha spiegato varie opzioni per memorizzare nella cache delle sequenze Oracle per migliorare/migliorare le risorse del dizionario dei dati.