Databas vs Instance
Oracle är ett RDBMS (objektrelationellt databashanteringssystem) som används allmänt i företag. Det är utvecklat av Oracle Corporation. Ett Oracle-system består av minst en instans och en databas. Instans är en samling processer som kommunicerar med datalagringen. Databasen är den faktiska lagringen, som innehåller samlingen av filer. Termen Oracle-databas används dock för att referera till hela Oracle-databassystemet (instanser och databaser). På grund av detta finns det alltid en viss förvirring för nybörjare mellan termerna databas och instans.
Vad är instans?
Instance är en samling processer som körs ovanpå operativsystemet och det relaterade minnet som interagerar med datalagringen. Instansen är gränssnittet mellan användaren och databasen. Processer som kan kommunicera med klienten och komma åt databasen tillhandahålls av instansen. Dessa processer är bakgrundsprocesser och de räcker inte för att bibehålla ACID-principen (Atomicitet, Konsistens, Isolering och Hållbarhet) i databasen. Så en instans använder också få andra komponenter som minnescache och buffertar. Mer specifikt består en instans av tre delar. De är SGA (System Global Area), PGA (Program Global Area) och bakgrundsprocesser. SGA är en temporär delad minnesstruktur, som har en livslängd från instansens start till dess avstängning.
Databas
Oracle-databasen hänvisar till den faktiska lagringen av Oracle RDBMS. Den består av tre huvudkomponenter. De är kontrollfiler, redo-filer och datafiler. Alternativt kan det finnas lösenordsfiler i databasen. Kontrollfilerna håller reda på alla datafiler och gör om filer. Det hjälper också till att hålla databasens integritet intakt genom att hålla reda på System Change Number (SCN), tidsstämplar och annan viktig information som säkerhetskopiering/återställningsinformation. Datafiler behåller de faktiska uppgifterna. Vid tidpunkten för skapandet av databasen skapas minst två datafiler. Dessa filer ses fysiskt av DBA (Databas Administrator). Filoperationer som att byta namn, ändra storlek, lägga till, flytta eller släppa kan utföras på datafiler. Gör om loggfiler (även känd som redo-loggar online), behåll informationen om ändringarna i databasen med den kronologiska informationen. Denna information behövs om användaren behöver göra om alla eller några av ändringarna i databasen. För att en instans ska kunna manipulera data i databasen bör den öppna den först. En instans kunde bara öppna en databas. En databas kan dock öppnas av flera instanser.
Vad är skillnaden mellan databas och instans?
Termen instans och databas i Oracle RDBMS är mycket relaterade, men de hänvisar till de två olika komponenterna i systemet. Databasen hänvisar till den faktiska lagringen av RDBMS, medan Instance är en samling processer som körs ovanpå operativsystemet och det relaterade minnet som interagerar med datalagringen. Instansen måste öppna databasen innan data manipuleras. Flera instanser kan öppna en enda databas, men en instans kan inte öppna flera databaser.