程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle數據庫TNS常見錯誤的解決辦法

Oracle數據庫TNS常見錯誤的解決辦法

編輯:關於Oracle數據庫

       1、ORA-12541:TNS:沒有監聽器

      原因:沒有啟動監聽器或者監聽器損壞。若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是後者,則使用“Net 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開頭的服務名

      1、TNS-12154 Error 或ORA-12154

      特征:SQL*NET沒有找到連接串或別名

      原因1:(1)沒有找到TNSNAMES.ORA文件,該文件的缺省路徑為:

      Windows 95/98 client

      SQL*Net 2.x - ORAWIN95NETWORKADMIN

      Net8 - ORAWIN95NET80admin

      Net8i - ORACLEORA81NETWORKADMIN

      Windows NT client

      SQL*Net 2.x - ORANTNETWORKADMIN

      Net8 - ORANTNET80ADMIN

      Net8i - ORACLEORA81NETWORKADMIN

      UNIX Client

      $ORACLE_HOME/NETWORK/ADMIN

      or /etc

      or /var/opt/oracle

      . 在客戶端設置TNS_ADMIN

      在注冊表 HKEY_LOCAL_MACHINESoftwareOracle 設置TNS_ADMIN. TNS_ADMIN 指向TNSNAMES.ORA文件的位置

      措施:按上述說明檢查文件位置

      原因2:(2)TNSNAMES.ORA文件中內容格式不對

      措施:檢查文件格式,標准格式如下:

      DEV1.WORLD =

      (DESCRIPTION = (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP) (Host = 145.45.78.56) (Port = 1521) ) )

      (CONNECT_DATA = (SID = ORCL) ) )

      原因3: (3) TNSNAMES.ORA與SQLNET.ORA不一致

      措施: SQLNET.ORA格式如下:

      TRACE_LEVEL_CLIENT = OFF

      SQLNET.AUTHENTICATION_SERVICES = (NONE)

      NAMES.DIRECTORY_PATH = (TNSNAMES)

      AUTOMATIC_IPC = OFF

      因為沒有NAMES.DEFAULT_DOMAIN=world,所以DEV1.WORLD連接串不能連接,可以在TNSNAMES.ORA中增加

      DEV1 =

      (DESCRIPTION = (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP) (Host = 145.45.78.56) (Port = 1521) ) )

      (CONNECT_DATA = (SID = ORCL) ) )

      此時可連接。

      2、NL-00462 Error 或ORA-00462

      特征:監聽器無法啟動

      原因:LISTENER.ORA文件內容錯誤,例如,括號不匹配、參數名錯誤等、多余的空格等。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved