天天看點

分布式資料庫通路解決方案

在軟體開發的過程中,發現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;