日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Oracle數(shù)據(jù)庫(kù)如何創(chuàng)建DATABASELINK?

Oracle數(shù)據(jù)庫(kù)如何創(chuàng)建DATABASE LINK呢?本文我們通過(guò)一個(gè)實(shí)例來(lái)介紹這一創(chuàng)建過(guò)程,接下來(lái)就讓我們來(lái)一起了解一下這一過(guò)程吧。

物理上存放于網(wǎng)絡(luò)的多個(gè)ORACLE數(shù)據(jù)庫(kù),邏輯上可以看成一個(gè)單一的大型數(shù)據(jù)庫(kù),用戶可以通過(guò)網(wǎng)絡(luò)對(duì)異地?cái)?shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行存取,而服務(wù)器之間的協(xié)同處理對(duì)于工作站用戶及應(yīng)用程序而言是完全透明的,開發(fā)人員無(wú)需關(guān)心網(wǎng)絡(luò)的鏈接細(xì)節(jié)、數(shù)據(jù)在網(wǎng)絡(luò)節(jié)點(diǎn)中的具體分布情況和服務(wù)器間的協(xié)調(diào)工作過(guò)程。

數(shù)據(jù)庫(kù)之間的鏈接建立在DATABASE LINK上。要?jiǎng)?chuàng)建一個(gè)DATABASE LINK,必須首先在建立鏈接的數(shù)據(jù)庫(kù)上設(shè)置鏈接字符串,即配置一個(gè)遠(yuǎn)程數(shù)據(jù)庫(kù)的本地網(wǎng)絡(luò)服務(wù)名。

數(shù)據(jù)庫(kù)全局名稱可以用以下命令查出:

SQL>SELECT * FROM GLOBAL_NAME;

修改可以用以下語(yǔ)句來(lái)修改參數(shù)值:

SQL>ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;

oracle數(shù)據(jù)庫(kù)之間進(jìn)行連接通訊:

創(chuàng)建數(shù)據(jù)庫(kù)鏈接的語(yǔ)法如下:

 
 
 
  1. CREATE [PUBLIC] DATABASE LINK link_name
  2. CONNECT TO username IDENTIFIED BY password
  3. USING 'zytydic'

其中:

zytydic為本地tnsname.ora中定義的鏈接串,內(nèi)容如下:

 
 
 
  1. zytydic =
  2. (DESCRIPTION =
  3. (ADDRESS_LIST =
  4. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))
  5. )
  6. (CONNECT_DATA =
  7. (SID = orcl)
  8. )
  9. )

注意:創(chuàng)建數(shù)據(jù)庫(kù)鏈接的帳號(hào)必須有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系統(tǒng)權(quán)限,用來(lái)登錄到遠(yuǎn)程數(shù)據(jù)庫(kù)的帳號(hào)必須有CREATE SESSION權(quán)限。

這兩種權(quán)限都包含在CONNECT角色中(CREATE PUBLIC DATABASE LINK權(quán)限在DBA中)。一個(gè)公用數(shù)據(jù)庫(kù)鏈接對(duì)于數(shù)據(jù)庫(kù)中的所有用戶都是可用的,而一個(gè)私有鏈接僅對(duì)創(chuàng)建它的用戶可用。由一個(gè)用戶給另外一個(gè)用戶授權(quán)私有數(shù)據(jù)庫(kù)鏈接是不可能的,一個(gè)數(shù)據(jù)庫(kù)鏈接要么是公用的,要么是私有的。

創(chuàng)建數(shù)據(jù)庫(kù)鏈接時(shí),還可以使用缺省登錄方式,即不指定遠(yuǎn)程數(shù)據(jù)庫(kù)的用戶名和密碼:

 
 
 
  1. create public database link test_default_type_dblink
  2. using 'zytydic';

在不指定用戶名和口令的情況下,ORACLE使用當(dāng)前的用戶名和口令登錄到遠(yuǎn)程數(shù)據(jù)庫(kù),假如你本地是以emcd用戶登錄的本地的數(shù)據(jù)庫(kù)db_A,那么創(chuàng)建的DB Link test_default_type_dblink就是以本地的用戶賬戶信息建立的,當(dāng)要以此DB Link連接查看遠(yuǎn)程的數(shù)據(jù)庫(kù)db_B的數(shù)據(jù)信息時(shí),前提必須是db_B上也有同樣的賬戶存在,即db_B上也有賬戶emcd且密碼和db_A上的emcd的密碼也是一致的,否則此DB Link不可用。

USING后面指定的是鏈接字符串,也就是遠(yuǎn)程數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)服務(wù)名,這個(gè)服務(wù)名保存在TNSNAMES.ORA文件中,在該文件中定義了協(xié)議、主機(jī)名、端口和數(shù)據(jù)庫(kù)名。

如果有兩臺(tái)數(shù)據(jù)庫(kù)服務(wù)器db_A和db_B,db_A下用戶user_a需要用database link訪問(wèn)到db_B下user_b的數(shù)據(jù)時(shí),有如下步驟:

(a).首先用戶user_b,這個(gè)用戶必須要有select 權(quán)限.

(b).在db_A上的tnsnames.ora中需要建立一個(gè)連接字符串,即上面的zytydic,可以從db_A連接到db_B.

(c).然后在登陸到db_A上建立db link,格式如下:

 
 
 
  1. create database link link_A_to_B_name 
  2. connect to user_b identified by  user_b的password using 'tnsname_AtoB';

tnsname_AtoB就是到tnsname.ora中遠(yuǎn)程主機(jī)的連接字符串。

在我自己的機(jī)子上建立的實(shí)際的DB Link SQL語(yǔ)句如下:

 
 
 
  1. create database link taowei_to_101 
  2. connect to ga_bzk identified by ga_bzk using 'zytydic';

(d).測(cè)試是否能夠讀取數(shù)據(jù).

select * from dual@link_AtoB_name結(jié)果為:DUMMY  X表示設(shè)置成功

這時(shí)候就可以通過(guò)taowei_to_101查看遠(yuǎn)程主機(jī)上相關(guān)的數(shù)據(jù)信息了:

select * from tbl_bjflb@taowei_to_101;

刪除數(shù)據(jù)庫(kù)鏈接的語(yǔ)句是:

DROP [PUBLIC] DATABASE LINK taowei_to_101

數(shù)據(jù)庫(kù)鏈接的引用

一般情況下引用數(shù)據(jù)庫(kù)鏈接,可以直接將其放到調(diào)用的表名或視圖名稱后面,中間使用一個(gè)@ 作為分割符:

SELECT * FROM tbl_bjflb@taowei_to_101;

對(duì)于經(jīng)常使用的數(shù)據(jù)庫(kù)鏈接,可以建立一個(gè)本地的同義詞,方便使用:

CREATE SYNONYM tbl_bjflb__syn FOR tbl_bjflb@taowei_to_101;

還可以建立一個(gè)本地的遠(yuǎn)程視圖,方便使用:

CREATE VIEW tbl_bjflb AS SELECT * FROM tbl_bjflb@taowei_to_101 where… ;

現(xiàn)在本視圖可與本地?cái)?shù)據(jù)庫(kù)中的任何其它視圖一樣對(duì)待,也可以授權(quán)給其它用戶,訪問(wèn)此視圖,但該用戶必須有訪問(wèn)數(shù)據(jù)庫(kù)鏈接的權(quán)限。

對(duì)于另外一種情況,所要訪問(wèn)的表不在數(shù)據(jù)庫(kù)鏈接中指定的遠(yuǎn)程帳戶下,但該帳戶有訪問(wèn)該表的權(quán)限,那么我們?cè)诒砻耙由显摫淼挠脩裘?/p>

SELECT * FROM emcd.emcd_data_source@taowei_to_101 ;

還可以建立快照(snapshot)通過(guò)dblink實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)自動(dòng)傳輸。

查看所有的數(shù)據(jù)庫(kù)鏈接,進(jìn)入系統(tǒng)管理員SQL>操作符下,運(yùn)行命令:

 
 
 
  1. SQL>select owner,object_name from dba_objects 
  2. where object_type='DATABASE LINK';

關(guān)于Oracle數(shù)據(jù)庫(kù)創(chuàng)建DATABASE LINK的知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!


網(wǎng)站名稱:Oracle數(shù)據(jù)庫(kù)如何創(chuàng)建DATABASELINK?
網(wǎng)站網(wǎng)址:http://www.5511xx.com/article/ccephhd.html