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)
)
)
分享到:
相关推荐
- 创建DBLink时使用的用户名和密码应具有足够的权限以访问远程数据库中的数据。 - 使用公共DBLink时,需要注意安全性问题,避免敏感数据泄露。 #### 五、总结 本文详细介绍了如何在Oracle中使用DBLink连接远程...
oracle通过ODBC建立dblink访问SqlServer数据库配置
本文介绍了如何创建DBLINK连接串以及如何使用DBLINK访问远程数据库中的表。此外,还介绍了如何通过创建同义词来简化查询操作,以及如何查询特定模式下的所有表。这些技巧对于日常数据库管理和维护非常有帮助。通过...
通过DBLink,你可以直接访问远程数据库的表,就像它们是本地数据库的一部分一样。在数据库同步的场景中,DBLink的作用尤为重要,它可以帮助我们实时或定时获取远程数据库的更新,并将其应用到本地数据库,确保两个...
通过DBLink访问远程数据库中的表可以使用以下SQL语句: ```sql SELECT * FROM scott.tb_test@to_bylw; ``` 2. **不依赖TNSNAMES.ORA文件的DBLink**:如果`tnsnames.ora`文件中没有配置要访问的远程数据库信息,...
### Oracle通过ODBC建立DBLink访问SQLServer数据库 在企业级应用环境中,不同数据库系统间的交互变得越来越频繁。为了实现Oracle数据库与SQLServer数据库之间的数据交换,可以通过多种方式实现连接,其中一种较为...
1. **资源消耗**:每次通过DBLink访问远程数据库都会生成一个新的本地会话(session),这会导致大量系统资源的消耗。 2. **性能问题**:使用DBLink进行数据传输时,每次都会对远程数据库进行全表扫描,并将所有数据...
- **多层 DBLink**:可以创建一个 DBLink 通过另一个 DBLink 访问远程数据库,实现多级连接。 7. **应用场景** - **数据整合**:跨数据库的数据集成,例如报表生成和数据分析。 - **灾难恢复**:通过 DBLink ...
DBLink 允许用户在本地数据库中访问远程数据库中的数据,就像访问本地数据库一样。 创建 DBLink 需要授予创建 DBLink 的权限,例如:grant create public database link,drop public database link to test_1;。...
DBLink提供了一种方式来访问远程数据库中的数据,而无需建立物理连接。 什么是CLOB字段? CLOB(Character Large OBject)是Oracle数据库中的一个数据类型,用于存储大量的字符数据。CLOB字段可以存储大量的文本...
在使用dblink时,Oracle通过Oracle Net服务,利用预定义的连接参数访问远程数据库。在设置dblink之前,必须确保两个关键条件:一是本地数据库到远程数据库的网络连接正常,可以通过tnsping命令测试;二是远程数据库...
创建DBLink后,你可以在本地数据库上执行如下的SQL查询,通过DBLink访问远程数据库的数据: ```sql SELECT * FROM table_name@dblink_name; ``` 这里,`table_name`是远程数据库中的表名。 在实际应用中,需要...
Oracle DATABASE LINK,简称DBLINK,是一种在不同的Oracle数据库实例间建立连接的方式,允许用户在本地数据库上执行查询和操作远程数据库的数据。DBLINK为跨数据库的通信提供了简单且高效的解决方案。 创建DBLINK的...
#### 知识点四:通过DBLink访问远程表 - **示例查询**:创建好DBLink后,可以通过以下SQL语句查询远程数据库中的表。 - `SELECT * FROM scott.tb_test@to_bylw;` - 此处`scott.tb_test@to_bylw`表示通过名为`to_...
创建远程数据库表的同义词,可以简化访问远程数据的语法,例如: - `CREATE SYNONYM 同义词名 FOR 表名;` - `CREATE SYNONYM 同义词名 FOR 表名 @数据库链接名;` 6. **删除DBLink** 删除DBLink使用`DROP PUBLIC ...
在目标数据库中创建需要同步的表,并且可以通过dblink来查询远程数据库中的表数据。 **步骤:** 1. **创建表:** ```sql droptabletest_user; createtabletest_user(idnumber(10)primarykey,namevarchar2(12),...
一旦DBLINK建立成功,你就可以在本地数据库中像操作本地表一样操作远程数据库的表。比如查询远程表: ```sql SELECT * FROM 表名@远程链接名; ``` 如描述中所示,你也可以通过DBLINK进行数据导入,例如: ```sql ...
数据库链接(DBLINK)允许一个Oracle数据库实例连接到另一个远程数据库实例,从而实现数据的透明访问。创建DBLINK的基本语法如下: ```sql CREATE DATABASE LINK db_link_name CONNECT TO remote_user IDENTIFIED ...
它的主要应用场景是在分布式环境中,当需要从一个数据库访问另一个远程数据库的数据时。以下是对 dblink 应用的详细说明: 1. 创建 dblink: - 平台无关的写法:在创建 dblink 时,可以使用如下的 SQL 语句,指定...
4. **性能优化**:对于某些特定的查询需求,通过DBLINK可以直接访问远程数据,避免了不必要的数据复制和中间层处理,从而提高了查询效率和响应速度。 ### 使用DBLINK的注意事项 尽管DBLINK带来了诸多便利,但在...