① windows下oracle客戶端連接linux下伺服器,如何配置
軟體環境: 1、Windows NT4.0+ORACLE 8.0.4
2、ORACLE安裝路徑為:C:\ORANT
3、伺服器A、伺服器B,均裝有NT 4.0中文版
實現方法: 1. 假設A地址192.1.1.1,B地址192.1.1.2
2. A、B上配置好TCP/IP,互相Ping通。
3. 配置init.ora文件,若global_name = true的話,database link 的名字必須同遠程機的實例名相同,
為簡便起見,請將global_name 設為 false。
4. 在伺服器上配置tnsnames.ora,將Remote機器的地址(IP)信息加入本地的tnsnames.ora
A伺服器:
TNSA_B =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 192.1.1.2)
(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
B伺服器:
TNSB_A =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 192.1.1.1)
(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
5. 在 SQL*Plus 或其它工具中創建資料庫鏈接
A伺服器:create public database link A_TO_B connect to tmp identified by tmp using 'TNSA_B';
B伺服器:create public database link B_TO_A connect to tmp identified by tmp using 'TNSB_A';
說明:
tmp是一個臨時用戶,A伺服器、B伺服器上均有,它的作用是提供鏈接的目的地,
假如:
B伺服器上有user1、user2、tmp三個用戶,user1和user2把他們想要對外公開的表的許可權授給tmp用戶,
那麼,所有能通過database link連接到tmp用戶上的人就可以直接訪問user1、user2上的已授權表了。
6. 建立database link以後,請用這種格式select * from table_name@database_link_name 的方式訪問
如:在A伺服器上想訪問B伺服器上user1用戶table1表的內容(A到B的連接為A_TO_B),則
SQL> select * from table1@A_TO_B;
7. 如果Oracle版本為7.3,則資料庫聯接寫法如下:
A伺服器:create public database link A_TO_B connect to tmp identified by tmp using 't:192.1.1.2:orcl';
B伺服器:create public database link B_TO_A connect to tmp identified by tmp using 't:192.1.1.1:orcl';
② 怎樣用oracle客戶端連接oracle伺服器端
1 裝個跟服務端上相同版本的oracle客戶端,再裝個PL/SQL配置一下就能連上了:
2 找到你oracle客戶端安裝目錄中的tnsnames.ora文件,修改
ZBDS_251 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 140.28.19.251)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = zbds)
)
)
「 zbds 」是你的oracle資料庫實例名,140.28.19.251是你的遠程伺服器的IP,「ZBDS_251」隨便起,是給PL/SQL看的。
③ windows下oracle客戶端連接linux下伺服器,如何配置
首先在Linux本地,用sqlplus連,測試服務是否啟動。x0dx0a注意:不要連localhost,而必循連磨鄭向外提供服務的那個IP。x0dx0a如果沒連通,那就是本地服務有問題。先用sqlplus的sysdba的模式連上去,看看實例啟橘世動是否正常;再看看listener是否啟動(lsnctl start)。x0dx0ax0dx0a然後,在windows下,用telnet