Linux下Oracle 11gR2開機自啟動操作
Linux下的Oracle在安裝結束後是處於運行狀態的。開機重啟機器後,Oracle不會像在Windows下那樣將Oracle添加到Windows服務,在linux下需要手動啟動Orcle服務
- 以oracle使用者下,執行下面的命令
- 進入sqlplus
- $ sqlplus /nolog
- 以sysdba的身份串連到資料庫,並啟動Oracle資料庫引擎
- SQL> conn /as sysdba
- SQL> startup
- 退出sqlplus,運行Listener
- SQL> exit
- $ lsnrctl start
這樣就可以串連到Oracle資料庫了。如果想用Oracle提供的EM來管理Oracle的話還需要啟動EM控制台,運行如下命令:
- $ emctl start dbconsole
這樣就可以通過http://localhost:1158/em/來訪問EM控制台了。
使用dbstart和dbstop來啟動Oracle服務
安裝過程中遇到的問題:
1,安裝過程中遇到亂碼:
這是因為oracle不支援中文造成的。你可以先使用命令 export LANG=en將環境臨時換成英文,然後再安裝。這個環境變數的修改只是臨時的,重啟後或者使用oracle使用者登入時會自己換回來的
2,如在安裝過程中出現如下錯誤:
[INS-32031]Invalid inventory location
[INS-32033]Central Inventory location is not vritable
解決辦法:修改/home/oracle_11的許可權
chown -R oracle:oinstall /home/oracle_11就行
可能使用dbstart命令來啟動資料庫更方便一些,但初次安裝完oracle之後使用dbstart命令會報這樣的錯誤
- ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
- Usage: /u01/app/oracle/product/11.2/db/bin/dbstart ORACLE_HOME
出現這樣錯誤的原因是由於沒有設定ORACLE_HOME_LISTNER的原因,我們查看一下dbstart這個檔案
- more /home/oracle_11/app/oracle/product/11.2/db/bin/dbstart
部分內容如下
- # First argument is used to bring up Oracle Net Listener
- ORACLE_HOME_LISTNER=$1
- 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
- # Set the ORACLE_HOME for the Oracle Net Listener, it gets reset to
- # a different ORACLE_HOME for each entry in the oratab.
- export ORACLE_HOME=$ORACLE_HOME_LISTNER
解決方案就算將$ORACLE_HOME賦值給$ORACLE_HOME_LINTNER,儲存,退出
再一次執行dbstart,但是沒有反映,沒有報錯,如果我們需要使用dbstart,則需要在/etc/oratab這個檔案中的執行個體最後的N改成Y,如下
- orcl:/home/oracle_11/app/oracle/product/11.2/db:Y
OK,儲存,再試一下dbstart命令,返回結果如下
- Processing Database instance "orcl": log file /home/oracle_11/app/oracle/product/11.2.0/db_1/startup.log
dbshut進行同樣的設定.這樣,以後就可以在啟動監聽之後直接使用dbstart和dbshut命令來啟動和關閉資料了
將Oracle服務添加到Linux開機啟動項,以root使用者建立/etc/rc.d/init.d/oradb指令檔,檔案內容如下:
- #!/bin/bash
- # chkconfig: 2345 90 10
- export ORACLE_BASE=/home/oracle_11/app/
- export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1
- export ORACLE_SID=orcl
- export PATH=$PATH:$ORACLE_HOME/bin
- ORCL_OWN="oracle"
- # if the executables do not exist -- display error
- if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
- then
- echo "Oracle startup: cannot start"
- exit 1
- fi
- # depending on parameter -- start, stop, restart
- # of the instance and listener or usage display
- case "$1" in
- start)
- # Oracle listener and instance startup
- echo -n "Starting Oracle: "
- su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbstart"
- touch /var/lock/subsys/oradb
- su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl start dbconsole"
- echo "OK"
- ;;
- stop)
- # Oracle listener and instance shutdown
- echo -n "Shutdown Oracle: "
- su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl stop dbconsole"
- su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbshut"
- rm -f /var/lock/subsys/oradb
- echo "OK"
- ;;
- reload|restart)
- $0 stop
- $1 start
- ;;
- *)
- echo "Usage: 'basename $0' start|stop|restart|reload"
- exit 1
- esac
- exit 0
將該檔案添加到開機啟動
- # chmod 755 /etc/rc.d/init.d/oradb
- # chkconfig --add oradb
重啟服務
- # service oradb stop
- # service oradb start
下次啟動機器的時候,Oracle服務會隨機器一起啟動。
Oracle資料庫安裝、配置完成。
Tip:Oracle資料庫的預設連接埠號碼:1521,Oracle提供的EM管理器預設連接埠號碼是1158。
卸載:
oracle在linux下安裝時雖然很繁瑣,但是卸載卻異常簡單,只要把相關檔案刪除即可!!!
oracle11g內建一個卸載批處理home/oracle/product/11.2.0/dbhome_1/deinstall/deinstall
運行該處理檔案自動完成卸載oracle卸載工作,最後手動刪除\app檔案夾
在啟動並執行過程中可能需要填寫如下項:
指定要取消配置的所有單一實例監聽程式[LISTENER]: LISTENER
指定在此oracle主目錄中配置的資料庫名的列表[MYDATA,ORCL]:MYDATA,ORACL
是否仍要修改MYDATA,ORACL資料庫的詳細資料?[n]:n
CCR check is finished
是否繼續[y-是,n-否]?[n]:y