天天看点

分布式数据库访问解决方案

在软件开发的过程中,发现Web应用程序可能要对两个不同的数据库同时进行访问,可以使用同义词来实现.但必须要先建立一个数据库链接. 当然引用数据库链接,也可以达到与使用同义词同样的效果.

databaseA              数据库A实例名

databaseB     数据库B实例名

A_USR_ID    数据库A的用户

A_USR_PWD   用户A_USR_ID的密码

B_USR_ID    数据库B的用户

B_USR_PWD   用户B_USR_ID的密码

通过数据库链接,可以实现在B_USR_ID模式下访问A_USR_ID模式下的表,视图等.

连接databaseB

Connect B_USR_ID/ B_USR_PWD @databaseB_192.168.0.48;

建立数据库链接

create database link db_link_databaseA

connect to A_USR_ID identified by A_USR_PWD

using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.48)(PORT = 1521)))(CONNECT_DATA =(SID = databaseA)(SERVER = DEDICATED)))';

删除数据库链接

drop database link db_link_databaseA;

查看所有的数据库链接

select * from dba_objects where object_type='DATABASE LINK';

直接引用数据库链接

select * from A_TABLE@ db_link_databaseA;