How to change initialization parameters in Oracle safely
Initialization parameters control memory, processes, and instance behavior. A change without a backup can prevent startup.
- 1
Back up the current spfile
Generate a text pfile before touching anything. It is your fallback if something goes wrong.
CREATE PFILE='/u01/backup/init_respaldo.ora' FROM SPFILE; - 2
Check the value and whether it is dynamic
Review the current value and whether the parameter can be changed without a restart.
SELECT name, value, issys_modifiable FROM v$parameter WHERE name = 'sga_target'; - 3
Change a dynamic parameter
SCOPE=BOTH applies in memory and persists in the spfile. Use MEMORY to test without persisting.
ALTER SYSTEM SET sga_target=4G SCOPE=BOTH; - 4
Change a static parameter
If it is not dynamic, use SCOPE=SPFILE; the change takes effect on the next restart.
ALTER SYSTEM SET processes=500 SCOPE=SPFILE; -- Requires a restart to take effect - 5
Verify after the change
Confirm the effective value and check the alert log for errors after applying or restarting.
SHOW PARAMETER sga_target;
// common mistake
A misconfigured static parameter (for example, more memory than the server has) prevents the instance from starting. With the backup pfile you can recreate the spfile and return to the previous state.
// when it's worth an expert
Adjusting memory, processes, or hidden parameters without measuring can make performance worse. At dba.mx we tune parameters based on real data at a fixed price.
Book an assessment — from USD $550This guide is for reference and uses example commands. In production, adapt to your version and test in a safe environment first.