Oracle är ett stort och komplext system, men här är en uppdelning av dess viktigaste komponenter och hur de arbetar tillsammans, med fokus på det relationella databashanteringssystemet (RDBMS), som är kärnan i Oracle's erbjudanden:
1. Kärnkomponenter:
* oracle -databas (RDBMS): Detta är hjärtat i systemet, ansvarigt för att lagra, organisera och hämta data. Den är byggd runt den relationella modellen, där data är organiserade i tabeller med rader (poster) och kolumner (attribut).
* Oracle SQL (strukturerat frågespråk): Standardspråket som används för att interagera med databasen. Du använder SQL för att definiera databasstrukturer (tabeller, index etc.), infoga, uppdatera, ta bort och, viktigast av allt, * fråga * data. Oracle's SQL -implementering, känd som PL/SQL, innehåller procedurförlängningar för att skapa lagrade procedurer, funktioner och triggers.
* System Global Area (SGA): Ett delat minnesområde som används av alla Oracle Server -processer. Det är avgörande för prestanda. Viktiga delar av SGA inkluderar:
* databasbuffertcache: Butiker har ofta åtkomst till datablock från databasfilerna. Detta minskar behovet av att läsa från disken.
* delad pool: Caches SQL -uttalanden, PL/SQL -kod och information om dataordbok. Att analysera och köra ofta använda kod blir mycket snabbare.
* REDO Log Buffer: Buffertar gör om poster, som är ändringar som gjorts i databasen. Dessa används för återhämtning vid systemfel.
* Program Global Area (PGA): Ett dedikerat minnesområde för varje serverprocess ansluten till databasen. Den innehåller data och kontrollinformation uteslutande för den processen.
* Bakgrundsprocesser: Det här är serverprocesser som utför underhållsuppgifter för databasen. Exempel inkluderar:
* databasförfattare (DBWN): Skriver modifierade datablock från databasbuffertcachen till datafilerna på disken.
* loggförfattare (LGWR): Skriver REDO -loggposter från REDO Log Buffer till REDO Log -filerna på disken.
* System Monitor (SMON): Utför instansåterställning vid start, rensar upp tillfälliga segment och sammanfaller ledigt utrymme.
* Process Monitor (PMON): Rengör upp misslyckade användarprocesser.
* Archiver (Arch): Kopior gör om loggfiler för att arkivera loggfiler. Detta är viktigt för återhämtning av tiden.
* datafiles: Fysiska filer på disken där de faktiska uppgifterna lagras.
* gör om loggfiler: Fysiska filer som registrerar alla ändringar som gjorts i databasen. De används för återhämtningsändamål. De är skrivna till i följd. Oracle använder vanligtvis en cirkulär omloggning, vilket innebär att när den når slutet av en logg börjar det i början (efter att ha arkiverat den gamla, om arkivering är aktiverad).
* Kontrollfiler: Små filer som innehåller kritiska metadata om databasen, till exempel databasnamnet, platsen för datafiler och omarbetar loggfiler och databas skapande tidsstämpel.
* instans: När du startar en Oracle -databas startar du en *instans *. En instans består av SGA (delat minne) och bakgrundsprocesserna. En enda server kan köra flera databasinstanser.
2. Hur data lagras och åtkomst:
1. Användaranslutning: En användare (eller applikation) ansluter till databasen med ett klientverktyg eller API (t.ex. JDBC, ODBC). Klientverktyget skickar SQL -förfrågningar till Oracle -servern.
2. parsing och optimering:
* Oracle -servern tar emot SQL -uttalandet och * parses * det för att kontrollera dess syntax och giltighet.
* * Optimizer * analyserar SQL -uttalandet och väljer den mest effektiva exekveringsplanen. Optimiseraren beaktar faktorer som index, tabellstorlekar och datadistribution.
3. exekvering:
* Databaseservern kör SQL -uttalandet enligt den valda exekveringsplanen.
* Data hämtas från datafilerna (potentiellt använder index för att påskynda sökningen).
* De hämtade data placeras i databasbuffertcachen i SGA.
* Ändringar som gjorts i data registreras i REDO Log Buffer.
4. Data Return: Resultaten av SQL -frågan returneras till användaren eller applikationen.
5. Datapersistens:
* DBWN -processen skriver regelbundet modifierade datablock från databasbuffertcachen till datafilerna på disken.
* LGWR -processen skriver REDO -loggposter från REDO -loggbufferten till REDO -loggfilerna på disken.
3. Transaktionshantering:
* Oracle stöder syra (atomicitet, konsistens, isolering, hållbarhet) egenskaper för transaktioner. Detta säkerställer dataintegritet.
* atomicitet: En transaktion behandlas som en enda, odelbar arbetsenhet. Antingen tillämpas alla ändringar, eller ingen är.
* Konsistens: En transaktion måste upprätthålla databasens integritetsbegränsningar.
* isolering: Transaktioner isoleras från varandra, vilket förhindrar störningar. Oracle stöder olika isoleringsnivåer för att balansera samtidighet och dataintegritet.
* hållbarhet: När en transaktion har begåtts är ändringarna permanenta, även vid systemfel. Redo -loggarna spelar en avgörande roll för att säkerställa hållbarhet.
4. Viktiga koncept:
* indexering: Index används för att påskynda datainhämtningen. De liknar index i en bok. Att skapa ett index på en ofta frågad kolumn kan förbättra prestandan avsevärt.
* Partitioner: Stora tabeller kan delas upp i mindre, mer hanterbara partitioner. Detta kan förbättra frågeställningen, förenkla datahantering och underlätta dataarkivering.
* Visningar: Visningar är virtuella tabeller baserade på SQL -frågor. De kan användas för att förenkla komplexa frågor, begränsa åtkomst till vissa data eller presentera data i ett annat format.
* lagrade procedurer, funktioner och triggers:
* lagrade procedurer: Förkompilerad SQL och PL/SQL -kod lagrad i databasen. De kan kallas av ansökningar eller andra förfaranden.
* Funktioner: Liknar lagrade procedurer men är utformade för att returnera ett värde.
* triggers: PL/SQL -kod som automatiskt körs som svar på specifika databashändelser (t.ex. infoga, uppdatera eller ta bort data).
5. Skalbarhet och hög tillgänglighet:
* Real Application Cluster (RAC): Oracle's RAC tillåter flera servrar att komma åt samma databas samtidigt. Detta ger hög tillgänglighet och skalbarhet. Om en server misslyckas kan de andra servrarna fortsätta att fungera.
* Data Guard: Data Guard är en katastrofåterställningslösning som gör att du kan skapa en standby -databas som är synkroniserad med den primära databasen. I händelse av ett fel på den primära webbplatsen kan standby -databasen aktiveras, vilket minimerar driftstopp.
Sammanfattningsvis:
Oracle fungerar genom att tillhandahålla en robust och funktionsrik RDBMS som låter dig lagra, hantera och få åtkomst till data effektivt och pålitligt. Dess arkitektur inkluderar delade minnesområden, bakgrundsprocesser och sofistikerade transaktionshanteringsfunktioner för att säkerställa dataintegritet och hög prestanda. Det är ett mycket kraftfullt och komplext system som används av företag runt om i världen. Det finns en * mycket * mer till det, men det ger dig en bra översikt.