- Este tópico contém 6 respostas, 5 vozes e foi atualizado pela última vez 17 anos atrás por
Rodrigo Almeida.
-
AutorPosts
-
27 de fevereiro de 2009 às 9:39 pm #85499
jspaulonci
ParticipanteBoa tarde pessoal, estou tendo um problema no startup da minha base.
Bom, primeiramente deixo claro que começei a administrar este ambiente em Outubro/2008, portanto não participei da disponibilização desta base.
A questão é a seguinte.
Preciso alterar o parametro UTL_FILE_DIR , quando emito o comando
SQL> alter system set utl_file_dir=’/u05/’ scope=spfile;
ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE specified at startupSegundo as notas que eu pesquisei entre google e Metalink, a saída pra resolver este problema é criar um arquivo spfile novamente.
Acontece que esse banco quando ele é startado, eu simplesmente emito o comando STARTUP e pronto, a base fica disponível.
Quando eu emito o comando show parameter spfile , aparece valor nulo,
Este banco está versão 9.2.0.7.0, roda sobre rodando em Solaris 8, o que será que está acontecendo ?, quando dou o startup ele está lendo um SPFILE ou um PFILE ?, se for PFILE , o Oracle precisa do caminho, coisa que eu não passo…não consigo entender…alguem tem alguma idéia ?
Abraços
João Paulo Spaulonci
27 de fevereiro de 2009 às 9:49 pm #85501Regis Araujo
ParticipanteJoão, boa tarde!
Eu somente consigo realizar esta operação quando subo o banco no modo nomount..
Você esta realizando esta operação com o banco no ar?
Caso você possua um banco de teste/desenvolvimento, realize esta operação com o banco no modo startup nomount… para realizar um teste e depois monte o banco e de open no mesmo.. ai vc irá verificar se a alteração solicitada ocorreu com sucesso…
A mensagem de erro informa que vc esta tentando escrever no arquivo spfile mas ele está sendo utilizado/estartado.
Abraços…
27 de fevereiro de 2009 às 10:00 pm #85502Regis Araujo
ParticipanteOutra situação é roda isto para criar o Spfile… eu somente utilizei este comando quando instalei o Oracle XE.. aconteceu a mesma coisa.. rodei o Show parameter spfile e veio em branco..
Perguntei a um Dba amigo q me orientou a utilizar este comando a baixo e deu certo…create spfile from pfile;
shutdown immediate;
startup;
show parameter spfile;Abraços…
27 de fevereiro de 2009 às 10:01 pm #85503jspaulonci
ParticipanteSeguinte…dúvida sanada….agora vamos esperar segunda as 15:00 pois teremos uma manutenção , mas a idéia é a seguinte.
A partir da versão 9i quando emitimos um startup no Oracle ele primeiro procura pelo arquivo $ORACLE_HOME/dbs/spfilesid.ora, se ele não encontrar ele tenta o arquivo $ORACLE_HOME/dbs/initsid.ora, o spfilesid.ora eu não tinha, mas o initsid.ora eu tinha, por isso que só o STARTUP estava funcionando.
Agora vamos ver se funciona mesmo.
Abraços
João Paulo Spaulonci27 de fevereiro de 2009 às 10:22 pm #85507David Siqueira
ParticipanteOlá pessoal, bom vamos lá.
Primeiramente, a versão é 9i , então ai vai:
UTL_FILE_DIR
Parameter type
StringSyntax
UTL_FILE_DIR = pathnameDefault value
There is no default value.Parameter class
Static
Range of values
Any valid directory pathUTL_FILE_DIR lets you specify one or more directories that Oracle should use for PL/SQL file I/O. If you are specifying multiple directories, you must repeat the UTL_FILE_DIR parameter for each directory on separate lines of the initialization parameter file.
All users can read or write to all files specified by this parameter. Therefore all PL/SQL users must be trusted with the information in the directories specified by this parameter.
O parametro de UTL_FILE não é dinâmico, portanto, não pode ser trocado via ALTER SYSTEM, se faz necessário uma insdisponibilidade do ambiente, tal como uma manutenção ou coisa parecida para que possa ser atualiado o arquivo de parametros.
Segundo: O spfile deve ser recriado após a alteração dos parametros no INIT.ORA, pois se for notado ha diferenciação no layout dos dois arquivos, e edita-los manualmente é um serviço um tanto quanto arriscado, apesar de serem apenas arquivos de parametros uma única sujeira no arquivo um único caracter a mais já pode dar muita dor de cabeça para o DBA, portanto, após alterar o parametro no INIT.ORA recrie seu SPFILE.
Terceiro : Quando ao comando de Startup seu banco não tem SPFILE e a mesagem de erro que ele gerou é pelo fato do mesmo ter sofrido um start via PFILE, o que não possibilitou a sua troca de parametros que daria erro mesmo assim, pois como disse acima UTL_FILE não é dinâmico.
Mais uma vez volto a dizer, CRIE o spfile, não por conta dessa tarefa, mais sim por ser uma opção muito util em caso de manutenções esporádicas.Abcs.
David
27 de fevereiro de 2009 às 10:44 pm #85509vieri
ParticipanteTerceiro : Quando ao comando de Startup seu banco não tem SPFILE e a mesagem de erro que ele gerou é pelo fato do mesmo ter sofrido um start via PFILE, o que não possibilitou a sua troca de parametros que daria erro mesmo assim, pois como disse acima UTL_FILE não é dinâmico.
Este é o X da questão.
Como a instância subiu lendo o pfile você só poderia user o scope=pfile no alter system… simples assim !!
e como este parâmetro é estático seria nescessário restart
para fazer efeito.não tem mistêrio.
[]s
28 de fevereiro de 2009 às 5:33 am #85513Rodrigo Almeida
ParticipanteExatamente. =D
Abraços,
Rodrigo Almeida
-
AutorPosts
- Você deve fazer login para responder a este tópico.