Vous êtes sur la page 1sur 3

Some Information on oracle database profiles

Profiles of oracle database:


Init<SID>.ora: 1)db_block_size,2)db_cache_size,3)db_files,4)log_buffer
5)remote_os_authent,6)shared_pool_size
Init<SID>.dba: 1) max_extent_size, 2) max_file_size, 3)check_redolog_mirror

Init<SID>.sap: SAP BR*Tools sample profile.1) backup_mode 2) backup_type 3)


backup_dev_type 4) restore_mode 5) archive_copy_dir
Spfile<SID>.ora: It contains parameters same as init<sid>.ora

When an Oracle Instance is started, the characteristics of the Instance are established by
parameters specified within the initialization parameter file. These initialization parameters are
either stored in a PFILE or SPFILE. SPFILEs are available in Oracle 9i and above. All prior
releases of Oracle are using PFILEs.
SPFILEs provide the following advantages over PFILEs:
o An SPFILE can be backed-up with RMAN (RMAN cannot backup PFILEs)
o Reduce human errors. The SPFILE is maintained by the server. Parameters are checked
before changes are accepted.
o Eliminate configuration problems (no need to have a local PFILE if you want to start
Oracle from a remote machine)
o Easy to find - stored in a central location
What is the difference between a PFILE and SPFILE:
A PFILE is a static, client-side text file that must be updated with a standard text editor like
"notepad" or "vi". This file normally reside on the server, however, you need a local copy if you
want to start Oracle from a remote machine. DBA's commonly refer to this file as the INIT.ORA
file.
An SPFILE (Server Parameter File), on the other hand, is a persistent server-side binary file that
can only be modified with the "ALTER SYSTEM SET" command. This means you no longer
need a local copy of the pfile to start the database from a remote machine. Editing an SPFILE
will corrupt it, and you will not be able to start your database anymore.
How will I know if my database is using a PFILE or SPFILE:
Execute the following query to see if your database was started with a PFILE or SPFILE:
SQL> SELECT DECODE(value, NULL, 'PFILE', 'SPFILE') "Init File Type"
FROM sys.v_$parameter WHERE name = 'spfile';

You can also use the V$SPPARAMETER view to check if you are using a PFILE or not: if the
"value" column is NULL for all parameters, you are using a PFILE.
Viewing Parameters Settings:
One can view parameter values using one of the following methods (regardless if they were set
via PFILE or SPFILE):
o The "SHOW PARAMETERS" command from SQL*Plus (i.e.: SHOW PARAMETERS
timed_statistics)
o V$PARAMETER view - display the currently in effect parameter values
o V$PARAMETER2 view - display the currently in effect parameter values, but "List
Values" are shown in multiple rows
o V$SPPARAMETER view - display the current contents of the server parameter file.
Starting a database with a PFILE or SPFILE:
Oracle searches for a suitable initialization parameter file in the following order:
o Try to use the spfile${ORACLE_SID}.ora file in $ORACLE_HOME/dbs (Unix) or
ORACLE_HOME/database (Windows)
o Try to use the spfile.ora file in $ORACLE_HOME/dbs (Unix) or
ORACLE_HOME/database (Windows)
o Try to use the init${ORACLE_SID}.ora file in $ORACLE_HOME/dbs (Unix) or
ORACLE_HOME/database (Windows)
One can override the default location by specifying the PFILE parameter at database startup:
SQL> STARTUP PFILE='/oradata/spfileORCL.ora'

Note that there is not an equivalent "STARTUP SPFILE=" command. One can only use the
above option with SPFILE's if the PFILE you point to (in the example above), contains a single
'SPFILE=' parameter pointing to the SPFILE that should be used. Example:
SPFILE=/path/to/spfile

Changing SPFILE parameter values:


While a PFILE can be edited with any text editor, the SPFILE is a binary file. The "ALTER
SYSTEM SET" and "ALTER SYSTEM RESET" commands can be used to change parameter
values in an SPFILE. Look at these examples:
SQL> ALTER SYSTEM SET open_cursors=300 SCOPE=SPFILE;
SQL> ALTER SYSTEM SET timed_statistics=TRUE
COMMENT='Changed by Frank on 1 June 2003'
SCOPE=BOTH
SID='*';

The SCOPE parameter can be set to SPFILE, MEMORY or BOTH:


- MEMORY: Set for the current instance only. This is the default behaviour if a PFILE was used

at STARTUP.
- SPFILE: update the SPFILE, the parameter will take effect with next database startup
- BOTH: affect the current instance and persist to the SPFILE. This is the default behaviour if an
SPFILE was used at STARTUP.
The COMMENT parameter (optional) specifies a user remark.
The SID parameter (optional; only used with RAC) indicates the instance for which the
parameter applies (Default is *: all Instances).
Use the following syntax to set parameters that take multiple (a list of) values:
SQL> ALTER SYSTEM SET utl_file_dir='/tmp/','/oradata','/home/' SCOPE=SPFILE;

Use this syntax to set unsupported initialization parameters (obviously only when Oracle Support
instructs you to set it):
SQL> ALTER SYSTEM SET "_allow_read_only_corruption"=TRUE SCOPE=SPFILE;

Execute one of the following command to remove a parameter from the SPFILE:
SQL> ALTER SYSTEM RESET timed_statistics SCOPE=SPFILE SID=*;
SQL> ALTER SYSTEM SET timed_statistics = '' SCOPE=SPFILE;

Converting between PFILES and SPFILES:


One can easily migrate from a PFILE to SPFILE or vice versa. Execute the following commands
from a user with SYSDBA or SYSOPER privileges:
SQL> CREATE PFILE FROM SPFILE;
SQL> CREATE SPFILE FROM PFILE;

One can also specify a non-default location for either (or both) the PFILE and SPFILE
parameters. Look at this example:
SQL> CREATE SPFILE='/oradata/spfileORCL.ora' from
PFILE='/oradata/initORCL.ora';

Here is an alternative procedure for changing SPFILE parameter values using the above method:
o Export the SPFILE with: CREATE PFILE=pfilename FROM SPFILE = spfilename;
o Edit the resulting PFILE with a text editor
o Shutdown and startup the database with the PFILE option: STARTUP PFILE=filename
o Recreate the SPFILE with: CREATE SPFILE=spfilename FROM PFILE=pfilename;
o On the next startup, use STARTUP without the PFILE parameter and the new SPFILE
will be used.
Parameter File Backups:
RMAN (Oracle's Recovery Manager) will backup the SPFILE with the database control file if
setting "CONFIGURE CONTROLFILE AUTOBACKUP" is ON (the default is OFF). PFILEs
cannot be backed-up with RMAN. Look at this example:
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

Use the following RMAN command to restore an SPFILE:


RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP;

Vous aimerez peut-être aussi