Database vs Instance
Oracle er et RDBMS (object-relational database management system) som er mye brukt i bedrifter. Den er utviklet av Oracle Corporation. Et Oracle-system består av minst én instans og en database. Forekomst er en samling prosesser som kommuniserer med datalagringen. Databasen er den faktiske lagringen, som holder samlingen av filer. Begrepet Oracle-database brukes imidlertid for å referere til hele Oracle-databasesystemet (forekomster og databaser). På grunn av dette er det alltid en viss forvirring for nybegynnere mellom begrepene database og instans.
Hva er forekomst?
Instance er en samling prosesser som kjører på toppen av operativsystemet og det relaterte minnet som samhandler med datalagringen. Forekomsten er grensesnittet mellom brukeren og databasen. Prosesser som er i stand til å kommunisere med klienten og få tilgang til databasen, leveres av forekomsten. Disse prosessene er bakgrunnsprosesser og de er ikke nok til å opprettholde ACID-prinsippet (Atomicity, Consistency, Isolation, and Durability) i databasen. Så en forekomst bruker også få andre komponenter som minnebuffer og buffere. Mer spesifikt består en instans av tre deler. De er SGA (System Global Area), PGA (Program Global Area) og bakgrunnsprosesser. SGA er en midlertidig delt minnestruktur, som har en levetid fra forekomstens oppstart til dens avslutning.
Database
Oracle-databasen refererer til den faktiske lagringen av Oracle RDBMS. Den består av tre hovedkomponenter. De er kontrollfiler, redo-filer og datafiler. Eventuelt kan det være passordfiler i databasen. Kontrollfilene holder styr på alle datafilene og gjør om filer. Det hjelper også med å holde databasens integritet intakt ved å holde styr på System Change Number (SCN), tidsstempler og annen viktig informasjon som sikkerhetskopiering/gjenopprettingsinformasjon. Datafiler beholder de faktiske dataene. På tidspunktet for databaseoppretting opprettes minst to datafiler. Disse filene blir fysisk sett av DBA (Database Administrator). Filoperasjoner som å endre navn, endre størrelse, legge til, flytte eller slippe kan utføres på datafiler. Gjenta loggfiler (også kjent som online-redo-logger), hold informasjonen om endringene i databasen med den kronologiske informasjonen. Denne informasjonen er nødvendig i tilfelle brukeren trenger å gjøre om alle eller noen av endringene i databasen. For at en forekomst skal kunne manipulere dataene til databasen, bør den åpne den først. En forekomst kan bare åpne én database. Imidlertid kan en database åpnes av flere instanser.
Hva er forskjellen mellom database og instans?
Begrepene instans og database i Oracle RDBMS er svært beslektede, men de refererer til de to forskjellige komponentene i systemet. Databasen refererer til den faktiske lagringen av RDBMS, mens Instance er en samling prosesser som kjører på toppen av operativsystemet og det relaterte minnet som samhandler med datalagringen. Forekomsten må åpne databasen før manipulering av data. Flere forekomster kan åpne en enkelt database, men en forekomst kan ikke åpne flere databaser.