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

Oracle跨庫訪問DBLINK使用以及實際應(yīng)用

 更新時間:2024年01月20日 14:49:45   作者:UntifA  
這篇文章主要給大家介紹了關(guān)于Oracle跨庫訪問DBLINK使用以及實際應(yīng)用的相關(guān)資料,DBLink的作用是在局域網(wǎng)內(nèi),通過一臺服務(wù)器上面的數(shù)據(jù)庫訪問另外一臺服務(wù)器上面數(shù)據(jù)庫的功能,需要的朋友可以參考下

1. DBLINK的介紹

Oracle在進行跨庫訪問時,可以創(chuàng)建DBLINK實現(xiàn),比如要將UAT的表數(shù)據(jù)灌入開發(fā)環(huán)境,則可以使用UAT庫為數(shù)據(jù)源,通過DBLINK實現(xiàn)將查出的數(shù)據(jù)灌入開發(fā)庫。簡而言之就是在當(dāng)前數(shù)據(jù)庫中訪問另一個數(shù)據(jù)庫中的表中的數(shù)據(jù)

2. DBLINK的使用簡介

2.1 權(quán)限問題

要想創(chuàng)建DBLINK,首先要檢查當(dāng)前用戶是否具備權(quán)限。

SELECT * FROM user_sys_privs WHERE PRIVILEGE LIKE UPPER('%DATABASE LINK%');

CREATE PUBLIC DATABASE LINK:表示所創(chuàng)建的dblink所有用戶都可以使用
CREATE DATABASE LINK:表示所創(chuàng)建的dblink只能是創(chuàng)建者能使用,別的用戶不可以使用
DROP PUBLIC DATABASE LINK : 表示所創(chuàng)建的dblink所用用戶都可以刪除

如果沒有以上權(quán)限,但是有UNLIMITED TABLESPACE權(quán)限,也可以實現(xiàn)DBLINK的創(chuàng)建和刪除(實測)。

SELECT * FROM user_sys_privs WHERE PRIVILEGE LIKE UPPER('%UNLIMITED TABLESPACE%');

如果指定用戶沒有上面的幾個權(quán)限,需要通過sys用戶(這個充當(dāng)管理員角色,有很大權(quán)限)賦予權(quán)限,你需要登陸sys用戶,并在sys用戶下執(zhí)行以下語句:

GRANT CREATE PUBLIC DATABASE LINK , DROP PUBLIC DATABASE LINK TO hxapp;

用來登錄到遠程數(shù)據(jù)庫的帳號必須有CREATE SESSION權(quán)限

2.2 創(chuàng)建DBLINK

創(chuàng)建時加不加PUBLIC關(guān)鍵字,會影響DBLINK的使用范圍,加上PUBLIC關(guān)鍵字則所有用戶都可以使用,否則只有當(dāng)前用戶或者更高權(quán)限的用戶可以使用。

  • 通過pl/sql developer圖形化界面創(chuàng)建

    等價于
    CREATE DATABASE LINK DBLINK_TEST_TO230
      CONNECT TO hxapp IDENTIFIED BY hxapp
      USING '3.1.11.230/cbsznckdb';
    
  • 如果網(wǎng)絡(luò)配置文件tnsnames.ora配置了連接信息,則可以使用如下語句實現(xiàn):
    CREATE DATABASE LINK &dblink_name
    	CONNECT TO &db_name IDENTIFIED BY &db_passwd
    	USING '&db_sid';
    

  • 如果網(wǎng)絡(luò)配置文件tnsnames.ora未配置連接信息,則可以使用如下語句實現(xiàn):
CREATE DATABASE LINK &dblink_name
CONNECT TO &db_name IDENTIFIED BY &db_passwd
USING '(DESCRIPTION = 
         (ADDRESS_LIST =
           (ADDRESS =
             (PROTOCOL = TCP)
             (HOST = &ip)
             (PORT = 1521)
           )
         )
         (CONNECT_DATA = (SERVICE_NAME = &sid)
         )
       )';
--例:
CREATE DATABASE LINK &dblink_name
CONNECT TO &db_name IDENTIFIED BY &db_password
USING '(DESCRIPTION = 
         (ADDRESS_LIST =
           (ADDRESS =
             (PROTOCOL = TCP)
             (HOST = 3.1.11.230)
             (PORT = 1521)
           )
         )
         (CONNECT_DATA = (SERVICE_NAME = cbsznckdb)
         )
       )';
--簡寫
	CREATE DATABASE LINK DBLINK_TEST_01
	  CONNECT TO hxapp IDENTIFIED BY hxapp
	  USING '3.1.11.230/cbsznckdb';

創(chuàng)建以后查詢結(jié)果:

2.3 查詢DBLINK

  • 查詢當(dāng)前實例下所有的DBLINK
SELECT * FROM dba_db_links t;

  • 查詢當(dāng)前用戶下所有的DBLINK
SELECT * FROM user_db_links t;

2.4 刪除DBLINK

  • 如果創(chuàng)建的是一個public的DBLINK,刪除時需要用
 DROP PUBLIC DATABASE LINK &dblink_name;
  • 如果創(chuàng)建的是一個private的DBLINK,刪除時需要用
 DROP DATABASE LINK &dblink_name;

3. DBLINK實際應(yīng)用語句舉例

--插入語句
INSERT INTO test_01@DBLINK_TEST_01 t
  SELECT 'UntifA' FROM dual;
--查詢語句
SELECT * FROM test_01@DBLINK_TEST_01 t WHERE t.name = 'UntifA';
--刪除語句
DELETE FROM test_01@DBLINK_TEST_01 t WHERE t.name = 'UntifA';
--更新語句
UPDATE test_01@DBLINK_TEST_01 t
   SET t.name = 'mengkiD~lufy'
 WHERE t.name = 'UntifA';

總結(jié) 

到此這篇關(guān)于Oracle跨庫訪問DBLINK使用以及實際應(yīng)用的文章就介紹到這了,更多相關(guān)Oracle跨庫訪問DBLINK內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • Oracle 11g 安裝配置圖文教程

    Oracle 11g 安裝配置圖文教程

    這篇文章主要為大家詳細介紹了Oracle 11g 安裝配置圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Oracle安裝遇到INS-30131錯誤的解決方法

    Oracle安裝遇到INS-30131錯誤的解決方法

    這篇文章主要介紹了Oracle安裝遇到錯誤INS-30131的解決方法,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Oracle?function函數(shù)返回結(jié)果集的3種方法

    Oracle?function函數(shù)返回結(jié)果集的3種方法

    工作中常需要經(jīng)過一段復(fù)雜邏輯處理后,得出的一個結(jié)果集,所以這篇文章主要給大家介紹了關(guān)于Oracle?function函數(shù)返回結(jié)果集的3種方法,需要的朋友可以參考下
    2023-07-07
  • Oracle數(shù)據(jù)庫中查詢時怎么使用日期(時間)作為查詢條件

    Oracle數(shù)據(jù)庫中查詢時怎么使用日期(時間)作為查詢條件

    這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫中查詢時怎么使用日期(時間)作為查詢條件的相關(guān)資料,Oracle數(shù)據(jù)庫下基于日期條件的查詢發(fā)揮著重要的作用,它能夠幫助開發(fā)者實現(xiàn)比較復(fù)雜的數(shù)據(jù)管理任務(wù),需要的朋友可以參考下
    2024-02-02
  • Oracle如何實現(xiàn)跨庫查詢

    Oracle如何實現(xiàn)跨庫查詢

    在一個數(shù)據(jù)庫中某個用戶下編寫一個存儲過程,在存儲過程中使用DBLINK連接另一個數(shù)據(jù)庫,從此數(shù)據(jù)庫中的一個用戶下取數(shù),然后插入當(dāng)前的數(shù)據(jù)庫中的一個表中
    2017-05-05
  • Oracle中TIMESTAMP的幾種類型介紹與實例

    Oracle中TIMESTAMP的幾種類型介紹與實例

    我們都知道date和timestamp都是對日期和時間的表示,只是兩種類型的精確度不同,前者精確到秒,后者精確到小數(shù)秒(fractional_seconds_precision),可以是 0 to 9,缺省是6。這篇文章主要介紹了Oralce中TIMESTAMP的幾種類型。有需要的朋友們可以參考借鑒。
    2016-12-12
  • 淺析Oracle中char和varchar2的區(qū)別

    淺析Oracle中char和varchar2的區(qū)別

    以下是對Oracle中char和varchar2的區(qū)別進行了分析介紹,需要的朋友可以過來參考下
    2013-07-07
  • Oracle 錯誤日志表及異常處理包詳解 附源碼

    Oracle 錯誤日志表及異常處理包詳解 附源碼

    這篇文章主要介紹了Oracle 錯誤日志表及異常處理包詳解 附源碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Oracle 查詢優(yōu)化的基本準(zhǔn)則詳解

    Oracle 查詢優(yōu)化的基本準(zhǔn)則詳解

    本篇文章是對Oracle查詢優(yōu)化的基本準(zhǔn)則進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • Oracle to_date()函數(shù)的用法介紹

    Oracle to_date()函數(shù)的用法介紹

    to_date()是Oracle數(shù)據(jù)庫函數(shù)的代表函數(shù)之一,下文對Oracle to_date()函數(shù)的幾種用法作了詳細的介紹說明,需要的朋友可以參考下
    2014-08-08

最新評論