http://www.cnblogs.com/ningvsban/archive/2013/04/26/3045735.html
1.创建之前的工作
在创建dblink之前,首先要查看用户是否有相应的权限。针对特定的用户,使用 sqlplus user/pwd登录后,执行如下语句:
select * from user_sys_privs t where t.privilege like upper ( '%link%' );
|
在sys用户下,显示结果为:
SYS CREATE DATABASE LINK NO SYS DROP PUBLIC DATABASE LINK NO SYS CREATE PUBLIC DATABASE LINK NO
可以看出在数据库中dblink有三种权限:
CREATE DATABASE LINK--所创建的dblink只能是创建者能使用,别的用户使用不了 CREATE PUBLIC DATABASE LINK--public表示所创建的dblink所有用户都可以使用 DROP PUBLIC DATABASE LINK--删除指定dblink
如果想要改变某个用户的权限,需要在sys用户下修改:
grant CREATE PUBLIC DATABASE LINK, DROP PUBLIC DATABASE LINK to scott;
|
查看dblink,有两种方式,分别如下:
1. select owner,object_name from dba_objects where object_type= 'DATABASE LINK' ;
2. select * from dba_db_links;
|
2. 创建dblink
create public database link <span style= "background-color: #ccffcc;" >LINK_NAME
</span> connect to <span style= "background-color: #ccffcc;" >USRNAME</span> identified by "<span style=" background-color: #ccffcc; ">PASSWORD</span>"
using '(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XXX.XXX)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = XXX)) )' ;
|
注意:using后跟的是一个字符串,其中一定不要出现不必要的空格,否则会出错ORA-12514,在上面的代码中为了方便阅读其中进行了换行,可能会出现空格而导致错误,所以使用的时候将空格去掉就ok了。
这里LINK_NAM为自定的名称;USERNAME和PASSWORD为指定的oracle数据库中的用户名和密码,SERVICE_NAME如果不确定的话,可以通过以下语句获得:
show parameter service_names; 或者 select name ,value from v$parameter where name = 'service_names'
|
3.dblink的使用
dblink的使用相对比较简单,把一般访问本地表时的表名改为如下格式即可:[user.]table@link_name。
select studentid from <a href= "mailto:abc.studeng@abc_ten" >abc.studeng@abc_ten</a>;
|
4.删除dblink
确定要删除的dblink名字以后,可以通过drop命令直接将其删除:
drop public database link abc_ten;
|
相关推荐
下面我们将深入探讨Oracle跨库查询`dblink`的创建、使用和删除。 首先,创建`dblink`之前,我们需要确保用户具有相应的权限。Oracle系统提供了几种与`dblink`相关的权限,包括`CREATE DATABASE LINK`(创建私有`...
本文主要介绍了Oracle存储过程的概念、创建和调用方法,以及如何使用DBLink实现跨库操作。存储过程提供了强大的数据库处理能力,而DBLink则使得不同数据库实例之间的交互变得更加方便和高效。掌握这些技术对于提高...
为了实现Oracle数据库与SQLServer数据库之间的数据交换,可以通过多种方式实现连接,其中一种较为简便的方法是利用Oracle提供的ODBC(Open Database Connectivity)机制来建立DBLink。这种方式相较于使用透明网关...
DBLink(Database Link)是Oracle提供的一种机制,用于在不同的Oracle数据库实例之间建立连接,实现跨数据库查询、更新等功能。它使得在一个数据库中访问另一个数据库的数据成为可能。 ##### 1. 全局名称(global_...
Oracle DATABASE LINK,简称DBLINK,是一种在不同的Oracle数据库实例间建立连接的方式,允许用户在本地数据库上执行查询和操作远程数据库的数据。DBLINK为跨数据库的通信提供了简单且高效的解决方案。 创建DBLINK的...
通过上述步骤,开发人员能够在Oracle 10g或11g环境中轻松地使用DBLink访问SQL Server数据库,极大地提高了跨数据库操作的灵活性和效率。这不仅简化了开发过程,还提高了系统的整体性能和可用性。
其中,数据库链接(DBLINK)是Oracle提供的一种高级特性,用于实现不同Oracle数据库之间的数据交互,尤其适用于数据迁移、分布式事务处理以及跨数据库查询等场景。本文将围绕“Oracle-不同数据库DBLINK导数据使用...
- 假设MySQL中有一个名为`employees`的表,可以使用以下SQL语句从Oracle数据库查询这个表的数据: ```sql SELECT * FROM employees@orcl_to_mysql; ``` 2. **复杂查询**: - 如果需要执行更复杂的查询,例如...
### DBLink 跨库连接详解 #### 一、引言 跨库连接是数据库领域中一个重要的技术手段,尤其在企业级应用中非常常见。它允许应用程序或数据库管理系统(DBMS)通过一种机制来访问不同数据库系统中的数据,从而实现...
### Oracle中创建DBLink的方法详解 #### 一、引言 在Oracle数据库环境中,经常需要进行跨数据库的数据访问。为了实现这一目标,Oracle提供了一种称为“DBLink”(数据库链接)的功能。通过DBLink,用户可以从一个...
### 在Oracle下创建...通过以上内容的学习,我们对Oracle中的DBLink有了更深入的理解,包括其基本概念、创建方法以及相关的权限管理等内容。这对于实际工作中处理多数据库环境下的数据交互问题具有重要的指导意义。
2. **查询源数据库表**:使用DB Link,我们可以查询源数据库scott用户下的所有表。例如: ```sql SELECT table_name FROM all_tables@scott_dblink WHERE owner = 'SCOTT'; ``` 这将返回scott用户拥有的所有表名...
本篇将详细阐述如何在Oracle中实现跨库查询,主要涉及DBLINK(数据库链接)的创建、使用以及管理。 一、创建DBLINK DBLINK是Oracle数据库中实现跨库查询的关键组件,它相当于一个桥梁,连接了不同的数据库实例。...
以下是对Oracle跨库查询方法的详细说明: 1. **权限配置**: 在进行跨库查询前,首先需要在本地数据库中为特定用户赋予创建Database Link的权限。例如,对于用户dbuser,可以通过以下SQL命令进行授权: ```sql ...
本文档详细介绍了一种在Oracle环境下实现跨数据库连接的方法——DBLink(数据库链接)。通过构建DBLink,可以实现在一个数据库环境中直接查询或操作另一个数据库中的数据,而无需编写复杂的程序逻辑来处理数据传输。...
Oracle数据库系统支持跨库查询和分布式查询,这些功能在大型企业级应用中尤为关键,能够帮助用户在不同的数据库实例间共享和操作数据。本篇将详细介绍如何在Oracle中实现跨库查询以及复制表数据。 首先,跨库查询是...
### Oracle使用DBLink比较两个数据库表的行数一致性 #### DBLink简介 DBLink(Database Link)是Oracle数据库提供的一种连接不同数据库实例的功能。通过DBLink,用户可以在一个数据库环境中查询、更新另一个数据库...
### Oracle使用DBLink连接远程数据库详解 #### 一、DBLink简介 在Oracle数据库中,DBLink(Database Link)是一种非常实用的功能,它允许用户在一个数据库(本地数据库)中访问另一个数据库(远程数据库)的数据。...
Oracle dblink 是 Oracle 数据库中用于连接不同数据库实例的工具,允许用户在多个数据库之间进行数据查询、更新和传输。它的主要应用场景是在分布式环境中,当需要从一个数据库访问另一个远程数据库的数据时。以下是...