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:
$ cat /etc/oratab
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:
$. oraenv
orcl
Este comando prepara o ambiente para que você possa trabalhar com a instância do banco de dados de forma eficiente.
$ 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:
# 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.
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:
# cd /etc/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:
# vi /etc/init.d/dbora
Isso abrirá um documento em branco no editor ‘vi’, onde você precisará colar o seguinte script:
#! /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:
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:
# . 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’.
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:
cd /etc/init.d/
Estando dentro da pasta ‘init.d’, execute o comando:
Use o comando a seguir para listar os arquivos e verificar as permissões atuais, assim como vemos na imagem acima
# ls -lhrt
A saída exibirá algo semelhante a:
# -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:
# 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:
# 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.
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:
# chgrp dba /etc/init.d/dbora
2. Definir as Permissões do Arquivo ‘dbora’ para 750:
# chmod 750 /etc/init.d/dbora
3. Criar Link Simbólico para o Shutdown:
Mude para o diretório /etc/rc.d/rc0.d:
# cd /etc/rc.d/rc0.d
Crie o link simbólico para o script ‘dbora’:
# 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:
# cd /etc/rc.d/rc3.d
Crie o link simbólico para o script ‘dbora’:
# 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’:
# cd /etc/rc.d/rc5.d
Crie o link simbólico para o script ‘dbora’:
# 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.
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.
# 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:
$ ps -ef | grep 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!