- This topic has 4 replies, 2 voices, and was last updated 6 years, 2 months ago by José Laurindo Chiappa.
-
AuthorPosts
-
26 de agosto de 2018 at 11:33 pm #109383Leandro PintoParticipant
Já tentei excluir desses dois jeitos:
. oraenv (orcl)
sqlplus / as sysdba
sql>alter diskgroup data drop file ‘+DATA/spfileASM.ora’;
e também:
. oraenv (+ASM)
asmcmd
asmcmd>cd DATA
asmcmd>data>rm spfileASM.orae acontece o erro:
ora-15032: not all alterations performed
ora-15028: ASM file ‘+data/spfileASM.ora’ not dropped; currently being accessed (DBD ERROR: OCIStmRxecute)27 de agosto de 2018 at 4:29 pm #109384José Laurindo ChiappaModeratorPra mim, essa msg :
“ora-15028: ASM file ‘+data/spfileASM.ora’ not dropped; currently being accessed (DBD ERROR: OCIStmRxecute) ”
é ** CLARÍSSIMA ** : esse arquivo está sendo usado por uma instância Oracle, seja uma instância do ASM seja uma instância de dados mesmo – OBVIAMENTE vc não pode remover seja um spfile, seja um datafile, seja um controlfile ENQUANTO a instância que o usa está de pé…. E SE o arquivo estiver sendo usado por uma instância ASM, nem preciso dizer que uma instância ASM pode ser usada/referenciada por N instâncias de dados, sim sim sim ???
Claro, sei lá porque vc quer remover o arquivo, mas anyway, respondendo : não tem como a gente ter certeza daqui de fora MAS julgando pelo nome eu ACREDITO que esse arquivo é um spfile E QUE a instância usando esse arquivo é uma instância ASM – sendo isso a solução é Clara e Óbvia : encontre QUAL instância está usando esse tal arquivo, FAÇA UMA CÓPIA por segurança dele (preferencialmente em formato texto via sqlplus, conectando na instância em questão e mandando um CREATE PFILE=/path/nomedoarquivo FROM spfile; ), e aí vc tem que PARAR todas as instâncias de dados que conectam/usam essa instância ASM… feito isso, vc vai subir a instância ASM com o parâmetro pfile=/path/nomedasuacópiafeitaantes, aí sim vc vai poder remover o spfile com rm ……
REPITO, sei lá porque vc quer isso, mas se é isso que vc tem que fazer, esse é o procedimento…[]s
Chiappa
27 de agosto de 2018 at 4:56 pm #109385José Laurindo ChiappaModeratorDois pontos adicionais :
a. iirc vc já está na versão 11.2 do ASM : sendo isso vc já tem disponível o comando lsof (copiado do linux/unix) que mostra exatamente QUEM está usando um determinado arquivo, cfrme documentado em https://docs.oracle.com/database/121/OSTMG/GUID-010C97E5-CF08-43A5-95D5-60CD8343736B.htm#OSTMG94480 (este manual é proc 12c mas iirc o lsof já existia no 11.2)…
E
b. não é Incomum que vc tenha em na ORACLE_HOME do asm um spfile OU um pfile/initfile que aponta para o caminho (
http://oradicas.com.br/spfile-in-asm/ é um exemplo) , OU ENTÃO que a pessoa tenha feito um ajuste na própria config do ASM via spset (vide https://docs.oracle.com/cd/E11882_01/server.112/e18951/asm_util002.htm#OSTMG94443) para indicar onde está o spfile : EVIDENTEMENTE, se vc quer apagar para depois recriar em outro local esse outro local TEM que ser adicionado na opção que aponta para o novo spfile[]s
Chiappa
28 de agosto de 2018 at 3:20 pm #109387Leandro PintoParticipantFiz conforme você falou, fiz um backup, criei um pfile, e depois criei um novo spfile na mesma pasta +data/spfileASM1.ora.
Só de ter feito isso o arquivo antigo spfileASM.ora já sumiu, nem precisei remover.
Muito obrigado.
28 de agosto de 2018 at 3:51 pm #109388José Laurindo ChiappaModeratorokdoc : como eu disse só não sei porque vc queria remover o spfile mas sim, o procedimento é esse, vc tem que parar o software / instância que o estiver usando….
[]s
Chiappa
-
AuthorPosts
- You must be logged in to reply to this topic.