Fedora 15의 Oracle 11g 데이터베이스 시작 자동화

Fedora 15의 Oracle 11g 데이터베이스 시작 자동화

다음 명령을 사용하여 Fedora 15 시스템에 Oracle 11g를 성공적으로 설치했습니다.이것가이드. 아쉽게도 Windows를 사용할 때와 달리 컴퓨터를 다시 시작할 때마다 데이터베이스를 다시 시작해야 하는 것 같습니다(서버가 아닌 개발 컴퓨터입니다).

이것이 예상된 동작인지 또는 데이터베이스를 설치할 때 뭔가를 망친 것인지 확실하지 않습니다.

어쨌든, 머신을 재부팅할 때마다 다음이 필요합니다.

  • su현재 사용자를 사용자로 변경하는데 사용됩니다 oracle.
  • sqplus데이터베이스를 시작하는 데 사용됩니다 .

이와 같이:

(oracle@machine)$ sqplus / as sysdba
SQL> startup
SQL> (Ctrl+D)
  • 그런 다음 시작 수신기를 사용해야 합니다 lsnrctl.

다시:

(oracle@machine)$ lsnrctl start 
  • 이제 Enterprise Manager도 시작되어야 합니다.

적어도:

(oracle@machine)$ emctl start dbconsole

나는 다음으로부터 이 지침을 얻었습니다.여기.

멍청한 짓이라면 죄송합니다. 보통 환경을 설정해 줄 DBA나 시스템 관리자가 있지만 집에서 아무런 도움도 없이 이 일을 하고 있습니다. :)).

쉘 스크립트를 사용하여 Fedora 15에서 이것을 자동화할 수 있는지 궁금합니다. 자동화한 후에는 init 시스템에 연결하여 시스템이 시작될 때마다 실행되도록 하고 싶습니다.

답변1

나는 답을 찾았다이것CentOS 5.3에 Oracle 11g를 설치하는 방법에 대한 가이드입니다. 초기화 스크립트를 약간 조정했습니다. 완전성을 위해 여기에 단계를 추가하겠습니다.

  • 구성 파일의 /etc/oratab마지막 항목을 편집하고 .NY

이와 같이:

orcl:/u01/app/oracle/product/11.2.0/dbhome_1:N

이와 관련하여:

orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y
  • 스크립트를 만듭니다 /etc/init.d/dbora.

다음과 같은 내용이 있어야 합니다.

#!/bin/sh
# chkconfig: 345 99 10
# 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 ORA_HOME.

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

if [ ! -f $ORA_HOME/bin/dbstart ]
then
        echo "Oracle startup: cannot start"
        exit
fi

case "$1" in

'start')

# Start 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/emctl start dbconsole"
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
;;

'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/emctl stop dbconsole"
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
;;

esac
  • 그런 다음 스크립트 권한을 변경하십시오.

이와 같이:

chmod 750 /etc/init.d/dbora
  • 이것을 chkconfig에 추가하세요

이와 같이:

chkconfig --level 345 dbora on

/etc/init.d/dbora start및 으로 테스트합니다 /etc/init.d/dbora stop. dbora스크립트의 경로가 올바른지 확인하세요 .

답변2

이미 스크립트 lsnrctl start에 포함되어 있는 것 같아요 .dbstart

관련 정보