記32位Oracle用戶端登入報12560協議適配器錯誤的解決辦法

來源:互聯網
上載者:User

標籤:使用   檔案   資料   問題   ad   工作   管理   資料庫   as   

國慶買了一台新電腦ThinkPad E431,i5雙核CPU,8G記憶體,硬碟比較坑爹5400轉的500G,重點是預裝win8的64位簡體中文版。大學時買了第一台電腦神舟筆記本,因為神舟電腦便宜,所以沒有預裝正版系統;工作了以後給老婆買了一台電腦惠普筆記本,當時一個朋友開店做惠普電腦代理,為了幫他開個張,就從他那裡買的,他給裝了個盜版winxp。其實心裡還是很支援正版windows作業系統的,而且新公司給發的工作電腦又很破,嚴重影響工作心情,所以就買了聯想的ThinkPad,於是乎就有了正版win8系統,而且還是64位的,我的記憶體8個G,怎麼可能還用32位系統呢!然後就引出了今天的主題。。。

之前工作用Oracle 11g和pl/sql developer,由於用的32位win7,因此沒有什麼煩惱。可是現在用的64位系統(win8還是win7關係不大,本文的解決辦法都適用,而且筆者在解決問題時也參考過win7 64位系統的解決方案),不能裝32位Oracle伺服器端資料庫啊!那就從官網下了個64位的伺服器端安裝程式,然後度娘又說了,32位的pl/sql不能連64位Oracle資料庫(這裡可以看成是Oracle資料庫伺服器端程式直接帶有用戶端功能,當然Oracle還有專門的資料庫用戶端程式,也就是只有用戶端功能,筆者感覺pl/sql是不能連64位用戶端功能,即oci.dll)。看來筆者遇到的問題,前面都有無數人遇到了,感謝前人挖井!這裡總結一下,64位windows作業系統,必須裝64位Oracle資料庫伺服器端,pl/sql必須串連32位Oracle資料庫用戶端,那麼就必須要下一個Oracle的32位用戶端程式。我下了,然後安裝了,這裡注意一點:第二步選擇管理員。然後問題出現了,先別說pl/sql能不能連上Oracle,就連sqlplus都連不上,輸入使用者名稱密碼後,提示一個tns12560:協議適配器錯誤的報錯資訊。筆者也是Oracle新手啊,找問題原因期間遇到了無數次失敗,又無數次地問度娘。這裡說說度娘給的幾點很有用的意見:1、OracleOraDb11g_home1TNSListener這個服務必須啟動運行(注意11g_home1跟你安裝資料庫的版本以及路徑有關係);2、OracleServiceORCL這個服務也必須啟動運行(orcl與你Oracle資料庫名稱有關係);3、環境變數中最好設定變數名為oracle_sid,變數值為orcl的變數(orcl與你Oracle資料庫名稱有關係);4、啟用和禁用使用者名稱的命令是alter user scott account lock/unlock;(scott是一個使用者名稱);5、使用者啟用後首次登入會提示更改預設密碼,改為原密碼也可以;6、還有人沒有安裝Oracle資料庫32位用戶端程式,而是安裝了一個instant_client_basic(名字好像是這個,可能不準確)程式,然後僅將Oracle伺服器端裡的network/admin/檔案夾下的設定檔複製到那個程式的檔案夾中,且將pl/sql的OCI庫設定到那個程式檔案夾即可(這裡表述不是很清晰,請有用這個方法的人自行百度,很多很全)。可是我的問題沒解決呢!經過多番嘗試,明確一點,那就是Oracle資料庫伺服器配置沒有問題,用伺服器端裡的sqlplus能夠正確串連並登入資料庫。然後開啟用戶端的網路設定(NET Manager),發現裡面沒有服務,猜想是不是這裡的問題呢?於是就將伺服器端的網路設定開啟,那裡面已經配好了兩個服務,其中一個就是我預設的orcl。然後參照裡面的參數在用戶端的網路設定中配置了一個一模一樣的服務,這裡有個小插曲,當時已經啟用的scott這個使用者,但是還沒有登入過資料庫,在配置最後一步進行測試時,預設用scott使用者測試,結果報錯,錯誤資訊當時沒看懂。於是用sqlplus登入scott使用者(當然這是還用的伺服器端的sqlplus),結果並沒有立刻進去,而是提示請立即更改預設密碼,這是回看剛才的報錯,一樣的資訊嘛!更改以後,再到配置最後一步進行測試,提示串連成功。這次該到用戶端的sqlplus中登入使用者了,可惜還是登入不上去,到底為什麼呢?這時回憶剛才度娘裡那些前人給的說法,依稀記得有人用“使用者名稱/密碼@服務名”方式登入資料庫,這種方式在之前置入匯出資料庫時也用過,於是就用這種格式嘗試,sqlplus終於不提示協議適配器錯誤了,而是顯示串連到資料庫伺服器中了,淚流滿面啊!還差最後一步了,啟動pl/sql developer程式,先不登入使用者,點擊取消按鈕,直接進入軟體,在工具-喜好設定-串連中(其實就是進入喜好設定後的第一個介面,用英文的朋友差不多能找到吧),Oracle主目錄名選擇下拉式清單方塊中給出的選項即可,OCI庫也是一樣(這裡注意一定要是用戶端安裝目錄,比如路徑中還有client_1這樣的字眼,跟你安裝用戶端是的路徑有關係,當然一般下拉式清單方塊中給出的選項就是用戶端的)。然後退出pl/sql程式,重新啟動並進入,這時登入使用者名稱為scott、密碼為tiger、資料庫為orcl,這幾個值都跟個人的設定有關係,我這裡給出的是預設值。然後pl/sql啟動畫面顯示已串連,過幾秒就進入軟體主表單介面,至此問題全都解決,可以在64位系統下使用Oracle資料庫嘍!

以上就是今天解決問題的全過程。真心想用64位作業系統,但是之前的記憶體太小,而且64位存在相容問題,於是遲遲沒有用。今天藉著預裝正版64位系統的東風,熟悉一下,並且解決了一個小問題。以後會堅定的走在64位平台上,伺服器從win2008開始就沒有32位了,而手機也快邁入64位了,我們開發人員不要固守32位系統了,當然如果你有需要,可以用虛擬機器嘛,我的下一篇文章可能就是解決使用虛擬機器碰到的問題。希望這篇文章能夠幫到遇到同樣問題的朋友!

記32位Oracle用戶端登入報12560協議適配器錯誤的解決辦法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.