Oracle服務器和客戶端安裝在同一台機器的情況


最近重裝了系統,所有的開發環境需要重新部署一下,因此重新安裝了Oracle,結果原來沒有問題,這一次又碰到了幾個問題(tns12154和tns03505),讓我好一搞啊。不過又重新對Oracle加深了一下理解,在這里記錄一下,防止下次忘記。

1、系統環境

Oracle11g x64,Client x86,win10專業版系統。

Oracle連接plsql12的x64版和OB10(是32位的)。

2、安裝過程

我的電腦所有軟件都安裝在D盤,Oracle也不例外,分別建立兩個文件夾(11g_x64和Client_x86)。

安裝完成后,在客戶端中新配置一個網絡服務localorcl(服務器端的實例/SID是orcl),其他的所有配置都沒有做(包括系統環境變量)。

3、碰到的問題

在上述的環境下,如果直接使用cmd來進行tnsping命令會出現以下情況:

(1)tnsping orcl;會報錯tns03505。

(2)tnsping localorcl;可以連接成功。

(3)tnsping 127.0.0.1;也可以連接成功。

如果分別使用兩個客戶端連接軟件的話,參數的填寫和碰到的情況如下:

(1)plsqlx64位的,在填寫Database參數時,必須填寫orcl(即服務器的實例名);如果填寫client的網絡服務名則報錯tns12154。

(2)使用OB進行連接,在填寫Database時必須填寫localorcl(即我自己配置的Client的網絡服務名);如果填寫服務器的實例名則報錯tns12154。

如果把環境變量都配置為客戶端的參數(oracle_home、tns_admin),則在使用客戶端連接軟件連接時Database的值必須填寫client的網絡服務名。

4、使用ArcGIS創建企業級地理數據庫

我這一通安裝其實目的是為了使用ArcGIS的SDE庫,因此還得轉到這個問題上。

在使用Catalog創建企業級地理數據庫時,數據庫選擇Oracle,在填寫“數據庫實例”這個參數時,必須填寫Client中創建的網絡服務名,否則無法創建企業級地理數據庫。(原因:Catalog使用時必須安裝和使用32位客戶端,因此在創建時也需要使用這個網絡服務名來連接具體的Oracle數據庫)

5、總結

其實最主要還是看是哪個軟件來連接和使用Oracle數據庫,不同的軟件或系統在連接時有不同的要求,也就需要不同的連接參數配置。在碰到問題時,搞清楚具體是誰來使用,然后使用相應的連接參數即可。

最后,附環境變量值的具體形式(具體路徑根據你自己的安裝來修改)

TNS_ADMIN

--D:\OraClient_x86\product\11.2.0\client_1\network\admin

ORACLE_HOME
---D:\Oracle11g_x64\product\11.2.0\dbhome_1
換成Server的地址后,x64的可以連接上,但是需要使用client的服務名來進行連接,而不能直接寫orcl
---D:\OraClient_x86\product\11.2.0\client_1
換成client的目錄后,ob可以連接上(也必須使用client的服務名進行連接,不能使用orcl),但是x64的又連接不上了

NLS_LANG(根據自己的字符集填寫)
--AMERICAN_AMERICA.ZHS16GBK
--SIMPLIFIED CHINESE_CHINA.ZHS16GBK


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM