`
greenwen
  • 浏览: 216528 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

dblink访问远程数据库

阅读更多
dblink访问远程数据库

当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍如何在本地数据库中创建dblink.
  创建dblink一般有两种方式,不过在创建dblink之前用户必须有创建dblink的权限。想知道有关dblink的权限,以sys用户登录到本地数据库:
  
select * from user_sys_privs t
  where t.privilege like upper('%link%');
  1 SYS CREATE DATABASE LINK NO
  2 SYS DROP PUBLIC DATABASE LINK NO
  3 SYS CREATE PUBLIC DATABASE LINK NO


  可以看出在数据库中dblink有三种权限CREATE DATABASE LINK(所创建的dblink只能是创建者能使用,别的用户使用不了),CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用),DROP PUBLIC DATABASE LINK。
  在sys用户下,把CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK权限授予给你的用户
grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to scott;


  然后以scott用户登录本地数据库
  1.创建dblink的第一种方式,是在本地数据库tnsnames.ora文件中配置了要远程访问的数据库。
 
 create public database link
  to_bylw connect to scott identified by tiger using 'bylw';
  其中to_bylw是你创建的dblink名字,bylw是远程数据库的实例名,scott/tiger是登录到远程数据库的用户/密码。然后在本地数据库中通过dblink访问远程数据库'bylw'中scott.tb_test表,sql语句如下所示
  select * from scott.tb_test@to_bylw;
   select sysdate from dual@to_bylw;
 
 2.创建dblink的第二种方式,是在本地数据库tnsnames.ora文件中没有配置要访问的远程数据库,
  create database link to_test
  connect to scott identified by tiger
  using '(DESCRIPTION =
   (ADDRESS_LIST = 
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521)) 
  )
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = bylw)
  )
  )';


  第二种是把第一种配置在tnsnames.ora文件中的信息,直接放在创建dblink语句后面。第一种情况tnsnames.ora文件中信息如下:
  bylw = 
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521)) 
  )
  (CONNECT_DATA =
  (SERVER = DEDICATED) 
  (SERVICE_NAME = bylw)
  )
  )
分享到:
评论

相关推荐

    oracle通过ODBC建立dblink访问SqlServer数据库配置.docx

    oracle通过ODBC建立dblink访问SqlServer数据库配置

    在本地数据库访问远程数据库中的表

     当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍如何在本地数据库中...

    DBLink的创建和使用

    当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍如何在本地数据库中创建...

    oracle中如何创建dblink

    当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍如何在本地数据库中创建...

    同步不同服务器数据库数据

    建立dblink访问远程服务器数据库, 建立同义词转换远程表访问 建立存储过程将同义词表同步到本地表 建立job定时执行存储过程同步数据 代码已测试通过

    oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法

    错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...

    Oracle dblink详解

    在创建database link的时候,Oracle再数据字典中保存相关的database link的信息,在使用database link的时候,Oracle通过Oracle Net用用户预先定义好的连接信息访问相应的远程数据库以完成相应的工作。 建立database...

    Oracle报存储过程中调用DBLink同义词出现错误:PLS-00201: 必须声明标识符

    前几天编写一个存储过程,需要访问远程数据库的字段,于是建立一个dbLink并建了同义词: CREATE PUBLIC DATABASE LINK orcl@dbc CONNECT TO orcl IDENTIFIED BY orcl USING 'orcl'; CREATE SYNONYM mtb FOR mytable...

    Mysql 开启Federated引擎的方法

    MySQL中针对不同的功能需求... 通过这个引擎可以实现类似Oracle 下DBLINK的远程数据访问功能。 使用show engines 命令查看数据库是否已支持FEDERATED引擎: Support 的值有以下几个: YES 支持并开启 DEFAULT 支持

    Oracle中Driving_site Hint的用法

    对于使用DBLINK远程访问数据库的SQL,ORACLE可以有两种选择: 第一:在Remote数据库执行该段SQL; 第二:在Local数据库执行该段SQL; 所以优化策略和思路: 策略:远程访问,网络传输占很大部分,优化原则,减少网络...

    Oracle JDBC DBLink-开源

    jdbc dblink 实现,允许在 oracle 和任何其他 jdbc 可访问数据库之间创建 jdbc 链接,以通过 sql 和 pl/sql 启动查询或执行远程存储过程。 这也允许从 10.2.0 达到 Oracle 7.3.4。

    Oracle9i的init.ora参数中文说明

    说明: 用于指定数据库为远程 PL/SQL 存储的过程处理被依赖对象的方式。如果设置为 TIMESTAMP, 只有在服务器与本地时间戳相匹配的情况下, 才能执行该过程。如果设置为 SIGNATURE, 在签名安全的情况下即可执行该过程。...

    Oracle事例

    创建远程数据库同义词 create synonym for TABLENAME@DBLNKNAME; 操纵远程数据库记录 insert into TABLENAME@DBLNKNAME (a,b) values (va,vb); update TABLENAME@DBLNKNAME set a=\'this\'; delete from ...

Global site tag (gtag.js) - Google Analytics