Oracle can use both SPFILE and PFILE as initialization parameter files.
SPFILE is a binary file while PFILE is a text file.
You can change the values in PFILE by directly editing it but those changes would not take effect until the restart of the Whereas, you have to use Oracle statements to change the values in SPFILE and these changes can be incorporated dynamically in a running database.