狼愛上貍

          我胡漢三又回來了

          dbstart&dbshut腳本中的錯誤

          Oracle提供了兩個腳本dbstart和dbshut用來啟動和關閉數據庫.
          這兩個腳本首先讀取oratab(/etc/oratab)文件來決定哪個數據庫是需要自動啟動和關閉,然后啟動和關閉那些數據庫,
          oratab文件通過root.sh創建.

          [oracle@chicago oracle]$ cat /etc/oratab
          #

          # This file is used by ORACLE utilities. It is created by root.sh
          # and updated by the Database Configuration Assistant when creating
          # a database.

          # A colon, ':', is used as the field terminator. A new line terminates
          # the entry. Lines beginning with a pound sign, '#', are comments.
          #
          # Entries are of the form:
          # $ORACLE_SID:$ORACLE_HOME:<N|Y>:
          #
          # The first and second fields are the system identifier and home
          # directory of the database respectively. The third filed indicates
          # to the dbstart utility that the database should , "Y", or should not,
          # "N", be brought up at system boot time.
          #
          # Multiple entries with the same $ORACLE_SID are not allowed.
          #
          #
          orcl:/u01/app/oracle/oracle/product/10.2.0/db_1:Y

          不過,dbstart/dbshut腳本中都包含有錯誤.
          需要修改ORACLE_HOME_LISTNER=$ORACLE_HOME
          [oracle@chicago oracle]$ dbstart
          ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
          Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME

          [oracle@chicago oracle]$ vi $ORACLE_HOME/bin/dbstart

          :
          #
          # $Id: dbstart.sh.pp 25-may-2005.14:52:00 vikrkuma Exp $
          # Copyright (c) 1991, 2005, Oracle. All rights reserved.
          #

          ###################################
          #
          # usage: dbstart $ORACLE_HOME
          #
          # This script is used to start ORACLE from /etc/rc(.local).
          # It should ONLY be executed as part of the system boot procedure.
          #
          # This script will start all databases listed in the oratab file
          # whose third field is a "Y". If the third field is set to "Y" and
          # there is no ORACLE_SID for an entry (the first field is a *),
          # then this script will ignore that entry.
          #
          # This script requires that ASM ORACLE_SID's start with a +, and
          # that non-ASM instance ORACLE_SID's do not start with a +.
          #
          # If ASM instances are to be started with this script, it cannot
          # be used inside an rc*.d directory, and should be invoked from
          # rc.local only. Otherwise, the CSS service may not be available
          # yet, and this script will block init from completing the boot
          # cycle.
          #
          # If you want dbstart to auto-start a single-instance database that uses
          # an ASM server that is auto-started by CRS (this is the default behavior
          # for an ASM cluster), you must change the database's ORATAB entry to use
          # a third field of "W" and the ASM's ORATAB entry to use a third field of "N".
          # These values specify that dbstart auto-starts the database only after
          # the ASM instance is up and running.
          #
          # Note:
          # Use ORACLE_TRACE=T for tracing this script.
          #
          # The progress log for each instance bringup plus Error and Warning message[s]
          # are logged in file $ORACLE_HOME/startup.log. The error messages related to
          # instance bringup are also logged to syslog (system log module).
          # The Listener log is located at $ORACLE_HOME_LISTNER/listener.log
          #
          # To configure:
          # 1) Set ORATAB:
          # On Solaris
          # ORATAB=/var/opt/oracle/oratab
          # All other UNIX platforms
          # ORATAB=/etc/oratab
          #
          # 2) Update $ORATAB/oratab with Database Instances that need to be started up.
          # Entries are of the form:
          # $ORACLE_SID:$ORACLE_HOME:<N|Y|W>:
          # An example entry:
          # main:/usr/lib/oracle/emagent_10g:Y
          #
          # Overall algorithm:
          # 1) Bring up all ASM instances with 'Y' entry in status field in oratab entry
          # 2) Bring up all Database instances with 'Y' entry in status field in
          # oratab entry
          # 3) If there are Database instances with 'W' entry in status field
          # then
          # iterate over all ASM instances (irrespective of 'Y' or 'N') AND
          # wait for all of them to be started
          # fi
          # 4) Bring up all Database instances with 'W' entry in status field in
          # oratab entry
          #
          #####################################

          LOGMSG="logger -puser.alert -s "

          trap 'exit' 1 2 3

          # for script tracing
          case $ORACLE_TRACE in
          T) set -x ;;
          esac

          # Set path if path not set (if called from /etc/rc)
          case $PATH in
          "") PATH=/bin:/usr/bin:/etc
          export PATH ;;
          esac
          # Save LD_LIBRARY_PATH
          SAVE_LLP=$LD_LIBRARY_PATH

          # First argument is used to bring up Oracle Net Listener
          ORACLE_HOME_LISTNER=$ORACLE_HOME
          if [ ! $ORACLE_HOME_LISTNER ] ; then
          echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"
          echo "Usage: $0 ORACLE_HOME"
          else
          LOG=$ORACLE_HOME_LISTNER/listener.log

          # Start Oracle Net Listener
          if [ -x $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then
          echo "$0: Starting Oracle Net Listener" >> $LOG 2>&1
          "/u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart" 461L, 13926C written
          [oracle@chicago oracle]$ dbstart
          Processing Database instance "orcl": log file /u01/app/oracle/oracle/product/10.2.0/db_1/startup.log
          [oracle@chicago oracle]$ dbshut
          ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener
          Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbshut ORACLE_HOME
          Processing Database instance "orcl": log file /u01/app/oracle/oracle/product/10.2.0/db_1/shutdown.log
          [oracle@chicago oracle]$ vi $ORACLE_HOME/bin/dbshut

          :
          #
          # $Id: dbshut.sh.pp 11-may-2005.19:37:00 vikrkuma Exp $
          # Copyright (c) 1991, 2005, Oracle. All rights reserved.
          #

          ###################################
          #
          # usage: dbshut $ORACLE_HOME
          #
          # This script is used to shutdown ORACLE from /etc/rc(.local).
          # It should ONLY be executed as part of the system boot procedure.
          #
          # This script will shutdown all databases listed in the oratab file
          # whose third field is a "Y" or "W". If the third field is set to "Y" and
          # there is no ORACLE_SID for an entry (the first field is a *),
          # then this script will ignore that entry.
          #
          # This script requires that ASM ORACLE_SID's start with a +, and
          # that non-ASM instance ORACLE_SID's do not start with a +.
          #
          # Note:
          # Use ORACLE_TRACE=T for tracing this script.
          # Oracle Net Listener is also shutdown using this script.
          #
          # The progress log for each instance shutdown is logged in file
          # $ORACLE_HOME/shutdown.log.
          #
          # To configure:
          # 1) Set ORATAB:
          # On Solaris
          # ORATAB=/var/opt/oracle/oratab
          # All other UNIX platforms
          # ORATAB=/etc/oratab
          #
          # 2) Update $ORATAB/oratab with Database Instances that need to be shutdown.
          # Entries are of the form:
          # $ORACLE_SID:$ORACLE_HOME:<N|Y>:
          # An example entry:
          # main:/usr/lib/oracle/emagent_10g:Y
          #
          # Note:
          # Use ORACLE_TRACE=T for tracing this script.
          # Oracle Net Listener is NOT shutdown using this script.
          #
          # The progress log for each instance shutdown is logged in file
          # $ORACLE_HOME/shutdown.log.
          #
          # To configure:
          # 1) Set ORATAB:
          # On Solaris
          # ORATAB=/var/opt/oracle/oratab
          # All other UNIX platforms
          # ORATAB=/etc/oratab
          #
          # 2) Update $ORATAB/oratab with Database Instances that need to be shutdown.
          # Entries are of the form:
          # $ORACLE_SID:$ORACLE_HOME:<N|Y>:
          # An example entry:
          # main:/usr/lib/oracle/emagent_10g:Y
          #
          #####################################

          trap 'exit' 1 2 3
          case $ORACLE_TRACE in
          T) set -x ;;
          esac
          # Set path if path not set (if called from /etc/rc)
          case $PATH in
          "") PATH=/bin:/usr/bin:/etc
          export PATH ;;
          esac
          # Save LD_LIBRARY_PATH
          SAVE_LLP=$LD_LIBRARY_PATH

          # The this to bring down Oracle Net Listener
          ORACLE_HOME_LISTNER=$ORACLE_HOME
          if [ ! $ORACLE_HOME_LISTNER ] ; then
          echo "ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener"
          echo "Usage: $0 ORACLE_HOME"
          else
          LOG=$ORACLE_HOME_LISTNER/listener.log

          # Stop Oracle Net Listener
          if [ -f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then
          "/u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbshut" 246L, 6592C written
          [oracle@chicago oracle]$ dbstart
          Processing Database instance "orcl": log file /u01/app/oracle/oracle/product/10.2.0/db_1/startup.log
          [oracle@chicago oracle]$ dbshut
          Processing Database instance "orcl": log file /u01/app/oracle/oracle/product/10.2.0/db_1/shutdown.log
          [oracle@chicago oracle]$

          來自:http://benbo.itpub.net/post/26034/311306

          posted on 2008-05-02 17:30 狼愛上貍 閱讀(2089) 評論(3)  編輯  收藏 所屬分類: LINUX 、ORACLE

          評論

          # re: dbstart&dbshut腳本中的錯誤[未登錄] 2008-12-31 14:40 jerry

          其實腳本是沒有錯誤的。
          你運行dbstart $ORACLE_HOME
          dbshut $ORACLE_HOME即可。
          它約定的語法就是這樣的。  回復  更多評論   

          # re: dbstart&dbshut腳本中的錯誤 2009-05-03 18:48 cntoen

          ###################################
          #
          # usage: dbstart $ORACLE_HOME
            回復  更多評論   

          # re: dbstart&dbshut腳本中的錯誤 2010-08-02 23:54 erh

          謝謝,修改過腳本后問題解決。
          用dbstart $ORACLE_HOME 我這兒會報同樣的錯,改腳本后不報錯,啟動也正常  回復  更多評論   

          主站蜘蛛池模板: 双江| 灌南县| 松滋市| 徐水县| 溧水县| 荣昌县| 普陀区| 宜章县| 元谋县| 乐平市| 玉林市| 阳泉市| 开原市| 娱乐| 太谷县| 突泉县| 常州市| 赤壁市| 廉江市| 巴南区| 博爱县| 桃江县| 永兴县| 嘉善县| 专栏| 南部县| 讷河市| 神木县| 永善县| 比如县| 桐乡市| 昭觉县| 柏乡县| 宁乡县| 莎车县| 镶黄旗| 九江县| 莱州市| 美姑县| 会宁县| 鄢陵县|