<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
    ORA-12638錯誤的解決
    ?
    ??? 最近在SQL連接的時候,無緣無故就報ORA-12638錯誤。應該是權限的問題,但是似乎是哪里都沒有進行修改,很費解。到網上搜索了一下,發現這個問題的解決方法很簡單,但是主要是需要理解AUTHENTICATION_SERVICES參數的意義,在這里記錄一下。
    ?
    ?
    ORA-12638: credential retrieval failed tips
    Oracle Error Tips by Stephanie F.
    ?
    ?
    The Oracle docs note this on the ora-12638 error:
    ?
    ORA-12638: Credential retrieval failed??
    Cause: The authentication service failed to retrieve the credentials of a user.
    Action: Enable tracing to determine the exact error.

    ?
    On the Oracle Technology Network Forums, a user is able to successfully resolve ORA-12638 after some help from repliers.? The original question was referring to a problem installing Oracle Designer, in which the user was thrown ORA-12638, when testing the connection, before the installation had even finished.

    A replier pointed out to the user that ORA-12638 is "an Oracle database error, indicating that the Designer client was not able to connect to the database."

    Though sometimes ORA-12638 can be resolved by restarting the database services in cases where Oracle on Windows is being used, although for this user it was not helpful.
    ?
    However, the following direction was given, and once administered, was a successful resolution to ORA-12638:
    ?
    Please check the sqlnet.ora file. Change the following entry and try, this will work.
    ?
    Original Entry - SQLNET.AUTHENTICATION_SERVICES= (NTS)
    Modified Entry - SQLNET.AUTHENTICATION_SERVICES= (NONE)
    ?
    ?
    ??? 從含義上來說,AUTHENTICATION_SERVICES= (NTS) 該參數值僅對Windows有用,且表示即可以用口令驗證,又可以用OS驗證來登錄Oracle,而(NONE)僅支持口令驗證。但是為什么設置為NTS時會造成登錄錯誤,這個問題就比較復雜了,可以看一下以下這篇博客的論述:
    ?
    ?
    http://zalbb.itpub.net/post/980/48931
    *******************************************************************
    ?
    ??? 前段時間在2003上裝測試數據庫, 有同事在連接時說報此錯誤, 我大致觀察揣摩的一下,發現一時間無法找到答案, 之后發現把數據庫的SQLNET.ORA文件中的此項SQLNET.AUTHENTICATION_SERVICES 注釋掉即可克服此錯誤,但具體原因也說不清楚,沒解決此問題,心里一直疙瘩著;前兩天想起此問題,用GOOGLE搜索了一下,在ITPUB 上發現一篇文章,說是把客戶端的SQLNET.ORA文件給刪除即可,試了一下,果真如此。但文章中的那人也解釋不清楚原因,后上METALINK問,ORACLE的技術人員給了兩篇文章讓我先閱讀。看完后作測試,才知道,對NTS的認證方式又多了一層了解。
    ?
    ora-12638 錯誤的剖析
    ?
    Site(A, Server) Windows 2003(已成為域控制器), oracle9206(opatch5)
    Site(B, Client) windows 環境(2000,2003),oracle 數據庫或客戶端
    ?
    Site(A),Site(B) 的oraclenetworkadmin目錄下都有文件sqlnet.ora
    該文件中都有這一項 SQLNET.AUTHENTICATION_SERVICES= (NTS)
    ?
    現象1、當Site(B)以域domain (此域不同于site(A)的域)身份登錄機器時,并且Site(A),Site(B) 中的sqlnet.ora 都有這一項 SQLNET.AUTHENTICATION_SERVICES 時,則會出現:
    ?
    SQL> connect scott/1@lenovo
    ERROR:
    ORA-12638: Credential retrieval failed
    ?
    Warning: You are no longer connected to ORACLE.
    SQL>
    ?
    現象2、此時,若把客戶端Site(B) 的 sqlnet.ora文件中的這一項 SQLNET.AUTHENTICATION_SERVICES 還是被注釋掉#SQLNET.AUTHENTICATION_SERVICES= (NTS) 或 SQLNET.AUTHENTICATION_SERVICES= (NONE), 則均可以正常連接數據庫
    SQL> connect scott/1@lenovo
    Connected.
    ?
    現象3、當客戶端Site(B)以本機身份登錄時,則不論 Site(B) 的 sqlnet.ora文件中的這一項 SQLNET.AUTHENTICATION_SERVICES = (NTS) 還是被注釋掉#SQLNET.AUTHENTICATION_SERVICES= (NTS) 或 SQLNET.AUTHENTICATION_SERVICES= (NONE), 均可以正常連接數據庫
    SQL> connect scott/1@lenovo
    Connected.
    ?
    ?
    原因:Site(A)是域控制器(vsts.com),若Site(B)也以域(domain)身份登錄機器,并且Site(A),Site(B)都采用操作系統認證(NTS)方式,則需要雙方建立信任關系,要不就一方不采用(NTS)認證。如:
    SQLNET.AUTHENTICATION_SERVICES=NONE 或#SQLNET.AUTHENTICATION_SERVICES=***
    ?
    Oracle 解釋如下:

    Either create trust between the two domains or change the client or server SQLNET.AUTHENTICATION_SERVICES such that NTS in not negotiated in the connection handshake. NTS is only negotiated if both client and server have SQLNET.AUTHENTICATION_SERVICES set to NTS.
    ?
    i.e. SQLNET.AUTHENTICATION_SERVICES=NONE
    ?
    解決方法:
    1、對兩個域建信任關系(沒測試此方法)。
    2、數據庫或客戶端的sqlnet.ora 中的 SQLNET.AUTHENTICATION_SERVICES=NONE或被注釋掉 #SQLNET.AUTHENTICATION_SERVICES。
    ?
    鑒與生產環境,無法對兩個域建信任關系后作測試,無奈!
    ?
    ?
    posted on 2008-10-20 21:54 decode360 閱讀(8001) 評論(0)  編輯  收藏 所屬分類: 07.Oracle
    主站蜘蛛池模板: 久久国产精品2020免费m3u8| 亚洲国产AV无码一区二区三区| 久久亚洲精品视频| 国产偷国产偷亚洲清高动态图| 亚洲成a人片在线观看日本麻豆 | 亚洲精华国产精华精华液| 国产精品亚洲四区在线观看| 亚洲伊人久久大香线焦| 日本亚洲免费无线码| 亚洲日韩精品无码专区加勒比☆ | 亚洲午夜久久久影院| 亚洲色欲久久久综合网| 亚洲成AV人片天堂网无码| 亚洲综合在线观看视频| 亚洲妇女水蜜桃av网网站| 亚洲一区AV无码少妇电影| 福利片免费一区二区三区| 一级免费黄色毛片| 毛片在线播放免费观看| 51精品视频免费国产专区| 最近中文字幕免费mv视频7| 国产在线观看免费视频播放器| 亚洲国产精品第一区二区三区| 亚洲日韩欧洲乱码AV夜夜摸| 亚洲黄网站wwwwww| 99亚偷拍自图区亚洲| 高潮毛片无遮挡高清免费| 国产亚洲精品免费视频播放| 67pao强力打造高清免费| 国产精品免费观看久久| 亚洲成?v人片天堂网无码| 久久亚洲国产精品一区二区| 亚洲一区精品视频在线| 国产精品自拍亚洲| 嫩草在线视频www免费观看| 无码免费午夜福利片在线| 四虎影视永久免费观看网址| 国产亚洲人成网站在线观看不卡| 亚洲精品日韩专区silk| 狠狠入ady亚洲精品| 永久免费不卡在线观看黄网站|