ORACLE dblink 的建立
2009-02-02 16:03
267 查看
ORACLE dblink 的建立
1.在tnsnames.ora增加对备份数据库的指向,取名***(增加完毕后,用sqlplus进行验证)tnsping ***
2.登录本地数据库
3.CREATE DATABASE LINK *** CONNECT TO “目标用户名” IDENTIFIED BY “目标用户密码” USING '标识串';
4.desc custcount@***进行确认database link创建是否成功
复制表结构:create table 111 as select * from 111@'标识串'
---------------------------
软件环境:
1、Windows NT4.0+ORACLE 8.0.4
2、ORACLE安装路径为:C:ORANT
3、服务器A、服务器B,均装有NT 4.0中文版
实现方法:
1. 假设A地址192.1.1.1,B地址192.1.1.2
2. A、B上配置好TCP/IP,互相Ping通。
3. 配置init.ora文件,若global_name = true的话,database link 的名字必须同远程机的实例名相同,
为简便起见,请将global_name 设为 false。
4. 在服务器上配置tnsnames.ora,将Remote机器的地址(IP)信息加入本地的tnsnames.ora
A服务器:
TNSA_B =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 192.1.1.2)
(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
B服务器:
TNSB_A =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 192.1.1.1)
(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
5. 在 SQL*Plus 或其它工具中创建数据库链接
A服务器:create public database link A_TO_B connect to tmp identified by tmp using 'TNSA_B';
B服务器:create public database link B_TO_A connect to tmp identified by tmp using 'TNSB_A';
说明:
tmp是一个临时用户,A服务器、B服务器上均有,它的作用是提供链接的目的地,
假如:
B服务器上有user1、user2、tmp三个用户,user1和user2把他们想要对外公开的表的权限授给tmp用户,
那么,所有能通过database link连接到tmp用户上的人就可以直接访问user1、user2上的已授权表了。
6. 建立database link以后,请用这种格式select * from table_name@database_link_name 的方式访问
如:在A服务器上想访问B服务器上user1用户table1表的内容(A到B的连接为A_TO_B),则
SQL> select * from table1@A_TO_B;
7. 如果Oracle版本为7.3,则数据库联接写法如下:
A服务器:create public database link A_TO_B connect to tmp identified by tmp using 't:192.1.1.2:orcl';
B服务器:create public database link B_TO_A connect to tmp identified by tmp using 't:192.1.1.1:orcl';
-----------------------
--测试库(129.3)连正式库(130.3)
--1 在129.3fwq上的tnsnames.ora 里添加
simis_real =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.130.3)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora9)
)
)
--2 tnsping simis_raal 5 确认能ping通
--3 CREATE DATABASE LINK simis_real_2 CONNECT TO sidb IDENTIFIED BY xyz USING 'simis_real';
-- sidb/xyz为正式库上的用户/密码
--4 select * from test_aaffaa_1@simis_real_2;
8.删除dblink
drop public database link 名称
9.同义词
相当于alias(别名),比如把A机器的SYS.user_tab_comments在B机器的user2中建一个同义词table1
create synonym table1 for SYS.user_tab_comments;
如果table1是系统表的话,要把table1 建成为PUBLIC下的同义词,这样通过LINK就可以访问了
这样当你在user2中查select * from table1@link时就相当于查select * from SYS.user_tab_comments;
如果table1是系统表的话,要把table1 建成为PUBLIC下的同义词,这样通过LINK就可以访问了
1.在tnsnames.ora增加对备份数据库的指向,取名***(增加完毕后,用sqlplus进行验证)tnsping ***
2.登录本地数据库
3.CREATE DATABASE LINK *** CONNECT TO “目标用户名” IDENTIFIED BY “目标用户密码” USING '标识串';
4.desc custcount@***进行确认database link创建是否成功
复制表结构:create table 111 as select * from 111@'标识串'
---------------------------
软件环境:
1、Windows NT4.0+ORACLE 8.0.4
2、ORACLE安装路径为:C:ORANT
3、服务器A、服务器B,均装有NT 4.0中文版
实现方法:
1. 假设A地址192.1.1.1,B地址192.1.1.2
2. A、B上配置好TCP/IP,互相Ping通。
3. 配置init.ora文件,若global_name = true的话,database link 的名字必须同远程机的实例名相同,
为简便起见,请将global_name 设为 false。
4. 在服务器上配置tnsnames.ora,将Remote机器的地址(IP)信息加入本地的tnsnames.ora
A服务器:
TNSA_B =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 192.1.1.2)
(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
B服务器:
TNSB_A =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 192.1.1.1)
(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
5. 在 SQL*Plus 或其它工具中创建数据库链接
A服务器:create public database link A_TO_B connect to tmp identified by tmp using 'TNSA_B';
B服务器:create public database link B_TO_A connect to tmp identified by tmp using 'TNSB_A';
说明:
tmp是一个临时用户,A服务器、B服务器上均有,它的作用是提供链接的目的地,
假如:
B服务器上有user1、user2、tmp三个用户,user1和user2把他们想要对外公开的表的权限授给tmp用户,
那么,所有能通过database link连接到tmp用户上的人就可以直接访问user1、user2上的已授权表了。
6. 建立database link以后,请用这种格式select * from table_name@database_link_name 的方式访问
如:在A服务器上想访问B服务器上user1用户table1表的内容(A到B的连接为A_TO_B),则
SQL> select * from table1@A_TO_B;
7. 如果Oracle版本为7.3,则数据库联接写法如下:
A服务器:create public database link A_TO_B connect to tmp identified by tmp using 't:192.1.1.2:orcl';
B服务器:create public database link B_TO_A connect to tmp identified by tmp using 't:192.1.1.1:orcl';
-----------------------
--测试库(129.3)连正式库(130.3)
--1 在129.3fwq上的tnsnames.ora 里添加
simis_real =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.130.3)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora9)
)
)
--2 tnsping simis_raal 5 确认能ping通
--3 CREATE DATABASE LINK simis_real_2 CONNECT TO sidb IDENTIFIED BY xyz USING 'simis_real';
-- sidb/xyz为正式库上的用户/密码
--4 select * from test_aaffaa_1@simis_real_2;
8.删除dblink
drop public database link 名称
9.同义词
相当于alias(别名),比如把A机器的SYS.user_tab_comments在B机器的user2中建一个同义词table1
create synonym table1 for SYS.user_tab_comments;
如果table1是系统表的话,要把table1 建成为PUBLIC下的同义词,这样通过LINK就可以访问了
这样当你在user2中查select * from table1@link时就相当于查select * from SYS.user_tab_comments;
如果table1是系统表的话,要把table1 建成为PUBLIC下的同义词,这样通过LINK就可以访问了
相关文章推荐
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- Oracle下建立dblink时的权限问题
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的步骤记录,其实就是一条CREATE DATABASE LINK语句!
- ORACLE 通过gateway组件建立dblink连接sqlserver数据库的实战详细过程
- oracle建立dblink以及建立定时任务
- Oracle建立DBLink
- oracle建立dblink
- Oracle建立DBLINK的详细步骤记录【转】
- oracle基于odbc建立dblink访问sqlserver
- 在oracle中建立dblink訪問sqlserver
- oracle建立DBLINK详细步骤
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLink
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- oracle db links 建立 oracle dblink 创建过程 plsql 创建 dblink
- Oracle建立DBLINK的详细步骤记录