当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的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
dblink_name connect to scott identified by tiger using 'bylw';
其中dblink_name是你创建的dblink名字,bylw是远程数据库的实例名,scott/tiger是登录到远程数据库的用户/密码。然后在本地数据库中通过dblink访问远程数据库'bylw'中scott.tb_test表,sql语句如下所示
select * from scott.tb_test@dblink_name;
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)
)
)
分享到:
相关推荐
databaselink是oracle数据库连接另一个数据库(可以是非oracle数据库)用的连接
1. **连接管理**:使用DB_Link查询时,会在后台与远程数据库建立一个新的连接。如果大量使用DB_Link,可能会导致连接资源紧张甚至耗尽,影响系统的稳定性和性能。 2. **锁的问题**:在某些情况下,DB_Link的使用可能...
在 Oracle 数据库中,可以通过以下几种方式来查看现有的 DB Link: 1. **查询 DBA_OBJECTS 表**: - 使用 SQL 语句 `SELECT owner, object_name FROM dba_objects WHERE object_type = 'DATABASELINK';` 来查看...
### DB Link 在 Oracle 数据库中的应用 #### 一、DB Link 概述 DB Link(数据库链接)是Oracle提供的一种跨数据库访问机制,允许用户在一个Oracle数据库实例中查询或更新另一个远程Oracle数据库实例中的数据。这为...
Oracle 创建 Database link 方法 Oracle 创建 Database link 方法是指在 Oracle 中创建一个 Database link 的过程,这样可以实现跨库访问,即在一个数据库中可以访问另一个数据库中的数据。下面将详细介绍如何创建...
在Oracle数据库中,通过创建DATABASE LINK(简称DB LINK),可以实现在不同的数据库之间进行数据共享与交互。这种技术使得用户能够像操作本地数据库一样操作远程数据库,极大地提高了数据访问的便捷性。本文将详细...
总结,创建DB_LINK是Oracle数据库实现跨库访问的关键,通过编写并执行适当的SQL脚本,我们可以轻松地在多个数据库之间建立联系,实现数据的交互。理解并熟练掌握DB_LINK的使用,对于提升数据库管理效率和优化业务...
Oracle DATABASE LINK,简称DBLINK,是一种在不同的Oracle数据库实例间建立连接的方式,允许用户在本地数据库上执行查询和操作远程数据库的数据。DBLINK为跨数据库的通信提供了简单且高效的解决方案。 创建DBLINK的...
这需要创建一个Oracle DB Link,将生产区数据库连接到模拟数据库中,然后使用 Oracle DB Link将数据批量转移到模拟数据库中。 评价:此方法可以快速、简捷地将数据批量转移到模拟数据库中,不需要占用大量的系统...
Database Link是Oracle数据库提供的一种分布式数据库功能,它创建了一个从源数据库到目标数据库的逻辑连接。 创建Database Link主要有两种方法:通过PL/SQL Developer的菜单界面和通过SQL命令行。下面将详细介绍这...
【Oracle DB优化总结】 在数据库管理系统中,Oracle Database(Oracle DB)因其稳定性和高性能而备受赞誉,但随着数据量的增长,优化数据库性能显得至关重要。本文将深入探讨Oracle DB的优化策略,包括优化器的选择...
Oracle DB Link 创建过程心得 Oracle DB Link 是一种数据库链接技术,允许用户从一台数据库服务器读取另一台数据库服务器下的数据。下面是创建 Oracle DB Link 过程的几点心得: 什么是 DB Link DB Link 是一种...
此外,Oracle还支持BFILE类型用于管理外部文件,而DB2/400提供了DATALINK类型作为对应。 #### 六、特殊类型 - **Oracle ROWID**: 用于唯一标识表中的行。 - **DB2/400 ROWID**: 类似于Oracle的ROWID,但不包含关于...
在Oracle Link中,主要有两种类型:DB Link(数据库链接)和Public DB Link(公共数据库链接)。DB Link是用户级别的,只能由创建它的用户使用;而Public DB Link则是全局的,所有用户都可以访问。创建DB Link的基本...
### ORACLE 建立 DB-LINK 详细讲解 #### 引言 在 Oracle 数据库管理中,DB-LINK(数据库链接)是一项重要的技术,它允许一个 Oracle 数据库实例访问另一个 Oracle 数据库实例中的数据。这在分布式数据库环境中非常...
Oracle数据库是一种广泛应用于企业级数据存储和管理的系统,它提供了强大的数据迁移工具,其中之一就是DB Link(数据库链接)。在本教程中,我们将探讨如何利用DB Link来迁移Oracle数据库中的用户下所有表的数据,以...
### Oracle存储过程与Database ...通过以上介绍,我们了解了如何在Oracle中创建和调用带有输入/输出参数的存储过程,以及如何创建和使用Database Link来访问远程数据库。这些技术对于实现复杂的应用程序逻辑非常有用。