Chinaunix首页 | 论坛 | 博客
  • 博客访问: 983243
  • 博文数量: 152
  • 博客积分: 4937
  • 博客等级: 上校
  • 技术积分: 1662
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-05 16:55
文章分类

全部博文(152)

文章存档

2013年(12)

2012年(6)

2011年(58)

2010年(43)

2009年(1)

2008年(15)

2007年(17)

我的朋友

分类: WINDOWS

2011-09-01 11:59:44

首先监听器tnsnames.ora这个文件能连接到远程要创建dblink的数据库。


-- 创建dblink   MANAGER为远程数据库的用户名 password 为远程数据库的密码, orcl为监听器连好的链接名称

Sql代码
  1. create database link DDD.REGRESS.RDBMS.DEV.US.ORACLE.COM   
  2.   connect to MANAGER  identified by  password      
  3.   using 'orcl';  
create database link DDD.REGRESS.RDBMS.DEV.US.ORACLE.COM connect to MANAGER identified by  password using 'orcl';

这样就可以连接到 orcl数据库 灵活的取每一张表的数据了

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

同一台数据库服务器上两个不同的数据库可以通过共享来实现数据共享。两台不同的数据库服务器无法通过这种方法来实现数据共享,这个时候可以使用database links 。创建全局database links ,则必须使用systm或sys用户,在database前加public

1.两种方式创建
1.1 已经配置本地服务
CREATE DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码 USING '本地配置的数据的实例名' ;

1.2 未配置本地服务
create database link linkfwq
connect to fzept identified by neu
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = fjept)
)
)' ;

两种方法配置dblink是差不多的,第二种方法不受本地配置的数据的实例名的影响。

2 查询远程数据库的数据
SELECT …… FROM 表名@数据库链接名;
查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。

_____________________注意____________________________________

db link 的命名和global_names有关,
如果global_names=true(test),那么db link的命名要和远程数据库(prod)的global_name相同;
如果global_names=false(test),那么你可以随便命名db link。
请注意,是创建dblink的数据库的global_names,与远程数据库的global_names无关。

阅读(9072) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~