linux下,配置oracle的远程连接..在线等.

时间:2021-12-19 17:26:53
在linux下,有一个oracle服务器.A
另外,在XP上,另有一个oracle服务器.B

我需要在linux环境下,配置oracle,建立一个A与B间的远程连接.
然后,在linux下,写程序时,使用这个连接,操作服务器B上的数据库.

额.急用.在线等..如果我描述的不清楚,请谅解,回复.
谢谢.

13 个解决方案

#1


DBLINK

#2


事情很简单,但一两句描述不清。

在A所在主机TNSNAME.ORA里添加指向B库的TNSNAME,然后用PL/SQL连接到A,按照提示一步一步创建DBLINK

#3


二楼,这样行不?

create  database link test1
 connect to username identified by password
 using
'
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.78.167)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
';

#4


应该可以,try

#5


建完 database link test1后.

select * from dual@test1
显示
Oracle ORA-12154: TNS:could not resolve service name..
郁闷啊.

#6


服务名不能解析,看看是否配错…

#7


练到linux里面修改TNSNAME.ORA里添加指向B库的TNSNAME;

你的服务名配错了

#8


引用 7 楼 dajun539 的回复:
练到linux里面修改TNSNAME.ORA里添加指向B库的TNSNAME;

你的服务名配错了

赞成

#9


你得先确保a,b两个 tnsping 能互相ping通,再建dblink。建的时候注意语法。

#10


引用 7 楼 dajun539 的回复:
练到linux里面修改TNSNAME.ORA里添加指向B库的TNSNAME;

你的服务名配错了


服务名错了?应该怎么配啊?

#11


Oracle DB Link 
数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先在每个数据库服务器上设置链接字符串。 
   
1、 配置TNS , $ORACLE_HOME/NETWORK/ADMIN/tnsname.ora 
10gstandby = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = HFCC-KF-3068)(PORT = 1522)) 
    (CONNECT_DATA = 
      (SERVER = DEDICATED) 
      (SERVICE_NAME = 10gstandby) 
    ) 
  ) 
   
2、创建数据库链接, 
create public database link DB_LINK_NAME connect to TargetDatabaseUserName identified by TargetDatabasePassword using 'TargetDatabaseSIDName'; 
注:TargetDatabaseSIDName为该Oracle数据库所在的主机上的tnsnames.ora文件里边定义的数据库连接串。 
   
SQL>create public database link dvd connect to system identified by system using 'orcl10g'; 
   
则创建了一个以system用户和orcl10g数据库的链接dvd,我们查询dvd数据: 
   
SQL>select * from all_users@dvd;   
   
这样就可以把本地和远程的数据做成一个整体来处理。 
   
3、建立同义词,为了使有关分布式操作更透明,ORACLE数据库里有同义词的对象synonym 
   
SQL>create synonym synTest for all_users@dvd; 
   
于是就可以用synTest来替代带@符号的分布式链接操作all_users@dvd; 
   
4、查看所有的数据库链接: 
   
SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK'; 

#12


这要求和dblink无关吧
netca

#13


楼主是在说DBLink?

#1


DBLINK

#2


事情很简单,但一两句描述不清。

在A所在主机TNSNAME.ORA里添加指向B库的TNSNAME,然后用PL/SQL连接到A,按照提示一步一步创建DBLINK

#3


二楼,这样行不?

create  database link test1
 connect to username identified by password
 using
'
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.78.167)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
';

#4


应该可以,try

#5


建完 database link test1后.

select * from dual@test1
显示
Oracle ORA-12154: TNS:could not resolve service name..
郁闷啊.

#6


服务名不能解析,看看是否配错…

#7


练到linux里面修改TNSNAME.ORA里添加指向B库的TNSNAME;

你的服务名配错了

#8


引用 7 楼 dajun539 的回复:
练到linux里面修改TNSNAME.ORA里添加指向B库的TNSNAME;

你的服务名配错了

赞成

#9


你得先确保a,b两个 tnsping 能互相ping通,再建dblink。建的时候注意语法。

#10


引用 7 楼 dajun539 的回复:
练到linux里面修改TNSNAME.ORA里添加指向B库的TNSNAME;

你的服务名配错了


服务名错了?应该怎么配啊?

#11


Oracle DB Link 
数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先在每个数据库服务器上设置链接字符串。 
   
1、 配置TNS , $ORACLE_HOME/NETWORK/ADMIN/tnsname.ora 
10gstandby = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = HFCC-KF-3068)(PORT = 1522)) 
    (CONNECT_DATA = 
      (SERVER = DEDICATED) 
      (SERVICE_NAME = 10gstandby) 
    ) 
  ) 
   
2、创建数据库链接, 
create public database link DB_LINK_NAME connect to TargetDatabaseUserName identified by TargetDatabasePassword using 'TargetDatabaseSIDName'; 
注:TargetDatabaseSIDName为该Oracle数据库所在的主机上的tnsnames.ora文件里边定义的数据库连接串。 
   
SQL>create public database link dvd connect to system identified by system using 'orcl10g'; 
   
则创建了一个以system用户和orcl10g数据库的链接dvd,我们查询dvd数据: 
   
SQL>select * from all_users@dvd;   
   
这样就可以把本地和远程的数据做成一个整体来处理。 
   
3、建立同义词,为了使有关分布式操作更透明,ORACLE数据库里有同义词的对象synonym 
   
SQL>create synonym synTest for all_users@dvd; 
   
于是就可以用synTest来替代带@符号的分布式链接操作all_users@dvd; 
   
4、查看所有的数据库链接: 
   
SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK'; 

#12


这要求和dblink无关吧
netca

#13


楼主是在说DBLink?