Can you please explain in layman terms what an Oracle "instance" is?
Before I explain an "instance", I need to explain what a "database" is. Different vendors use these terminologies to mean different things. In Oracle-speak, a "database" is the collection of datafiles on disk. These datafiles belong to your tablespaces. They are also the online redo log files, the parameter file, the password file, and the control files. A "database" exists on disk and will be there even if you shut down the server and reboot it.
But a "database" is not accessible by itself. You have to sign on to SQL*Plus and issue a STARTUP command. When you do this, Oracle will allocate memory that all Oracle processes will share. This shared memory is called the Shared (or System) Global Area or SGA. Oracle will also start processes that Oracle needs to perform certain functions, like SMON, PMON, LGWR, and DBWR. The collection of allocated memory and the running processes on the server is called an "instance". Unless you are using Real Application Clusters (RAC), only one instance can attach itself to a database. RAC lets you have multiple instances attach to the same database.
Dig Deeper on Oracle database design and architecture
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.