如何讓oracle DB、監聽和oem開機啟動(dbstart)
如何讓oracle DB、監聽和oem開機啟動(dbstart)
讓oracle DB、監聽和oem開機啟動(dbstart)
Oracle提供了伴隨作業系統自動重啟的功能,在Windows中,可以修改“我的電腦-->管理-->服務-->OracleService$ORACLE_SID”,或直接使用Win+R鍵開啟執行視窗,輸入services.msc即可開啟服務,找到相應的Oracle服務,然後將其屬性中的啟動型別修改成自動。一般在Windows系統上安裝完後會自動設定成自動。
對於Linux/Unix作業系統,如果想設定自動重啟,那該如何操作呢?對此Oracle提供了dbstart命令用於啟動,可以有2種方法來配置。
1.1.1.1 方法1:配置Linux的service服務
1. 修改/etc/oratab
[root@oracle ~]#vim /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y #將N改為Y
檔案/etc/oratab由root.sh指令碼建立,在用DBCA建立例項時也會更新這個檔案。當$ORACLE_SID:$ORACLE_HOME:設定為Y時,允許例項自啟動,當設定為N時,則不允許自啟動。這個檔案裡的配置僅僅起一個開關的作用,其並不會具體的執行啟動和關閉,具體的操作由$ORACLE_HOME/bin/dbstart和dbshut指令碼來實現。這2個指令碼在執行時會檢查/etc/oratab檔案裡的配置,為Y時才能繼續執行。
2. 修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut
[root@oracle ~]#vim $ORACLE_HOME/bin/dbstart
[root@oracle ~]#vim $ORACLE_HOME/bin/dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME ($1改為$ORACLE_HOME)
ORACLE_HOME_LISTNER的位置:Oracle 11g的dbstart在第80行,dbshut檔案中在第50行。
3. 建立啟動指令碼
使用root使用者建立指令碼:
[root@oracle ~]#vim /etc/rc.d/init.d/oracle
#!/bin/bash
# chkconfig: 2345 99 10
# description: Startup Script for oracle Databases
# /etc/rc.d/init.d/oracle
export ORACLE_BASE=/u01/app/oracle/
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_UNQNAME=PROD1
echo " " >> /var/log/oraclelog
echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog
case "$1" in
start)
echo "-----startup oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbstart"
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracle
echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog
echo "-----startup oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
stop)
echo "-----shutdown oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f /var/lock/subsys/oracle
echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelogg
echo "-----shutdown oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
restart)
echo "-----shutdown oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f /var/lock/subsys/oracle
echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog
echo "-----shutdown oracle successful-----" >> /var/log/oraclelog
echo "-----startup oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbstart"
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracle
echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog
echo "-----startup oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
*)
echo "Usage: 'basename $0' start|stop|restart"
exit 1
esac
exit 0
4. 給指令碼設定許可權
[root@oracle ~]# chmod 755 /etc/rc.d/init.d/oracle
5. 建立服務
[root@oracle ~]# chkconfig --add oracle
[root@oracle ~]# chkconfig oracle on
[root@oracle ~]# chkconfig --list oracle
oracle 0:off 1:off 2:on 3:on 4:on 5:on 6:off
6. 檢查是否生效
先使用root使用者測試服務是否生效:
[root@edsir4p1 ~]# service oracle stop
[root@edsir4p1 ~]# service oracle start
[root@edsir4p1 ~]# service oracle restart
再重啟OS,驗證是否生效。
使用service測試:
[root@edsir4p1 ~]# service oracle stop
Processing Database instance "PROD1": log file /u01/app/oracle/product/11.2.0/dbhome_1/shutdown.log
Processing Database instance "PROD2": log file /u01/app/oracle/product/11.2.0/dbhome_1/shutdown.log
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
Stopping Oracle Enterprise Manager 11g Database Control ...
... Stopped.
OK
[root@edsir4p1 ~]# service oracle start
Processing Database instance "PROD1": log file /u01/app/oracle/product/11.2.0/dbhome_1/startup.log
Processing Database instance "PROD2": log file /u01/app/oracle/product/11.2.0/dbhome_1/startup.log
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
Starting Oracle Enterprise Manager 11g Database Control ..... started.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0/dbhome_1/edsir4p1.us.oracle.com_PROD1/sysman/log
OK
1.1.1.2 方法2:配置/etc/rc.d/rc.local檔案
1. 修改/etc/oratab
[root@oracle ~]#vim /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y #將N改為Y
2. 修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut
[root@oracle ~]#vim $ORACLE_HOME/bin/dbstart
[root@oracle ~]#vim $ORACLE_HOME/bin/dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME ($1改為$ORACLE_HOME)
ORACLE_HOME_LISTNER的位置:Oracle 11g的dbstart在第80行,dbshut檔案中在第50行。
3. 建立啟動指令碼
將以下指令碼新增到/etc/rc.d/rc.local或/etc/rc.local檔案中(/etc/rc.local是/etc/rc.d/rc.local的軟連線檔案):
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
su oracle -c $ORACLE_HOME/bin/dbstart
export ORACLE_UNQNAME=PROD1
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
若環境中沒有建立EM,則可以不用新增ORACLE_UNQNAME,和emctl這2行。
需要注意的是,/etc/rc.local是/etc/rc.d/rc.local的軟連線檔案,如下所示:
[oracle@edsir4p1-PROD1 ~]$ ll /etc/rc.local
lrwxrwxrwx 1 root root 13 Aug 31 2013 /etc/rc.local -> rc.d/rc.local
[oracle@edsir4p1-PROD1 ~]$ ll /etc/rc.d/rc.local
-rwxr-xr-x 1 root root 401 Jan 2 03:51 /etc/rc.d/rc.local
需要注意的是,在CentOS7中,/etc/rc.d/rc.local的許可權被降低了,所以需要執行如下命令賦予其可執行許可權
chmod +x /etc/rc.d/rc.local
4. 檢查是否生效
先使用root使用者測試服務是否生效:
[root@edsir4p1 ~]# export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
[root@edsir4p1 ~]# su oracle -c $ORACLE_HOME/bin/dbstart
Processing Database instance "PROD1": log file /u01/app/oracle/product/11.2.0/dbhome_1/startup.log
Processing Database instance "PROD2": log file /u01/app/oracle/product/11.2.0/dbhome_1/startup.log
再重啟OS,驗證是否生效。
1.1.1.3 總結
對於這2種方法,需要注意的幾個問題:
1. 多個例項都會自動重啟。
2. 監聽也會自動重啟。
3. 重啟的詳細日誌為:$ORACLE_HOME/shutdown.log和$ORACLE_HOME/startup.log。
4. oracle使用者的環境變數可以不用配置。
5. ORACLE_UNQNAME的作用是設定EM的環境變數,emctl是啟動OEM,若沒有則可以不用設定。
6. ORACLE_HOME的作用是設定資料庫監聽的環境變數。
7. 對於ASM、RAC環境,只需要將資料庫資源註冊的CRS中,即可實現開機啟動。
About Me
.............................................................................................................................................
● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除
● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新
● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/
● 本文部落格園地址:http://www.cnblogs.com/lhrbest
● 本文pdf版、個人簡介及小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/
● 資料庫筆試面試題庫及解答:http://blog.itpub.net/26736162/viewspace-2134706/
● DBA寶典今日頭條號地址:
.............................................................................................................................................
● QQ群號:230161599(滿)、618766405
● 微信群:可加我微信,我拉大家進群,非誠勿擾
● 聯絡我請加QQ好友(646634621),註明新增緣由
● 於 2018-01-01 06:00 ~ 2018-01-31 24:00 在魔都完成
● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解
● 版權所有,歡迎分享本文,轉載請保留出處
.............................................................................................................................................
● 小麥苗的微店:
● 小麥苗出版的資料庫類叢書:http://blog.itpub.net/26736162/viewspace-2142121/
● 好訊息:小麥苗OCP、OCM開班啦,詳情請點選:http://blog.itpub.net/26736162/viewspace-2148098/
.............................................................................................................................................
使用微信客戶端掃描下面的二維碼來關注小麥苗的微信公眾號(xiaomaimiaolhr)及QQ群(DBA寶典),學習最實用的資料庫技術。
小麥苗的微信公眾號 小麥苗的DBA寶典QQ群2 《DBA筆試面寶典》讀者群 小麥苗的微店
.............................................................................................................................................
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2149597/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【DB寶49】Oracle如何設定DB、監聽和EM開機啟動Oracle
- linux下開機使用dbstart和dbshut自動啟動和關閉db!Linux
- LINUX下開機使用dbstart和dbshut自動啟動和關閉dbLinux
- 【OEM】Oracle oem取消開機自動啟動(linux)OracleLinux
- LINUX開機自動啟動ORACLE資料庫和監聽指令碼LinuxOracle資料庫指令碼
- 在linux下使用dbstart和dbshut啟動和關閉db!Linux
- Oracle啟動兩個監聽Oracle
- oracle靜態監聽和動態監聽Oracle
- oracle監聽開啟trace fileOracle
- Linux 下Oracle 開機自啟動 與 oratab, dbstart 指令碼 說明LinuxOracle指令碼
- Oracle監聽日誌2g-監聽啟動報錯Oracle
- 自動重新啟動oracle監聽程式 for windowsOracleWindows
- Oracle監聽啟動後自動關閉Oracle
- Oracle監聽服務無法啟動Oracle
- oracle 監聽重啟Oracle
- 【listener】oracle靜態監聽和動態監聽 【轉載】Oracle
- ORACLE動態監聽與靜態監聽Oracle
- 【oracle】動態監聽與靜態監聽Oracle
- oracle動態和靜態監聽listenerOracle
- 動態監聽和靜態監聽
- 配置作業系統重啟後,Oracle資料庫和監聽自動啟動作業系統Oracle資料庫
- linux平臺下監聽器和Oracle的自動啟動與停止LinuxOracle
- Android開機和關機廣播監聽Android
- Oracle 動態監聽配置Oracle
- 啟動資料庫監聽資料庫
- oracle資料庫監聽啟動不了的原因分析Oracle資料庫
- linux下dbstart,dbshut無法執行和自動啟動Oracle的辦法LinuxOracle
- oracle開機啟動Oracle
- 資料庫開啟監聽資料庫
- oracle 10g rac當監聽程式監聽對方vip時啟動監聽報錯TNS-12545Oracle 10g
- oracle監聽之動態和靜態註冊Oracle
- 配置Oracle資料庫和監聽隨Linux系統自啟動(轉)Oracle資料庫Linux
- 【AUTO】配置Oracle資料庫和監聽隨Linux系統自啟動Oracle資料庫Linux
- Linux上oracle怎麼啟動OEMLinuxOracle
- ORACLE動態監聽總結Oracle
- oracle 監聽 靜態 動態Oracle
- Oracle 動態監聽註冊Oracle
- 2.5.4. 測試Oracle net——2.5.4.1. 啟動監聽程式Oracle