创建DBLINK 有两种方法
一 : 动态DB LINK
说是动态并不是真正动态的,只是这种方式可以随时建立,适合程序临时使用.
二: SERVER TO SERVER DB-LINK
该方法需要在当前的SERVER上建立名为 'DB2.TNSNAME' 的TNS .
注意是在SERVER上建TNS,不是CLIENT. 很多人建了DB-LINK 就会报错
ORA-12154 ,就是这个原因.
建好后可以访问远端数据DB2.
也可以继续建立synonym (同义词)
那么就可以用
代替刚才的查询.
----------------------------------------------------------------------------
同一台数据库服务器上两个不同的数据库可以通过共享来实现数据共享。两台不同的数据库服务器无法通过这种方法来实现数据共享,这个时候可以使用database links 。创建全局database links ,则必须使用systm或sys用户,在database前加public
1.两种方式创建
1.1 已经配置本地服务
CREATE DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码 USING '本地配置的数据的实例名' ;
1.2 未配置本地服务
两种方法配置dblink是差不多的,第二种方法不受本地配置的数据的实例名的影响。
2 查询远程数据库的数据
SELECT …… FROM 表名@数据库链接名;
查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。
一 : 动态DB LINK
-- Create database link
create public database link MYLINK2
connect to USERID
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = DB2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DS2)
)
)';
说是动态并不是真正动态的,只是这种方式可以随时建立,适合程序临时使用.
二: SERVER TO SERVER DB-LINK
-- Create database link
create public database link MYLINK
connect to USERID
using 'DB2.TNSNAME';
该方法需要在当前的SERVER上建立名为 'DB2.TNSNAME' 的TNS .
注意是在SERVER上建TNS,不是CLIENT. 很多人建了DB-LINK 就会报错
ORA-12154 ,就是这个原因.
建好后可以访问远端数据DB2.
select * from TABLE1@MYLINK2 where comFORT='1'
也可以继续建立synonym (同义词)
-- Create the synonym
create or replace public synonym r_db2
for sys.table1@MYLINK2;
那么就可以用
select * from r_db2 where comFORT='1'
代替刚才的查询.
----------------------------------------------------------------------------
同一台数据库服务器上两个不同的数据库可以通过共享来实现数据共享。两台不同的数据库服务器无法通过这种方法来实现数据共享,这个时候可以使用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服务器”而已。