Can Start Service Com o script init.d, no entanto, o serviço SERVICE_NAME start não funciona

2

Estou executando o CentOS 6 e estou tentando fazer com que meu banco de dados Oracle seja executado na inicialização. Eu tenho seguido estes passos:

link (Parte do Oracle 11gR2 na parte inferior)

Eu criei esse script e ele é salvo como /etc/init.d/dbora:

#!/bin/bash
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
# 
# Set ORA_OWNER to the user id of the owner of the
# Oracle database software.

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 "/home/oracle/scripts/startup.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1" &

    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 "/home/oracle/scripts/shutdown.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1"
    rm -f /var/lock/subsys/dbora
    ;;
esac

Em seguida, eu corri:

chmod 750 /etc/init.d/dbora

De acordo com as instruções.

Finalmente, adicionei o script usando o chkconfig.

chkconfig --add dbora

Eu também adicionei os scripts que o arquivo dbora chama.

Eu posso iniciar o banco de dados usando:

/etc/init.d/dbora start

No entanto,

service dbora start

não funciona.

Alguma idéia?

    
por user1472409 19.03.2014 / 15:40

1 resposta

4

A principal diferença entre runnning /etc/init.d/foo start e service foo start é que service executa o script de inicialização em um ambiente limpo. Se você tiver um caso em que a execução do script de inicialização funcione diretamente, mas não com service , a variável de ambiente está sendo usada na inicialização que você não inicializou manualmente dentro do script. Como o script de inicialização é realmente simples, o uso da variável de ambiente provavelmente está no script /home/oracle/scripts/startup.sh .

Observe também que, se ele não for executado com service , ele não será iniciado corretamente na inicialização.

    
por 19.03.2014 / 15:45