I'm learning Oracle and below is my testing of starting up an Oracle instance and make the database available.
oracle:[~]$ sqlplus SQL*Plus: Release 18.104.22.168.0 - Production on Mon Aug 5 09:29:30 2019 Version 22.214.171.124.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Enter user-name: sys as sysdba Enter password: Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 1207955552 bytes Fixed Size 9134176 bytes Variable Size 469762048 bytes Database Buffers 721420288 bytes Redo Buffers 7639040 bytes Database mounted. Database opened. SQL>
As I understand, database is a bunch of files on disk. The
startup command creates an instance and mounts and opens the database, which makes it available for users. My questions is:
- Without an instance, the only thing left is a bunch of files, the
database. I use sqlplus logged in and created an instance. How does the authentication process work? Does sqlplus manage this process? Since when the logging happens, no instance exists and the database at that time is still a bunch of unusable files.
- When I run
startup, a instance will be created and it will mount to my database and open it. How does it know which database it should mount and open? I didn't specify some information about the database name etc. here.