ORA-01034 / ORA-27101 / Linux-x86_64 Error

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
bapocalypse
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 14
Registrado em: Seg, 12 Dez 2005 10:31 am
Localização: Belo Horizonte - MG
Contato:
Bruno Apocalypse

Informações do Ambiente:
* Hardware: Dell PowerEdge 12GB ram / 2TB disco
* Versão do Oracle: 10g R2
* Sistema Operacional: CentOS 5.4

Olá, preciso de ajuda. Nunca atuei como DBA e muito menos já tinha utilizado o linux na vida. Fui orientado pela chegia a instalar um CentOS 5.4 com Oracle 10g R2.

Infelizmente não foi possível a criação de 3 servidores virtuais para cada necessidade (Desenvolvimento, Homologação e Produção). Todos os ambientes deverão ficar instalados numa mesma instância.

Consegui realizar a instalação do linux e Oracle sem problemas. Criei 03 (três) bases distintas. (Desenv, Homolg, Prod).

Ao reiniciar o servidor, faço o seguintes passos:

Selecionar tudo

#lsnrctl start (sem erros)
# dbstart (também sem erros)
# sqlplus /nolog
SQL> connect system/senha@desenv
connected.
SQL> connect system/senha@homolog
connected.
[b]SQL> connect system/senha@prod
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory[/b]
Alguém tem idéia do que poderia ser? Não consigo achar nenhuma ajuda. Já reinstalei o linux e o oracle e nada.

Segue o startup.log

Selecionar tudo

/oracle/ora10g/bin/dbstart: Starting up database "dboradsv"
Mon May 17 09:02:24 BRT 2010


SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 17 09:02:24 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> Connected to an idle instance.
SQL> ORACLE instance started.

Total System Global Area 3758096384 bytes
Fixed Size                  2025232 bytes
Variable Size             738199792 bytes
Database Buffers         3003121664 bytes
Redo Buffers               14749696 bytes
Database mounted.
Database opened.
SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

/oracle/ora10g/bin/dbstart: Database instance "dboradsv" warm started.

/oracle/ora10g/bin/dbstart: Starting up database "dborahml"
Mon May 17 09:02:35 BRT 2010


SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 17 09:02:35 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> Connected to an idle instance.
SQL> ORACLE instance started.

Total System Global Area 3758096384 bytes
Fixed Size                  2025232 bytes
Variable Size             721422576 bytes
Database Buffers         3019898880 bytes
Redo Buffers               14749696 bytes
Database mounted.
Database opened.
SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

/oracle/ora10g/bin/dbstart: Database instance "dborahml" warm started.

/oracle/ora10g/bin/dbstart: Starting up database "dboraprd"
Mon May 17 09:02:43 BRT 2010


SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 17 09:02:43 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> Connected to an idle instance.
SQL> ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
SQL> Disconnected

/oracle/ora10g/bin/dbstart: Database instance "dboraprd" warm started.


Dulima-SP
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 193
Registrado em: Qui, 24 Jan 2008 1:56 pm
Localização: SP
Dulima

DBA Oracle Jr

Amigo,
Como você dimencionou a memoria para essas Bases???

você já Tentou Subir do a de Produção??

Subir as Bases em Ordens Diferentes??
bapocalypse
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 14
Registrado em: Seg, 12 Dez 2005 10:31 am
Localização: Belo Horizonte - MG
Contato:
Bruno Apocalypse

Dulima , obrigado pela resposta rápida.

Então, na verdade não importa a "ordem". Sempre é a terceira que dá o erro.

E em relação a dimensionar as memórias para as bases, você realmente me pegou, pois não faço idéia de como fazer isto. E nem sei do que se trata ao certo. Se for na criação das bases, foi na base do NNF (next, next, finish).
Dulima-SP
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 193
Registrado em: Qui, 24 Jan 2008 1:56 pm
Localização: SP
Dulima

DBA Oracle Jr

Vamos ver o q Conseguimos!!!
já já os Mestres Aparecem!!!


No Linux
Digita
e no Oralce

Selecionar tudo

 show parameters sga
Nas 3 Instancias!!!
bapocalypse
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 14
Registrado em: Seg, 12 Dez 2005 10:31 am
Localização: Belo Horizonte - MG
Contato:
Bruno Apocalypse

Vamos lá:

Selecionar tudo

[oracle@bspolnxora1 ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vgroot-lvroot
                      3.0G  492M  2.3G  18% /
/dev/mapper/vgroot-lvvar
                      3.0G  181M  2.6G   7% /var
/dev/mapper/vgroot-lvhome
                      2.0G   72M  1.8G   4% /home
/dev/mapper/vgroot-lvusr
                      4.9G  2.3G  2.4G  49% /usr
/dev/mapper/vgroot-lvtmp
                      4.9G  218M  4.4G   5% /tmp
/dev/sda1             190M   19M  162M  11% /boot
tmpfs                 5.9G     0  5.9G   0% /dev/shm
/dev/mapper/vgroot-lvoracle
                      9.9G  2.9G  6.5G  31% /oracle
/dev/mapper/vgoradata-lvoradata
                      985G  2.9G  932G   1% /oradata
BASE dboradsv

Selecionar tudo

SQL> show parameters sga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 3584M
sga_target                           big integer 3584M

BASE dborahml

Selecionar tudo

SQL> show parameters sga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 3584M
sga_target                           big integer 3584M

BASE dboraprd (onde acontece o erro, mas acredito ser o mesmo valor das outras)

Selecionar tudo

ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Acho que você criou as 3 bases como Dedicated, isso alocou um valor memória para SGA maior do que o que você tem de memória RAM.

Homologação e Desenv necessitam de 3.5GB ?

vai ter que dar alter system, da pra fazer também pela interface gráfica, com o Oracle Enterprise Manager,

primeiro tem que abaixar o sga_target, scope=spfile..., pra daí diminuir o outro,
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Viajei, o fato de ser dedicated ou shared não muda nada pra SGA, só PGA,

mas o seu problema é esse mesmo, está com valor muito alto pra SGA, a solução é diminuir isso aí pra alguma instancia,

se você fez pelo DBCA, você foi questionado em relação a memória na quinta etapa eu acho, poderia colocar em percentual ou valores fixos pra cada componente inclusive,
Dulima-SP
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 193
Registrado em: Qui, 24 Jan 2008 1:56 pm
Localização: SP
Dulima

DBA Oracle Jr

Deixa a Base de Produção com mais Memoria!!!

Faz as Alterações e posta ai pra gente!!
bapocalypse
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 14
Registrado em: Seg, 12 Dez 2005 10:31 am
Localização: Belo Horizonte - MG
Contato:
Bruno Apocalypse

Então... tomei uma decisão radical. Vou ter apenas uma única base com os schemas de desenv/homolog/prod. Este é o PIOR cenário possível.

Se bem que não terei produção na realidade. Apenas um banco com os dados de produção. Outra máquina será o servidor de banco de dados para a aplicação.

Desta forma, estou criando a base de dados com o DBCA e alocando 80% para o Oracle. Que ficou assim:

SGA: 8GB
PGA: 2GB
Oracle Process: 40mb

Neste cenário cabeludo, seria o ideal desta forma?

O nosso maior problema será o grande volume de dados a serem processados.
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

olha cara, não sei o seu caso, enfim, EU faria a producao separada, com um bom tanto a mais de memoria, e homologacao/desenv em schemas, mas em uma instancia diferente,

se quiser baixar o banco por algum motivo, vai para tudo, sei lá existem muitos motivos,

inclusive, o principal é que, dessa forma você pode evitar concorrencia de disco entre as bases, alocnado os datafiles separadamente, até daria também do jeito que você falou,

esse seu processamente, exige o que exatamente, processamento, muita inserção? calculos, etc etc

de mais detalhes...
bapocalypse
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 14
Registrado em: Seg, 12 Dez 2005 10:31 am
Localização: Belo Horizonte - MG
Contato:
Bruno Apocalypse

Bem, eu sei que é um cenário porco. Mas vai tentar convencer o povo aqui. Como disse no começo, não sou DBA mas tenho meu conceitos e são corretos, como você também disse. Três instâncias separadas seria o ideal. Cada um na sua vmware por exemplo... mas....

E será somente para grande processamento de volume de dados no geral. E querem tudo junto, justamente pra utilizar o máximo do servidor. Mesmo tendo a concorrência.

Dureza... tudo o que você aprende com os anos tem que fazer errado depois.

Manda quem pode, obedece quem tem juízo.

:oops:
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

boa sorte, rs

dai vai um cabeca na desenv e roda uma instrucao que leva a 100% de cpu do servidor, VMWare ESXi 4.0 seria show de bola, pelo menos duas VMs, producao e outra homog/desenv,

está usando storage ou discos SCSI normal?

tem um lance bacana que é o ASM, ele gerencia os arquivos de dados, não tendo uma camada extra que é o disco montado no sistema operacional, é um pouco mais avançado, mas acredito que ganharia um pouco de performance,

mas se resolveu, fechou já era,

qualquer dúvida posta aí..
bapocalypse
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 14
Registrado em: Seg, 12 Dez 2005 10:31 am
Localização: Belo Horizonte - MG
Contato:
Bruno Apocalypse

Então, estou usando o Dell com a VMWare ESXi 4.0. E deveria criar as VM para resolver. Mas não foi possível pois não tive carta branca pra isso.

E vai ser fo*a um processo atrapalhar o outro. MAS, tomara que ocorra logo e mudemos o quanto antes.

E no servidor, são discos SAS 15k, em RAID5.

Quanto ao ASM, vou pesquisar do que se trata, pois não faço idéia.

Agora estou vendo a respeito da utilização de bigfile no tablespace ou não, já que terei bases de mais de 100gb.

Obrigado.
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Se você criar as tablespaces pelo DBCA, lá tem uma check pra você marcar, pra usar bigfile,

Selecionar tudo

create bigfile tablespace bigTablespace data file '/u01/bigTablespace.dbf' size 2T;
Ideal é sempre dar uma olhada na documentação, vê se ajuda..

http://download.oracle.com/docs/cd/B193 ... m#ADMIN002

Se não me engano bigfile vai ate 32TB,

RAID5 não é recomendado pra banco de dados, em questao de performance, da uma pesquisada no assunto que tu vai ver, o banco vai rodar em modo archivelog?

Em relação ao VMWare tem que cuidar, pois até onde sei, a Oracle não da suporte para bancos virtualizados na tecnologia VMWare, somente o dela, claro, Oracle VM,

E Em relação a licenca, pra oracle conta o numero de cores total da maquina, veja bem, da máquina, mesmo que você alocou por exemplo só dois 2 processadores com 2 cores cada um,

É cara, são pequenas coisas, que no final da uma diferenca...
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante