背景:
作為一個程序員,在日常的工作中,我們電腦經常需要同時運行很多程序,如:Eclipse、浏覽器、即時通訊軟件等,甚至經常需要打開幾個Office文檔或者pdf文檔。這時候你的內存估計已經爆表了吧,尤其是現在想Chrome和FireFox這類的浏覽器,隨便安裝幾個插件,內存占用就大得驚人。而我們為了滿足需要又不得不安裝各種各樣的插件,因為這兩款浏覽器在不安裝任何插件的情況下跟IE沒什麼分別。
如上圖所示,FireFox、Java的兩個進程還有Eclipse穩穩地占據了內存使用的前四,而這時候如果你電腦還開著Oracle的服務,那麼你的電腦會卡到令人發指。
把電腦升級到8G內存,剛開始覺得很爽,沒過多長時間,又變得很慢了。還真是給它多少內存,它就敢給你用多少內存呀。無限制的升級硬件顯然是不實際的方法,所以我們需要從軟件上動腦筋,這句需要我們把平時不常用的服務以及後台進程關掉。
浏覽器我們每天都離不開,而且關掉主程序也不會有後台進程,所以我們的目標不是它;Java進程和Eclipse每天開放也離不開它們,所以也不能對它們下黑手;嘿嘿,Oracle不好意思啦,只能將你干掉了,因為有了Hibernate之類的框架,讓我們在寫代碼的時候不需要知道我們將要面向什麼數據庫。所以我們完全沒有必要在自己的機器上每天開著Oracle的那些笨重的後台服務。一個小小的MySQL完全可以應付,所以我們只需要將它的服務全部關掉,用的時候再打開即可。
但是新的問題又來了,每次需要開啟服務的時候,還需要打開系統的服務管理,找到Oracle的相關服務,然後挨個右擊點擊啟動,我想有過類似操作經驗的朋友,都會覺得這是一個非常令人煩躁的工作。
但是身為程序員的我們,應該很自然的想到,這些繁雜的工作肯定可以通過程序來自動幫我們解決。沒錯,而且非常簡單,只需要幾行代碼就可以搞定!
解決方案:
首先,到服務(按“Win”鍵,輸入“服務”,回車)裡找到Oracle的相關服務,我安的是11g,相關服務如下:
我們並不需要將所有服務全部開啟,基本的功能只需要開啟如下兩個服務即可:
OracleServiceORCL
將以下代碼保存成”.bat“文件或”.cmd“文件即可。
具體代碼:
@echo off net start OracleServiceORCL net start OracleOraDb11g_home1TNSListener pause
運行完成以後,可以看到兩個服務的狀態已經變成了“已啟動“:
停止服務代碼只需將“start”改成“stop”:
@echo off net stop OracleServiceORCL net stop OracleOraDb11g_home1TNSListener pause
運行效果