一個Oracle實例(Oracle Instance)有一系列的后臺進程(Backguound Processes)和內(nèi)存結(jié)構(gòu)(Memory Structures)組成。為了能訪問數(shù)據(jù)庫,必須啟動實例。
成都網(wǎng)站制作、成都網(wǎng)站建設(shè)的關(guān)注點不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給創(chuàng)新互聯(lián)一個展示的機會來證明自己,這并不會花費您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗,一切以用戶為中心。
對于第一次接觸“實例”和“數(shù)據(jù)庫”的朋友來說,容易把二者混淆。實例是“內(nèi)存”和“后臺進程”的集合。數(shù)據(jù)庫是數(shù)據(jù)的物理存儲。特別注意,一個實例可以用于一個數(shù)據(jù)庫,多個實例也可以同時用于一個數(shù)據(jù)庫,實例和數(shù)據(jù)庫的關(guān)系是一對多的關(guān)系。
舉個例子,如果把數(shù)據(jù)庫比作一架飛機,實例就是飛機的發(fā)動機。那么,一臺發(fā)動機可以驅(qū)動飛機,兩臺發(fā)動機也可以同時驅(qū)動一架飛機。
多個“實例”同時驅(qū)動一個“數(shù)據(jù)庫”的架構(gòu)叫“集群(Oracle real application clusters,簡稱RAC)”,這是Oracle的一種高端應(yīng)用,如果結(jié)合磁盤陣列的保護機制,RAC能最大限度的保護我們的應(yīng)用不間斷運行,數(shù)據(jù)不丟失。
當oracle實例不再使用時需將無用的oracle刪除掉,且無需存在于服務(wù)列表中,具體操作如下:
1、刪除OracleService實例
開始程序-Oracle - OraDb10g_home1-配置和移植工具-Database Configuration Assistant--刪除實例
選中要刪除的實例名,一直點擊下一步
刪除實例之后從服務(wù)列表中自動刪除了OracleServiceXXX名稱
2、實例刪除了但發(fā)現(xiàn)OracleDBConsoleXXX,OracleJobSchedulerXXX在服務(wù)列表中都存在
刪除服務(wù)列表中的OracleJobSchedulerXXX,具體操作如下:
"regedit"打開注冊表,修改HEKY_LOCAL_MACHINE-SYSTEM-CurentControlSet-Services-找到OracleServiceXXX發(fā)現(xiàn)已不存在,則說明實例已從服務(wù)列表中刪除
只需要找到OracleDBConsoleXXX,OracleJobSchedulerXXX刪除,刪除完成電腦重啟
3、瑞星刪除Oracle實例解決
服務(wù)中的OracleServiceGIST沒有了
注冊表中HEKY_LOCAL_MACHINE-SYSTEM-CurentControlSet-Services-
OracleServiceGIST也沒有了。
解決:
找一臺裝有oracle數(shù)據(jù)庫的機器,把上面的注冊鍵值信息導(dǎo)出,是一個xxx.reg文件
然后復(fù)制到本機桌面上,用editplus編輯,將所有實例名信息改成本機的實例名,如OracleServiceXXX改成
OracleServiceGIST,再雙擊運行,即在本機注冊表中生成注冊信息。
重啟機器,注冊表中信息生成,服務(wù)中信息生成,啟動OracleService實例時,
報錯,找不到路徑,原來先前的xxx.reg文件的那臺機器的Oracle數(shù)據(jù)庫是裝在C盤,
而本機的Oracle數(shù)據(jù)庫是裝在D盤的,
"regedit"打開注冊表,修改HEKY_LOCAL_MACHINE-SYSTEM-CurentControlSet-Services-
OracleServiceGIST的ImagePath鍵值信息為d:\oracle\ora92\bin\ORACLE.EXE GIST,
再在服務(wù)里啟動OracleServiceGIST,能正常運行。
導(dǎo)出的xxx.reg文件內(nèi)容:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleServiceGIST]
"Type"=dword:00000010
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):64,00,3a,00,5c,00,6f,00,72,00,61,00,63,00,6c,00,65,00,5c,00,\
6f,00,72,00,61,00,39,00,32,00,5c,00,62,00,69,00,6e,00,5c,00,4f,00,52,00,41,\
00,43,00,4c,00,45,00,2e,00,45,00,58,00,45,00,20,00,47,00,49,00,53,00,54,00,\
00,00
"DisplayName"="OracleServiceGIST"
"ObjectName"="LocalSystem"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleServiceGIST\Security]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\
00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\
00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleServiceGIST\Enum]
"0"="Root\\LEGACY_ORACLESERVICEGIST\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001
一、在“服務(wù)”窗口中停止與oracle有關(guān)的所有服務(wù);
點擊開始——所有程序——管理工具——服務(wù)
在右側(cè)窗口找到與Oracle有關(guān)的所有的服務(wù),點擊停止二、卸載Oracle軟件,點擊開始——運行,輸入路徑
D:\oracle\product\11.2.0\dbhome_1\deinstall\deinstall 如下圖所示:
點擊確定,進入啟動卸載頁面,如下圖所示:
等待啟動后,如下圖,光標會停止在制定要取消的配置的所有單實例監(jiān)聽程序[LISTENER]:直接回車
接下來后讓你指定數(shù)據(jù),直接輸入orcl,進入選擇項,是否要修改orcl數(shù)據(jù)庫的詳細資料?選擇y。指定此數(shù)據(jù)庫,選擇1。
等待卸載數(shù)據(jù)庫;
三、刪除注冊表中的內(nèi)容,點擊開始——運行——輸入regedit,進入注冊表編輯器,如下圖所示:
注:其中有些注冊表項可能在卸載Oracle產(chǎn)品的時候已經(jīng)被刪除。
1、刪除HKEY_CLASSES_ROOT目錄下所有以O(shè)ra、Oracle、Orcl或EnumOra為前綴的目錄;
2、刪除HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/
Explorer/MenuOrder/Start Menu/Programs中所有以oracle開頭的鍵;
3、刪除HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE目錄;
4、刪除HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services中所有以oracle或OraWeb為開頭的目錄;
5、刪除HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services中所有以oracle或OraWeb為開頭的目錄;
6、刪除HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services中所有以oracle或OraWeb為開頭的目錄;
7、刪除HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application中所有以oracle開頭的目錄;
8、刪除HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI中
除Microsoft ODBC for Oracle注冊表鍵以外的所有含有Oracle的鍵。
四、刪除 開始 ——程序 中所有Oracle的組和圖標。默認情況在刪除軟件的時候已經(jīng)刪除了,檢查是否還有存留,如果有,則刪除掉;
五、刪除所有和Oracle有關(guān)的所有的目錄
1、刪除C:\Documents and Setting\系統(tǒng)用戶名\LocalSettings\Temp目錄下的以O(shè)ra開頭的臨時文件夾;
2、刪除C:\Program Files\Oracle文件夾;
3、刪除安裝oracle的目錄文件夾;
注意:在刪除安裝目錄下oracle相關(guān)文件的時候可能存在個別文件無法刪除的現(xiàn)象,比如說BIN目錄下的oci.dll文件,解決這個問題的唯一方法就是重啟系統(tǒng),然后再次對此文件進行刪除。
關(guān)掉oralce服務(wù)。
具體方式有兩種:
1.命令行下使用命令關(guān)閉服務(wù):net stop OracleServiceORCL ,ORCL是我的實例名字,換成你的)
2.運行services.msc到系統(tǒng)服務(wù)管理界面,找到Oracle開頭的服務(wù),關(guān)掉。
從開始菜單找到Oracle的卸載工具,點擊卸載。
一般的,Oracle的卸載工具路徑為:開始->程序->Oracle - oracle的版本號,我的是10ghome->Oracle Installation Products-> Universal Installer 卸載oracle
刪除注冊表:
在win7中搜索regedit或者在XP中運行regedit,調(diào)出注冊表編輯器。
刪除HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE節(jié)點,
刪除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services節(jié)點和
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application節(jié)點中中所有包含oracle字樣的注冊信息。
刪除c盤\Program Files\Oracle目錄,以及oracle安裝目錄下所有的文件以及文件夾
刪除環(huán)境變量中有關(guān)oracle的classpath和path。
編輯環(huán)境變量的具體方式,
至此,你計算機上的Orcle已經(jīng)刪除。
刪除oracle實例記錄:
方法一、從圖形界面運行dbca,選擇刪除,按提示一路next;
方法二、手動刪除。
1、關(guān)閉所有oracle進程,其實只要shutdown
abort即可.因我的機器oracle沒設(shè)置為開機自動啟動,重啟機器后oracle進程一個也沒有,系統(tǒng)很是干凈.
2、刪除實例數(shù)據(jù)文件和dump文件;
find $ORACLE_BASE/ -name $ORACLE_SID
在我系統(tǒng)里面顯示如下,將這些目錄直接刪除;
/u01/app/oracle/admin/testdb
/u01/app/oracle/oradata/testdb
/u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/emca/testdb
/u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/testdb
3、刪除其他配置文件
find $ORACLE_BASE/* -name '*[Bb][Tt][Ss][Dd][Bb]2*' | grep -v
admin| grep -v oradata
將查找結(jié)果出現(xiàn)的文件也一一刪除,當然你可以用xarg結(jié)合rm刪除.
find結(jié)果如下:
/u01/app/oracle/flash_recovery_area/testdb
/u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/emca/testdb
/u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/testdb
/u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_host_testdb
/u01/app/oracle/product/10.2.0/db_1/rdbms/log/alert_testdb.log
/u01/app/oracle/product/10.2.0/db_1/host_testdb
/u01/app/oracle/product/10.2.0/db_1/host_testdb/sysman/emd/state/A190EE260BF6B09EB5805807
28916A3B.alert_testdb.log
/u01/app/oracle/product/10.2.0/db_1/host_testdb/sysman/log/nmctestdb1521
/u01/app/oracle/product/10.2.0/db_1/dbs/alert_testdb.log
/u01/app/oracle/product/10.2.0/db_1/dbs/lktestdb
/u01/app/oracle/product/10.2.0/db_1/dbs/hc_testdb.dat
/u01/app/oracle/product/10.2.0/db_1/dbs/orapwtestdb
/u01/app/oracle/product/10.2.0/db_1/dbs/spfiletestdb.ora
4、最重要的一步,如果你要重建的實例和剛刪除實例的實例名一樣的話,刪除
/etc/oratab文件最后一行。
至此,已干凈刪除linux系統(tǒng)的oracle實例。
你把數(shù)據(jù)庫服務(wù)器開啟就好
可以在運行--》services.msc--》選中任意一個服務(wù),輸入字母o,然后就能定位到o開頭的服務(wù),oracle的服務(wù),你就可以看到,有OracleServiceORCL,這個是默認的,右鍵,重新啟動就好,如果你的是其他的,那就啟動請他的,開始也是OracleServiceXXXX這種的