Database versus instantie
Oracle is een RDBMS (object-relationeel databasebeheersysteem) dat veel wordt gebruikt in ondernemingen. Het is ontwikkeld door de Oracle Corporation. Een Oracle-systeem bestaat uit ten minste één instantie en een database. Instance is een verzameling processen die communiceren met de gegevensopslag. Database is de daadwerkelijke opslag, die de verzameling bestanden bevat. De term Oracle-database wordt echter gebruikt om te verwijzen naar het hele Oracle-databasesysteem (instances en databases). Hierdoor is er bij beginners altijd enige verwarring tussen de termen database en instance.
Wat is een instantie?
Instance is een verzameling processen die bovenop het besturingssysteem worden uitgevoerd en het bijbehorende geheugen dat samenwerkt met de gegevensopslag. De instantie is de interface tussen de gebruiker en de database. Processen die in staat zijn om te communiceren met de client en toegang te krijgen tot de database, worden geleverd door de instantie. Deze processen zijn achtergrondprocessen en ze zijn niet voldoende om het ACID-principe (Atomiciteit, Consistentie, Isolatie en Duurzaamheid) in de database te behouden. Een instantie gebruikt dus ook enkele andere componenten, zoals geheugencache en buffers. Meer specifiek bestaat een instantie uit drie delen. Het zijn SGA (System Global Area), PGA (Program Global Area) en achtergrondprocessen. SGA is een tijdelijke structuur met gedeeld geheugen, die een levensduur heeft van het opstarten van de instantie tot het afsluiten ervan.
Database
De Oracle-database verwijst naar de daadwerkelijke opslag van de Oracle RDBMS. Het bestaat uit drie hoofdcomponenten. Het zijn controlebestanden, redo-bestanden en databestanden. Optioneel kunnen er wachtwoordbestanden in de database staan. De controlebestanden houden alle databestanden bij en doen bestanden opnieuw. Het helpt ook de database-integriteit intact te houden door het systeemwijzigingsnummer (SCN), tijdstempels en andere cruciale informatie zoals back-up- / herstelinformatie bij te houden. Gegevensbestanden bewaren de feitelijke gegevens. Op het moment dat de database wordt gemaakt, worden er ten minste twee gegevensbestanden gemaakt. Deze bestanden worden fysiek gezien door de DBA (Database Administrator). Bestandsbewerkingen zoals hernoemen, vergroten of verkleinen, toevoegen, verplaatsen of neerzetten, kunnen worden uitgevoerd op gegevensbestanden. Logbestanden opnieuw uitvoeren (ook bekend als online logbestanden voor opnieuw uitvoeren),bewaar de informatie over de wijzigingen in de database met de chronologische informatie. Deze informatie is nodig voor het geval de gebruiker alle of enkele wijzigingen in de database opnieuw moet uitvoeren. Om een instantie de gegevens van de database te laten manipuleren, moet deze deze eerst openen. Een exemplaar kan slechts één database openen. Een database kan echter door meerdere instanties worden geopend.
Wat is het verschil tussen database en instantie?
De termen instance en database in Oracle RDBMS zijn sterk verwant, maar ze verwijzen naar de twee verschillende componenten binnen het systeem. De database verwijst naar de feitelijke opslag van het RDBMS, terwijl Instance een verzameling processen is die bovenop het besturingssysteem worden uitgevoerd en het bijbehorende geheugen dat interageert met de gegevensopslag. De instantie moet de database openen voordat de gegevens kunnen worden bewerkt. Meerdere instanties kunnen een enkele database openen, maar een instantie kan niet meerdere databases openen.