成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle Database Links實(shí)現(xiàn)方法解析

數(shù)據(jù)庫 Oracle 數(shù)據(jù)庫運(yùn)維
Oracle Database Links可以使用戶可以通過一個(gè)數(shù)據(jù)庫訪問到另外一個(gè)遠(yuǎn)程數(shù)據(jù)庫。本文將為大家介紹Oracle Database Links的實(shí)現(xiàn)。

什么是Database Links呢? 首先我們闡述下它的作用:使用戶可以通過一個(gè)數(shù)據(jù)庫訪問到另外一個(gè)遠(yuǎn)程數(shù)據(jù)庫。 那么Database Link是存儲(chǔ)著遠(yuǎn)程數(shù)據(jù)庫的連接信息。

如下圖所示:

Database

用戶Scott可以在本地?cái)?shù)據(jù)庫上查詢遠(yuǎn)程數(shù)據(jù)庫的emp表,我們可以在我們的本地?cái)?shù)據(jù)庫上建立一個(gè)別名(Synonym) emp,然后我們就可以直接通過select * from emp來查詢遠(yuǎn)程數(shù)據(jù)庫上的emp表,而無需通過select * from emp@hq.acme.com的方式來查詢。

這個(gè)遠(yuǎn)程的數(shù)據(jù)庫可以是任何Oracle支持的遠(yuǎn)程數(shù)據(jù)庫:Oracle ,DB2, SQL Server, Taradata, MySQL…等等。 后面我還會(huì)介紹相關(guān)如何連接到非Oracle產(chǎn)品的數(shù)據(jù)庫。

好了,知道了Database Link是什么,干什么用,Database Link的本質(zhì)等,接下來我們介紹Database Link有哪幾種連接方式的Link:

Link類型

說明

Connected user link

看這個(gè)類型的名稱就可以判斷出,用的是當(dāng)前連接的用戶的帳戶及其密碼來訪問遠(yuǎn)程數(shù)據(jù)庫的。所以這個(gè)類型就要求需要在遠(yuǎn)程數(shù)據(jù)庫上有一個(gè)和本地帳戶一樣的username和password.

Fixed user link

這個(gè)類型是說使用指定的帳戶和密碼來訪問遠(yuǎn)程數(shù)據(jù)庫。所以只需指定的帳戶能夠有權(quán)限訪問遠(yuǎn)程數(shù)據(jù)庫就可以。

Current user link

需要用戶連接到本地?cái)?shù)據(jù)庫的時(shí)候是全局用戶的身份連接的。這樣這個(gè)全局用戶就可以使用指定帳戶的上下文,而無需存儲(chǔ)密碼信息到link中。

上面是用來告訴Database Link,我們用用什么身份連接。

Database Link有以下類型: 

類型

說明

Private

來類型的Database Lin只能由這個(gè)Database Link的Owner才能使用它。

Public

在這個(gè)數(shù)據(jù)庫里的所有用戶均可使用該Database Link

Global

網(wǎng)絡(luò)中的數(shù)據(jù)庫中的用戶均可使用該database link. 因?yàn)楫?dāng)Oracle 使用目錄服務(wù)器的時(shí)候,它會(huì)在該目錄下的所有數(shù)據(jù)庫里都創(chuàng)建這個(gè) global database link,并且統(tǒng)一控制。因此所有在目錄下的數(shù)據(jù)庫里的用戶均可使用。

好了,讓我們看看應(yīng)該如何創(chuàng)建一個(gè)Database Link:

語法:create [type] database link

語句

說明

訪問方式類型

連接類型

Create database link dblinkName using ‘NSName’;

創(chuàng)建一個(gè)database link ,通過使用網(wǎng)絡(luò)服務(wù)名稱創(chuàng)建。其中Database Link的名稱為dbLinkName. 網(wǎng)絡(luò)服務(wù)的名稱為NSName.

Connected user link

Private

Create public database link dblinkName connect to CURRENT_USER using ‘NSName’;

創(chuàng)建一個(gè)database link ,通過使用網(wǎng)絡(luò)服務(wù)名稱創(chuàng)建。其中Database Link的名稱為dbLinkName. 網(wǎng)絡(luò)服務(wù)的名稱為NSName.

Current user link

public

Create database link dblinkName dblinkName connect to username identified by password using ‘NSName’;

創(chuàng)建一個(gè)database link ,通過使用網(wǎng)絡(luò)服務(wù)名稱創(chuàng)建。其中Database Link的名稱為dbLinkName. 網(wǎng)絡(luò)服務(wù)的名稱為NSName. 通過用戶帳戶username及其密碼password來訪問遠(yuǎn)程數(shù)據(jù)庫。

Fixed user link

private

上面的地NSName的創(chuàng)建方式是需要在Oracle_home/Network/admin/tnsnames.ora里面配置。超出了本文的范圍,我暫不做介紹。

如果不清楚如何配置NSName,那么我們可以按照以下方式寫: 

Create database link dblinkName dblinkName connect

to username identified by password using ‘NSNName=

(

Address_List=

(

(Adress=(protocol=TCP)(host=RemoteServerName)(port=1521))

)

(Connect_Data=(services_Name))

)’

其中protocol 是使用得訪問協(xié)議;RemoteServerName是遠(yuǎn)程數(shù)據(jù)庫的服務(wù)器名稱或者IP, port是遠(yuǎn)程服務(wù)器里Oracle監(jiān)視的端口(可以使另一個(gè)Oracle 數(shù)據(jù)庫或者 Oracle Gateway,關(guān)于Oracle Gateway會(huì)在后續(xù)講解)。 Services_Name是遠(yuǎn)程服務(wù)器提供的服務(wù)名稱。 例如:遠(yuǎn)程服務(wù)器RemoteA,安裝了Oracle Database ,它的監(jiān)聽端口是1521, 并且數(shù)據(jù)庫服務(wù)的名稱是orcl 則以上的語句改寫如下:

Create database link dblinkName dblinkName connect

to username identified by password using ‘NSNName=

(

Address_List=

(

(Adress=(protocol=TCP)(host=RemoteA)(port=1521))

)

(Connect_Data=(orcl))

)’

好了,以上簡單的介紹了如何Oracle Database Link的類型和訪問方式類型,及如何創(chuàng)建database link.

那么創(chuàng)建完,使用如下: (在訪問權(quán)限滿足的條件下)

Select * from remoteTableName@dblinkName; 

其中remoteTableName是要訪問的遠(yuǎn)程數(shù)據(jù)庫里的表的名稱,dblinkName既是先前我們創(chuàng)建的數(shù)據(jù)庫連接。 這樣每次訪問表,寫起來都有點(diǎn)麻煩;而且對(duì)于普通用戶,這樣的接口可能我們并不提供,換句話說,我們可能只讓用戶知道這里有什么表或者視圖就可以了。這個(gè)時(shí)候我們可以使用別名(synonym)來簡化/隱藏接口,語法如下

CREATE [PUBLIC] synonym_name 

FOR [schema.]object_name[@database_link_name];

Synonym支持一下的對(duì)象:

◆Tables

◆Types

◆Views

◆Materialized views

◆Sequences

◆Procedures

◆Functions

◆Packages

這里不做過多的講解,我們?yōu)橄惹拔覀儎?chuàng)造的database link來創(chuàng)建一個(gè)synonym,代碼如下:

Create public tableName for remoteTableName@dblinkName; 

創(chuàng)建完成后,我們就可以這樣訪問遠(yuǎn)程數(shù)據(jù)庫里的表:

Select * from tableName; 

上述語句等價(jià)于

Select * from remoteTableName@dblinkName; 

【編輯推薦】

  1. Oracle數(shù)據(jù)庫用戶管理和數(shù)據(jù)導(dǎo)入導(dǎo)出
  2. Oracle性能優(yōu)化借助分區(qū)技術(shù)實(shí)現(xiàn)
  3. Oracle并發(fā)處理機(jī)制的簡單看法
  4. Oracle中被鎖定的解決辦法
  5. 讓Oracle表列管理更加簡單的三個(gè)方法
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2010-04-13 17:10:59

Oracle Data

2011-10-20 13:37:46

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

2022-03-22 18:38:28

數(shù)據(jù)架構(gòu)解析

2010-11-19 13:42:38

2010-10-29 13:34:09

Oracle日志

2009-12-28 17:33:19

WPF視頻音頻

2009-12-29 17:47:36

Silverlight

2010-10-29 14:20:54

Oracle移動(dòng)控制文

2010-11-19 13:14:21

Oracle刪除歸檔日

2010-11-16 14:15:16

oracle標(biāo)識(shí)列

2009-08-07 09:35:40

Oracle發(fā)送Ema

2014-06-12 08:48:38

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

2011-08-09 14:54:01

OracleDATABASE LI

2011-11-21 11:19:19

Oracle NoSQ

2010-01-26 10:10:51

Android模擬SD

2011-10-13 16:01:22

F5Oracle DataOracle WebL

2010-02-26 16:05:14

寄宿WCF服務(wù)

2010-08-03 11:29:09

Flex全屏
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产日韩欧美 | 欧美日韩在线视频观看 | 最新日韩欧美 | 日日摸日日碰夜夜爽2015电影 | 亚洲影音 | 国产精品99精品久久免费 | 丝袜美腿一区二区三区动态图 | 中文字幕一区二区三区乱码在线 | 四虎成人精品永久免费av九九 | www.亚洲精品 | 亚洲国产精品久久 | 久久久久久成人 | 久久a久久 | 国产视频三级 | 久久久久电影 | 国产视频久久久久 | 自拍偷拍第一页 | xxxxx免费视频| 美女福利视频一区 | 欧美国产精品一区二区三区 | 美女视频一区 | 尤物视频在线免费观看 | 在线第一页 | 色狠狠桃花综合 | 亚洲不卡在线观看 | 欧美日韩精品中文字幕 | 免费国产一区二区 | 国产精品明星裸体写真集 | 国产无人区一区二区三区 | 日本一级淫片免费啪啪3 | 精品1区2区 | 久久成人精品视频 | 久久久性色精品国产免费观看 | 天堂色网| 久久骚 | 欧州一区 | 国产精品久久久久久网站 | 日韩欧美国产一区二区三区 | 久久久人成影片一区二区三区 | 久热中文字幕 | 美女天天操 |