隨筆-13  評論-28  文章-63  trackbacks-0

          一、使用root用戶修改/etc/oratab 文件:

          $ vi  /etc/oratab 

                              

          orcl:/ORACLE/app/product/10.2.0/db_1:N 

          改為:

          orcl:/ORACLE/app/product/10.2.0/db_1:Y

          也就是將最后的N改為Y

          二、使用ORACLE用戶修改$ORACLE_HOME/bin/dbstart文件:

          # su - ORACLE

          $ cd $ORACLE_HOME/bin

          $ vi dbstart

                找到 ORACLE_HOME_LISTNER=.....這行, 修改成

                ORACLE_HOME_LISTNER=/u01/app/oracle/product/10.2.0/db_1

                或者直接修改成:

                ORACLE_HOME_LISTNER=$ORACLE_HOME

                

                注意:是修改,不是增加,可是使用gedit的查找功能查找:

                ORACLE_HOME_LISTNER,然后進行修改,修改后保存

          三、測試運行 dbshut, dbstart 看能否啟動ORACLE 服務及listener服務:

          1.修改dbstart和dbshut的日志文件的權限:

          $su - root

          #cd $ORACLE_HOME

          #chown oracle:oinstall startup.log

          #chown oracle:oinstall shutdown.log

          2.執行相應的腳本進行測試

          #su - oracle

          $cd $ORACLE_HOME/bin

          $./dbstart   (./dbshut)

          $ ps -efw | grep ora_

          $ lsnrctl status

          $ ps -efw | grep LISTEN | grep -v grep

          四:創建服務

          $su - root

          # cd /etc/rc.d/init.d/  

          # gedit oradbstart

          復制如下腳本1或者腳本2內容到oradbstart文件:

          注意點

          (1).#開始的行不能少,否則后面運行chkconfig命令會報錯:oradbstart 服務不

          支持chkconfig

          (2).根據自己的環境修改環境變量配置部分

          (3).從windows下面保存的如下腳本內容,通過ISO復制到linux,再將腳本復制到

          oradbstart文件中后,在終端下用vi oradbstart命令打開,一些行后面可能有類似

          ^M的字符,將其刪除,否則在運行后面的chkconfig命令后,在/etc/rc.d/rcN.d

          目錄(N為運行級別)下生成的S99oradbstart文件是空的,可以用vi查看S99oradbstart

          文件,內容應該和/etc/rc.d/init.d/oradbstart文件內容相同才是正確的

          (第三種情況是我在xp下使用虛擬機VMWARE安裝linux,并將如下腳本保存成

          文本文件,然后制作成ISO文件,然后把ISO里面的文件的內容復制到oradbstart時

          遇到的,這種情況一些行后面類似^M的字符,用gedit無法看到,只有使用vi才能

          看到

          )

          --腳本1

          #!/bin/bash

          # chkconfig: 345 99 10

          # description: Startup Script for oracle Databases

          # /etc/rc.d/init.d/dbstart

          export ORACLE_BASE=/u01/app/oracle/

          export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

          export ORACLE_SID=orcl

          export PATH=$PATH:$ORACLE_HOME/bin

          ORA_OWNR="oracle"

          # if the executables do not exist -- display error

          if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

          then

              echo "Oracle startup: cannot start"

              exit 1

          fi

          # depending on parameter -- startup, shutdown, restart

          # of the instance and listener or usage display

          case "$1" in

            start)

              # Oracle listener and instance startup

              echo -n "Starting Oracle: "

              su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart"

              touch /var/lock/oracle

              su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"

              su - $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctrl start"

              echo "OK"

              ;;

            stop)

              # Oracle listener and instance shutdown

              echo -n "Shutdown Oracle: "

              su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"

              su - $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctrl stop"

              su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut"

              su - $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"

              rm -f /var/lock/oracle

              echo "OK"

              ;;

            reload|restart)

              $0 stop

              $0 start

              ;;

            *)

              echo "Usage: `basename $0` start|stop|restart|reload"

              exit 1

          esac

          exit 0

          --腳本2(只啟動數據庫和監聽)

          #!/bin/bash

          # chkconfig: 345 99 10

          # description: Startup Script for oracle Databases

          # /etc/rc.d/init.d/oradbstart

          export ORACLE_BASE=/u01/app/oracle/

          export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

          export ORACLE_SID=orcl

          export PATH=$PATH:$ORACLE_HOME/bin

          case "$1" in

          start)

          su oracle -c $ORACLE_HOME/bin/dbstart

          touch /var/lock/oracle

          echo "OK"

          ;;

          stop)

          echo -n "Shutdown oracle: "

          su oracle -c $ORACLE_HOME/bin/dbshut

          rm -f /var/lock/oracle

          echo "OK"

          ;;

          *)

          echo "Usage: 'basename $0' start|stop"

          exit 1

          esac

          exit 0

          保存退出。

          打開終端執行:

          $su - root

          #chown oracle.oinstall /etc/rc.d/init.d/oradbstart

          #chmod 775 /etc/rc.d/init.d/oradbstart

          然后執行:

          chkconfig --add oradbstart

          chkconfig --list oradbstart 

          chkconfig --list oradbstart運行結果:

          oradbstart            0:off   1:off   2:off    3:on    4:on    5:on    6:off

          五.檢查:

          根據上面的運行結果,當相應的運行級別為on時(例如:5:on),在對應的

          /etc/rc.d/rcN.d(例如:和5:on對應的是:/etc/rc.d/rc5.d)下面會生成一個

          文件:S99oradbstart,使用vi S99oradbstart打開該文件,可以看到該文

          件的內容和/etc/rc.d/init.d/oradbstart內容相同,表示配置成功,其實,

          S99oradbstart是一個到/etc/rc.d/init.d/oradbstart的鏈接,我們可以使用

          file命令來查看:

          $file /etc/rc.d/rc5.d/S99oradbstart

          S99oradbstart:symbolic link to '../init.d/oradbstart

           六.一點說明:

          腳本文件中的:
          # chkconfig: 345 99 10
          指出3,4,5級別啟動這個服務,99是在相應的/etc/rc.d/rcN.d(N為前面指定的
          級別,這里是345)目錄下生成的鏈接文件的序號(啟動優先級別)S99oradbstart,
          10為在除前面指出的級別對應的/etc/rc.d/rcN.d(N為除345之外的級別)目錄生成的
          鏈接文件的序號(服務停止的優先級別)K10oradbstart


          posted on 2008-11-09 21:53 七匹狼 閱讀(434) 評論(0)  編輯  收藏 所屬分類: oracle
          主站蜘蛛池模板: 和硕县| 桃江县| 溧水县| 西和县| 临沭县| 漠河县| 咸丰县| 东山县| 丽江市| 南木林县| 巴林左旗| 漠河县| 扎赉特旗| 鹤岗市| 五台县| 嘉善县| 霸州市| 河北区| 富锦市| 环江| 苍梧县| 广宁县| 翁牛特旗| 军事| 扶风县| 潍坊市| 甘德县| 邵阳市| 海城市| 西乌珠穆沁旗| 广水市| 广德县| 怀集县| 仲巴县| 朝阳区| 凉城县| 桃源县| 宜宾县| 景洪市| 永昌县| 锡林浩特市|