无码视频在线观看,99人妻,国产午夜视频,久久久久国产一级毛片高清版新婚

  • 始創(chuàng)于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業(yè)
    • 60秒人工響應(yīng)
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    全部產(chǎn)品
    您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

    在Oracle下創(chuàng)建database link兩種方法

    發(fā)布時間:  2012/8/14 18:00:50

    物理上存放于網(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ù)庫全局名稱可以用以下命令查出:

    SELECT * FROM GLOBAL_NAME;

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

    ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;

    <1>、當數(shù)據(jù)庫參數(shù)global_name=false時,就不要求數(shù)據(jù)庫鏈接名稱跟遠端數(shù)據(jù)庫名稱一樣。

    Oracle數(shù)據(jù)庫之間進行連接通訊。
    創(chuàng)建數(shù)據(jù)庫鏈接的語法如下:
    CREATE [PUBLIC] DATABASE LINK link

    CONNECT TO username IDENTIFIED BY password

    USING ‘connectstring’

    其中:
    --demona為用net8 easy config創(chuàng)建的連接字符串
    目的方數(shù)據(jù)庫的init.ora文件中的global_names設(shè)為false
    重新啟動數(shù)據(jù)庫設(shè)置才能生效
    或者用sys用戶執(zhí)行

    注意:創(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ù)庫的用戶名和密碼:

    create public database link zrhs_link

    using ‘zrhs’;

    在不指定用戶名和口令的情況下,Oracle使用當前的用戶名和口令登錄到遠程數(shù)據(jù)庫。

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

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

    DROP [PUBLIC] DATABASE LINK zrhs_link

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

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

    SELECT * FROM worker@zrhs_link ;

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

    CREATE SYNONYM worker_syn FOR worker@zrhs_link ;

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

    CREATE VIEW worker AS SELECT * FROM worker@zrhs_link where… ;

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

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

    SELECT * FROM camel.worker@zrhs_link ;

    <2>、當數(shù)據(jù)庫參數(shù)global_name=true時,那就要求數(shù)據(jù)庫鏈接名稱跟遠端數(shù)據(jù)庫名稱一樣
    數(shù)據(jù)庫全局名稱可以用以下命令查出

    SELECT * FROM GLOBAL_NAME;

    atabase link(dblink)--數(shù)據(jù)庫鏈路
    創(chuàng)建dblink的語法:
    sql>create database link 數(shù)據(jù)庫鏈路名
    connect to 用戶名 identified by 口令
    using '主機字符串名';
    如:
    sql>create database link ora9i.us.Oracle.com ### 這里的us.oracle.com為oracle默認域名 ###
    connect to scott identified by tiger
    using 'sun';

    1)dblink名必須與遠程數(shù)據(jù)庫的全局數(shù)據(jù)庫名(global_name)相同;
    2)用戶名,口令為遠程數(shù)據(jù)庫用戶名,口令;
    3)主機字符串為本機tnsnames.ora中定義的串;
    4)兩個同名的數(shù)據(jù)庫間不得建立dblink;
    然后,你就可以通過dblink訪問遠程數(shù)據(jù)庫了。
    如:
    sql>select * from 表名@ora9i.us.Oracle.com;
    還可以建立快照(snapshot)通過dblink實現(xiàn)遠程數(shù)據(jù)自動傳輸。

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

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

     

    實際應(yīng)用舉例

     

     

    Oracle 數(shù)據(jù)庫連接就像你在程序中建立一個到數(shù)據(jù)庫的連接一樣。

    如果數(shù)據(jù)庫不在本地主機,必須在$Oracle_HOME/network/admin/tnsnames.ora中配置相應(yīng)的tns,然后程序才能通過配置好的tns訪問數(shù)據(jù)庫,但是java通過thin方式訪問oracle例外,可以采用在本地配置好的tns別名,也可以采用tns全解析名,采用別名等號后的全描述符;如下:

    TESTCZ =
     (DESCRIPTION =
      (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.9.12)(PORT = 1521))
      )
      (CONNECT_DATA =
       (SERVICE_NAME = TESTCZ)
      )
     )

    舉例。

    現(xiàn)在有兩個數(shù)據(jù)庫

    adb,用戶名和密碼分別是adb/adb,在本地主機配置的tns名字是tns_a,所在主機a;

    bdb,用戶名和密碼分別是bdb/bdb,在本地主機配置的tns名字是tns_b,所在主機b;

    現(xiàn)在需要在adb上面建一個連接到bdb數(shù)據(jù)庫的dblink;

    方法1:

    在a主機上編輯tnsnames.ora文件配置bdb數(shù)據(jù)庫的tns別名tns_b,如下:

    tns_b =
     (DESCRIPTION =
      (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.9.12)(PORT = 1521))
      )
      (CONNECT_DATA =
       (SERVICE_NAME = dbtestb)
      )
     )

    然后創(chuàng)建數(shù)據(jù)庫連接,如下:

    create database link

    connect to bdb identified by identified by bdb

    using 'tns_b';

    方法2:

    如果沒有權(quán)限修改tnsnames.ora,那么就沒有辦法建立到adb數(shù)據(jù)庫的tns別名,那么就只能采用在創(chuàng)建dblink的時候,全寫解析符號。創(chuàng)建dblink的方法如下:

    create database link

    connect to bdb identified by identified by bdb

    using '(DESCRIPTION =
      (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.9.12)(PORT = 1521))
      )
      (CONNECT_DATA =
       (SERVICE_NAME = dbtestb)
      )
     )';

    創(chuàng)建好tns別名之后,可以采用sqlplus username/password@tnsname來測試創(chuàng)建的tns別名是否正確。

    我在生產(chǎn)系統(tǒng)中創(chuàng)建的一個dblink示例:

    create database link NEW_DBLINK
      connect to AIIPS identified by "1qaz2wsx"
      using '(DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.193.12)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = zjpub)
        )
      )';


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

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

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

    0371-60135900
    7*24小時客服服務(wù)熱線