源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

oracle跨库查询的方法

  • 时间:2022-03-23 00:22 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:oracle跨库查询的方法
在Oracle本地数据库端执行赋权dbuser帐号 SQL> grant create database link to dbuser; 1.配置本地数据库服务器的tnsnames.ora文件
$vi $ORACLE_HOME/network/admin/tnsnames.ora 
添加如下行,其中DBLINK为连接名(可自定义),HOST和PORT为数据库侦听的IP及端口,SERVICE_NAME为数据库的SID,
MEDIADBLINK = 
 (DESCRIPTION = 
  (ADDRESS_LIST = 
   (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.1)(PORT = 1521)) 
  ) 
  (CONNECT_DATA = 
   (SERVICE_NAME = db) 
  ) 
 ) 
2.登录到本地数据库,创建database link 执行如下查询语句,其中MEDIADB为database link名(可自定义),MEDIADBLINK为先前在tnsnames.ora中定义的连接名, dbuser为用户名,password为密码
 -- Create database link 
 create database link MEDIADB 
 connect to dbuser identified by password 
 using 'MEDIADBLINK'; 
注意:这里不会验证用户名密码的正确性 3.使用链接的数据库 3.1 查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@database link名”,如
select * from table_name@MEDIADB ; 
3.2 也可以为这个表创建一个同义词
create synonym aaa for table_name@MEDIADB ; 
如下语句的效果和3.1中的一样
select * from aaa; 
删除同义词的语句为
drop synonym aaa; 
 以下是其他网友的补充:  在Oracle本地数据库端执行赋权dbuser帐号 SQL> grant create database link to dbuser; 配置本地数据库服务器的tnsnames.ora文件 $ vi $ORACLE_HOME/network/admin/tnsnames.ora 增加需要远程连接服务器的连接配置,如:
ORCL_REMOTE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradb )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
登录到本地数据库,创建database link 执行如下查询语句,其中ORCL_LINK为database link名(可自定义),ORCL_REMOTE为先前在tnsnames.ora中定义的连接名, dbuser为用户名,password为密码
create database link ORCL_LINK connect to dbuser identified by password using 'ORCL_REMOTE';
查询创建database link的2中方式: 1)、执行SQL语句。 select * from user_db_links; --用户 DB Link select * from dba_db_links; --dba DB Link select * from v$dblink; --当前DB Link 2)、在PL/SQL中,在左边浏览器中点击database links就可以看到数据库链路了。 使用链接的数据库 查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@database link名”,如
select * from table_name@ORCL_LINK
其它: 删除database link(本例中是ORCL_LINK) SQL> Drop database link ORCL_LINK; 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部