Usually the parameter that I want to change is something that can't be changed via ALTER SYSTEM. Very rarely do I get lucky and edit the spfile such that the checksum is still valid. The only way that I know of to always be able to alter the parameter in spfile is to create a pfile from the spfile, edit the pfile, restart the database from the pfile and create an spfile from the pfile. HUGE pain. Not a fan of spfile at all. Only use it when management insists.