oracle 创建DBlink 实现跨数据库访问另一个数据库表的数据
来源:互联网 发布:金字塔外星人知乎 编辑:程序博客网 时间:2024/05/01 23:10
当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的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)
)
)
- oracle 创建DBlink 实现跨数据库访问另一个数据库表的数据
- oracle 创建dblink访问远程数据库
- 有效创建oracle dblink 的两种方式(实现不同服务器上数据库的访问)
- oracle数据库创建dblink
- 不同数据库间的数据访问--dblink
- 访问另一个数据库的表数据
- Oracle不同数据库访问DBLink
- 创建oracle dblink&sql操作不同数据库的表
- ORACLE如何使用DBLINK连接另一个数据库
- ORACLE如何使用DBLINK连接另一个数据库
- ORACLE如何使用DBLINK连接另一个数据库
- oracle 数据库创建DBLink 语法
- oracle数据库dblink创建示例
- oracle访问另一个数据库
- 创建一个指向本地数据库的 dblink,并通过 dblink 查询一个表中的数据
- 在oracle数据库用DBLINK连接另一个数据库(总结)
- ORACLE跨数据库操作,DBLINK的使用
- 使用Oracle DBLink进行数据库之间对象的访问操作
- CachedRowSet 使用方法
- ACE6.2.0在vs2010上编译运行(win7)
- 解决Android AVD的方向键DPAD不能用的问题/could not find class
- (三)线程控制--java 多线程编程的那点小事
- Notepad++插件推荐
- oracle 创建DBlink 实现跨数据库访问另一个数据库表的数据
- timus 1192. Ball in a Dream URAL 解题报告 平生第一个计算几何+高中物理
- EL表达式使用的问题
- Windows版Mysql5.6.11的安装与配置
- "ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源"的解决方法
- 解一元线性同余方程组模板
- iOS 整体框架类图[转]
- 大数据未来如何影响我们的工作和生活?
- 普通开发者如何吃到企业级APP这块大蛋糕?