Basic Definitions of Databases and Instances in Oracle 12c
All this data needs to reside somewhere; specifically, within a database. Databases are complex software programs, like Oracle 12c, that catalog and provide access to data. Although the data is usually stored on a disk storage system, the database software manages how that data is stored and managed.
Businesses use databases to store their data because the size and complexity of their data often exceed what can be stored on a spreadsheet. Most business and scientific activities, and many social activities involving technology will require the creation, access, updating, or deleting of data at some level. It is database software that allows these activities occur in a fast, efficient manner.
Databases provide these primary functions:
Storage: Data must be kept within a computer system, usually disk storage, so that the data is available when needed. Disk storage technologies can vary, but they must be fast and large and are often expensive and complex.
Organization: Data must be stored in a logical manner on disk so it can be found quickly and efficiently. Compare an organized desk and file cabinet with a child’s messy bedroom; where would you prefer to work?
Access: Finding the requested data in a fast and efficient manner and returning that data to the requestor is a key function of databases.
Security: A database determines who can access the data and what they can do with that data. Security must be established and enforced.
Adding, updating, and deleting: After data is added to the database, it can be modified and deleted. The database software manages the complex rules for how data is manipulated.
Safekeeping: Databases keep data safe and available when failures occur such as a disk drive crashing. Backup and recovery are the processes used by databases to ensure data is not permanently lost if there is a failure.
Here’s the general process:
You open the database and enter your data.
The database determines how best to store and catalog that data in a secure manner on the computer system’s disk storage.
When you (or a computer application) want to access, update, or delete that data, the database checks your security permissions and then implements your request in the fastest manner based on the rules that have been defined.
Databases can look more like full operating systems (OSs) than simple applications you start and stop. Advanced databases (such as Oracle) have users, detailed security privileges, network configuration settings, performance tuning for memory, CPU, and disk options, and robust backup and disaster recovery (DR) options.
In Oracle speak, an instance is the combination of memory and processes that are part of a running installation. The database is the physical component or the files. You might hear people use the term database instance to refer to the entire running database. However, it’s important to understand the distinction between the two.
Here are some rules to consider:
An instance can exist without a database. Yes, it’s true. You can start an Oracle instance and not have it access any database files. Why would you do this?
This is how you create a database. There’s no chicken-or-egg debate here. You first must start an Oracle instance; you create the database from within the instance.
An Oracle feature called Automatic Storage Management uses an instance but isn’t associated with a database.
A database can exist without an instance but would be useless. It’s just a bunch of magnetic blips on the hard drive.
An instance can access only one database. When you start your instance, the next step is to mount that instance to a database. An instance can mount only one database at a time.
You can set up multiple instances to access the same set of files or one database. Clustering is the basis for the Oracle Real Application Clusters feature. Many instances on several servers accessing one central database allows for scalability and high availability.