自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle數(shù)據(jù)庫如何創(chuàng)建DATABASE LINK?

數(shù)據(jù)庫 Oracle
我們知道,數(shù)據(jù)庫之間的鏈接是建立在DATABASE LINK上。那么如何創(chuàng)建DATABASE Link呢?本文我們就介紹了這一過程,希望能夠?qū)δ兴鶐椭?/div>

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

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

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

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

SQL>SELECT * FROM GLOBAL_NAME;

修改可以用以下語句來修改參數(shù)值:

SQL>ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;

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

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

 

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

 

其中:

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

 

  1. zytydic =  
  2.  
  3. (DESCRIPTION =  
  4.  
  5. (ADDRESS_LIST =  
  6.  
  7. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))  
  8.  
  9. )  
  10.  
  11. (CONNECT_DATA =  
  12.  
  13. (SID = orcl)  
  14.  
  15. )  
  16.  

 

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

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

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

 

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

 

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

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

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

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

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

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

 

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

 

tnsname_AtoB就是到tnsname.ora中遠程主機的連接字符串。

在我自己的機子上建立的實際的DB Link SQL語句如下:

 

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

 

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

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

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

select * from tbl_bjflb@taowei_to_101;

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

DROP [PUBLIC] DATABASE LINK taowei_to_101

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

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

SELECT * FROM tbl_bjflb@taowei_to_101;

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

CREATE SYNONYM tbl_bjflb__syn FOR tbl_bjflb@taowei_to_101;

還可以建立一個本地的遠程視圖,方便使用:

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

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

對于另外一種情況,所要訪問的表不在數(shù)據(jù)庫鏈接中指定的遠程帳戶下,但該帳戶有訪問該表的權(quán)限,那么我們在表名前要加上該表的用戶名:

SELECT * FROM emcd.emcd_data_source@taowei_to_101 ;

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

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

 

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

 

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

【編輯推薦】

  1. MySQL數(shù)據(jù)庫負荷較高時的原因排查思路
  2. Oracle 10g 數(shù)據(jù)庫閃回的配置與使用詳解
  3. SQL Server數(shù)據(jù)庫日志已滿的解決方法總結(jié)篇
  4. SQL Server分頁存儲過程的五種方法及性能比較
  5. 如何更改SQL Server 2005數(shù)據(jù)庫中tempdb的位置
責(zé)任編輯:趙鵬 來源: CSDN博客
相關(guān)推薦

2011-08-02 17:06:29

Oracle遠程數(shù)據(jù)庫創(chuàng)建DB Link

2010-05-07 12:27:11

Oracle data

2015-07-23 17:02:55

oracle創(chuàng)建數(shù)據(jù)庫

2011-04-11 13:19:41

Oracle數(shù)據(jù)庫

2010-04-19 16:01:54

2010-05-06 09:30:16

Oracle創(chuàng)建數(shù)據(jù)庫

2011-08-30 11:22:17

OracleDatabase Li

2010-04-14 17:51:44

Oracle DB L

2011-08-02 17:53:23

Oracle對象類型對象類型表

2023-09-05 08:40:57

刪除數(shù)據(jù)庫Oracle

2011-04-12 10:59:46

Oracle數(shù)據(jù)庫

2009-11-20 14:08:39

Oracle數(shù)據(jù)庫備份

2011-04-13 14:58:16

Oracle數(shù)據(jù)庫刪除

2011-05-17 14:34:24

2011-05-19 13:25:12

Oracle數(shù)據(jù)庫碎片

2010-11-19 10:38:26

Oracle XE自帶

2011-08-16 19:11:15

Oracle數(shù)據(jù)庫創(chuàng)建Schema

2010-04-28 16:37:31

Oracle數(shù)據(jù)字典

2011-08-04 11:00:35

Oracle數(shù)據(jù)庫虛擬列復(fù)合觸發(fā)器

2010-04-29 11:53:42

Oracle數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號