Parameters

Pfile and Spfile

The file

C:\oracle\product\11.2.0\dbhome_1\dbs\init.ora

Is called the pfile.

If you get errors like 

ORA-00604: Fehler auf rekursiver SQL-Ebene 3
ORA-04031: 16 Byte des Shared Memorys konnten nicht zugewiesen werden ...

then the sga_max size may be to low. Maybe someone has changed the initialization parameter sga_max_size to some Terabytes instead of Gigabytes. 

There are also other parameters that may prevent your database from working properly. You can change these parameters in the pfile and then startup the database with the command

startup pfile = C:\oracle\product\11.2.0\dbhome_1\dbs\init.ora

You can't find the pflie? In Linux, type:



find / -name "*pfile*.ora" -print 2> /dev/null 


or

find / -name "*init*.ora" -print 2> /dev/null 

If you open the pfile and it's not completely a text file, than this is not the pfile, it's the spfileIf you startup the database without the parameter pfile, Oracle uses this file to startup the database. You can not edit the spfile. But you can create the pfile from it. This also works if your database is down: 

     Create pfile from spfile;

Correct the parameters in the pfile and startup the database using the pfile parameter in order to see if the parameters are correct. If so, create the spfile from the pfile

Create spfile from pfile;

and startup the database simply with the startup command.


Database Parameters

If the database is up, then you can edit the parameters using the following commands:

select name, value from v$parameter;

alter system set sort_area_size = 65535 scope = BOTH;

Scope = BOTH means that you want to change the parameter in the database now and also in the spfile. If you get an ora-02096, then it's a static Parameter. You can only change it in the pfile. Use the following command, then reboot the database:

alter system set sort_area_size = 65536 scope = SPFILE;

You can also 
and
Create pfile from spfile;

No comments:

Post a Comment