跨數據庫取數據DBLINK的使用方法詳解
跨數據庫取數據DBLINK的相關知識是本文我們主要要介紹的內容,接下來我們就開始介紹這部分內容。
1.創建dblink語法:
- CREATE [PUBLIC] DATABASE LINK link
- CONNECT TO username IDENTIFIED BY password
- USING ‘connectstring’
說明:
1) 權限:創建數據庫的帳號必須有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系統權限,用來登錄到遠程數據庫的帳號必須有CREATE SESSION權限。這兩種權限都包含在CONNECT角色中(CREATE PUBLIC DATABASE LINK權限在DBA中)。一個公用數據庫鏈接對于數據庫中的所有用戶都是可用的,而一個私有鏈接僅對創建它的用戶可用。由一個用戶給另外一個用戶授權私 有數據庫鏈接是不可能的,一個數據庫鏈接要么是公用的,要么是私有的。
2)link : 當GLOBAL_NAME=TRUE時,link名必須與遠程數據庫的全局數據庫名global_name)相同;否則,可以任意命名。
3)connectstring:連接字符串,tnsnames.ora中定義遠程數據庫的連接串。
4)username、password:遠程數據庫的用戶名,口令。如果不指定,則使用當前的用戶名和口令登錄到遠程數據庫。
2.刪除數據庫鏈接的語句:
DROP [PUBLIC] DATABASE LINK zrhs_link
3.查看已創建的dblink
select owner,object_name from dba_objects where object_type='DATABASE LINK';
4.dblink的引用:
[user.]table|view@dblink
如:
- SELECT * FROM worker@zrhs_link;
- SELECT * FROM camel.worker@zrhs_link ;
5.創建同義詞:
對于經常使用的數據庫鏈接,可以建立一個本地的同義詞,方便使用:
CREATE SYNONYM worker_syn FOR worker@zrhs_link;
6.創建遠程視圖:
CREATE VIEW worker AS SELECT * FROM worker@zrhs_link where…;
現在本視圖可與本地數據庫中的任何其它視圖一樣對待,也可以授權給其它用戶訪問此視圖,但該用戶必須有訪問數據庫鏈接的權限。
關于跨數據庫取數據DBLINK的使用的相關知識就介紹到這里了,希望本次的介紹能夠對您有所收獲!
【編輯推薦】
- 初學SQL Server數據庫的一些常用操作總結
- SQL Server數據庫創建數據倉庫已分區表詳解
- SQL Server與Access數據庫ASP代碼的比較詳解
- SQL Server數據庫中bit字段類型使用時的注意事項
- SQL Server數據庫timestamp數據類型相關知識介紹