Banco não fica OPEN

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

Galera é o seguinte.. Mecho muito pouco com oracle, mas na empresa q eu trabalho, algo aconteceu que o banco não fica mais no modo 'open'.

Quando tento colocar, ele tras a mensagem:

Selecionar tudo

ORA-01157: cannot identify/lock data file 12 -  see DBWR trace file.
ORA-01110: data file 12: 'F:\ORACLE\ORADATA\PRODUCAO\SIG_DADOS_01.DBF'
Consigo deixar o banco 'Mounted', porem ele não abre.

O que pode ter acontecido?

Tenho um backup (.dmp), porem esse arquivo .DBF creio que esteja corrompido, pois o banco não está abrindo.

Acredito que isso aconteceu depois que ele tentou fazer um backup e não existia espaço no servidor. alguém pode me ajudar?

Ambiente é um servidor windows 2000 server com o Oracle9i

Muito obrigado!!
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Olá Ramon,

Cara esse erro e porque o oracle não encontro o datafile ou ele esta sendo usado ou esta corrompido mesmo.

Faz o seguinte 1º como e windows reinicie o servidor e tente dar start no banco para ver se voltou.

senão

Selecionar tudo

ALTER SYSTEM CHECK DATAFILES
Se mesmo assim não fo tente alterar seu datafile

Selecionar tudo

 alter database rename file '+ DG1/testdb/datafile/TS1.256.739201677' para '/ u01/datafiles/ts1.dbf';
Caso não resolva espero que você tenha backup.

Espero ter ajudado.
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

opa cara, obrigado pela resposta..
é o seguinte, o arquivo está exatamente nesse caminho que ele mostrou (por isso acho q está corrompido).

já reiniciei o servidor diversas vezes e ele não volta.

Quando abro o Enterprise Manager Console, so consigo conectar na opção Launch Standalone. Quando vou conectar com o banco, só consigo se colocar SYSDBA (em conect as), sem usuario e sem senha.

Ai eu consigo deixar como: shutdown, started (nomount) e started (mounted). Se eu clicar em Open, ele da esse erro que mostrei.

Se eu for pelo sqlplus (com o banco em shutdown) no DOS, aparece o seguinte:

Selecionar tudo

C:\Documents and Settings\Administrator>sqlplus /nolog

SQL*Plus: Release 9.2.0.6.0 - Production on Seg Mai 21 10:54:07 2012

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> conn usuario/senha@producao
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

Se eu tentar conectar direto, da o seguinte erro:

Selecionar tudo

C:\Documents and Settings\Administrator.SRH>sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.6.0 - Production on Seg Mai 21 10:56:31 2012

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

ERROR:
ORA-12560: TNS:erro de adaptador de protocolo

não consigo executar esses comandos que você me passou porque diz que eu não estou conectado..

Valeu cara..
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Espera aí vamos por parte

Esse erro que mostra quando você conectar com sys pelo dos

Selecionar tudo

ORA-27101: shared memory realm does not exist
E porque não existe memoria suficiente para o Oracle trabalhar, reveja a memoria desse servidor e tente conectar com o sys pelo dos e executar o comando que passei:

Selecionar tudo

ALTER SYSTEM CHECK DATAFILES
Qualquer coisa posta aí.

Abs.
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

Poise, aparentemente a memoria do servidor está toda livre.. muito estranho..
E esse erro de adaptador de protocolo?

Selecionar tudo

C:\Documents and Settings\Administrator.SRH>sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.6.0 - Production on Seg Mai 21 11:38:45 2012

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

ERROR:
ORA-12560: TNS:erro de adaptador de protocolo
Desculpa a ignorancia cara..
Aonde ficam os arquivos de configuração da memoria do servidor oracle? Tipo, existe algum arquivo que especifique a quantidade de memoria que esse servidor irá usar para esse banco oracle?
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Ramon

A configuração de memoria e feita na instalação do banco mas você pode alterar configurando os seguintes parametros do SGA segue link que pode ajudar

http://glufke.net/oracle/viewtopic.php?t=4306


Referente ao erro ORA-12560: TNS:erro de adaptador de protocolo

Selecionar tudo

ORA-12560: TNS: protocol adapter error

Cause: A generic protocol adapter error occurred.

Action: Check addresses used for proper protocol specification. Before reporting this error, look at the error stack and check for lower level transport errors. For further details, turn on tracing and re-execute the operation. Turn off tracing when the operation is complete. 
Mais link sobre isso:
http://glufke.net/oracle/viewtopic.php?t=4674
http://www.dba-oracle.com/t_ora_12560_t ... _error.htm

Espero te ajudado.

Abs
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

Cara, eu consegui executar esse seu comando. aumentei a memoria dele também.. ficou assim:

Selecionar tudo

C:\Documents and Settings\Administrator.SRH>sqlplus /nolog

SQL*Plus: Release 9.2.0.6.0 - Production on Seg Mai 21 15:17:28 2012

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> conn user_srhsig@producao/srhsig
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist


SQL> conn / as sysdba
Conectado a uma instΓncia inativa.


SQL> startup
InstΓncia ORACLE iniciada.

Total System Global Area  529605220 bytes
Fixed Size                   455268 bytes
Variable Size             419430400 bytes
Database Buffers          109051904 bytes
Redo Buffers                 667648 bytes
Banco de dados montado.
ORA-01157: nπo Θ possφvel identificar/bloquear arquivo de dados 12 - consulte
arquivo de anßlise DBWR
ORA-01110: 12 do arquivo de dados:
'F:\ORACLE\ORADATA\PRODUCAO\SIG_DADOS_01.DBF'


SQL>  ALTER SYSTEM CHECK DATAFILES;

Sistema alterado.

O banco não consegue subir de jeito nenhum. Li em alguns foruns que esse erro de memória pode ser configuração no ORACLE_HOME ou ORACLE_SID... Coloquei assim:

Selecionar tudo

SET ORACLE_SID=producao
SET ORACLE_HOME=c:\oracle\ora92
é isso mesmo?

a memoria está livre, o servidor esta utilizando apenas isso.. Setei a memoria (pool_size, etc) está tudo ok.

O que significa exatamente esse arquivo dbf?? Com esse arquivo q tenho de backup (.dmp) consigo restaurar o banco?

valeu pela forla cara...
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Ramon

Respondendo sua pergunta.

O que significa exatamente esse arquivo dbf??
R: DBF é o datafile do Oracle e onde fica guardado tablespace, tabelas, index

Se você tiver os arquivos de backup (.dmp) , sim você consegue recuperar o banco e so fazer um import usando esses backup (.dmp).

Abs.
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

Eu tenho esse .dmp atualizado.
então com esse arquivo eu consigo recuperar o dbf? Ele gera um novo arquivo .dbf a partir desse meu .dmp?

quando eu tento a opção de recovery, ele diz tenho que acessar o Oracle Management Server. Mas não consigo acessar. To criando um novo repositorio OEM para poder ver se consigo acessar . Li que precisava ser feito isso, pois la não aparece esse serviço. Vou testar isso e posto a resposta... valeu!!
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

Cara, to tentando importar esse .dmp de todo jeito e não funciona.. fica dando agora esse erro:

Selecionar tudo

C:\Documents and Settings\Administrator>imp 'SYS/system@PROD2 as sysdba' fil
e=G:\producao_full.dmp log=G:\teste.log full=y

Import: Release 9.2.0.6.0 - Production on Qua Mai 23 10:55:26 2012

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Conectado a: Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production

Arquivo de exportaτπo criado por EXPORT:V09.02.00 via caminho convencional

AdvertΩncia: os objetos foram exportados por SYSTEM; nπo por vocΩ

importaτπo realizada nos conjuntos de caracteres WE8MSWIN1252 e NCHAR AL16UTF16
IMP-00017: a instruτπo a seguir falhou com o erro 4068 ORACLE:
 "BEGIN  SYS.DBMS_REPCAT_MIG.PRE_IMPORT; END;"
IMP-00003: Erro Oracle: 4068 encontrado
ORA-04068: estado atual dos pacotes  foi descartado
ORA-04063: package body "SYS.DBMS_REPCAT_UTL" contΘm erros
ORA-06508: PL/SQL: nπo foi localizada a unidade de programa que estß sendo chama
da
ORA-06512: em "SYS.DBMS_REPCAT_MIG", line 116
ORA-06512: em line 1
IMP-00000: Importaτπo encerrada com Ωxito

Eu preciso criar algo com o mesmo nome do banco anterior (PRODUCAO) ?? já pesquisei e nada :|
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Ramon,
Esse seu backup e valido ?

Parace que os objetos do sys estão com erros

Tente novamente o import com y = ignorar, é que uma opção

Outra opção e Executar os seguintes scripts que tem em $ ORACLE_HOME / rdbms / admin
1) catrepr.sql (Remove objetos de replicação relacionados)
2) catrep.sql ( Cria objetos de replicação relacionados)
3) utlrp.sql (Recompile inválidos PL / SQL módulos).

veja os links:

https://forums.oracle.com/forums/thread ... ID=4332603
http://www.dbasupport.com/forums/archiv ... 32513.html

Espero que isso ajude
Abs.
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

Cara, esse problema eu tinha resolvido.. foi mal..

O problema q está dando na importação é que o db_block_size padrão é 4096 e o do backup é 8192.

Para isso eu tenho que criar o banco manualmente, é isso?

Cara, já tentei de tudo aqui e não consigo essa importação. Consegui criar um banco 8192, mas da vários erros na hora da importação (usuario não existente, linguagem, etc).

Eu tenho que ter a lista de todos os usuarios antes de importar? ele não importa os usuarios a partir do dmp?

Sim, meu .dmp é válido..

Outra coisa, como ele da erro nesse

Selecionar tudo

F:\ORACLE\ORADATA\PRODUCAO\SIG_DADOS_01.DBF
, é possivel eu restaurar apenas isso nesse banco? ou realmente vou ter q criar um novo BD e importar tudo? Não consigo importar porque o banco não fica OPEN.

Ou sei la, fazer uma cópia da estrutura do banco (pegando os usuarios, algo do tipo para não da esses erros de importação)..????

Agradeço muito sua ajuda cara, valeu mesmo!!
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Ramon,

já tentou aumentar os data_block_size com esse comando:

Selecionar tudo

SQL>alter system set db_block_size=8k scope=spfile;
depois tente importar.

Cara e mais facil usar o assintente e faça uma instancia nova e cria seu banco nela, fapois façoa um plano de backup certinho que você vai precisar.

Aqui meus DMP e sempre por schema e não FULL do banco com isso posso migrar de banco sem problemas.

Abs..
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

vou tentar isso cara.. porque tinha lido que não poderia mudar o tamanho do bloco depois de criar o banco.. Ai agora ele estava dando esse erro: ORA-01552: cannot use system rollback segment for non-system tablespace '<my tablespace>'

vou tentar criar pelo assistente e volto aqui p falar.. valeu !!!
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

E sobre esse erro, vi algumas coisas a respeito. A tablespace UNDO já foi criada, mesmo assim ele não permite..

vou criar um banco pelo assistente e tentar alterar o tamanho do bloco.
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

cara, como eu faço para importar schema por schema??

é usando aquele touser e fromuser??

Tipo, quando eu coloco FULL , ele recupera os usuarios e alguns outros dados.. Mas da muito erro de chave (não insere em certa tabela por conta q está relacionada com outra, e essa outra já deveria ter sido importada antes.. entendeu? )..

E quando eu coloco fromuser e touser, ele diz logo q a importação foi encerrada.. Eu preciso usar o fromuser/touser para todas as minhas tablespaces? Ainda to um pouco confuso com isso.. Uma sintaxe assim está correta:

Selecionar tudo

imp 'system/srhsig@PROD as sysdba' file=G:\producao_full.dmp log=imp.log fromuser=srhsig touser=srhsig  commit=y ignore=y

é isso??

srhsig é meu schema principal.. Mas isso ele da logo um erro (não especifica, erro 1).. e depois para a importação.. não chega a importar nada..

Quando eu coloco assim:

Selecionar tudo

imp 'system/srhsig@PROD as sysdba' file=G:\producao_full.dmp log=G:\teste.log full=y ignore=y
Ele demora umas 2 horas p realizar o backup, mas fica dando esses erros de chave (os erros q estavam dando era no schema SH). Esse schema é padrão??? ele dizia q a chave foi violada (ai mostrava SH.xxxFK..).. algo assim...
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

Cara, o comando usado para realizar o backup foi:

Selecionar tudo

set ORACLE_SID=producao
exp userid=system/system@PROD file=G:\backup\Export\producao_full.dmp log=G:\backup\Logs\producao_full.log full=y buffer=50000000
Esse é o arquivo que tenho...que complicação para conseguir recuperar kkkkkk...

To criando o bacno agora pelo assistente (Database Configuration Assistant).. Ele cria todas as tablespaces q eu preciso (as q tinha no banco antigo), não tenho mais problema com alguns usuarios (MDSYS, CTXSYS, etc).. mas não consigo importar sem erros.. complicado =\\
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

Selecionar tudo

C:\Documents and Settings\Administrator.SRH>imp 'system/system@PRODUCAO as sysdba' file=G:\producao_full.dmp log=imp.log fromuser=srhsig touser=srhsig buffer=50000000 commit=y ignore=y

Import: Release 9.2.0.6.0 - Production on Qua Mai 30 10:17:18 2012

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Conectado a: Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production

Arquivo de exportaτπo criado por EXPORT:V09.02.00 via caminho convencional

AdvertΩncia: os objetos foram exportados por SYSTEM; não por você

importaτπo realizada nos conjuntos de caracteres WE8MSWIN1252 e NCHAR AL16UTF16
. importando objetos de SRHSIG para SRHSIG
IMP-00009: fim anormal do arquivo de exportaτπo
C:\Documents and Settings\Administrator.SRH>


porque ta dando esse erroo:??? :||||||||||
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

Depois q eu tento com usuario system assim, continua o mesmo erro:

Selecionar tudo

C:\Documents and Settings\Administrator.SRH>imp file=g:\producao_full.dmp log=g:\imp.log fromuser=srhsig touser=srhsig buffer=50000000 commit=y ignore=y

Import: Release 9.2.0.6.0 - Production on Qua Mai 30 10:31:01 2012

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Nome do usußrio: SYSTEM
Senha:

Conectado a: Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production

Arquivo de exportaτπo criado por EXPORT:V09.02.00 via caminho convencional
importaτπo realizada nos conjuntos de caracteres WE8MSWIN1252 e NCHAR AL16UTF16
. importando objetos de SRHSIG para SRHSIG
IMP-00009: fim anormal do arquivo de exportaτπo
C:\Documents and Settings\Administrator.SRH>
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

alguém????? :|
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Ramon.

Sinto muito lhe dizer, mas acho que esse seu DMP esta invalido meu amigo.

Se nem um simples IMP full ele vai alguma coisa esta errado neste arquivo.

Por isso nas próxima utilize por schema e não full do banco.

Abs.
ramonmeloo2
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 21 Mai 2012 9:57 am

é cara, parece q o dmp ta corrompido mesmo.. To vendo aqui como resolver.. valeu irmao!!
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Ramon

tenta fazer o EXP assim

Selecionar tudo

exp user/senha@BANCO grants=y log=C:\backups\USER.log file=C:\backups\user.DMP

Depois o IMP assim:

Selecionar tudo

imp user/senha@BANCO file=C:\USER.DMP full=y

Espero ter ajudado.

Abs..
oraclewoman
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Seg, 16 Jul 2012 6:02 pm
oraclewoman

Oi Ramon tudo bem?

Conseguiu resolver o problema?

oraclewoman
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes