Oracle資料庫配置錯誤資訊解決方法(轉)

Rounders發表於2007-08-09
【導讀】本文介紹了Oracle資料庫Oracle9i Net Service配置方法出現的誤資訊後的解決方法。[@more@]

Oracle客戶端網路配置:

l 在Oralce產品安裝完成後,為了與資料庫伺服器進行連線或者是兩臺資料庫之間進行資料複製,則必須進行網路連線配置。

l Oracle9i Net Service配置方法:

Oracle9i Net Service的連線配置可以使用資料庫例項ORACLE_SID,或者是使用Oracle9i的引數 SERVICE_NAMES。配置Oracle9i客戶端與Oracle9i伺服器端的連線,也是生成Oracle9i Net Service客戶端網路配置檔案tnsnames.ora,也可以編輯這個檔案。

tnsnames.ora檔案在Window與Unix下的儲存目錄:

Window NT/2000: D:/oracle/ora90/network/admin/tnsnames.ora

UNIX:/home/app/oracle/product/9.0.1/network/admin/tnsnames.ora

如果tnsnames.ora檔案配置不正確,則錯誤資訊會記錄在連線日誌資訊檔案中,其錯誤資訊內容為:

The error strutct:

Nr err code:0

Ns main err code:12560

TNS -12560:TNS: 協議介面卡出現錯誤

ns secondary err code:0

nt main err code:530

tns-00530:協議介面卡錯誤

nt secondary err code:2

nt OS err code:0

在配置Oracle9i的連線配置中,其伺服器端需要配置監聽程式程式配置檔案listener.ora,如果伺服器端監聽程式沒有啟動,則出現以下錯誤資訊:

ERROR:ORA-12651:TNS:沒有監聽器

該資訊說明所要連線的伺服器沒有啟動監聽程式Listener(該程式為Oracle伺服器上作業系統程式,監聽程式沒有啟動時,伺服器可以正常進行,但是客戶端不能與伺服器產生連線。這時可以在伺服器使用作業系統命令lsnrctl正常起啟動監聽程式)具體方法如下:

C:>lsnrctl start

停止監聽方法:

C:>lsnrctl stop

修改計算機名後則需要修改監聽程式中的HOST,否則監聽程式會出現以下錯誤:

Tns-12545:因目標主機或者物件不存在,連線失敗

Tns-12560:tns:協議介面卡錯誤

Tns-00515: 因目標主機或者物件不存在,連線失敗

Error:1001:unknow error

在Window NT/2000中,使用服務列表啟動listener.ora服務時也會出現同樣的錯誤資訊:

(對話方塊)進行意外中止

這時,可以修改listener.ora中的下一列資訊中HOST處的主機名:

(ADDRESS=(PROTOCOL=TCP)(HOST=SUN4500)(PORT=1521))

該名稱必須與實際符合,重新啟動監聽程式即可。附:在listener.ora檔案中,HOST處允許使用IP地址,這樣修改機器名後就不會引起監聽程式啟動失敗。

此外在伺服器與listener.ora檔案統一目錄中還有一個檔案即:tnsnames.ora檔案,此檔案是用於兩個伺服器之間的連線配置,即Oracel分散式環境中的網路配置該檔案的目錄如下:

Window NT/2000 D:oracelora90 etworkadmin nsnames.ora

UNIX: /home/app/oracle/product/9.0.1/network/admin/tnsnames.ora

在伺服器中,tnsnames.ora預設是使用伺服器名進行配置的,所以如果修改了機器名,則該檔案同時需要修改,否則出現如下錯誤:

Error:ORA:-12545:因目標主機和物件不存在,連線失敗

錯誤程式碼ORA-12545表示網路連線串(即tnsnames.ora檔案中的HOST處)中使用的機器名和IP地址不存在,重新修改和重新連線即可。

Oracle9i Net Service的嚮導工具進行配置:

選擇此選項以建立、修改、刪除或重新命名監聽程式。監聽程式是伺服器中接收和響應客戶機對資料庫的連線請求的程式。使用配置有相同協議地址的連線描述符的客戶機可以向監聽程式傳送連線請求。

Oracle9i net Manager:

可以定義簡單名稱來表示服務的位置,例如一個資料庫,這些簡單名稱對映為連線描述符。他們包含服務的網路標識和位置。

錯誤資訊ORA-12560表示,在作業系統中找不到所定義的例項,在Oracle9i中,如果出現了此類錯誤,一般來說出錯原因有兩個,一是例項名被錯誤的修改,二是Oracle的服務沒有正常啟動。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9417382/viewspace-937346/,如需轉載,請註明出處,否則將追究法律責任。

相關文章