Linux下建立Oracle服務及其開機自啟動

2021-09-14 01:34:51 字數 3183 閱讀 9643

開發十年,就只剩下這套架構體系了! >>>

說明:以下操作環境在centos 6.4 + oracle 11gr2(oracle安裝在oracle_base=/opt/oracle中,其oracle_home=/opt/oracle/11g)

用oui安裝並配置oracle資料庫後,oracle就開啟了(包括:資料庫例項、***、em)。在重啟作業系統之後,oracle預設是沒有啟動的。使用如下命令檢視oracle相關服務是否已啟動:

ps aux | grep ora_ #若無ora_**_**相關的程序,則oracle資料庫例項未啟動

netstat -tlnup | grep 1521 #若無任何顯示,則***未啟動

lsnrctl status #檢視***狀態

netstat -tlnup | grep 1158 #若無任何顯示,則em未啟動

emctl status dbconsole #檢視em狀態

手工啟動oracle例項,可用sqlplus建立乙個idle instance,然後再用startup啟動,如下:

資料庫例項啟動之後,需啟動***,才能讓遠端使用者建立連線。可使用如下命令啟動***:

lsnrctl start
emctl start dbconsole
如果每次重啟作業系統都要進行以上操作好麻煩,那麼如何讓oracle作為系統服務在開機的時候自動啟動呢?

oracle在$oracle_home/bin下提供許多對資料庫進行操作的指令碼,其中dbstart和dbshut可分別用來啟動和關閉資料庫。注意,這兩個指令碼已包含***的啟動或關閉,但並未對em進行相關的操作。使用如下命令:

/opt/oracle/11g/bin/dbstart /opt/oracle/11g #啟動資料庫例項(包含***)

/opt/oracle/11g/bin/dbshut /opt/oracle/11g #關閉資料庫例項(包括***)

以上命令要成功啟動資料庫例項還得開啟oracle設定的乙個關卡:vi /etc/oratab,修改行:

orcl:/opt/oracle/11g:y #預設為orcl:/opt/oracle/11g:n
以root身份建立開機啟動oracle服務的指令碼:vi /etc/init.d/oracle,新增如下指令碼:

#!/bin/sh

#chkconfig: 2345 20 80

#description: oracle dbstart / dbshut

#以上兩行為chkconfig所需

ora_home=/opt/oracle/11g

ora_owner=oracle

logfile=/var/log/oracle.log

echo "#################################" >> $

date +"### %t %a %d: run oracle" >> $

if [ ! -f $/bin/dbstart ] || [ ! -f $/bin/dbshut ]; then

echo "error: missing the script file $/bin/dbstart or $/bin/dbshut!" >> $

echo "#################################" >> $

exit

fistart() -c "$/bin/dbstart $"

echo "###done."

echo "###run database control..."

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

echo "###done."

}stop() -c "$/bin/emctl stop dbconsole"

echo "###done."

echo "###shutdown database..."

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

echo "###done."

}case "$1" in

'start')

start >> $

;;'stop')

stop >> $

;;'restart')

stop >> $

start >> $

;;esac

date +"### %t %a %d: finished." >> $

echo "#################################" >> $

echo ""

使用如下命令將 /etc/init.d/oracle 置為可執行檔案:

chmod a+x /etc/init.d/oracle
至此,可使用如下命令對oracle進行啟動和關閉

/etc/init.d/oracle start #啟動oracle(包括資料庫例項、***、em)

/etc/init.d/oracle stop #關閉oracle

/etc/init.d/oracle restart #重啟oracle

將 oracle 新增到 chkconfig中:

chkconfig --add oracle
可使用如下命令檢視和設定oracle服務的開機啟動級別:

chkconfig | grep oracle #檢視oracle服務的開機啟動級別

chkconfig --level 24 oracle off #修改oracle服務的開機啟動級別

chkconfig --level 35 oracle on

至此可使用如下命令對oracle的啟動或關閉進行管理

service oracle start #啟動

service oracle stop #關閉

service oracle restart #重啟

建立連線:

ln -s /etc/init.d/oracle /etc/rc0.d/k01oracle   #關機執行

ln -s /etc/init.d/oracle /etc/rc6.d/k01oracle #重啟執行

linux下建立crontab定時清理服務任務

1.編寫定時任務指令碼 bin bash for i in find type f name log size 800m do echo i cat dev null i done2.生成新的crontab定時任務 crontab e 之後在開啟的檔案裡新增每分鐘定時清理指令碼,配置更新後會自動識別...

Linux下oracle自動啟動監聽及服務

在linux啟動時自動啟動oracle監聽和例項 首先要解決上面的問題,才能繼續喲!第一步 修改 etc oratab檔案,命令如下 oracle oracle11g vi etc oratab 找到 accp u01 oracle n 修改為 accp u01 oracle y 第二步 把lsnr...

linux下修改apache,nginx服務埠號

一 linux下修改apache埠號 yum安裝後,apache配置檔案 etc httpd conf httpd.conf 找到apache目錄下的 httpd.conf,使用vi 開啟,找到 port 80 這一行,把80改成在此伺服器上沒有用到的埠號,儲存退出。二 linux下修改xampp裡...