database link 建立 使用及常見問題

2021-09-01 07:48:22 字數 1905 閱讀 5789

在oracle中資料庫與資料庫

之間相互訪問可以採用database link (以下簡稱dblink)方式連線,

在每個資料庫伺服器上設定鏈結字串,即服務名,就是我們用plsql登陸需要選擇的那個東西

例如:

orcl101 =

(description =

(address_list =

(address = (protocol = tcp)(host = 192.168.4.101)(port = 1521))

)(connect_data =

(server = dedicated)

(service_name = orcl)

))

orcl101 資料庫伺服器連線字串 服務名

1、建立db link

方式一、直接新建服務連線字串

sql>create public database link  dong connect to dong717 identified by "dong717" 

using '(description =

(address_list =

(address = (protocol = tcp)(host = 192.168.4.220)(port = 1521))

)(connect_data =

(service_name=orcl)))';

方式

二、使用已經建好的服務名

sql>create public database

link dong connect to dong717

identified by "dong717" using 'orcl101';

2、檢視資料庫連線

sql> select owner, db_link from dba_db_links; 

owner db_link

public db_156

3、使用dblink執行查詢

sql>select * from  tb_sys_department t,department@dong d where d.code=t.search_key
4、為了方便查詢可以建立同義詞,為了使有關分布式操作更透明,oracle資料庫裡有同義詞的物件synonym

sql>create synonym dept_link for department@dong;

sql>select * from dept_link

5、刪除dblink

sql>drop public database link dong;
6、常見錯誤

1、ora-12154: tns : 無法處理服務名

出現這種錯誤一般情況下是因為:

a:192.168.0.1 b:

192.168.0.2 c:

192.168.0.3

例如建立的服務名為dong717_b_at_c,是在c上配置的與b的連線。我們的目的

是建立從a到b

的資料庫鏈,但我們使用的服務名卻是

c 到

b 的連線!

正確的方法是:在a

上配置對應b

服務名dong717_b

_at_a,從a連線到b。

遇到此類錯誤建議採用上面說的第一種方式建立dblink

,

資料庫鏈結(Database Link)

資料庫鏈結 database link 告訴oracle如何從乙個庫到達另乙個資料庫。資料庫鏈結要求oracle net在涉及遠端資料庫訪問的每一台計算機 主機 上執行。tnsnames.ora配置連線庫 dtv251 description address list address protoco...

Android studio arr 建立與使用

緊張的工作告一段落,第一次做專案的sdk,做些小總結 一 jar與arr的區別 aar 包含所有資源,class以及res資源檔案全部包含 二 建立與使用 1,建立乙個專案,然後再專案中建立乙個 module 2,建立完目錄結構會多乙個module implementation project li...

sparse image file的建立和使用

sparse file的檔案以sparse方式儲存,其優點是延遲分配磁碟空間,原理可模擬於可執行檔案中的.bss段。sparse file尤其適合作為虛擬機器的磁碟映像檔案。它僅保留一些建立時使用者指定的檔案大小資訊以及其他的metadata,使用allocation on demand的方式,用多...