建立dblink(database link)

database linke是建立一个数据库到另一个数据库的路径的对象,通过database link可以允许查询远程表,我理解可以算作一种分布式数据库的用法。

database link是单向连接,既然它是一种对象,那自然可以在xxx_objects表中查询到相关的信息。建立database link前需要明确几个事情:

1、确认从建立方的server可以访问远程数据库。

2、需要在建立方的tnsnames中配置远程数据库连接串。

3、只有在服务端配置的连接才能在dblink中使用,如果仅是在客户端配置的连接是不能在dblink中使用,我这里就犯了这个错误,执行时就报错:

select * from [email protected]

*

ERROR at line 1:

ORA-12154: TNS:could not resolve service name

很明显,相当于服务端未配置tnsname,因此找不到远程数据库的service name配置。

建立过程:

1、建立方的服务端配置远程数据库的tnsname配置。

2、tnsping 远程数据库tnsnames配置名称,可以通。

3、sqlplus登录后执行:

SQL> create database link dblinktest connect to user identified by passwd using ‘ceshi‘;

其中:

dblinktest是database link的名称。

user是远程数据库的用户名。

passwd是远程数据库的密码。

ceshi是数据库服务端配置的tnsnames中名称。

4、执行:

SQL> select owner,object_name from dba_objects where object_type=‘DATABASE LINK‘;

OWNER           OBJECT_NAME

--------------- -------------------------

OPEN               DBLINKTEST

可以看到已经建立了这个database link。

5、执行:

SQL> select * from [email protected];

ID

----------

0

2

3

4

5

当然也可以执行insert语句:

SQL> insert into [email protected] values(1);

1 row created.

另外database link分为public和private的,默认是private,只有当前用户可用,如果是create public database link ...,则所有用户都可以使用这个名称的database link。

建立dblink(database link),布布扣,bubuko.com

时间: 2024-08-28 17:18:49

建立dblink(database link)的相关文章

oracle database link使用说明

作用:将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中可以操作另一个数据库中的对象 简易语法: CREATE [PUBLIC] DATABASE LINK dblink CONNECT TO user IDENTIFIED BY password USING 'connect_string';  DROP [PUBLIC] DATABASE LINK dblink; 注意:你必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK

ORACLE 11g 通过odbc建立连接到mysql库的database link

以前做过在oracle通过gateway建立到sqlserver的database link(详情参见:http://blog.csdn.net/mchdba/article/details/52719278),现在需要无缝访问mysql,所以也需要建立类似这样的连接通道. 1.分配mysql账号 先在mysql库上建立连接账号: GRANT SELECT ON test.* TO [email protected]'192.168.129.%' IDENTIFIED BY 'data_quer

Oracle创建database link(dblink)和同义词(synonym)

同一个数据库不同用户之间建立dblink和synonym 1.建立dblink 实现在A用户下通过dblink访问B用户下的数据库表,需要在A用户下创建访问B库的dblink连接 --创建远程连接dblink语句示例: create database link dblink名 connect to B库用户名 identified by B库密码 using '172.66.50.241:1521/AAA'; 备注:需修改对应访问连接用户和密码.IP.端口和数据库示例名 相关连接: https:

Script: Who’s using a database link?(找出谁在使用dblink)

Every once in awhile it is useful to find out which sessions are using a database link in an Oracle database. It’s one of those things that you may not need very often, but when you do need it, it is usually rather important. Yong Huang includes this

删除 Dblink 报错 ORA-02024: database link not found 的解决方法

昨天在删除DBlink 时报错 ORA-02024,  在orcle 11g R2的帮助文档上查找这个错误信息,居然没有,苦逼公司不能上网,回家baidu一下,oracle 使用前辈们已经总结的很好了,还是记录下这个问题解决方法吧.下面引用自http://blog.csdn.net/tianlesoftware/article/details/6160196 文章. 在Metalink上搜到了2篇与这个错误有关的文章: Cannot drop a database link after chan

IT忍者神龟之Database Link详解

-创建 CREATE public database link test_link CONNECT TO scott IDENTIFIED BY tiger using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = LEE) ) )'; --使用 select ename from [emai

实际建立DB-LINK,两个数据库之间的数据公用

创建DB-LINKcreate public database link dblink_名字 connect to 账户名字 identified by 账户密码 using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库所在地址)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = 目标数据的名字) ) )'; 建立完数据库取数据: CREATE 表名 AS

Oracle建立DB-LINK

Oracle建立DB-LINK 测试条件 两台服务器 远程:IP:192.168.0.18,SID: usertest,用户名:usertest,密码:123456 本地:IP: 192.168.8.90,SID: wjn,用户名:userwjn,密码:mosquito0 参数设置 1.     查看数据库global_name 执行select * from global_name; 远程数据库18返回: USERTEST.US.ORACLE.COM 本地数据库90返回: DB_WJN.REG

oracle快速建立DBLink的sql语句

原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/43764267 正常建立dblink时需要目标端开启监听,源端配置tns,然后还需要查看目标端的数据库GLOBAL_NAMES相关配置,感觉比较繁琐,现整理一个简单的方式,使用手工的方式建立tns,自主命名连接名,所有都在一个模板里,sql如下所示: create pu