隨著業務量的增加,需要存儲的數據也出現劇增,如果所有數據存儲到一個數據庫中勢必會增加數據庫的性能消耗。最終造成用戶的不友
隨著業務量的增加,需要存儲的數據也出現劇增,如果所有數據存儲到一個數據庫中勢必會增加數據庫的性能消耗。最終造成用戶的不友好感受。鑒于此我們計劃將數據分多份存儲到不同的數據庫中,,數據庫之間可以相互訪問,這時候我們就需要建dblink,即分域庫。數據庫之間通過@分域名稱的方式訪問。應用程序也可以通過這種方式訪問。這樣把訪問量大的數據放到獨立的數據庫上,而給客戶直接展示的功能配置數據及靜態數據單獨放到一個庫中,便于客戶快速查詢,友好顯示。
假設我們有兩個數據庫,數據庫A,數據庫B.我們要實現從A上可以訪問B數據庫的表,但是B不能訪問A數據庫的表。
具體步驟如下:
1. 在A數據庫的服務端,目錄 /home/Oracle/product/10.2.0/db_1/network/admin/tnsnames.ora,添加如下
DBLINK_NAME=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=192.168.5.12) -- 數據庫B的ip
(PORT=1521)
)
(CONNECT_DATA=
(SERVICE_NAME=ora920) --- 數據庫B的實例名稱。
)
)
2. 在數據庫A的客戶端執行,
create database link "DBLINK_NAME"
connect to INMS20 --- 數據B的用戶名
identified by "password" - -數據庫B的密碼
using 'DBLINK_NAME'; --域名稱。
3. 從數據庫A客戶端訪問數據庫B的數據表dual.
select * from dual@dblink_name ;
若想數據庫B也可以訪問數據庫A可以反向建立dblink。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com