標籤:
Oracle資料庫的安裝這裡就不說了,網上應該有很多,但是oracle資料庫的卸載卻找不到一個比較詳細的完整卸載的說明。很多卸載不完全,會有遺留資料,影響後續的安裝。所以自己整理一份以前上學的時候學習Oracle資料庫的筆記,其中資料庫的卸載部分的內容。
我們都知道Oracle資料庫在Linux中的卸載比較方便,只要刪除所有的安裝目錄就可以了,但是在Windows下的卸載就比較麻煩,會牽扯很多東西。有時候還要手動去刪除,而且還有可能出現某些dll檔案提示在使用,無法刪除乾淨。
Oracle資料庫的所有版本,刪除大體都相同。我劃分了下,大概分下面的八個部分的刪除。
- 停止使用oracle的服務。
- 刪除使用oracle的服務。
- 刪除註冊表中Oracle相關項目。
- 刪除Oracle環境變數
- 刪除“開始”菜單中Oracle目錄
- 重新啟動電腦
- 刪除Program Files\Oracle目錄
- 刪除Oracle安裝目錄
1.停止使用oracle的服務
停用oracle服務,進入電腦管理,在服務中,找到oracle開頭的所有服務,右擊選擇停止
2.刪除使用oracle的服務。
開始菜單中,找到Universal Installer,運行Oracle Universal Installer,單擊卸載產品,在產品清單視窗中,單擊全部展開,除了OraDb11g_home1外,勾選其他項目,單擊刪除,根據軟體提示單擊下一步最終完成卸載。
3.刪除註冊表中Oracle相關項目
在命令視窗,輸入regedit,開啟註冊表,依次展開HKEY_LOCAL_MACHINE\SOFTWARE,找到oracle,刪除之。
依次展開HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中,刪除所有oracle開頭的項。
依次展開HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,刪除所有oracle開頭的項;
擴充刪除(以下不是必須的註冊表刪除項),如果安裝不成功可以自己也把這些刪除了
在HKEY_CLASSES_ROOT,刪除以Ora、Oracle、Orcl或EnumOra為首碼的鍵
刪除HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs中所有以oracle開頭的鍵。
刪除HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI中除Microsoft ODBC for Oracle註冊表鍵以外的所有含有Oracle的鍵。
4.刪除Oracle環境變數
右鍵點擊我的電腦-->屬性-->進階-->環境變數,刪除環境變數ORACLE_HOME、TNS_ADMIN等環境變數,刪除PATH中等環境變數有關Oracle的設定的路徑資訊
5.刪除“開始”菜單中Oracle目錄
開啟資源管理員,在地址欄中輸入“%userprofile%\「開始」菜單\程式”斷行符號,刪除安裝的Oracle目錄
然後再到地址欄中輸入“%allusersprofile%\「開始」菜單\程式”斷行符號,刪除安裝的Oracle目錄
6.重新啟動電腦
重啟電腦,我就不說了吧。
7.刪除Program Files\Oracle目錄
如果在Program Files\Oracle目錄存在,則刪除Program Files\Oracle目錄。
8.刪除Oracle安裝目錄
刪除Oracle的安裝目錄app等目錄。
以上參考出處:
http://jingyan.baidu.com/article/922554468d4e6b851648f4e3.html
http://blog.itpub.net/30029358/viewspace-1341890/
以上所說的刪除項,都是在存在的前提下再刪除,如果不存在則不需要刪除。雖然刪除也都說了,但是手動擋一條一條的去刪除還是比較麻煩的,所以我製作一個刪除的指令碼,按照以上的步驟進行刪除。
我為了測試刪除,我自己安裝了Oracle 11g Express Edition的資料庫,所以下面我以11gXE資料庫的刪除為例,以供大家使用。
聲明:該指令碼為bat程式,你必須修改部分路徑資訊和項才能使用,指令碼是以卸載11gXE資料庫的刪除為例寫的,可能會有很多不足之處。
@echo offecho 開始停止Oracle相關服務pausenet stop OracleJobSchedulerXEnet stop OracleMTSRecoveryServicenet stop OracleServiceXEnet stop OracleXEClrAgentnet stop OracleXETNSListenerrem sc delete 刪除Oracle的相關服務echo.echo 開始刪除Oracle服務pausesc delete OracleJobSchedulerXEsc delete OracleMTSRecoveryServicesc delete OracleServiceXEsc delete OracleXEClrAgentsc delete OracleXETNSListenerecho.echo 開始刪除Oracle註冊表pausereg delete HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE /f rem reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下與Oracle服務相關的選項。rem reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Applicationecho.echo 開始刪除Oracle環境變數pausereg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v ORACLE_HOME /fecho 環境變數ORACLE_HOME已刪除reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v TNS_ADMIN /f echo 環境變數TNS_ADMIN已刪除echo 環境變數PATH請手動刪除oracle的路徑資訊msg * 環境變數PATH請手動刪除oracle的路徑資訊echo.echo 開始刪除“開始”菜單中Oracle目錄pauserd /S /Q "%allusersprofile%\「開始」菜單\程式\Oracle Database 11g Express Edition"rem 重新啟動電腦echo @echo off>"%userprofile%\「開始」菜單\程式\啟動\1.bat"echo echo.>>"%userprofile%\「開始」菜單\程式\啟動\1.bat"echo echo 刪除Windows系統安裝磁碟中的Program Files\Oracle 目錄>>"%userprofile%\「開始」菜單\程式\啟動\1.bat"echo pause>>"%userprofile%\「開始」菜單\程式\啟動\1.bat"echo rd /S /Q "%programfiles%\Oracle">>"%userprofile%\「開始」菜單\程式\啟動\1.bat"echo echo.>>"%userprofile%\「開始」菜單\程式\啟動\1.bat"echo echo 刪除Oracle安裝目錄>>"%userprofile%\「開始」菜單\程式\啟動\1.bat"echo pause>>"%userprofile%\「開始」菜單\程式\啟動\1.bat"echo rd /S /Q "C:\oraclexe">>"%userprofile%\「開始」菜單\程式\啟動\1.bat"echo ping 127.0.0.1^>nul>>"%userprofile%\「開始」菜單\程式\啟動\1.bat"echo del /q "%userprofile%\「開始」菜單\程式\啟動\1.bat">>"%userprofile%\「開始」菜單\程式\啟動\1.bat"echo.set /p a=需要重啟電腦完成卸載,是否現在重啟電腦?(Y/N)if /i "%a%"=="y" shutdown -f -r -t 0
=
Oracle完全卸載詳解