Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> software >> SQL Server >> .

Come funziona Oracle?

Oracle è un sistema vasto e complesso, ma ecco una ripartizione dei suoi componenti chiave e di come lavorano insieme, concentrandosi sul sistema di gestione del database relazionale (RDBMS), che è il nucleo delle offerte di Oracle:

1. Componenti principali:

* Oracle Database (The RDBMS): Questo è il cuore del sistema, responsabile della memorizzazione, dell'organizzazione e del recupero dei dati. È costruito attorno al modello relazionale, in cui i dati sono organizzati in tabelle con righe (record) e colonne (attributi).

* Oracle SQL (linguaggio di query strutturato): Il linguaggio standard utilizzato per interagire con il database. Utilizzi SQL per definire le strutture del database (tabelle, indici, ecc.), Inserisci, aggiorna, elimina e, soprattutto, dati * query *. L'implementazione SQL di Oracle, nota come PL/SQL, include estensioni procedurali per la creazione di procedure, funzioni e trigger memorizzati.

* System Global Area (SGA): Un'area di memoria condivisa utilizzata da tutti i processi Oracle Server. È fondamentale per le prestazioni. Le parti chiave dell'SGA includono:

* Cache del buffer del database: Memorizza i blocchi di dati frequentemente accessibili dai file di database. Ciò riduce la necessità di leggere dal disco.

* Pool condiviso: Dichiarazioni SQL cache, codice PL/SQL e informazioni sul dizionario dei dati. L'analisi e l'esecuzione del codice usato frequentemente diventano molto più veloci.

* Buffer di registro di ripetizione: I buffer ripetono i record, che sono modifiche al database. Questi sono utilizzati per il recupero in caso di guasto del sistema.

* Programma Global Area (PGA): Un'area di memoria dedicata per ciascun processo del server collegato al database. Contiene dati e controlla le informazioni esclusivamente per tale processo.

* Processi di fondo: Questi sono processi server che eseguono attività di manutenzione per il database. Esempi includono:

* Writer del database (DBWN): Scrive blocchi di dati modificati dalla cache del buffer di database al dati di dati sul disco.

* Log Writer (LGWR): Scrive le voci di registro REDO dal buffer di registro di ripetizione ai file di registro di ripetizione sul disco.

* Sistema Monitor (SMON): Esegue il recupero delle istanze all'avvio, pulisce i segmenti temporanei e mettono a coeesco lo spazio libero.

* Process Monitor (PMON): Ripulire i processi utente non riusciti.

* Archiver (Arch): Le copie ripetono i file di registro ai file di registro archiviati. Questo è essenziale per il recupero puntuale.

* Files di dati: File fisici sul disco in cui vengono archiviati i dati effettivi.

* RIDO File di registro: File fisici che registrano tutte le modifiche apportate al database. Sono usati per scopi di recupero. Sono scritti in sequenza. Oracle di solito utilizza un registro di ripetizione circolare, il che significa che quando raggiunge la fine di un registro, inizia all'inizio (dopo aver archiviato quello vecchio, se l'archiviazione è abilitata).

* File di controllo: Piccoli file che contengono metadati critici sul database, come il nome del database, la posizione dei file di dati e i file di registro di ripetizione e il timestamp di creazione del database.

* istanza: Quando si avvia un database Oracle, si sta avviando un'istanza *. Un'istanza è costituita da SGA (memoria condivisa) e dai processi di fondo. Un singolo server può eseguire più istanze di database.

2. Come vengono archiviati e accessibili ai dati:

1. Connessione utente: Un utente (o applicazione) si collega al database utilizzando uno strumento client o API (ad es. JDBC, ODBC). Lo strumento client invia richieste SQL al server Oracle.

2. Analisi e ottimizzazione:

* Il server Oracle riceve l'istruzione SQL e * analizza * per verificare la sua sintassi e validità.

* L'ottimizzatore * analizza l'istruzione SQL e sceglie il piano di esecuzione più efficiente. L'ottimizzatore considera fattori come indici, dimensioni della tabella e distribuzione dei dati.

3. Esecuzione:

* Il server di database esegue l'istruzione SQL in base al piano di esecuzione scelto.

* I dati vengono recuperati dai file di dati (potenzialmente utilizzando indici per accelerare la ricerca).

* I dati recuperati vengono inseriti nella cache del buffer del database nella SGA.

* Le modifiche apportate ai dati sono registrate nel buffer di registro di ripetizione.

4. Return di dati: I risultati della query SQL vengono restituiti all'utente o all'applicazione.

5. Persistenza di dati:

* Il processo DBWN scrive periodicamente blocchi di dati modificati dalla cache del buffer di database al file di dati sul disco.

* Il processo LGWR scrive le voci di registro di ripetizione dal buffer di registro di ripetizione ai file di registro di ripetizione sul disco.

3. Gestione delle transazioni:

* Oracle supporta proprietà acido (atomicità, coerenza, isolamento, durata) per le transazioni. Ciò garantisce l'integrità dei dati.

* Atomicità: Una transazione viene trattata come un'unica unità di lavoro indivisibile. O tutte le modifiche vengono applicate o nessuna lo è.

* Coerenza: Una transazione deve mantenere i vincoli di integrità del database.

* Isolamento: Le transazioni sono isolate l'una dall'altra, prevenendo l'interferenza. Oracle supporta diversi livelli di isolamento per bilanciare la concorrenza e l'integrità dei dati.

* Durabilità: Una volta commessa una transazione, le modifiche sono permanenti, anche in caso di fallimento del sistema. I registri di ripetizione svolgono un ruolo cruciale nel garantire la durata.

4. Concetti importanti:

* indicizzazione: Gli indici vengono utilizzati per accelerare il recupero dei dati. Sono simili agli indici in un libro. La creazione di un indice su una colonna di frequente interrogata può migliorare significativamente le prestazioni.

* Partizioni: Le tabelle di grandi dimensioni possono essere divise in partizioni più piccole e più gestibili. Ciò può migliorare le prestazioni delle query, semplificare la gestione dei dati e facilitare l'archivio dei dati.

* Visualizzazioni: Le visualizzazioni sono tabelle virtuali basate su query SQL. Possono essere utilizzati per semplificare query complesse, limitare l'accesso a determinati dati o presentare dati in un formato diverso.

* Procedure, funzioni e trigger memorizzati:

* Procedure memorizzate: Codice SQL e PL/SQL precompilato memorizzato nel database. Possono essere chiamati da applicazioni o altre procedure.

* Funzioni: Simile alle procedure memorizzate ma sono progettati per restituire un valore.

* Trigger: Codice PL/SQL che esegue automaticamente in risposta a eventi di database specifici (ad es. Inserimento, aggiornamento o eliminazione dei dati).

5. Scalabilità e alta disponibilità:

* cluster di applicazioni reali (rac): Oracle's RAC consente a più server di accedere allo stesso database contemporaneamente. Ciò fornisce un'elevata disponibilità e scalabilità. Se un server fallisce, gli altri server possono continuare a funzionare.

* Guardia dei dati: Data Guard è una soluzione di ripristino di emergenza che consente di creare un database di standby sincronizzato con il database primario. In caso di errore nel sito primario, il database di standby può essere attivato, minimizzando i tempi di inattività.

In sintesi:

Oracle funziona fornendo un RDBMS robusto e ricco di funzionalità che consente di archiviare, gestire e accedere ai dati in modo efficiente e affidabile. La sua architettura include aree di memoria condivisa, processi di fondo e sofisticate funzionalità di gestione delle transazioni per garantire l'integrità dei dati e le prestazioni elevate. È un sistema molto potente e complesso, utilizzato dalle imprese di tutto il mondo. C'è molto * di più, ma questo ti dà una buona panoramica.

 

software © www.354353.com