ORACLE DATABASE LINK小知識(shí)
點(diǎn)擊上方“IT那活兒”,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!
DATABASE LINK數(shù)據(jù)庫鏈接顧名思義就是數(shù)據(jù)庫的鏈接,就像電話線一樣,是一個(gè)通道,是定義一個(gè)數(shù)據(jù)庫到另一個(gè)數(shù)據(jù)庫的路徑的對(duì)象,DATABASE LINK允許查詢遠(yuǎn)程表及執(zhí)行遠(yuǎn)程程序。
圖片來源于網(wǎng)絡(luò)
當(dāng)數(shù)據(jù)庫參數(shù)global_name=false時(shí),數(shù)據(jù)庫鏈接名稱和遠(yuǎn)程數(shù)據(jù)庫名稱可以不一樣2.1 創(chuàng)建數(shù)據(jù)庫鏈接的語法如下:CREATE [PUBLIC] DATABASE LINK link_name
CONNECT TO username IDENTIFIED BY password
USING connectstring;
link_name為數(shù)據(jù)庫鏈接名稱,可任意定義。connectstring為遠(yuǎn)程數(shù)據(jù)庫鏈接字符串或者遠(yuǎn)程數(shù)據(jù)庫的網(wǎng)絡(luò)服務(wù)名。這個(gè)服務(wù)名保存在TNSNAMES.ORA文件中,在該文件中定義了協(xié)議、主機(jī)名、端口和數(shù)據(jù)庫名。- 一個(gè)公用數(shù)據(jù)庫鏈接對(duì)于數(shù)據(jù)庫中的所有用戶都是可用的,而一個(gè)私有鏈接僅對(duì)創(chuàng)建它的用戶可用。由一個(gè)用戶給另外一個(gè)用戶授權(quán)私有數(shù)據(jù)庫鏈接是不可能的,一個(gè)數(shù)據(jù)庫鏈接要么是公用的,要么是私有的。
- 創(chuàng)建數(shù)據(jù)庫鏈接的帳號(hào)必須有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系統(tǒng)權(quán)限,用來登錄到遠(yuǎn)程數(shù)據(jù)庫的帳號(hào)必須有CREATE SESSION權(quán)限。
2.2 使用缺省登錄方式創(chuàng)建數(shù)據(jù)庫鏈接,即不指定遠(yuǎn)程數(shù)據(jù)庫的用戶名和密碼。CREATE [PUBLIC] DATABASE LINK link_name
USING connectstring;
在不指定用戶名和口令的情況下,ORACLE使用當(dāng)前的用戶名和口令登錄到遠(yuǎn)程數(shù)據(jù)庫。即本地?cái)?shù)據(jù)庫跟遠(yuǎn)程數(shù)據(jù)庫用戶名跟密碼需一致才能使用。- sys用戶不能作為遠(yuǎn)程數(shù)據(jù)庫dblink用戶創(chuàng)建,sys用戶必須以sysdba或者sysoper身份登錄。缺省登錄時(shí),也不能使用sys用戶登錄。
- 缺省登錄方式認(rèn)證必須兩邊數(shù)據(jù)庫用戶名和密碼一致才能使用。如密碼不一致,則會(huì)連接報(bào)錯(cuò)。
- 缺省登錄方式因無指定用戶密碼,如創(chuàng)建的是公用數(shù)據(jù)庫鏈接可多用戶使用,只要兩邊數(shù)據(jù)庫用戶名密碼一致即可。
2.3 刪除數(shù)據(jù)庫鏈接的語句是:DROP [PUBLIC] DATABASE LINK link;
2.4 查詢數(shù)據(jù)庫中的DATABASE LINK是:SELECT * FROM DBA_DB_LINKS;
當(dāng)數(shù)據(jù)庫參數(shù)global_name=true時(shí),需要求數(shù)據(jù)庫鏈接名稱跟遠(yuǎn)程數(shù)據(jù)庫名稱一樣。- dblink名必須與遠(yuǎn)程數(shù)據(jù)庫的全局?jǐn)?shù)據(jù)庫名(global_name)相同。
- 兩個(gè)同名的數(shù)據(jù)庫之間不得建立dblink。
本文來源:IT那活兒(上海新炬王翦團(tuán)隊(duì))

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://hztianpu.com/yun/129513.html