在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的方式,用多...