運行時錯誤解決方法



運行時故障分析與解決(1)

Oracle數據庫服務器在運行過程中可能出現某些問題,其中,有的問題是致命的,必須重新安裝數據庫服務器系統,而有的問題只需進行簡單的處理就可以解決。下面介紹在學習使用Oracle數據庫的過程中經常出現的幾個問題及對應的解決方法。

1. ORA-12541: TNS:無監聽器程序

當通過企業管理器或其他工具登錄數據庫時,如果提示錯誤“ORA-12541: TNS:無監聽程序”,這說明Oracle監聽程序沒有運行。

解決方法:選擇“開始→控制面板→管理工具→服務”命令,打開“服務”對話框,在服務列表中啓動名爲OracleOraDb10g_home1TNSListener的服務。

2. ORA-12514:TNS:監聽程序當前無法識別連接描述符中請求的服務

1)當通過企業管理器或其他工具登錄數據庫時,如果提示錯誤“ORA-12514:TNS:監聽程序當前無法識別連接描述符中請求的服務”,這可能是由於在系統服務中的Oracle實例服務沒有啓動。

解決方法:打開操作系統的“服務”對話框,將服務列表中名爲OracleServiceORCL(ORCL爲數據庫實例名)的服務啓動起來。

2)關閉數據庫(SHUTDOWN IMMEDIATE)後,通過SQL Plus連接數據庫時,提示錯誤“ORA-12514:TNS:監聽程序當前無法識別連接描述符中請求的服務”,通過重啓服務的方式啓動數據庫,再次連接卻能成功登錄。這是由於在Oracle 11g中,後臺進程PMON自動在監聽器中註冊系統中的服務名,而不需要在監聽配置文件listener.ora中指定監聽的服務名。但是,在數據庫處於關閉狀態下,如果PMON進程沒有啓動,也就不會自動在監聽器中註冊服務名,所以會出現上述錯誤提示。

解決方法1:在監聽配置文件\NETWORK\ADMIN\listener.ora的監聽服務列表中添加特定服務註冊信息。例如,添加一個服務名爲ORCL的註冊信息。

 

 

1. SID_LIST_LISTENER =   

2.   (SID_LIST =   

3.     …   

4.    (SID_DESC =   

5.          (GLOBAL_DBNAME = ORCL)   

6. (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)   

7.          (SID_NAME = ORCL)   

8.     )   

9.   )  

解決方法2:打開如圖3-36所示的Oracle Net Manager對話框,在左側的列表中選中監聽程序名稱,如LISTENER,在右側的下拉列表中選擇“數據庫服務”,然後單擊“添加數據庫”按鈕,添加被監聽的數據庫信息,如圖3-40所示。最後保存網絡配置,並重啓監聽服務。

3.啓動操作系統列表中的某個Oracle服務時,顯示“系統找不到指定的路徑”

在啓動Oracle監聽程序時,可能彈出“系統找不到指定的路徑”對話框,其原因是註冊表中與該服務對應的可執行文件的路徑丟失了。

 

(點擊查看大圖)圖3-40 爲監聽程序註冊數據庫服務

解決方法:選擇“開始→運行”命令,打開“運行”對話框,輸入regedit命令,打開操作系統的註冊表編輯器。在註冊表編輯器左側的樹狀結構中選擇“我的電腦→HKEY_LOCAL_MACHINE→SYSTEM→CurrentControlSet→Services”,展開Services選項卡,找到相應的Oracle服務項並將其選中,如圖3-41所示。在右側對話框中單擊鼠標右鍵,在彈出菜單中選擇“新建→字符串值”,創建一個字符串,將其命名爲ImagePath。雙擊新建的ImagePath字符串,彈出如圖3-42所示的“編輯字符串”對話框。在“數值數據”編輯框中輸入當前Oracle服務所對應的應用程序的路徑與名稱,然後單擊“確定”按鈕,關閉註冊表編輯器。

 

(點擊查看大圖)圖3-41  修改註冊表對話框

 

 

圖3-42  “編輯字符串”對話框

運行時故障分析與解決(2)

注意 操作系統服務列表中的每個Oracle服務都與Oracle主目錄中bin目錄下的一個可執行程序相對應,例如,OracleOraDb10g_home1TNSListener服務與D:\app\Administrator\product\11.2.0\dbhome_1 \bin\ TNSLSNR.EXE文件相對應。

4.登錄數據庫時出現“ORA-12545:因目標主機或對象不存在,連接失敗”

如果在登錄數據庫時產生“ORA-12545:因目標主機或對象不存在,連接失敗”錯誤,其原因可能是安裝完數據庫服務器後計算機IP地址變化或計算機名稱變化。

打開如圖3-36所示的Oracle Net Manager對話框,分別選中左側樹狀結構中的監聽器和數據庫,修改右側對話框中的“主機名”爲當前的計算機名。

5.通過IE啓動企業管理器時,顯示“無法顯示網頁”

在IE地址欄中輸入企業管理器地址,按回車鍵後顯示“無法顯示網頁”,其原因可能是網絡故障或數據庫服務器的OracleDBConsole服務沒有啓動。

解決方法:在確認不是網絡故障的前提下,打開數據庫服務器系統服務列表對話框,啓動名爲OracleDBConsole的服務。

6.無法啓動OracleDBConsole服務

導致OracleDBConsole服務無法啓動的原因有多種,可以在命令提示符界面執行EMCTL START DBCONSOLE命令啓動OracleDBConsole服務,查看無法啓動的原因。

(1)由於計算機網絡適配器改變引起的OracleDBConsole服務無法啓動

Oracle數據庫服務器總是將系統中最後配置的網絡適配器作爲自己的網絡適配器,因此當操作系統中新建了網絡適配器或網絡適配器綁定順序發生變化時,都將導致OracleDBConsole服務無法啓動,需要將安裝Oracle數據庫服務器時的網絡適配器調整爲系統主網絡適配器。具體方法如下:

1)單擊“開始”按鈕,在“搜索程序和文件”文本框中輸入ncpa.cpl命令,按回車鍵進入“網絡連接”對話框。或者打開“控制面板→網絡和Internet→網絡和共享中心”後進入“網絡和共享中心”對話框,單擊此對話框左側列表中的“更改適配器設置”鏈接,進入“網絡連接”對話框。

2)打開“高級”菜單,選擇“高級設置”命令進入圖3-43所示的“高級設置”窗口,選擇當初安裝Oracle數據庫服務器時的主網絡適配器,如“網絡連接2”,然後單擊右側的上調箭頭按鈕,將其調整到第一位即可。

 

 

(2)由於更改了主機IP地址或主機名引起的OracleDBConsole服務無法啓動

此時可以按下列方法進行解決。

1)修改下列兩個與主機IP或主機名相關的兩個文件夾名。

兩個文件夾分別爲\SFD_orcl和\oc4j\j2ee \OC4J_DBConsole_SFD_orcl。其中,SFD爲修改後的主機名或IP地址,ORCL爲SID。

2)重建OEM的資料檔案庫。

C:\>EMCA-REPOS RECREATE

3)重新配置DBCONTROL。

C:\>EMCA-CONFIG DBCONTROL DB

4)啓動OracleDBConsole服務。

 

1. C:\>EMCTL START DBCONSOLE  

2. 卸載Oracle 11g產品

如果Oracle數據庫服務器出現故障無法恢復,或由於某些特殊原因需要卸載數據庫服務器產品,可以按下面的步驟完全卸載數據庫服務器產品。

1)停止所有Oracle相關的服務。

打開如圖3-33所示的 Oracle相關服務對話框,選定想要停止的服務右擊,在彈出的快捷菜單中選擇“停止”選項即可。

2)卸載Oracle 11g數據庫服務器組件。

選擇“開始→所有程序→Oracle-OraDb11g_home1→Oracle 安裝產品→Universal Installer”命令,在彈出的“歡迎使用”對話框中單擊“卸裝產品”按鈕,出現卸載組件選擇對話框。選擇要刪除的Oracle組件,然後單擊“刪除”按鈕。

3)刪除系統安裝磁盤中的Program Files\Oracle 目錄(如C:\Program Files\Oracle)。每次安裝完Oracle產品後,相關信息都會記錄在該目錄中。如果忘記刪除,則再次安裝數據庫時會出現錯誤。

4)手工刪除註冊表中與Oracle相關內容。

選擇“開始→運行”命令,輸入regedit,單擊“確定”按鈕,打開註冊表編輯器。刪除HKEY_LOCAL_MACHINE\SOFTWARE下的Oracle選項。刪除HKEY_LOCAL_MACHINE \SYSTEM\ CurrentControlSet\Services下與Oracle服務相關選項。刪除HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services \Eventlog\ Application下以Oracle開始的項,即刪除事件日誌。

5)刪除Oracle環境變量。

右擊“我的電腦”,選擇“屬性”命令進入“系統屬性”對話框,選擇“高級”標籤,單擊“環境變量”按鈕,在彈出的“環境變量”對話框中先後選中“PATH”和“TEMP”變量,單擊“編輯”按鈕,彈出“編輯用戶變量”對話框,分別刪除PATH變量和TEMP變量中記錄的Oracle相關路徑。

6)選擇“開始→所有程序”命令,查看是否存在Oracle程序組,如果存在,則將其刪除。

7)關閉計算機,重新啓動系統。

8)刪除Oracle安裝目錄(如D:\Oracle)。

注意 從Oracle 11g的11.2.0.1版本開始,Oracle提供了一個用於卸載數據庫產品的工具deinstall,它位於Oracle主目錄的deinstall目錄中(ORACLE_HOME\deinstall)。在Windows 7操作系統中,右擊可執行程序deinstall.exe,在彈出的菜單中選擇“以管理員身份運行”選項,運行該工具,可以完全卸載Oracle產品。

 

發佈了22 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章