Linux下的Oracle 11gr2安裝完成的的自啟動操作。


Linux下的Oracle在安裝結束后是處於運行狀態的。重啟機器后,Oracle不會像在Windows下那樣將Oracle添加到Windows服務,在linux下需要手動啟動Orcle服務

  1. 以oracle用戶下,執行下面的命令  
  2. 進入sqlplus  
  3. $ sqlplus /nolog  
  4. 以sysdba的身份連接到數據庫,並啟動Oracle數據庫引擎  
  5. SQL> conn /as sysdba  
  6. SQL> startup  
  7. 退出sqlplus,運行Listener  
  8. SQL> exit  
  9. $ lsnrctl start  

這樣就可以連接到Oracle數據庫了。如果想用Oracle提供的EM來管理Oracle的話還需要啟動EM控制台,運行如下命令:

 

  1. $ 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命令會報這樣的錯誤

 

  1. ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener  
  2. Usage: /u01/app/oracle/product/11.2/db/bin/dbstart ORACLE_HOME  

出現這樣錯誤的原因是由於沒有設置ORACLE_HOME_LISTNER的原因,我們查看一下dbstart這個文件

 

  1. more  /home/oracle_11/app/oracle/product/11.2/db/bin/dbstart  

部分內容如下

  1. # First argument is used to bring up Oracle Net Listener  
  2. ORACLE_HOME_LISTNER=$1  
  3. if [ ! $ORACLE_HOME_LISTNER ] ; then  
  4.   echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"  
  5.   echo "Usage: $0 ORACLE_HOME"  
  6. else  
  7.   LOG=$ORACLE_HOME_LISTNER/listener.log  
  8.   # Set the ORACLE_HOME for the Oracle Net Listener, it gets reset to  
  9.   # a different ORACLE_HOME for each entry in the oratab.  
  10.   export ORACLE_HOME=$ORACLE_HOME_LISTNER  

解決方案就算將$ORACLE_HOME賦值給$ORACLE_HOME_LINTNER,保存,退出

再一次執行dbstart,但是沒有反映,沒有報錯,如果我們需要使用dbstart,則需要在/etc/oratab這個文件中的實例最后的N改成Y,如下

 

  1. orcl:/home/oracle_11/app/oracle/product/11.2/db:Y  

 

OK,保存,再試一下dbstart命令,返回結果如下

  1. 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腳本文件,文件內容如下:

 

  1. #!/bin/bash  
  2. # chkconfig: 2345 90 10  
  3. export ORACLE_BASE=/home/oracle_11/app/  
  4. export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1  
  5. export ORACLE_SID=orcl  
  6. export PATH=$PATH:$ORACLE_HOME/bin  
  7. ORCL_OWN="oracle"  
  8. # if the executables do not exist -- display error  
  9. if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]  
  10. then  
  11.    echo "Oracle startup: cannot start"  
  12.    exit 1  
  13. fi  
  14. # depending on parameter -- start, stop, restart  
  15. # of the instance and listener or usage display  
  16. case "$1" in  
  17. start)  
  18. # Oracle listener and instance startup  
  19. echo -n "Starting Oracle: "  
  20. su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbstart"  
  21. touch /var/lock/subsys/oradb  
  22. su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl start dbconsole"  
  23. echo "OK"  
  24. ;;  
  25. stop)  
  26. # Oracle listener and instance shutdown  
  27. echo -n "Shutdown Oracle: "  
  28. su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl stop dbconsole"  
  29. su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbshut"  
  30. rm -f /var/lock/subsys/oradb  
  31. echo "OK"  
  32. ;;  
  33. reload|restart)  
  34. $0 stop  
  35. $1 start  
  36. ;;  
  37. *)  
  38. echo "Usage: 'basename $0' start|stop|restart|reload"  
  39. exit 1  
  40. esac  
  41. exit 0  

將該文件添加到開機啟動

 

  1. # chmod 755 /etc/rc.d/init.d/oradb  
  2. # chkconfig --add oradb  

重啟服務

 

  1. # service oradb stop  
  2. # 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM