Como verificar se o banco de dados Oracle está funcionando?

14

Para nossa aplicação, temos um arquivo de configuração para conectar-se ao banco de dados Oracle (URL, nome de usuário, senha).

O aplicativo leva de 2 a 5 minutos para iniciar. Se houver algo errado com o banco de dados, vejo isso nos logs, mas tenho que esperar 2-5 minutos. Isso é muito tempo.

Então, eu quero descobrir rápida e simplesmente uma maneira de determinar se o banco de dados está OK e online.

Você tem alguma idéia de como eu posso fazer isso?

Eugene
fonte

Respostas:

17

Se você executar a seguinte consulta:

SELECT INSTANCE_NAME, STATUS, DATABASE_STATUS FROM V$INSTANCE;

Deve retornar:

INSTANCE_NAME    STATUS       DATABASE_STATUS
---------------- ------------ -----------------
YOUR_DBASE       OPEN         ACTIVE
Solego
fonte
12

ps -ef | grep pmon

O processo PMON (monitor de processo) verifica todos os outros processos em segundo plano. Em seguida, você deve verificar o log de alerta para obter mais investigações.

ibre5041
fonte
4

Primeira coisa: você precisa saber o nome de usuário e a senha para se conectar ao banco de dados da etapa 2

  1. Verifique o processo do oracle:

    Em Un * x:

    ps -ef|grep pmon

    No Windows:

    tasklist|findstr /i oracle

    se o comando, em qualquer caso, retornar a saída, ou seja, se o processo pmon / oracle estiver em execução no seu ambiente, o banco de dados está em execução.

  2. Vá para ORACLE_HOME/bine execute:

     ./sqlplus /nolog

    Se após o login você receber erros, o banco de dados não será executado:

    SQL*Plus: Release 11.2.0.1.0 Production on Sat Feb 31 21:61:61 2014
    Copyright (c) 1982, 2014, Oracle.  All rights reserved.
    Enter user-name: oracle
    Enter password: 
    ERROR:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Linux-x86_64 Error: 2: No such file or directory
    Process ID: 0
    Session ID: 0 Serial number: 0
coz
fonte
1
nas janelas começar de sqlplus seria sqlplus / nolog
Igor Vuković
3

Você deve usar / escrever um script que se conecte ao servidor e verifique se o seu banco de dados está online. Aqui o pessoal da Oracle vai ajudar. Basta executá-lo a partir de um script em lote / shell (consulte Executando scripts a partir da linha de comando SQL ) e ver sua saída. Se tudo estiver bem, você terá a sua resposta.

Ou apenas tente com o cliente SQL * Plus.

Marian
fonte
0

Pode ser aconselhável executar uma consulta real no banco de dados também. Isso apenas garante que você possa se conectar e consultar. Eu faria algo muito simples e rápido, como:

SELECT pk_column 
  FROM sometable
WHERE rownum <= 1
Richard
fonte
0

O PMON verificará todos os processos da BG

ps -ef|grep pmon

Além disso, podemos verificar se o banco de dados está em execução ou não.

ps -ef|grep mydb
user3818965
fonte
-1

Para verificar o status geral do banco de dados, recomendo:

  1. Verifique se os processos do banco de dados estão em execução. Por exemplo, em um shell Unix, executando:

    $ ps -ef | grep pmon

    mostrará os bancos de dados em execução, os horários de inicialização e quais usuários do Oracle iniciaram cada um.

  2. Verifique se os ouvintes estão em execução usando $ ps -ef | grep tnse$ lsnrctl status LISTENER

  3. A seleção gv$resource_limitmostrará se o banco de dados atingiu algum limite configurado.

  4. Para verificar se houve algum erro no banco de dados, verifique alert.log.

Para mais detalhes, consulte minha postagem no blog .

user134623
fonte