欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle使用dblink實現(xiàn)跨庫訪問的實例代碼

 更新時間:2024年03月10日 14:09:05   作者:=PNZ=BeijingL  
dbLink是簡稱,全稱是databaselink,database link是定義一個數(shù)據(jù)庫到另一個數(shù)據(jù)庫的路徑的對象,database link允許你查詢遠程表及執(zhí)行遠程程序,本文給大家介紹了Oracle如何使用dblink實現(xiàn)跨庫訪問,需要的朋友可以參考下

dbLink是簡稱,全稱是databaselink。database link是定義一個數(shù)據(jù)庫到另一個數(shù)據(jù)庫的路徑的對象,database link允許你查詢遠程表及執(zhí)行遠程程序。在任何分布式環(huán)境里,database都是必要的。另外要注意的是database link是單向的連接。在創(chuàng)建database link的時候,Oracle再數(shù)據(jù)字典中保存相關(guān)的database link的信息,在使用database link的時候,Oracle通過Oracle Net用用戶預先定義好的連接信息訪問相應的遠程數(shù)據(jù)庫以完成相應的工作。

1.賦值權(quán)限

例如為用戶BOSS823賦值link相關(guān)的權(quán)限

grant create public database link,create database link to BOSS823;

2.創(chuàng)建dblink

語法:

CREATE [SHARED] [PUBLIC] database link link_name
  [CONNECT TO [user] [current_user] IDENTIFIED BY [password] 
  [AUTHENTICATED BY user IDENTIFIED BY password] 
  [USING 'connect_string']
  • 權(quán)限:創(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ù)庫鏈接要么是公用的,要么是私有的。
  • link : 當source端的參數(shù)(parameter)GLOBAL_NAMES=TRUE時,link名必須與遠程數(shù)據(jù)庫的全局數(shù)據(jù)庫名global_name)相同;否則,可以任意命名。
  • current_user使用該選項是為了創(chuàng)建global類型的dblink。在分布式體系中存在多個數(shù)據(jù)庫的話。如果想要在每一個數(shù)據(jù)庫中都可以使用同樣的名字來訪問數(shù)據(jù)庫a,那在每個數(shù)據(jù)庫中都要創(chuàng)建一個到數(shù)據(jù)庫a的db_link,太麻煩了。所以有這個選項的話你只要創(chuàng)建一次。所有的數(shù)據(jù)庫都可以使用這個db_link來訪問了。要使用這個特性,必須有oracle nameserver或者ORACLE目錄服務器。并且數(shù)據(jù)庫a的參數(shù)global_names=true.具體我也沒有創(chuàng)建過,沒有這個環(huán)境。
  • connectstring:連接字符串,tnsnames.ora中定義遠程數(shù)據(jù)庫的連接串,也可以在創(chuàng)建dblink的時候直接指定。
  • username、password:遠程數(shù)據(jù)庫的用戶名,口令。如果不指定,則使用當前的用戶名和口令登錄到遠程數(shù)據(jù)庫,當創(chuàng)建connected user類型的dblink時,需要如果采用數(shù)據(jù)字典驗證,則需要兩邊數(shù)據(jù)庫的用戶名密碼一致

舉例:創(chuàng)建名稱為dblink821的dbLink, 鏈接訪問10.0.192.36數(shù)據(jù)庫的BOSS821T用戶

create database link dblink821
  connect to BOSS821T identified by BOSS821
  using '10.0.192.36_STARSMS';

或者使用圖形界面創(chuàng)建

3.查詢dblink

SQL> select * from dba_db_links;
 
OWNER                          DB_LINK                                                                          USERNAME                       HOST                                                                             CREATED
------------------------------ -------------------------------------------------------------------------------- ------------------------------ -------------------------------------------------------------------------------- -----------
BOSS823                        DBLINK821.REGRESS.RDBMS.DEV.US.ORACLE.COM                                        BOSS821T                       10.0.192.36_STARSMS                                                              2024/3/6 17
 
SQL> 

4.刪除dblink

DROP database link link_name;

5.使用dblink

1>訪問鏈接數(shù)據(jù)庫中的表

select * from BOSS821T.CUSTOMEREN @dblink821

2>通過dblink復制表

通過dblink復制表性能很高,例如下面的測試,復制17W數(shù)據(jù)執(zhí)行時間約3秒

SQL> select COUNT(*) from BOSS821T.CUSTOMEREN @dblink821T;
 
  COUNT(*)
----------
    171736
 
SQL> create table CUSTOMER821T as select * from BOSS821T.CUSTOMEREN @dblink821T;
 
Table created
 
SQL> 
 
執(zhí)行時間:3.089秒

6.常見問題ORA-02063

如果出現(xiàn)ORA-02063可能是由于11開始支持字符大小寫問題引起的

--ORA-01017: invalid username/password; logon denied 
--ORA-02063: preceding line from <link_name>

查看數(shù)據(jù)庫信息

 
 
--查看當前數(shù)據(jù)庫的版本
SQL> select * from v$version;
 
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
PL/SQL Release 10.2.0.3.0 - Production
CORE    10.2.0.3.0    Production
TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
 
 
--查看鏈接到數(shù)據(jù)庫的版本
SQL> select * from v$version;
 
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0    Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

被訪問的數(shù)據(jù)庫的版本是11g,因此修改dblink,使用雙引號來設置密碼

-- Create database link 
create database link dblink821T
  connect to BOSS821T identified by "boss821T"
  using '10.0.192.36_STARSMS';

以上就是Oracle使用dblink實現(xiàn)跨庫訪問的實例代碼的詳細內(nèi)容,更多關(guān)于Oracle dblink跨庫訪問的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • oracle創(chuàng)建刪除用戶示例分享(oracle刪除用戶命令及授權(quán))

    oracle創(chuàng)建刪除用戶示例分享(oracle刪除用戶命令及授權(quán))

    這篇文章主要介紹了oracle創(chuàng)建刪除用戶示例還有oracle刪除用戶命令及授權(quán)的使用,需要的朋友可以參考下
    2014-03-03
  • Oracle 細粒度審計(FGA)初步認識

    Oracle 細粒度審計(FGA)初步認識

    細粒度審計(FGA),是在Oracle 9i中引入的,能夠記錄SCN號和行級的更改以重建舊的數(shù)據(jù),本文將詳細介紹,需要的朋友可以參考下
    2012-12-12
  • Oracle如何實現(xiàn)like多個值的查詢

    Oracle如何實現(xiàn)like多個值的查詢

    這篇文章主要給大家介紹了關(guān)于Oracle如何實現(xiàn)like多個值的查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08
  • Oracle存儲過程、包、方法使用總結(jié)(推薦)

    Oracle存儲過程、包、方法使用總結(jié)(推薦)

    這篇文章主要介紹了Oracle存儲過程、包、方法使用總結(jié)(推薦),需要的朋友可以參考下
    2017-05-05
  • oracle10g發(fā)送email示例

    oracle10g發(fā)送email示例

    本文介紹了通過Oracle10g發(fā)送Email的實例,該Procedure支持中文郵件、HTML代碼、多收件人。 ,需要的朋友可以參考下
    2014-01-01
  • oracle錯誤ORA-00054資源正忙解決辦法

    oracle錯誤ORA-00054資源正忙解決辦法

    ORA-00054是Oracle數(shù)據(jù)庫中的一個常見錯誤,表示用戶試圖在正在被鎖定的資源上執(zhí)行不允許的操作,導致資源處于忙碌狀態(tài),下面這篇文章主要給大家介紹了關(guān)于oracle錯誤ORA-00054資源正忙的解決辦法,需要的朋友可以參考下
    2024-01-01
  • ORACLE如何批量插入(Insert)

    ORACLE如何批量插入(Insert)

    這篇文章主要介紹了ORACLE如何批量插入(Insert),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Oracle數(shù)據(jù)庫中l(wèi)ead和lag函數(shù)用法示例

    Oracle數(shù)據(jù)庫中l(wèi)ead和lag函數(shù)用法示例

    lag與lead函數(shù)是跟偏移量相關(guān)的兩個分析函數(shù),通過這兩個函數(shù)可以在一次查詢中取出同一字段的前N行的數(shù)據(jù)(lag)和后N行的數(shù)據(jù)(lead)作為獨立的列,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫中l(wèi)ead和lag函數(shù)用法的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • ORCLE 表中列的修改

    ORCLE 表中列的修改

    長時間沒寫這類語句了,今天一寫,就發(fā)現(xiàn)自己忘記了很多格式。ORACLE的語法方式一定要注意。
    2009-07-07
  • Oracle存儲過程游標用法分析

    Oracle存儲過程游標用法分析

    這篇文章主要介紹了Oracle存儲過程游標用法,結(jié)合實例形式分析了游標的使用步驟與相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06

最新評論