1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        在Oracle下如何創建database link 實踐

        發布時間:  2012/8/26 16:02:59

        物理上存放于網絡的多個Oracle數據庫,邏輯上可以看成一個單一的大型數據庫,用戶可以通過網絡對異地數據庫中的數據進行存取,而服務器之間的協同處理

        對于工作站用戶及應用程序而言是完全透明的,開發人員無需關心網絡的鏈接細節、數據在網絡節點中的具體分布情況和服務器間的協調工作過程。數據庫之間的鏈

        接建立在DATABASE LINK上。要創建一個DATABASE LINK,必須首先在建立鏈接的數據庫上設置鏈接字符串,即配置一個遠程數據庫的本地網絡服務名。
        -
         

        數據庫全局名稱可以用以下命令查出:

        SQL>SELECT * FROM GLOBAL_NAME;

        修改可以用以下語句來修改參數值:

        SQL>ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;

        Oracle數據庫之間進行連接通訊:

        創建數據庫鏈接的語法如下:

        CREATE [PUBLIC] DATABASE LINK link_name

        CONNECT TO username IDENTIFIED BY password

        USING 'zytydic'

        其中:

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

        zytydic =

                                                                    (DESCRIPTION =

                                                                        (ADDRESS_LIST =

                                                                          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))

                                                                        )

                                                                        (CONNECT_DATA =

                                                                          (SID = orcl)

                                                                        )

                                                                     )

        注意:創建數據庫鏈接的帳號必須有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系統權限,用來登錄到遠程數據庫的帳號必須有CREATE SESSION權限。

        這兩種權限都包含在CONNECT角色中(CREATE PUBLIC DATABASE LINK權限在DBA中)。一個公用數據庫鏈接對于數據庫中的所有用戶都是可用的,而一個私有鏈接僅

        對創建它的用戶可用。由一個用戶給另外一個用戶授權私有數據庫鏈接是不可能的,一個數據庫鏈接要么是公用的,要么是私有的。

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

        create public database link test_default_type_dblink

        using 'zytydic';

        在不指定用戶名和口令的情況下,Oracle使用當前的用戶名和口令登錄到遠程數據庫,假如www.linuxidc.com你本地是以emcd用戶登錄的本地的數據庫db_A,那么創建的DB

        Link test_default_type_dblink就是以本地的用戶賬戶信息建立的,當要以此DB Link連接查看遠程的數據庫db_B的數據信息時,前提必須是db_B上也有

        同樣的賬戶存在,即db_B上也有賬戶emcd且密碼和db_A上的emcd的密碼也是一致的,否則此DB Link不可用。USING后面指定的是鏈接字符串,也就是遠程

        數據庫的網絡服務名,這個服務名保存在TNSNAMES.ORA文件中,在該文件中定義了協議、主機名、端口和數據庫名。

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

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

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

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

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

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

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

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

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

        select * from dual@link_AtoB_name結果為:DUMMY  X表示設置成功

        這時候就可以通過taowei_to_101查看遠程主機上相關的數據信息了:

        select * from tbl_bjflb@taowei_to_101;

        刪除數據庫鏈接的語句是:

        DROP [PUBLIC] DATABASE LINK taowei_to_101

        數據庫鏈接的引用

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

        SELECT * FROM tbl_bjflb@taowei_to_101;

        對于經常使用的數據庫鏈接,可以建立一個本地的同義詞,方便使用:

        CREATE SYNONYM tbl_bjflb__syn FOR tbl_bjflb@taowei_to_101;

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

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

        現在本視圖可與本地數據庫中的任何其它視圖一樣對待,www.linuxidc.com也可以授權給其它用戶,訪問此視圖,但該用戶必須有訪問數據庫鏈接的權限。

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

        SELECT * FROM emcd.emcd_data_source@taowei_to_101 ;

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

        查看所有的數據庫鏈接,進入系統管理員SQL>操作符下,運行命令:

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


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线