惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
I
InfoQ
Engineering at Meta
Engineering at Meta
D
DataBreaches.Net
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Recent Announcements
Recent Announcements
GbyAI
GbyAI
爱范儿
爱范儿
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
美团技术团队
罗磊的独立博客
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
M
MIT News - Artificial intelligence
D
Docker
MongoDB | Blog
MongoDB | Blog
F
Fortinet All Blogs
博客园 - 叶小钗

博客园 - 老王博客

HttpModule的认识 破解软件感悟-PE文件格式之实例总结(五) 破解软件感悟-PE文件格式之Import Table(引入表)(四) 破解软件系列-PE文件深入浅出之Section Table节表 反射调用与Lambda表达式调用 每日购入汇总 External Table 推荐绝对好评 C#中使用Oracle存储过程返回结果集 绝对好评的淘宝购物导航:baiso.uz.taobao.com over Oracle 正则表达式的学习与小结 Oracle 日期查询 Oracle中的Union、Union All、Intersect、Minus 使用用法区别 ORACLE PL/SQL编程之八: 把触发器说透 验证数字的正则表达式集 --必有用正则表达式 大数据量传输时配置WCF的注意事项 Oracle中dual表的用途介绍 Oracle存储过程+游标
oracle中如何创建dblink
老王博客 · 2013-07-09 · via 博客园 - 老王博客

当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的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;

  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)

  )

  )