quarta-feira, 13 de fevereiro de 2013

Diferença entre PFILE e SPFILE – ORACLE

 

São arquivos utilizados na inicialização do bando de dados Oracle.

Ao iniciar uma instancia, o Oracle realizada a leitura de “um dos arquivos”  que armazena as características (parâmetros – Memória, caminho de arquivos,etc) do banco de dados.

Como disse anteriormente tanto o PFILE como o SPFILE são arquivos, porém SPFILE é uma versão binária do PFILE. O PFILE é armazenado com o nome init.ora e o SPFILE como spfile.ora.

Ok, e quando o Oracle utiliza um ou outro?

Ao tentar iniciar uma instancia, o Oracle procura inicialmente pelo SPFILE, se não encontrar procure pelo PFILE.

Por se tratar de uma arquivo binário, o SPFILE não pode ser alterado manualmente, mas isso não quer dizer que não possa ser alterado, os parâmetros podem ser alterados através do comando:

Alter system set “parâmetros”  = “valor”;

Alguns parâmetros podem ser alterados dinamicamente, ou seja, sem a necessidade de reiniciar o banco de dados. Para saber quais os parâmetros podem ser alterados dinamicamente execute a seguinte consulta:

Select * from V$Parameter;

As colunas ISSES_MODIFIABLE identifica parâmetros que podem ser alterados em sessão (Alter Session) e a coluna ISSYS_MODIFIABLE identifica parâmetros que podem ser alterados dinamicamente com Alter Session, onde,  quando for IMMEDIATE a alteração passa a ter vigor imediatamente após a alteração, DEFERRED passa a valer para as próximas sessões e FALSE valor estático, ou seja, só ira valer no caso de reinicialização da instancia.

Para verificar a existência e caminho do seu SPFILE:

show parameter SPFILE;

NAME       TYPE    VALUE
---------- ------ ------------------------------
spfile     string C:\ORACLEXE\APP\ORACLE\PRODUCT\11.2.0
SERVER\DBS\SPFILEXE.ORA

Obrigado

Nenhum comentário: