1Z0-050 · Question #86
Which three statements regarding the server parameter file (SPFILE) are true? (Choose three.)
The correct answer is C. An SPFILE is a binary file D. An SPFILE can store changes persistently across instance restarts F. An SPFILE cannot reside on a client. See the full explanation below for the reasoning.
Question
Which three statements regarding the server parameter file (SPFILE) are true? (Choose three.)
Options
- AAn SPFILE can be read by the database server, but it is not written to by the server
- BAn SPFILE must be created manually, before creating a database, even if you use the Database
- CAn SPFILE is a binary file
- DAn SPFILE can store changes persistently across instance restarts
- EAn SPFILE cannot contain static parameters
- FAn SPFILE cannot reside on a client
How the community answered
(36 responses)- A3% (1)
- B11% (4)
- C78% (28)
- E8% (3)
Community Discussion
9The answers are C, D, and F. Think of the SPFILE like a sealed steel lockbox bolted to the wall of the server room: it is binary (you cannot just open it in Notepad, just like you cannot rifle through a sealed lockbox), changes you make with ALTER SYSTEM survive a restart because they are written directly into that box and stay there, and the box is physically chained to the server machine so a remote client cannot take it home with them.
Good analogy for locking down the binary and server-resident properties, but make sure you also nail the SCOPE clause on ALTER SYSTEM, because the exam tests whether SCOPE=SPFILE writes only to the file, SCOPE=MEMORY applies only until restart, and SCOPE=BOTH does both, and that three-way distinction is its own discrete testable item under the Oracle Database Administration I exam topic on managing initialization parameters.
C, D, F. The SPFILE is a binary file (you cannot edit it with a text editor), it persists parameter changes across restarts so you never lose ALTER SYSTEM SET values when the instance bounces, and it must reside on the server side, not on a client machine, because the database server reads it directly at startup.
I almost picked A, but Oracle docs confirm the server reads and writes the SPFILE, so C, D, F it is.
A trips up a lot of test-takers because it sounds like a reasonable server-side read-only behavior, but the whole power of SPFILE is that the server writes to it when you issue ALTER SYSTEM with SCOPE=SPFILE or SCOPE=BOTH, so A is definitively false. Lock in C, D, and F: binary format, persistent across restarts, and server-side residence only.
Ok so I got C and D pretty quickly because I remember reading that the SPFILE is binary so you can not edit it in a text editor, and that ALTER SYSTEM changes stick after a restart, but can someone explain why F is correct? Like, is the SPFILE always stored on the server side because the database engine needs to read it directly at startup, and a client machine just would not have that kind of access to the instance?
Sat for 1Z0-050 back when Oracle was still pushing hard on this topic, and I almost second-guessed F until I remembered that the SPFILE lives server-side only, the server both reads and writes it via ALTER SYSTEM, and it is binary so you cannot edit it with a text editor. The memory hook I used that day was "Binary, Persistent, Server-only" and C, D, F locked right in.
B has to be in there because the SPFILE has to exist before the instance even knows what parameters to boot with, and DBCA is just a GUI wrapper that still makes you define that file upfront before it can do anything useful with the database creation process.
Viktor, DBCA actually creates the SPFILE as part of the database creation process, so there is no requirement for it to exist beforehand, which is exactly why B is out. The three valid techniques the blueprint tests you on are the CREATE DATABASE statement manually, DBCA, and RMAN duplicate, which map to C, D, and F.