大致說一下我的環境
1本地已經安裝好了Oracle 並且安裝了plsql Developer 但是因為要連接另外一台oracle 數據庫服務器 所以需要配一下遠程連接
2首先聲明我這里是本地先安裝好Oracle數據據庫以后(說明系統的一些變量都已經配置好了)才開始用developer連接另外一台電腦上的數據庫的!!!!
3其實有了這些喲吼直接到本機的oracle安裝目錄下(比如我的路徑)
D:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
找到tnsnames.ora文件里面內容如下:
orclTest=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.111)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
)
)
說明:紅色背景的orclTest是你打開plsql Developer 登陸界面的能選擇的名稱(即遠程數據庫在本地顯示的名稱,這個可以隨便填,比如orclTest但是不能有空格!!!)

第二個orcl千萬不要寫錯了他表示你將要連接的遠程數據庫的SID(實例id) 這個實例id
最后保存文件
打開plsql Developer 就可以打開看到上圖 填寫用戶名 和密碼。
另外我遇到的錯誤:
“ORA-12541:TNS:無監聽程序”錯誤
這個錯誤原因有很多請點擊上面那的連接查看原因。
我的處理辦法啊是直接把那個tnsnames.ora文件刪掉直接重寫了一個‘
具體內容和上文的tnsnames.ora文件相同
錯誤2

我檢查了一下原因是因為我在plsql 數據庫這一項填的 和 tnsnames 里 orclTest 不一樣。(其實重啟 plsql developer 一般是會自動加載配置文件信息的然后plsql developer 會給出選項去選擇 不知道為什么我的腰手動填,注意千萬別填錯)
因為沒有自動加載出來 我只好自己寫了記得把
改成


第三個錯誤就是會報錯:非法地址錯誤 其實這個也是配置文件寫錯的原因。一般情況下要注意配置文件要寫程如下格式

HOST 要寫准確的數據庫所在 ip地址;不要寫逐句名!
端口要正確!
另外如果服務端 數據庫是建立的數據庫實例 那么請寫 (SID = XXX)
最后當我把上面的錯誤排除掉以后 有出現一個錯:具體代碼不記得了 叫 無監聽 我把服務端的監聽重啟了一下,然后好了。
登陸成功后

==================================================昏割線======================================================================
另外有人說其他連接方式 請百度
這里我給出一個比較全面的
(一)不安裝客戶端的解決辦法。
第一種方法:
1、在安裝ORACLE服務器的機器上搜索下列文件,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll (可能服務器沒有,如果沒有則pl sql 隨便用戶名密碼可以登陸)
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
放到一個文件夾,如 oraclient
2、配置tnsnames.ora,如果本機上沒有安裝oracle,可以從安裝了oracle的機上拷貝一個(tnsnames.ora文件在%ORACLE_HOME%\network\admin下)放在上面的目錄D:\oraclient下。
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracledata)
)
)
3、添加一個環境變量,名為TNS_ADMIN,值為tnsnames.ora文件所在路徑(如:D:\oraclient,特別是重裝后或其它操作,忘了TNS_ADMIN變量,plsql登陸就會報無法解析指定的連接標識符),這是為了能夠找到上面說的tnsnames.ora。如果本機上安裝了ORACLE,並且設置了ORACLE_HOME環境變量,那么會自動在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。
4、設置ORACLE的語言,添加環境變量:
“NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII編碼類型,其它類型可自己到服務器看一下或網上查找一下)
(本步驟暫時要做對,如果編碼不對,會產生亂碼)
5、下載並安裝PL.SQL.Developer配置應用
配置tools->preferences->connection
Oracle Home=D:\oracleclient
OCI library=D:\oracleclient\oci.dll
6、再次打開plsql則會在database中有oracledata 選項輸入用戶名密碼就可以登陸。
第二種方法:
1。首先去oracle的官方下載客戶端的壓縮包,地址是:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,選擇機器的操作系統后選擇oracle對應的版本的base那個壓縮包下載。
2。將下載后的壓縮包解壓到相應的目錄,比如 D:\worksoftware\instantclient_10_2下;
3。在這個目錄下建立NETWORD目錄,再在NETWORK目錄下建立ADMIN目錄,如D:\worksoftware\instantclient_10_2\NETWORK\ADMIN;
4。在第二步所建立的目錄下新建一個tnsnames.ora文件,當然也可以從服務器上copy這個文件,文件的內容如下
databasename =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = database name)
)
)
databasename =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = database name)
)
)
例如我的就是
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.113)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.113)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
5。打開PL SQL DEVELOPER 工具,點擊tools-》preferences在右側的oracle home里填上客戶端的home,如D:\worksoftware\instantclient_10_2;在OCI Library里填上oci.dll路徑,如D:\worksoftware\instantclient_10_2\oci.dll;
6。配置環境變量nls_lang 變量值是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK這個東西主要是解決中文問題的。
7。ok配置完畢,應該是可以的啦,最好在啟動之前先ping下遠程的服務器,通了就應該可以連接上了
我的配置,其中BOC_TEST_91等為連接字符串
BOC_TEST_91 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.29.91)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = bot)
)
)
BOC_TEST_68 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.19.68)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = bot)
)
)
BOC_PRO_56 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.11.56)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = bop)
)
)
(二)安裝客戶端的解決辦法
一、配置oracle服務器的監聽器listener
修改<安裝目錄>/network/admin/目錄下的listener.ora和tnsnames.ora兩個文件。其中
listener文件大致如下:
# listener.ora Network Configuration File: /oracle/app/product/10.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/app/product/10.1.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = demo1) #demo1為oracle實例名
(ORACLE_HOME = /oracle/app/product/10.1.0/db_1)
(SID_NAME = demo1)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521)) #IP地址為oracle服務器
)
)
tnsnames.ora文件大致修改如下:
# tnsnames.ora Network Configuration File: /oracle/app/product/10.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
DEMO1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521)) #IP地址為oracle服務器
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DEMO1) #demo1為oracle實例名,或者服務名稱此名稱可通過netmgr或netca修改
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
以上修改也可通過圖形界面的netmgr和netca進行配置。修改之后,重啟監聽器
二、下載安裝oracle客戶端。
在安裝pl/sql developer的本地機器上必須安裝oracle客戶端(此處指針對oracle 10g版本,有說也可只安裝相關驅動如oci驅動,具體不詳。並且客戶端不一定為10g版本,8i,9i皆可)。
1.從官網上下載綠色版本的客戶端,地址如下(或有改變):
http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
下載需要oracle用戶,可免費注冊
2.綠色版無需安裝,將此下載解壓至某處,並在其下建立一network目錄,目錄下再建admin目錄,結構如下
<客戶端目錄>/network/admin,在admin目錄中建立tnsnames.ora文件,內容大致如下:
demo1 = #oracle服務名
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521)) #oracle服務器地址與端口
)
(CONNECT_DATA =
(SERVICE_NAME = demo1)
)
)
三、在PL/SQL developer中配置客戶端信息。
打開PL/SQL developer,暫不登錄,選擇菜單tools->preferences->connection,設置如下兩項:
Oracle Home: D:\Program Files\instantclient_11_1 #客戶端解壓目錄
OCI library: D:\Program Files\instantclient_11_1\oci.dll #oci庫文件路徑,oci.dll應該在客戶端目錄下。
保存,重啟PL/SQL developer,些時應可看到登錄框中Database下拉選項里有你剛剛配置的遠程服務器上的服務實例demo1了。
