日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

linux下Oracle自動啟動與停止(二)

 CJOL藏經閣 2014-07-22
分類: 數據庫開發(fā) 2009-04-07 16:40 3101人閱讀 評論(2) 收藏 舉報
  1. 概述
    讓數據庫在操作系統啟動的時候自動啟動,會讓數據庫的維護變得更加簡單、方便。
    曾經寫過一篇在linux自動啟動oracle的文章“linux下Oracle自動啟動與停止(一)http://blog.csdn.net/chenxiaohua/archive/2008/02/26/2121878.aspx。該文章restart db的方法需要用到/etc/oratab、$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut,顯得不夠靈活。下面講解另外一個方法自動啟動多個oracle實例和監(jiān)聽器。
    文章“創(chuàng)建、啟動oracle數據庫”講述了怎樣創(chuàng)建多個數據庫和實例,并啟動這些實例,現在將講述怎樣在系統啟動的時候,自動啟動這些數據庫。
  2. 編寫腳本
    用root用戶,進入進入目錄/etc/rc.d/init.d,創(chuàng)建文件oracle_linuxdb,該腳本用于啟動實例linuxdb,內容如下:
    1. #!/bin/sh   
    2. #chkconfig: 2345 80 80   
    3. #description:oracle_linuxdb   
    4. #   
    5. # /etc/rc.d/init.d/oracle_linuxdb   
    6. # auto start database LINUXDB instance   
    7.   
    8. #set oracle env   
    9. export ORACLE_BASE=/home/ora/ora9  
    10. export ORACLE_HOME=$ORACLE_BASE/oracle  
    11. export PATH=$PATH:$ORACLE_HOME/bin  
    12. ORACLE_USER=ora  
    13.   
    14.   
    15. #start or stop script   
    16. case $1 in  
    17. start)  
    18. su - "$ORACLE_USER"<<EOO  
    19. export ORACLE_SID=linuxdb  
    20. lsnrctl start LISTENER_LINUXDB  
    21. sqlplus /nolog<<EOS  
    22. connect / as sysdba  
    23. startup  
    24. EOS  
    25. EOO  
    26. ;;  
    27.   
    28. stop)  
    29. su - "$ORACLE_USER"<<EOO  
    30. export ORACLE_SID=linuxdb  
    31. lsnrctl stop LISTENER_LINUXDB  
    32. sqlplus /nolog<<EOS  
    33. connect / as sysdba  
    34. shutdown immediate  
    35. EOS  
    36. EOO  
    37. ;;  
    38.   
    39. *)  
    40. echo "Usage: $0 {start|stop}"  
    41. ;;  
    42. esac  

    在上面的代碼是一個shell腳本,首先設置oracle相關的環(huán)境變量,注意ORACLE_SID指定了啟動的實例名。
    然后賦予oracle_linuxdb執(zhí)行權限,執(zhí)行命令:chmod +x oracle_linuxdb
    下面可以運行該腳本,進行測試。
    啟動,運行命令:./oracle_linuxdb start
    關閉,執(zhí)行命令:./oracle_linuxdb stop
    可以用sqlplus user/pass@tnsname來測試啟動和關閉數據庫是否成功。

    創(chuàng)建文件oracle_wldev,用于啟動數據庫實例wldev,內容如下:
    1. #!/bin/sh   
    2. #chkconfig: 2345 80 80   
    3. #description:oracle_wldev   
    4. #   
    5. # /etc/rc.d/init.d/oracle_wldev   
    6. # auto start database WLDEV  instance   
    7.   
    8. #set oracle env   
    9. export ORACLE_BASE=/home/ora/ora9  
    10. export ORACLE_HOME=$ORACLE_BASE/oracle  
    11. export PATH=$PATH:$ORACLE_HOME/bin  
    12. ORACLE_USER=ora  
    13.   
    14.   
    15. #start or stop script   
    16. case $1 in  
    17. start)  
    18. su - "$ORACLE_USER"<<EOO  
    19. export ORACLE_SID=wldev  
    20. lsnrctl start LISTENER_WLDEV  
    21. sqlplus /nolog<<EOS  
    22. connect / as sysdba  
    23. startup  
    24. EOS  
    25. EOO  
    26. ;;  
    27.   
    28. stop)  
    29. su - "$ORACLE_USER"<<EOO  
    30. export ORACLE_SID=wldev  
    31. lsnrctl stop LISTENER_WLDEV  
    32. sqlplus /nolog<<EOS  
    33. connect / as sysdba  
    34. shutdown immediate  
    35. EOS  
    36. EOO  
    37. ;;  
    38.   
    39. *)  
    40. echo "Usage: $0 {start|stop}"  
    41. ;;  
    42. esac  

    然后賦予oracle_wldev執(zhí)行權限,執(zhí)行命令:chmod +x oracle_wldev
    下面可以運行該腳本,進行測試。
    啟動,運行命令:./oracle_wldev start
    關閉,執(zhí)行命令:./oracle_wldev stop
    可以用sqlplus http://blog.csdn.net/chenxiaohua/article/details/mailto:user/pass@tnsname來測試啟動和關閉數據庫是否成功。

    現在有了啟動和關閉oracle的腳本,只要把這些腳本設置好,讓系統在啟動和關閉的時候,自動執(zhí)行就好了。
  3. 發(fā)布
    執(zhí)行如下命令:
    chkconfig --add oracle_linuxdb
    chkconfig --add oracle_wldev
    chkconfig命令運行成功后,在rc2.d,rc3.d,rc4.d,rc5.d下面建立了S80oracle_linuxdb和S80oracle_wldev兩個連接文件,可以在系統啟動的時候,運行腳本啟動數據庫。在rc0.d、rc1.d和rc6.d目錄下面建立了K80oracle_linuxdb和K80oracle_wldev文件,用于在系統關閉的時候自動運行腳本關閉數據庫。

    關于chkconfig的用法,可以通過man chkconfig查看。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多