sitelink1 | |
---|---|
sitelink2 | |
extra_vars5 | |
extra_vars6 |
ORACLE DB AUTO STARTUP/SHUTDOWN ON RedHat Linux 8.0
구경탁 jinuxer@yahoo.co.kr
1차수정 : 2002년 11월 04일
--------------------------------------------------------------------------------
이 자료는 O/S startup 시에 Oracle RDBMS 서비스를 자동으로 startup하는 방법에 대한 자료이다.
Oracle RDBMS 서비스를 startup하기위해 $ORACLE_HOME/bin/dbstart를 사용할 수 있고, Oracle RDBMS 서비스를 shutdown하기위해 $ORACLE_HOME/bin/dbshut를 사용할 수 있다.
--------------------------------------------------------------------------------
1. /etc/rc.d/rc.local Boot Time Script 이용
첫번째 방법은 System Boot Time때에 Oracle RDBMS를 자동적으로 서비스를 하기위해서 /etc/rc.d/rc.local에 $ORACLE_HOME/bin/dbstart를 추가하면된다.
# cd /etc/rc.d/
# vi rc.local
...
$ORACLE_HOME/bin/dbstart
가장 하단 부분에 추가해주고 reboot해서 확인해보라.
만약에 안된다면 아래처럼 추가해주라.
주, 디렉토리는 자신이 install한 oracle의 디렉토리로 적당히 편집해주기 바란다.
...
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9i
export PATH=$PATH:$ORACLE_HOME/bin
$ORACLE_HOME/bin/dbstart
그래두 안된다면 이 방법은 쓰지말고 다음 방법을 쓰기바란다. -_-;
2. Oracle Boot Shell Script 이용
두번째 방법은 $ORACLE_HOME/bin/dbstart와 $ORACLE_HOME/bin/dbshut를 이용하여 shell script를 작성하는 것이다.
어차피 Oracle RDBMS 서비스를 자동으로 하고자하는것이라면, shutdown도 자동으로 해보자.
주, 디렉토리는 자신이 install한 oracle의 디렉토리로 적당히 편집해주기 바란다.
# cd /etc/rc.d/init.d
# vi oracle
--------------------------------------------------------------------------------
#!/bin/sh
#
# Startup script for Oracle
#
# chkconfig: - 90 15
# description: Start Oracle
#
# processname: oracle
#
# Source function library.
. /etc/rc.d/init.d/functions
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9i
export PATH=$PATH:$ORACLE_HOME/bin
# See how we were called.
case "" in
start)
echo ""
echo "Starting oracle: "
su - oracle -c "dbstart"
echo ""
echo "Starting TNS listener:"
su - oracle -c "lsnrctl start"
touch /var/lock/subsys/oracle
echo
;;
stop)
echo ""
echo "Shutting down TNS listener:"
su - oracle -c "lsnrctl stop"
echo ""
echo "Shutting down oracle:"
su - oracle -c "dbshut"
rm -f /var/lock/subsys/oracle
echo
;;
restart)
stop
sleep 2
start
;;
*)
echo "Usage: "
exit 1
esac
--------------------------------------------------------------------------------
# chkconfig --add oracle
# chkconfig --level 3 oracle on
# ntsys 후 확인을 해보라.
3. 나머지 설정
$ORACLE_HOME/bin/dbstart와 $ORACLE_HOME/bin/dbshut를 구동하기 위해선 /etc/oratab에 Oracle SID가 적혀있는 라인의 "N"을 "Y"로 바꾸어야한다.
예제를 보자.
Oracle SID는 ORCL이고, install 디렉토리는 /home/oracle/app/oracle/product/9i이다.
# vi /etc/oratab
...
ORCL:/home/oracle/app/oracle/product/9i:N
를 아래와 같이 바꾼다.
...
ORCL:/home/oracle/app/oracle/product/9i:Y
모든 작업이 완료되면 reboot하여 확인을 해보도록 한다.
======================================
Visit to KOUG(Korea Oracle User Group)
http://www.koug.net
jinuxer@yahoo.co.kr
======================================
9i의 경우 dbstart 스크립트에 몇가지 문제가 있습니다.
9i부터는 바이너리 형식의 spfile 을 기본적으로 사용합니다.
그런데 dbstart 스크립트는 pfile (text)만 찾고 없으면 오라클을 '시작'시키지 않습니다.
따라서 dbstart를 vi 등 편집기로 열어서...
PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora 를 찾아서
다음에 아래 라인을 추가바랍니다.
SPFILE=${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora
그리고 나서
if [ -f $PFILE ] ; then
라는 부분을 찾아서 아래와 같이 고쳐줍니다.
if [ -f $PFILE -o -f $SPFILE ] ; then
마지막으로 dbshut 이 오래걸리는 이유는 셧다운 모드가 디폴트로
shutdown normal 이기 때문에 모든 트랜잭션이 완료되고 연결된 세션이 해제될 때까지 기다리게 되기 때문입니다.
마찬가지로 dbshut을 vi로 열어서 shutdown normal 을
shutdown immediate 로 고쳐주시면 됩니다.
구경탁 jinuxer@yahoo.co.kr
1차수정 : 2002년 11월 04일
--------------------------------------------------------------------------------
이 자료는 O/S startup 시에 Oracle RDBMS 서비스를 자동으로 startup하는 방법에 대한 자료이다.
Oracle RDBMS 서비스를 startup하기위해 $ORACLE_HOME/bin/dbstart를 사용할 수 있고, Oracle RDBMS 서비스를 shutdown하기위해 $ORACLE_HOME/bin/dbshut를 사용할 수 있다.
--------------------------------------------------------------------------------
1. /etc/rc.d/rc.local Boot Time Script 이용
첫번째 방법은 System Boot Time때에 Oracle RDBMS를 자동적으로 서비스를 하기위해서 /etc/rc.d/rc.local에 $ORACLE_HOME/bin/dbstart를 추가하면된다.
# cd /etc/rc.d/
# vi rc.local
...
$ORACLE_HOME/bin/dbstart
가장 하단 부분에 추가해주고 reboot해서 확인해보라.
만약에 안된다면 아래처럼 추가해주라.
주, 디렉토리는 자신이 install한 oracle의 디렉토리로 적당히 편집해주기 바란다.
...
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9i
export PATH=$PATH:$ORACLE_HOME/bin
$ORACLE_HOME/bin/dbstart
그래두 안된다면 이 방법은 쓰지말고 다음 방법을 쓰기바란다. -_-;
2. Oracle Boot Shell Script 이용
두번째 방법은 $ORACLE_HOME/bin/dbstart와 $ORACLE_HOME/bin/dbshut를 이용하여 shell script를 작성하는 것이다.
어차피 Oracle RDBMS 서비스를 자동으로 하고자하는것이라면, shutdown도 자동으로 해보자.
주, 디렉토리는 자신이 install한 oracle의 디렉토리로 적당히 편집해주기 바란다.
# cd /etc/rc.d/init.d
# vi oracle
--------------------------------------------------------------------------------
#!/bin/sh
#
# Startup script for Oracle
#
# chkconfig: - 90 15
# description: Start Oracle
#
# processname: oracle
#
# Source function library.
. /etc/rc.d/init.d/functions
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9i
export PATH=$PATH:$ORACLE_HOME/bin
# See how we were called.
case "" in
start)
echo ""
echo "Starting oracle: "
su - oracle -c "dbstart"
echo ""
echo "Starting TNS listener:"
su - oracle -c "lsnrctl start"
touch /var/lock/subsys/oracle
echo
;;
stop)
echo ""
echo "Shutting down TNS listener:"
su - oracle -c "lsnrctl stop"
echo ""
echo "Shutting down oracle:"
su - oracle -c "dbshut"
rm -f /var/lock/subsys/oracle
echo
;;
restart)
stop
sleep 2
start
;;
*)
echo "Usage: "
exit 1
esac
--------------------------------------------------------------------------------
# chkconfig --add oracle
# chkconfig --level 3 oracle on
# ntsys 후 확인을 해보라.
3. 나머지 설정
$ORACLE_HOME/bin/dbstart와 $ORACLE_HOME/bin/dbshut를 구동하기 위해선 /etc/oratab에 Oracle SID가 적혀있는 라인의 "N"을 "Y"로 바꾸어야한다.
예제를 보자.
Oracle SID는 ORCL이고, install 디렉토리는 /home/oracle/app/oracle/product/9i이다.
# vi /etc/oratab
...
ORCL:/home/oracle/app/oracle/product/9i:N
를 아래와 같이 바꾼다.
...
ORCL:/home/oracle/app/oracle/product/9i:Y
모든 작업이 완료되면 reboot하여 확인을 해보도록 한다.
======================================
Visit to KOUG(Korea Oracle User Group)
http://www.koug.net
jinuxer@yahoo.co.kr
======================================
9i의 경우 dbstart 스크립트에 몇가지 문제가 있습니다.
9i부터는 바이너리 형식의 spfile 을 기본적으로 사용합니다.
그런데 dbstart 스크립트는 pfile (text)만 찾고 없으면 오라클을 '시작'시키지 않습니다.
따라서 dbstart를 vi 등 편집기로 열어서...
PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora 를 찾아서
다음에 아래 라인을 추가바랍니다.
SPFILE=${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora
그리고 나서
if [ -f $PFILE ] ; then
라는 부분을 찾아서 아래와 같이 고쳐줍니다.
if [ -f $PFILE -o -f $SPFILE ] ; then
마지막으로 dbshut 이 오래걸리는 이유는 셧다운 모드가 디폴트로
shutdown normal 이기 때문에 모든 트랜잭션이 완료되고 연결된 세션이 해제될 때까지 기다리게 되기 때문입니다.
마찬가지로 dbshut을 vi로 열어서 shutdown normal 을
shutdown immediate 로 고쳐주시면 됩니다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
10 | 오라클 접속 문제에 관하여 | 황제낙엽 | 2007.07.16 | 276 |
9 | 유용한 대용량 데이터베이스 기술들 | 황제낙엽 | 2007.06.08 | 155 |
8 | 5백만건의 데이터량을 페이징 | 황제낙엽 | 2007.06.08 | 325 |
7 | 오라클 9i 설치 에러 - 디스크 공간 부족 해결방법 | 황제낙엽 | 2007.06.03 | 841 |
6 | 윈도우 + 오라클 9i설치 | 황제낙엽 | 2007.06.02 | 199 |
5 | RedHat8.0 + Oracle 9i | 황제낙엽 | 2003.10.07 | 182 |
4 | 오라클 함수 정리 | 황제낙엽 | 2006.02.07 | 185303 |
3 | 9i부터 제공되는 Flashback Query | 황제낙엽 | 2006.02.15 | 86 |
» | 오라클 자동 시작/정지 스크립트 작성 요령 | 황제낙엽 | 2003.10.14 | 329 |
1 | ORACLE8I : LOGMINER 의 기능과 사용 방법 | 황제낙엽 | 2006.09.22 | 117 |