軟體環境:
1、Windows 2000+ORACLE 8.1.7
2、ORACLE安裝路徑為:C:\ORACLE
實現方法:
1、 開始->設定->控制台->管理工具->服務
停止所有Oracle服務。
2、 開始->程式->Oracle - OraHome81->Oracle Installation Products->
Universal Installer
卸裝所有Oracle產品,但Universal Installer本身不能被刪除
5、 運行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del鍵刪除這個入口。
6、 運行regedit,選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滾動
這個列表,刪除所有Oracle入口。
7、 運行refedit,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,
刪除所有Oracle入口。
8、 開始->設定->控制台->系統->進階->環境變數
刪除環境變數CLASSPATH和PATH中有關Oracle的設定
9、 從案頭上、STARTUP(啟動)組、程式菜單中,刪除所有有關Oracle的組和表徵圖
10、 刪除\Program Files\Oracle目錄
11、 重新啟動電腦,重起後才能完全刪除Oracle所在目錄
12、 刪除與Oracle有關的檔案,選擇Oracle所在的預設目錄C:\Oracle,刪除這個入
口目錄及所有子目錄,並從Windows 2000目錄(一般為C:\WINNT)下刪除以下文
件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。
13、 WIN.INI檔案中若有[ORACLE]的標記段,刪除該段
14、 如有必要,刪除所有Oracle相關的ODBC的DSN
15、 到事件檢視器中,刪除Oracle相關的日誌
說明:
如果有個別DLL檔案無法刪除的情況,則不用理會,重新啟動,開始新的安裝,
安裝時,選擇一個新的目錄,則,安裝完畢並重新啟動後,老的目錄及檔案就可以刪除掉了。
Oracle新手最常碰到的6個錯誤及解決方案
沒有人會否認ORACLE是全球最有影響的資料庫產品之一;不過好的東西似乎總不是那麼好用(初看起來如此),甚至有些無情--總會給layman們一個個無情的錯誤號碼。下面是我個人的總結,條條有用,希望能給初學者一點啟示。
關於“好的東西似乎總不是那麼好用(初看起來如此)”的一個笑話:在參加 IBM DB2 512、513培訓前,在校園網上下載到了安裝程式,不過任憑我們幾個同學研究個半天,也不知哪個檔案是安裝檔案,竟沒有安裝成功。最後,一致認為:看來這個培訓真是太有必要了!事後,才知道--我們下載的是4linux的!
[以8.1.6為例]:
1、ORA-12541:TNS:沒有監聽器
原因:沒有啟動監聽器或者監聽器損壞。如果是前者,使用命令net start OracleOraHome81TNSListener(名字可能有出入)即可;如果是後者,則使用“Net8 Configuration Assistant”工具嚮導之“監聽程式配置”增加一個監聽器即可(基本不用寫任何資訊,一路OK。在添加之前可能需要把所有的監聽器先刪除!)
2、ORA-12500:TNS:監聽程式無法啟動專用伺服器處理序
或
ORA-12560:TNS:協議適配器錯誤
原因:ORACLE的資料庫服務沒有啟動。使用命令net start ORACLESERVICEORADB(ORADB為資料庫名字)即可。如果仍沒有解決,請繼續向下看。
3、如果資料庫服務啟動失敗,則很有可能是其登錄機碼值損壞,最好的做法是以下兩步:
1)ORADIM -DELETE -SID oradb 刪除資料庫服務項
2)ORADIM -NEW -SID oradb 新增資料庫服務項
註:這個過程中如果出錯,就重啟電腦!
4、ORA-12154:TNS:能解析服務名
原因:ORACLE的網路服務名沒有正確配置。請使用“Net8 Configuration Assistant”工具嚮導之“本網服務名配置”配置TNS即可。如果仍沒有解決,請繼續向下看。
5、ORA-1034 :TNS:ORACLE不可用
原因:ORACLE的資料庫服務正確啟動,但是資料庫沒有開啟!
使用命令:
1)svrmgrl 啟動服務管理員
2)connect internal 以internal身份登陸
3)startup 開啟資料庫
6、ORA-12560:TNS:協議適配器錯誤(頑固性的)
原因:未知。
解決:必殺技--開啟“Windows工作管理員”,殺死ORACLE.exe及ORADIM.exe進程,書寫自己的ora_startup.bat,執行之!
PS:
1、我的ora_startup.bat:
net start OracleOraHome81TNSListener
net start ORACLESERVICEORADB
svrmgrl 一般情況下不用,不過有時少不了它的,具體步驟見第5步。
2、我的ora_shutdown.bat:
net stop OracleOraHome81TNSListener
net stop ORACLESERVICEORADB
3、ORACLE相關服務名請參見“管理工具”之“服務”中以ORACLE開頭的服務名。
最後,我遇到的問題,講解一下:
今天用了最佳化大師最佳化了系統,清理了垃圾檔案和註冊表。重啟後,打不開Oracle9了,先報錯:
在啟動oracleorahome90tnslistener服務 時出錯,資訊:
在本機電腦無法啟動oracleorahome90tnslistener服務,
錯誤3:系統找不到指定路徑.
我在網上查資料後,發現一般這些檔案的位置由註冊表的 ORACLE_HOME 變數決定。
先看一看註冊表中 HKEY_LOACL_MACHINE/ SOFTWARE/ORACLE 下的 ORACLE_HOME值
如果沒有這個值 ,那你一定要添加進去。
ORACLE_HOME 值一般是ORACLE的安裝目錄如: 'c:\oracle\ora90 '
(另一個目錄c:\oracle\admin 對應的是 ORACLE_BASE ,你的資料庫建立的預設位置)
再找一下 ORACLE_HOME \ network \ADMIN \ listener.ora檔案是否存在。
上述檔案完好!
再開啟註冊表HKEY_LOACL_MACHINE\system\currentcontrolser\services\oracleorahome90tnslistener下發現缺少路徑imagepath,於是建立字串imagepath,索引值“C:\oracle\ora90\BIN\LSNRCTL.EXE”
再啟動oracleorahome90tnslistener服務,報錯
oracle監聽器打不開!
錯誤是 1053
再次反覆尋找問題,改上述註冊表中的imagepath,索引值為“C:\oracle\ora90\BIN\tnslsnr.exe”
解決問題。