日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Database Link詳解

 昵稱15698534 2014-10-15

--創(chuàng)建 CREATE public database link test_link CONNECT TO scott IDENTIFIED BY tiger using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = LEE) ) )'; --使用 select ename from emp@test_link; --刪除 drop public database link TEST_LINK;

 

 

一:dblink創(chuàng)建:

 

 

 

 

 

     

       1、已經(jīng)配置本地服務

             create public database

  link  toBeJing connect to scott
  identified by tiger using 'BEJING'

 


數(shù)據(jù)庫連接字符串'BEJING'是當前客戶端數(shù)據(jù)庫中TNSNAMES.ORA文件里定義的別名名稱.可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定義.

 

        2、直接建立鏈接

             create database link toBeJing

   connect to scott identified by tiger 
   using '(DESCRIPTION = 
   (ADDRESS_LIST = 
   (ADDRESS = (PROTOCOL = TCP)(HOST = X.X.X.X )(PORT = 1521)) 
   ) 
   (CONNECT_DATA = 
   (SERVICE_NAME = BJORCL) 
   ) 
   )';

 


host=數(shù)據(jù)庫的ip地址,service_name=數(shù)據(jù)庫的ssid。

  其實兩種方法配置dblink是差不多的,我個人感覺還是第二種方法比較好,這樣不受本地服務的影響。

注意: 假如創(chuàng)建全局dblink,則必須使用systm或sys用戶,在database前加public。

1.先創(chuàng)建PUBLIC DATABASE LINK,不用指定用戶和密碼 

scott@TEST>conn system/test
   Connected.
system@TEST>CREATE PUBLIC DATABASE LINK orcl USING 'BEJING';
  Database link created.


  2.再在各個用戶下創(chuàng)建私有DATABASE LINK(同PUBLIC DATABASE LINK名稱相同),指定用戶和密碼
system@TEST>conn scott/tiger
   Connected.
   
scott@TEST>CREATE DATABASE LINK orcl CONNECT TO scott IDENTIFIED BY tiger;
   Database link created.

  實際上相當于: 

 CREATE DATABASE LINK orcl USING 'BEJING' CONNECT TO scott IDENTIFIED BY tiger;

 


db link 有3種類型,我這里只討論其中兩種,connected user和fixed user。
connected user,簡單來說,連接方數(shù)據(jù)庫以connected的用戶來連接遠程數(shù)據(jù)庫。
fixed user,簡單來說,連接方數(shù)據(jù)庫以fixed(指定的)用戶來連接遠程數(shù)據(jù)庫。

 


看看創(chuàng)建db link語法,你對這兩種類型就比較清楚了。

創(chuàng)建connected  user的db link語法:
create databas link foo connect to scott identified by tiger using 'BEJING' ;

創(chuàng)建fixed user的db link語法:
create databas link foo using 'BEJING' ;

 


db link 的命名和global_names有關(guān),global_name是數(shù)據(jù)庫全局名稱,global_name在你所管理的數(shù)據(jù)庫中要保證唯一。數(shù)據(jù)庫名稱是db_name。數(shù)據(jù)庫名稱一般都取得比較短,我的習慣一般取長度4個字符,重名概率高。

所以,oracle模仿域名搞出一個global_name,global_name=db_name+db_domain。
有了global_name,就可以實現(xiàn)數(shù)據(jù)庫命名的全局唯一。例:ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM

 


數(shù)據(jù)庫全局名稱可以用以下命令查出
       SELECT * FROM GLOBAL_NAME;

 


如果global_names=true,那么db link的命名要和遠程數(shù)據(jù)庫的global_name相同;
如果global_names=false,那么你可以隨便命名db link。

 


查詢global_names是true還是false,在pl/sql中的命令窗口(不是sql窗口)執(zhí)行:show parameter global_names

 

二、dblink查詢:

查看所有的數(shù)據(jù)庫鏈接,進入系統(tǒng)管理員SQL>操作符下,運行命令:   
  SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';

 


三、dblink刪除:

    DROP PUBLIC DATABASE LINK toBeJing

 

四、dblink使用:

       SELECT……FROM表名@數(shù)據(jù)庫鏈接名;

  查詢、刪除和插入數(shù)據(jù)和操作本地的數(shù)據(jù)庫是一樣的,只不過表名需要寫成“表名@dblink服務器”而已。

例:查詢北京數(shù)據(jù)庫中emp表數(shù)據(jù)   select * from emp@toBeJing;

 

五、同義詞配合:

       第四點中from emp@toBeJing可以創(chuàng)建同義詞來替代:
       CREATE SYNONYM同義詞名FOR 表名;


CREATE SYNONYM同義詞名FOR 表名@數(shù)據(jù)庫鏈接名;

       如:create synonym bj_scott_emp for emp@toBeJing;

于是就可以用bj_scott_emp來替代帶@符號的分布式鏈接操作emp@toBeJing

 

      DB LINK是獨立于創(chuàng)建用戶(USER_DB_LINKS的USERNAME)起作用的,其他用戶無法使用這個連接,無權(quán)限也不能刪除它。

轉(zhuǎn)http://moonights./blog/568895

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多