DBLINK的創(chuàng)建以及注意事項.doc_第1頁
DBLINK的創(chuàng)建以及注意事項.doc_第2頁
DBLINK的創(chuàng)建以及注意事項.doc_第3頁
DBLINK的創(chuàng)建以及注意事項.doc_第4頁
DBLINK的創(chuàng)建以及注意事項.doc_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1.DBLink和ODBC是什么關系物理上存放于網(wǎng)絡的多個ORACLE數(shù)據(jù)庫,邏輯上可以看成一個單一的大型數(shù)據(jù)庫,用戶可以通過網(wǎng)絡對異地數(shù)據(jù)庫中的數(shù)據(jù)進行存取,而服務器之間的協(xié)同處理對于工作站用戶及應用程序而言是完全透明的,開發(fā)人員無需關心網(wǎng)絡的鏈接細節(jié)、數(shù)據(jù)在網(wǎng)絡節(jié)點中的具體分布情況和服務器間的協(xié)調(diào)工作過程。 數(shù)據(jù)庫之間的鏈接建立在DATABASE LINK上。要創(chuàng)建一個DATABASE LINK,必須首先在建立鏈接的數(shù)據(jù)庫上設置鏈接字符串,即配置一個遠程數(shù)據(jù)庫的本地網(wǎng)絡服務名。 dblink是不同數(shù)據(jù)庫之間進行互訪的話建立的連接ODBC一般是數(shù)據(jù)庫與外界交互數(shù)據(jù)建立的數(shù)據(jù)源,例如oracle與excel表格進行數(shù)據(jù)的導入導出,就可以建立ODBC來完成數(shù)據(jù)庫全局名稱可以用以下命令查出:SELECT * FROM GLOBAL_NAME;修改可以用以下語句來修改參數(shù)值:ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;2.Dblink的使用兩臺不同的數(shù)據(jù)庫服務器,從一臺數(shù)據(jù)庫服務器的一個用戶讀取另一臺數(shù)據(jù)庫服務器下的某個用戶的數(shù)據(jù),這個時候可以使用dblink。 有時候,需要在兩個Oracle數(shù)據(jù)庫之間手工同步數(shù)據(jù)時,DBLink是最方便快捷的手段之一,創(chuàng)建DBLink的方式一般是這樣:例如:數(shù)據(jù)庫服務器A,數(shù)據(jù)庫服務器B,數(shù)據(jù)庫客戶端C;通過客戶端C連到A,在A上操作訪問B。 1、在數(shù)據(jù)庫客戶端C的tnsnames中配置數(shù)據(jù)庫服務器A的服務 LMISDX_LOCAL= (DEscrptION = (ADDRESS = (PROTOCOL = TCP)(HOST = 1)(PORT = 1521) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = LMISdx) ) ) 2、這樣就可以通過客戶端訪問到數(shù)據(jù)庫A的用戶 3、在數(shù)據(jù)庫服務器A的tnsnames中配置數(shù)據(jù)庫服務器B的服務 LMISSD= (DEscrptION = (ADDRESS = (PROTOCOL = TCP)(HOST = 23)(PORT = 1521) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = LMIS) ) ) 4.通過客戶端C訪問到數(shù)據(jù)庫A的用戶,在A上創(chuàng)建數(shù)據(jù)庫鏈接 - Create database link create public database link LMIS_SDTEST connect to LMIS_SDTEST identified by * using LMISSD; Create DATABASE LINK數(shù)據(jù)庫鏈接名CONNECT TO 用戶名 IDENTIFIED BY 密碼 USING 本地配置的數(shù)據(jù)的實例名; 5、查詢遠端數(shù)據(jù)庫里的表(通過客戶端C登陸到數(shù)據(jù)庫服務器A訪問數(shù)據(jù)庫B) Select FROM 表名數(shù)據(jù)庫鏈接名; SELECT * FROM SPKFKLMIS_SDTEST 注意:創(chuàng)建是很簡單,但是在使用中后臺卻出現(xiàn)鎖,查看這個鎖的方法可以去console中看到或者查詢數(shù)據(jù)庫。每次使用dblink查詢的時候,均會與遠程數(shù)據(jù)庫創(chuàng)建一個連接,dblink應該不會自動釋放這個連接,如果是大量使用dblink查詢,會造成web項目的連接數(shù)不夠,導致系統(tǒng)無法正常運行,導致系統(tǒng)無正常運行。 = 3.如何創(chuàng)建oracle dblink 數(shù)據(jù)庫之間的鏈接建立在DATABASE LINK上。要創(chuàng)建一個DB LINK,必須先 在每個數(shù)據(jù)庫服務器上設置鏈接字符串。 1、 鏈接字符串即服務名,首先在本地配置一個服務名,地址指向遠程的數(shù)據(jù)庫地址,服務名取為將來你要使用的數(shù)據(jù)庫鏈名: 2、創(chuàng)建數(shù)據(jù)庫鏈接, 進入系統(tǒng)管理員SQL操作符下,運行命令: SQLcreate public database link beijing connect to scott identified by tiger using tobeijing; 命令說明: CREATE PUBLIC DATABASE LINK 數(shù)據(jù)庫鏈接名 CONNECT TO 用戶名 IDENTIFIED BY 密碼 USING 本地配置的數(shù)據(jù)的實例名; 如果建立成功,會提示:Database link created. 則創(chuàng)建了一個以scott用戶和北京數(shù)據(jù)庫的鏈接beijing,我們查詢北京的scott數(shù)據(jù): SQLselect * from empbeijing; 這樣就可以把深圳和北京scott用戶的數(shù)據(jù)做成一個整體來處理。 、1. 創(chuàng)建DBLINK.A動態(tài)DBLINK(未配置本地服務)-Createdatabaselinkcreatepublicdatabaselinklink_nameconnecttozxdbm_ismpidentifiedbyzxin_smapusing(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=*.*.*.*)(PORT=1521)(CONNECT_DATA=(SERVICE_NAME=zxin);B.SERVERTOSERVERDB-LINK(已經(jīng)配置本地服務)-Createdatabaselinkcreatepublicdatabaselinklink_nameconnecttozxdbm_ismpidentifiedbyzxin_smapusingDB.TNSNAME;注:第二種方法需要在當前的SERVER上建立名為 DB.TNSNAME 的TNS .注意是在SERVER上建TNS,不是CLIENT. 很多人建了DB-LINK 就會報錯ORA-12154 ,就是這個原因.C.如果創(chuàng)建全局dblink,必須使用system或sys用戶,在database前加public。D. 查詢現(xiàn)在服務器中存在的DBLINKselect * from dba_db_links;E.通過DBLINK訪問數(shù)據(jù)庫中的表.select * from susr_basiclink_name;3、建立同義詞,為了使有關分布式操作更透明,ORACLE數(shù)據(jù)庫里有同義詞的對象synonym SQLcreate synonym bjscottemp for empbeijing; 于是就可以用bjscottemp來替代帶符號的分布式鏈接操作empbeijing。 4、查看所有的數(shù)據(jù)庫鏈接,進入系統(tǒng)管理員SQL操作符下,運行命令: SQLselect owner,object_name from dba_objects where object_type=DATABASE LINK; 5、查看數(shù)據(jù)庫連接 sql select owner, db_link from dba_db_links; ower db_link public TEST.US.ORACLE.COM 6、刪除數(shù)據(jù)庫連接 先從第5步中查看數(shù)據(jù)庫連接,取得其db_link的名稱 sqldrop public database link TEST.US.ORACLE.COM 數(shù)據(jù)庫連接巳丟棄7.global_names的設置數(shù)據(jù)庫參數(shù)global_name=true時要求數(shù)據(jù)庫鏈接名稱跟遠端數(shù)據(jù)庫名稱一樣,數(shù)據(jù)庫默認為false.注:建議設置為false,這樣DBLINK的取名靈活性會比較大.-查詢global_names表的值,默認為false;SQL show parameter global_namesNAMETYPE VALUE- -global_names boolean FALSE可以通過下面命令修改global_names取值SQLalter system set global_names = false;8.數(shù)據(jù)庫鏈接的引用 一般情況下引用數(shù)據(jù)庫鏈接,可以直接將其放到調(diào)用的表名或視圖名稱后面,中間使用一個 作為分割符: SELECT * FROM workerzrhs_link;對于經(jīng)常使用的數(shù)據(jù)庫鏈接,可以建立一個本地的同義詞,方便使用: CREATE SYNONYM worker_syn FOR workerzrhs_link;還可以建立一個本地的遠程視圖,方便使用: CREATE VIEW worker AS SELECT * FROM workerzrhs_link where ;現(xiàn)在本視圖可與本地數(shù)據(jù)庫中的任何其它視圖一樣對待,也可以授權給其它用戶,訪問此視圖,但該用戶必須有訪問數(shù)據(jù)庫鏈接的權限。 對于另外一種情況,所要訪問的表不在數(shù)據(jù)庫鏈接中指定的遠

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論