linux怎麼設定oracle自動啟動?

來源:互聯網
上載者:User

1.安裝好Oracle資料庫後: 執行 dbstart和dbshut會提示:

 

 代碼如下 複製代碼
[oracle@oracle11g ~]$ 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

錯誤原因是:dbstart和dbshut指令檔中ORACLE_HOME_LISTNER的設定有問題,分別開啟兩個檔案找到:ORACLE_HOME_LISTNER=$1,修改為

ORACLE_HOME_LISTNER=$ORACLE_HOME,命令如下:

 代碼如下 複製代碼

[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbstart

[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbshut


修改後儲存退出,第一個問題已解決;


2.如何在Linux啟動時自動啟動Oracle監聽和執行個體

首先要解決上面的問題,才能繼續喲!


第一步:修改/etc/oratab檔案,命令如下:

[oracle@oracle11g ~]$ vi /etc/oratab

找到:accp:/u01/oracle:N   修改為: accp:/u01/oracle:Y

第二步:把lsnrctl start和dbstart添加到rc.local檔案中,命令如下:

 代碼如下 複製代碼

[oracle@oracle11g ~]$ vi /etc/rc.d/rc.local

添加:

su oracle -lc "/u01/oracle/bin/lsnrctl start"

su oracle -lc  /u01/oracle/bin/dbstart

注意:第一個命令有空格,所以要用引號的


重啟試試吧!

我曾經按按照網上的改法修改後,仍然不能解決此問題,最後只能參照網上的改法,以及 $ORACLE_HOME/network/admin/samples/listener.ora檔案的文法規則變更後才得以解決此問題)

 代碼如下 複製代碼

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
       (GLOBAL_DBNAME = orcl)
#       (SID_NAME = PLSExtProc)
       (ORACLE_HOME = /usr/oracle_db/product/10.2.0/)
       (SID_NAME = orcl)
#      (PROGRAM = extproc)
    )
)
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    )
  )

3.建立一個啟動的指令碼

 代碼如下 複製代碼

#!/bin/bash
#
###############Description##########
#
# AutoStart Oracle and listener
# AutoStop Oracle and listener
#
#####################################
#
#
#
. /etc/rc.status
case "$1" in
start)
echo "Starting Oracle Databases ... "
echo "[ $(date +%D-%T) ] Start Oracle Database" >> /var/log/oracle
su - oracle -c "dbstart" >> /var/log/oracle
rc_status -v
echo "Starting Oracle Listeners ... "
echo "[ $(date +%D-%T) ] Start Oracle Listener" >> /var/log/oracle
su - oracle -c "lsnrctl start" >> /var/log/oracle
rc_status -v
touch /var/lock/subsys/oracle
;;
stop)
echo "Stoping Oracle Listeners ... "
echo "[ $(date +%D-%T) ] Stop Oracle Listener" >> /var/log/oracle
su - oracle -c "lsnrctl stop" >> /var/log/oracle
rc_status -v
rm -f /var/lock/subsys/oracle
echo "Stoping Oracle Databases ... "
echo "[ $(date +%D-%T) ] Stop Oracle Database" >> /var/log/oracle
su - oracle -c "dbshut" >> /var/log/oracle
rc_status -v
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: oracle {start|stop|restart}"
exit 1
esac

改變許可權.放到/etc/init.d/oracle

 代碼如下 複製代碼

chkconfig oracle on

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.