Pular para o conteúdo

Como Automatizar a Inicialização de Bancos de Dados Oracle com dbstart: Passo a Passo

Automatic Startup – dbstart

Imagine que você tem um banco de dados Oracle em seu computador. Sempre que liga o computador, é necessário iniciar o banco de dados para que ele comece a funcionar e possa ser utilizado. Fazer isso manualmente toda vez pode ser trabalhoso, especialmente se você tiver muitos bancos de dados ou se precisar reiniciar o servidor frequentemente.
Luzes, câmera, ação! Vamos automatizar o processo de inicialização do seu banco de dados Oracle.

Conectado como ORACLE, execute os seguintes comandos para identificar o SID e o diretório inicial do Oracle para a instância que deve ser iniciada:

Bash
$ cat /etc/oratab

image 78
ORATAB N

O próximo passo é configurar o ambiente para a instância do Oracle. Para isso, você precisará ajustar variáveis de ambiente essenciais, como ‘ORACLE_HOME’ e ‘ORACLE_SID’, para a instância especificada.

Execute o seguinte comando para configurar essas variáveis:

Bash
$. oraenv

    orcl

Este comando prepara o ambiente para que você possa trabalhar com a instância do banco de dados de forma eficiente.

image 79
VARIÁVEIS DE AMBIENTE
Bash
$   echo $ORACLE_HOME

$   echo $ORACLE_SID

Depois de configurar as variáveis de ambiente e verificar que estão corretas, o próximo passo é editar o arquivo ‘oratab’ para garantir que a configuração esteja pronta para a automação.
Certifique-se de estar logado como usuário ‘ROOT’ e, em seguida, abra o arquivo ‘/etc/oratab’ no editor de texto ‘vi’ com o seguinte comando:

Bash
# vi /etc/oratab

Dentro do arquivo, localize a linha correspondente à sua instância e modifique a última coluna para ‘Y’. Isso garante que a instância seja considerada para a automação de inicialização e desligamento.

image 80
ORATAB Y

Certifique-se de que a última coluna da linha correspondente ao seu banco de dados no arquivo ‘/etc/oratab’ esteja configurada como ‘Y’.

Após essa etapa, ainda como usuário ‘ROOT’, vamos avançar para a configuração dos scripts de inicialização (‘dbstart’) e finalização (‘dbshut’). Para isso, você precisará estar dentro da pasta ‘/etc/init.d’. Execute o seguinte comando para navegar até essa pasta:

Bash
# cd /etc/init.d

image 81
INIT D

Agora, estando no diretório correto, vamos criar o arquivo ‘dbora’, que será o coração da nossa automação. Para isso, execute o seguinte comando:

Bash
# vi /etc/init.d/dbora

Isso abrirá um documento em branco no editor ‘vi’, onde você precisará colar o seguinte script:

Bash
#! /bin/sh
# description: Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORACLE_HOME.

ORA_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
ORA_OWNER=oracle

case "$1" in
'start')
    # Start the Oracle databases:
    # The following command assumes that the oracle login
    # will not prompt the user for any values
    # Remove "&" if you don't want startup as a background process.
    su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" &
    touch /var/lock/subsys/dbora
    ;;

'stop')
    # Stop the Oracle databases:
    # The following command assumes that the oracle login
    # will not prompt the user for any values
    su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" &
    rm -f /var/lock/subsys/dbora
    ;;
esac

Neste ponto do processo, é crucial prestar atenção a um detalhe importante. No campo:

Bash
ORA_HOME=/u01/app/oracle/product/19.0.0/dbhome_1

ORA_OWNER=oracle

Essas são as informações específicas para o meu ambiente. Para garantir que você esteja usando as informações corretas para o seu ambiente, siga a sequência de comandos abaixo:

Bash
# . oraenv

    orcl

# echo $ORACLE_HOME

Esses comandos ajudarão a identificar o valor correto para a variável ‘ORA_HOME’ no seu ambiente. Substitua o valor de ‘ORA_HOME’ no script ‘dbora ‘com base na saída do comando ‘echo $ORACLE_HOME’.

image 82
DBORA CONFIGURADO

Reforçando, certifique-se de que você está dentro da pasta init.d e logado como ROOT.
Para isso, navegue até o diretório correto com o comando:

Bash
cd /etc/init.d/

Estando dentro da pasta ‘init.d’, execute o comando:

image 83
LS -LHRT 1

Use o comando a seguir para listar os arquivos e verificar as permissões atuais, assim como vemos na imagem acima

Bash
# ls -lhrt

A saída exibirá algo semelhante a:

Bash
# -rwxr-xr-x 1 root root 1234 Jul 21 12:34 dbora

Aqui, os 9 caracteres à esquerda representam as permissões dos arquivos e são divididos em três conjuntos:

Conjunto 1: Permissões do Dono do Arquivo (rwx)

r: Permissão de leitura (read) para o dono.
w: Permissão de escrita (write) para o dono.
x: Permissão de execução (execute) para o dono.

Conjunto 2: Permissões do Grupo do Arquivo (r-x)

r: Permissão de leitura (read) para o grupo.
-: Sem permissão de escrita (write) para o grupo.
x: Permissão de execução (execute) para o grupo.

Conjunto 3: Permissões para Outros Usuários (r-x)

r: Permissão de leitura (read) para outros usuários.
-: Sem permissão de escrita (write) para outros usuários.
x: Permissão de execução (execute) para outros usuários.

Alteração do Grupo do Arquivo:

Para garantir que o arquivo ‘dbora’ esteja no grupo correto, você deve alterar o grupo para dba com o comando:

Bash
# chgrp dba /etc/init.d/dbora

Configuração das Permissões Adequadas:

Em seguida, ajuste as permissões do arquivo ‘dbora’ para permitir leitura, escrita e execução pelo dono, e leitura e execução pelo grupo e outros usuários, utilizando o comando:

Bash
# chmod 750 /etc/init.d/dbora

Esta configuração garante que apenas o dono (root) tenha permissão total (leitura, escrita e execução), enquanto o grupo dba e outros usuários têm permissões de leitura e execução.

image 84
PERMISSÕES DBORA

Estamos nos aproximando da etapa final da configuração. Agora, vamos garantir que o script ‘dbora’ seja chamado corretamente durante a inicialização e o desligamento do sistema. Para isso, precisaremos criar links simbólicos nos diretórios apropriados. Siga a sequência de comandos abaixo para completar o processo:

1. Alterar o Grupo do Arquivo ‘dbora’ para dba:

Bash
# chgrp dba /etc/init.d/dbora

2. Definir as Permissões do Arquivo ‘dbora’ para 750:

Bash
# chmod 750 /etc/init.d/dbora

3. Criar Link Simbólico para o Shutdown:

Mude para o diretório /etc/rc.d/rc0.d:

Bash
# cd /etc/rc.d/rc0.d

Crie o link simbólico para o script ‘dbora’:

Bash
# ln -s /etc/init.d/dbora K01dbora

O link simbólico K01dbora garante que o script ‘dbora’ será chamado para realizar o desligamento do banco de dados quando o sistema for desligado ou reiniciado.

4. Criar Link Simbólico para o Startup:

Mude para o diretório /etc/rc.d/rc3.d:

Bash
# cd /etc/rc.d/rc3.d

Crie o link simbólico para o script ‘dbora’:

Bash
# ln -s /etc/init.d/dbora S99dbora

O link simbólico S99dbora garante que o script ‘dbora’ será chamado para iniciar o banco de dados quando o sistema iniciar no run-level 3.

5. Se o Seu Sistema Utiliza o Run-Level 5:

Mude para o diretório ‘/etc/rc.d/rc5.d’:

Bash
# cd /etc/rc.d/rc5.d

Crie o link simbólico para o script ‘dbora’:

Bash
# ln -s /etc/init.d/dbora S99dbora

O link simbólico ‘S99dbora’ garante que o script ‘dbora’ será chamado para iniciar o banco de dados quando o sistema iniciar no run-level 5.

Com esses passos, você garantiu que o script ‘dbora’ será executado automaticamente durante o início e o desligamento do sistema, simplificando o gerenciamento do seu banco de dados.

image 85
LINK SIMBÓLICO

Agora é a hora da verdade! Depois de criar os links simbólicos, é crucial testar se a automação está funcionando corretamente. Para isso, você precisa reiniciar o sistema e verificar se o banco de dados inicia automaticamente. Siga os passos abaixo:

1. Reinicie o Sistema:

Execute o comando a seguir para reiniciar o sistema. Lembre-se de que sua conexão pode cair, pois o sistema estará sendo reiniciado.

Bash
# reboot

2. Verifique se o Banco de Dados foi Iniciado Automaticamente:

Após a reinicialização do sistema, faça login novamente e, como usuário ORACLE, execute o comando abaixo para verificar se o processo do banco de dados está em execução:

Bash
$ ps -ef | grep pmon

image 86
PMON

O comando ‘ps -ef | grep pmon’ mostra os processos de monitoramento do banco de dados (PMON). Se o banco de dados foi iniciado corretamente, você verá uma linha listando o processo PMON associado ao seu banco de dados.
Se o banco de dados não iniciar automaticamente, revise os passos anteriores para garantir que todos os arquivos e permissões estão configurados corretamente. Se precisar de assistência adicional, estou à disposição para ajudar!

Se você obteve o resultado desejado com o comando ‘ps -ef | grep pmon’, é hora de comemorar! O retorno ‘ora_pmon_orcl’ confirma que o banco de dados Oracle está em execução, indicando que a configuração de inicialização automática foi bem-sucedida.

Aqui está um resumo do que foi realizado:

1. Configuração do Arquivo ‘/etc/oratab’:

Atualizado para garantir que a instância do banco de dados seja reconhecida para automação.

2. Criação e Configuração do Script ‘dbora’:

Criado em ‘/etc/init.d/’ para gerenciar a inicialização e parada automática do banco de dados.
Configurado com permissões adequadas e vinculado aos diretórios de run-level para automação durante o startup e shutdown do sistema.

3. Criação dos Links Simbólicos:

Links criados nos diretórios de run-level para garantir que o script ‘dbora’ seja executado corretamente durante a reinicialização do sistema.

4. Verificação Pós-Reinicialização:

Confirmado que o banco de dados está ativo e funcionando após a reinicialização do sistema, verificando a instância com o comando ‘ps -ef | grep pmon’.

Com esses passos, você garantiu que seu banco de dados Oracle seja iniciado automaticamente sempre que o sistema for reiniciado, economizando tempo e evitando a necessidade de iniciar o banco de dados manualmente.
Se precisar de mais ajuda ou tiver outras perguntas, sinta-se à vontade para me chamar. Parabéns pelo sucesso na configuração!

Tercio Haring

Tercio Haring

Tércio Haring é pai do Max e um entusiasta incansável de TI. Sua paixão pelo próximo o levou a ser socorrista, sempre pronto para ajudar. No universo da tecnologia, seu objetivo vai além de simplesmente compartilhar conhecimento; ele busca manter sua mente conectada ao futuro e abraçar os desafios como oportunidades disfarçadas. Escreve com o objetivo de tornar o complexo mundo dos bancos de dados mais acessível e compreensível, sempre com um toque de humor para tornar a jornada mais leve e divertida. Se você procura insights valiosos, explicações claras e, claro, algumas boas risadas, Tércio é a pessoa certa para te guiar. Junte-se a ele para explorar, aprender e crescer nesse vasto e fascinante universo Oracle!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress