Oracle – Difference Between init.ora db_name and SQLPlus Query

oraclesqlplus

I have a question about the content of the file init.ora, according to oracle documentation.

DB_NAME specifies a database identifier of up to 8 characters. This parameter must be specified and must correspond to the name specified in the CREATE DATABASE statement.

In my understanding the command sqlplus knows to which database connect because it reads the information from the init.ora file.

My init.ora file is as follow

db_name='ORCL'
memory_target=1G
processes = 150

I think is the default one, I would think that the name of my database would appeared in the db_name parameter, then I perform a query in sqlplus to get the name of the database and the result is

enter image description here

My question is why the name is BO1 if in the init.ora is ORCL?
By the way I don't have any other init.ora

enter image description here

Thanks in advance

Best Answer

During startup , Oracle searches for initialization file :

In the platform-specific default location, Oracle Database locates your initialization parameter file by examining filenames in the following order:

spfile$ORACLE_SID.ora
spfile.ora
init$ORACLE_SID.ora
The first two filenames represent SPFILEs and the third represents a text initialization parameter file.

In your screenshot you have spfileBO1.ora, and it seems your $ORACLE_SID environment variable is set to BO1. If you want to start the server using init.ora, you should do it manually :

SQLPLUS command:

STARTUP PFILE = /path/init.ora