1. 什么是DB Link
数据库连接,即从一个数据库建立的到另一个数据库的连接。
数据库连接主要用于分布式数据库的相互访问,可以从本地数据库直接读取或修改远程数据库的数据。
2. 如何创建DB Link
创建DB Link有两种方式:
(1)已经配置本地服务
create public database link test1 connect to system
identified by password using 'myoracle';
(2)未配置本地服务
create public database link test2
connect to system identified by password
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ora1)
)
)'
/
3. 如何使用DB Link
(1)表名 + @ DB Link name
select * from table_a@test1 where …;
select * from table_a@test2 where …;
(2)同义词
创建同义词:
create synonym system_table_a for table_a@test2;
使用同义词:
select * from system_table_a where …;
4. 其他注意事项
(1)查询当前数据库的DB Link
select * from dba_db_links;
(2)数据库参数global_names
global_names为true时,DB Link的名字
必需与被连接数据库的global_name一致;
global_names为false时,则没有这个限制;
查看:show parameter global_names
更改:alter system set global_names=false
(3)删除DB Link
drop public database link test1;
(4)删除同义词
drop sysnonym system_table_a;