Você está na página 1de 4

Um pouco de conceitos da Oracle sobre pfile e spfile

O processo para inicializao de uma instncia no banco Oracle feito a partir da leitura do seu arquivo de
inicializao, e os tipos desse arquivo o assunto que vou abordar hoje.

Existem dois tipos de arquivos de inicializao para o Oracle: o PFILE (que um arquivo texto conhecido
tambm por init.ora) e o SPFILE que um arquivo binrio de parmetros do servidor (conhecido como
spfile.ora).

No post de hoje vou falar sobre alguns conceitos relacionados a esses arquivos, porm no vou entrar no
detalhe sobre parmetros, ou pelo menos no minha ideia, pois o intuito desse artigo falar sobre o que
so esses arquivos, como e quando so usados.

O PFILE
Esse arquivo armazena os parmetros de inicializao para "levantar" uma instncia Oracle. Atravs desse
arquivo, o DBA pode controlar a memria em seu banco de dados Oracle, atribuindo valores para os
parmetros de memria no arquivo INIT.ORA para o seu sistema. A localizao deste arquivo varia,
dependendo do sistema operacional em questo. Por exemplo:
- No UNIX ou Linux, o init.ora poder ser encontrado em: $ORACLE_HOME/dbs
- No Windows, o diretrio ser: ORACLE_HOME/database

possvel que em alguns sistemas, exista mais de um arquivo init.ora, o que possibilita ter diferentes bases
de dados com seus prprios parmetros.

Por exemplo, initDESENV.ora pode controlar o banco de dados de desenvolvimento, initHML.ora o banco
de dados de homologao, e initPROD.ora banco de dados de produo; ou ainda diferentes ambientes,
como: initRH.ora, initFIN.ora, initADM.ora...

Como o PFILE um arquivo de texto puro, ele pode ser editado no VI do UNIX ou no Notepad do
Windows.

Para saber quais parmetros podem ser alterados no PFILE, recomendo a leitura dos artigos: INIT.ORA
Parameters A-L e INIT.ORA Parameters M-Z da TOAD WORLD.

O SPFILE (server parameter file)


O arquivo SPFILE uma verso binria do PFILE. O SPFILE no pode ser alterado diretamente, porm
atravs do comando ALTER SYSTEM possvel mudar alguns de seus parmetros dinamicamente, ou seja,
sem a necessidade de reiniciar o banco de dados. Para saber quais parmetros podem ser alterados
dinamicamente, pode-se executar uma consulta em uma view do schema SYS, conforme script abaixo:
SELECT * FROM V$PARAMETER;

Um pouco de conceitos da Oracle sobre pfile e spfile


O SPFILE possui algumas vantagens em relao ao PFILE, pois a Oracle criou procedimentos de
otimizao automtica do banco baseadas no uso do SPFILE.

possvel verificar se existe o SPFILE com o seguinte comando:


SHOW PARAMETER SPFILE;

Para criar o SPFILE a partir do PFILE, pode-se utilizar os seguintes comandos:


CREATE SPFILE FROM PFILE;
ou
CREATE

SPFILE

FROM

PFILE=/U01/APP/ORACLE/PRODUCT/11.2.0/DBHOME_1/DBS/initSID.ORA
ou
CREATE

SPFILE=/U01/APP/ORACLE/PRODUCT/11.2.0/DBHOME_1/DBS/spfileSID.ORA

FROM PFILE=/U01/APP/ORACLE/PRODUCT/11.2.0/DBHOME_1/DBS/initSID.ORA

Aps de qualquer um desses comandos, para efetivar a criao, necessrio reiniciar o banco:
SHUTDOWN IMMEDIATE;
STARTUP

Pode existir a necessidade, devido a alguma mudana dinmica dos parmetros do banco, que o DBA
necessite gerar um novo init.ora (PFILE), a partir do SPFILE. O comando para realizar essa criao :
CREATE PFILE FROM SPFILE;

Executando esse script, ser criado um PFILE chamado init.ora no diretrio $ORACLE_HOME/dbs
(Linux/Unix) ou no $ORACLE_HOME/database (Windows).

possvel tambm que o DBA especifique um diretrio de sua preferncia para gravar o PFILE, basta
executar comando:
CREATE PFILE=C:/TEMP/initTESTE.ORA FROM SPFILE;

Caso seja necessrio iniciar um banco Oracle com o PFILE pode-se utilizar o seguinte comando:
STARTUP OPEN PFILE='/OPT/ORACLE/PRODUCT/9IR2/DBS/initSID.ORA'

Uma consulta interessante para saber se sua instncia est utilizando o SPFILE ou PFILE, apresentada
abaixo:
SELECT DECODE (VALUE, NULL, 'PFILE', 'SPFILE') "INIT FILE TYPE" FROM
SYS.V_$PARAMETER WHERE NAME = 'SPFILE';

Um pouco de conceitos da Oracle sobre pfile e spfile


importante saber que para iniciar uma instncia Oracle, os parmetros de inicializao so buscados nos
diretrios devidos (mencionados anteriormente com a variao entre UNIX e WINDOWS), na seguinte
ordem:
1. spfileSID.ora
2. spfile.ora
3. initSID.ora
4. init.ora

Bom pessoal, por hoje s!

Espero ter ajudado a entender um pouco sobre arquivos de inicializao no banco Oracle.

Sinta-se a vontade para deixar seu comentrio com crticas, sugestes ou elogios sobre os artigos. Isso me
ajuda a saber se agrado ou no com meus artigos e seus temas.

Grande abrao e at a prxima!

Referncias:

ORACLE

HOME.

Disponvel

em:

http://www.oracle-

home.ro/Oracle_Database/Maintenance/PFILEvsSPFILE.html. Acessado em: 20/05/2013.

Carvalho, Pedro - Arquivos de Parmetros PFILE e SPFILE do Oracle. Disponvel em:


http://www.pedrofcarvalho.com.br/PDF/ORACLE_SPFILE_PFILE.pdf. Acessado em: 20/05/2013.

Oracle

Starting

Up

Database.

Disponvel

em:

http://docs.oracle.com/cd/B28359_01/server.111/b28310/start001.htm. Acessado em: 21/05/2013.

Oracle

Specifying

Initialization

Parameters.

Disponvel

em:

http://docs.oracle.com/cd/B28359_01/server.111/b28310/create005.htm. Acessado em: 21/05/2013.

TOAD

WORLD

INIT.ORA

Parameters

A-L.

INIT.ORA

Disponvel

em:

http://www.toadworld.com/KNOWLEDGE/KnowledgeXpertforOracle/tabid/648/TopicID/ARC513A/De
fault.aspx. Acessado em: 21/05/2013.

TOAD

WORLD

INIT.ORA

Parameters

M-Z.

Disponvel

em:

http://www.toadworld.com/KNOWLEDGE/KnowledgeXpertforOracle/tabid/648/TopicID/ARC513B/Def
ault.aspx. Acessado em: 21/05/2013.

Um pouco de conceitos da Oracle sobre pfile e spfile

TOAD

WORLD

INIT.ORA

Parameters.

Disponvel

em:

http://www.toadworld.com/KNOWLEDGE/KnowledgeXpertforOracle/tabid/648/TopicID/ARC513/Defa
ult.aspx. Acessado em: 21/05/2013.

TOAD

WORLD

Creating

an

SPFILE.

Disponvel

em:

http://www.toadworld.com/KNOWLEDGE/KnowledgeXpertforOracle/tabid/648/TopicID/SPF1/Default.
aspx. Acessado em: 21/05/2013.

Você também pode gostar