windows下oracle客户端连接linux下服务器,如何配置?

我在XP下安装了client,linux下安装了服务器。
在服务器端启动数据库,启动监听器都没问题。 XP下用oracle Net Configuration Assistant连接服务器,提示“适配器错误”。
请详细说下配置过程。(客户端怎么改,服务器端怎么改,分别说下)
谢谢大伙了!
1L这种复制粘贴的。。我就日了。

软件环境: 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';
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-12-16
首先在Linux本地,用sqlplus连,测试服务是否启动。
注意:不要连localhost,而必循连向外提供服务的那个IP。
如果没连通,那就是本地服务有问题。先用sqlplus的sysdba的模式连上去,看看实例启动是否正常;再看看listener是否启动(lsnctl start)。

然后,在windows下,用telnet <db server ip> 1521(默认端口),测试是否能连上oracle服务。
如果连不上,检查一下网络是否通(ping);网络通的话,再检查一下linux的防火墙是不是开放访问权限了。

最后,在oracle Net Configuration Assistant里配置相应的,IP地址、数据库实例的服务名、用户/口令。

这再不通就怪了。本回答被网友采纳
第2个回答  推荐于2016-02-22
需要在windows下修改tnsnames.ora文件,需要知道linux下的IP地址,端口号,实例名等信息。
方法:
1、在本地的oracle目录下搜索tnsnames.ora文件,一般在~oracle\product\10.2.0\db_1\network\ADMIN目录下。
2、打开tnsnames.ora。
3、添加如下内容:
ora=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

说明:其中ora为本地所起的实例名(可自定义),xxx.xxx.xxx.xxx为远程服务器IP地址,1521为oracle端口号,orcl为远程服务器实例名。
第3个回答  2010-07-29
运行oracle Net Configuration Assistant--本地net服务名配置--添加--下一步--输入linux下oracle服务名--机器地址(linux服务器IP地址)--测试(更改账号进行测试)
第4个回答  2010-07-29
防火墙端口屏蔽掉了或端口不对
在客户端
telnet server ip 1521 (监听端口)
进到telnet里面说明端口通,否则检查防火墙,监听端口本回答被提问者采纳
相似回答