Oracle設置DB、監(jiān)聽和EM開機啟動的方法
一、Windows系統(tǒng)
Oracle提供了隨操作系統(tǒng)啟動而啟動的功能,在Windows和Linux中,分別有不同的設置方法。
在Windows中,可以修改“我的電腦-->管理-->服務-->OracleService$ORACLE_SID”,或直接使用Win+R鍵打開運行窗口,輸入services.msc即可打開服務,找到相應的Oracle服務,然后將其屬性中的啟動類型修改成自動。一般在Windows系統(tǒng)上安裝完后會自動設置成自動。
二、Linux系統(tǒng)
對于Linux/Unix操作系統(tǒng),如果想設置自動重啟,那么該如何操作呢?對此Oracle提供了dbstart命令用于啟動。
首先,第一步,需要修改/etc/oratab
文件,將N修改為Y
[root@oracle ~]# vim /etc/oratab LHR11G:/u01/app/oracle/product/11.2.0.4/dbhome_1:Y #將N改為Y
文件/etc/oratab
由root.sh腳本創(chuàng)建,在用dbca命令創(chuàng)建實例時也會更新這個文件。當$ORACLE_SID:$ORACLE_HOME:<N|Y>
設置為Y時,允許實例自啟動,當設置為N時,則不允許自啟動。這個文件里的配置僅僅起一個開關的作用,其并不會具體的執(zhí)行啟動和關閉,具體的操作由$ORACLE_HOME/bin/dbstart
和dbshut腳本來實現(xiàn)。這2個腳本在執(zhí)行時會檢查/etc/oratab
文件里的配置,為Y時才能繼續(xù)執(zhí)行。
接下來需要配置開機啟動文件,有2種辦法:
方法1:配置/etc/rc.d/rc.local文件(推薦)
在配置了/etc/oratab
文件后,然后將以下腳本添加到/etc/rc.d/rc.local或/etc/rc.local文件中(/etc/rc.local是/etc/rc.d/rc.local的軟連接文件):
cat >> /etc/rc.d/rc.local <<"EOF" # 重啟DB export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1 su oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" # 重啟EM export ORACLE_UNQNAME=LHR11G su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole" EOF
該方法需要注意以下問題:
1、若環(huán)境中沒有創(chuàng)建EM,則可以不用添加ORACLE_UNQNAME和emctl這2行
2、從Oracle 12c開始,由于EMDE(Enterprise Manager Database Express)替代了原有的EMDC(Enterprise Manager Database Control),所以,不再單獨設置EM相關內容,只需要配置DB即可,例如:
cat >> /etc/rc.d/rc.local <<"EOF" # 重啟DB export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1 su oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" EOF
3、在CentOS 7中,/etc/rc.d/rc.local的權限被降低了,所以需要執(zhí)行如下命令賦予其可執(zhí)行權限:
chmod +x /etc/rc.d/rc.local
最后就可以重啟OS做測試工作了。
方法2:配置service服務
1. 建立啟動腳本
使用root用戶創(chuàng)建腳本/etc/rc.d/init.d/oracle
,腳本內容如下,注意修改第6-9行的相關內容:
#!/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.4/dbhome_1 export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_UNQNAME=LHR11G 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
2. 給腳本設置權限
[root@oracle ~]# chmod 755 /etc/rc.d/init.d/oracle
3.建立服務
[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
4.檢查是否生效
先使用root用戶測試服務是否生效:
[root@oracle ~]# service oracle stop [root@oracle ~]# service oracle start [root@oracle ~]# service oracle restart
再重啟OS,驗證是否生效。
三、Oracle 18c版本
從Oracle 18c開始,對于單機環(huán)境來說,可以使用rpm包來直接安裝Oracle軟件,在安裝完成后,會生成一個腳本,類似 /etc/init.d/oracledb_$ORACLE_SID-$ORACLE_VERSION
,該腳本可以用來啟動和關閉Oracle軟件,所以也可以使用該腳本來直接配置開機啟動:
cat >> /etc/rc.d/rc.local <<"EOF" /etc/init.d/oracledb_ORCLCDB-18c start /etc/init.d/oracledb_lhrsdb-18c start EOF chmod +x /etc/rc.d/rc.local
重啟OS,測試通過。
四、總結
對于這2種方法,需要注意的幾個問題:
- 若有多個實例,那么多個實例都會自動啟動。
- 監(jiān)聽也會自動啟動。
- 若數(shù)據庫小于18c,則重啟的詳細日志為:
$ORACLE_HOME/shutdown.log
和$ORACLE_HOME/startup.log
。從Oracle 18c開始,dbstart的日志文件在$ORACLE_HOME/rdbms/log/startup.log
- oracle用戶的環(huán)境變量可以不用配置。
ORACLE_UNQNAME
的作用是設置EM的環(huán)境變量,emctl是啟動OEM,若沒有則可以不用設置。ORACLE_HOME
的作用是設置數(shù)據庫監(jiān)聽的環(huán)境變量。- 對于Oracle 10.2.0.1來說,監(jiān)聽不能自動啟動。需要修改腳本
$ORACLE_HOME/bin/dbstart
,修改ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
為“ORACLE_HOME_LISTNER=$1
” - 對于ASM、RAC環(huán)境,只需要將數(shù)據庫資源注冊到CRS中,即可實現(xiàn)開機啟動。
- 從Oracle 18c開始,可以使用腳本
/etc/init.d/oracledb_$ORACLE_SID-$ORACLE_VERSION
來啟動Oracle數(shù)據庫。 - 以上方法在Oracle 10g、11g、12cR1(12.1.0.2)、12cR2(12.2.0.1)、18c(12.2.0.2)和19c(12.2.0.3)中測試通過。
到此這篇關于Oracle設置DB、監(jiān)聽和EM開機啟動的方法的文章就介紹到這了,更多相關Oracle設置DB、監(jiān)聽和EM開機啟動內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Oracle 數(shù)據倉庫ETL技術之多表插入語句的示例詳解
Oracle 數(shù)據庫為 ETL 流程提供了豐富的功能,今天我們就給大家介紹一下 Oracle 多表插入語句,也就是 INSERT ALL 語句,今天通過示例代碼給大家介紹Oracle 數(shù)據倉庫 ETL 技術之多表插入語句的相關知識,感興趣的朋友一起看看吧2021-04-04Oracle數(shù)據庫新裝之后出現(xiàn)的監(jiān)聽程序無法正常啟動和運行(Oracle-12514)問題
這篇文章主要介紹了Oracle數(shù)據庫新裝之后出現(xiàn)的監(jiān)聽程序無法正常啟動和運行(Oracle-12514)問題,需要的朋友可以參考下2018-11-11Oracle19c最新版保姆級別最詳細的安裝配置教程(2023年)
這篇文章主要給大家介紹了關于Oracle19c最新版保姆級別安裝配置教程的相關資料,19c作為原有序列的12c最后一個版本,可以說是集大成的版本,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-07-07連接Oracle數(shù)據庫失敗(ORA-12514)故障排除全過程
Oracle連接失敗是指在使用Oracle數(shù)據庫進行開發(fā)的過程中,服務器端無法與客戶端連接,從而導致Oracle連接無法成功,影響開發(fā)的效率,下面這篇文章主要給大家介紹了關于連接Oracle數(shù)據庫失敗(ORA-12514)故障排除的相關資料,需要的朋友可以參考下2023-05-05在客戶端配置TNS測試報錯ORA-12170:TNS:連接超時
在Red Hat Enterprise Linux Server Releae 5.5 成功安裝ORACLE 10g 后,在客戶端配置TNS后,測試是否可以連接到數(shù)據塊服務器,結果報錯:ORA-12170:TNS:連接超時2012-12-12