在項目開發中,有時會通過本地的oracle來操作遠程數據庫的表,那么,就需要用到oracle的DBLink技術。
?
創建DBlink步驟如下:
?
一、獲取遠程數據庫的
GLOBAL_NAME:
? ? ? ?????SELECT * FROM GLOBAL_NAME;
?
二、檢查oracle版本是否支持同步功能:
? ? ??????
?select * from v$option where PARAMETER='Advanced replication',如果返回True,則表示支持,否則,就是不支持,本地和遠程數據庫都必須為支持才能創建DBLink
?
?
三、創建DBLink:
????????????
create database link
?SCDRMT.REGRESS.RDBMS.DEV.US.ORACLE.COM
?
????????????connect to?
????????????
qkjzj?
????????????identified by "
qkjzj2013
"?
????????????using '
(DESCRIPTION =
? ? ????????(ADDRESS = (PROTOCOL = TCP)(HOST = 10.176.33.75)(PORT = 1521))
? ? ????????(CONNECT_DATA =
? ? ? ????????(SERVICE_NAME = scdrmt)
? ? ????????)
?????????)
';?
?
????? ??
SCDRMT.REGRESS.RDBMS.DEV.US.ORACLE.COM為遠程數據庫的
GLOBAL_NAME,
qkjzj 為遠程數據庫的用戶名,qkjzj2013為遠程數據庫的密碼,密碼之所以用雙引號括起來,是因為在oracle某些版本中, 會自動將密碼轉換為大寫,用雙引號括起來可以防止oracle將密碼自動轉換為大寫,using用單引號括起來的為遠程數據庫的服務名,遠程數據庫的服務名必須用單引號括起來
?
四、查詢創建是否成功:
? ? ?????
select * from dual@
S
CDRMT.REGRESS.RDBMS.DEV.US.ORACLE.COM
?,返回以下結果則表示創建成功:
???????????
?
DUMMY
? ??
????
????
????
-----
? ??
????
????
????
X
?
????????????? ??
創建成功之后,我們通過以下方式就可以進行遠程數據庫的操作:
????????????????select * from tableName@
S
CDRMT.REGRESS.RDBMS.DEV.US.ORACLE.COM
????????? ? update tableName
@
S
CDRMT.REGRESS.RDBMS.DEV.US.ORACLE.COM
????????? ? delete from tableName
@
S
CDRMT.REGRESS.RDBMS.DEV.US.ORACLE.COM
????????? ??
tableName為遠程數據庫的表名
????????????????
?
五、
查詢已經建立的遠程連接名:
????? ??
select owner,object_name from dba_objects where object_type='DATABASE LINK'
?
六、刪除
DBLink:
? ??????????
drop database link STAGEING.REGRESS.RDBMS.DEV.US.ORACLE.COM;
????????
? ??
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
