Oracle實現跨庫查詢

2021-10-22 12:54:11 字數 1552 閱讀 6578

場景模擬:

當前登入的庫是ocrla,然後我的需求是希望直接通過sql能夠查詢到ocrlb庫的資料。

oracle在進行跨庫訪問時,可以通過建立dblink實現。

【第一步:使用者許可權】

檢視當前使用者是否擁有database link 許可權

select

*from user_sys_privs where privilege like upper(

'%database link%'

)and username=

'zhangyu'

;-- 如果user_sys_privs資料不多可以直接查詢使用者,注意這裡使用者名稱大寫

如果查詢有返回行,則表示具備建立database link許可權,否則,則需要使用sys登陸為使用者賦予建立許可權

grant

create

public

database link to zhangyu;

建立完成之後再次查詢user_sys_privs即可

【第二步:建立database link】

倆種方式可以通過pl/sql developer圖形化建立,也可以通過sql語句建立,這裡直接通過sql方式建立

create

database link linktest

connect

to zhangyu identified by

"123456"

using

'(description = (address_list = (address = (protocol = tcp)(host = 192.168.1.1)(port = 1521)) ) (connect_data = (service_name = ocrla) ) )'

備註:如果密碼是數字開頭,用""括起來

【第三步:驗證】

建立完成之後就可以通過下面的方式查詢跨庫的資料:

表名@對應的database link名稱

select

*from tablename@linktest

建立完成後也可以通過pl/sql developer檢視

database link 的刪除

drop

public

database link link_name;

Oracle如何實現跨庫查詢

實現結果 在乙個資料庫中某個使用者下編寫乙個儲存過程,在儲存過程中使用dblink連線另乙個資料庫,從此資料庫中的乙個使用者下取數,然後插入當前的資料庫中的乙個表中。二.實現方法步驟 1.建立儲存過程 2.在儲存過程中先建立database link 3.建立成功 4.從另乙個資料庫取出資料插入到當...

Oracle如何實現跨庫查詢

實現結果 在乙個資料庫中某個使用者下編寫乙個儲存過程,在儲存過程中使用dblink連線另乙個資料庫,從此資料庫中的乙個使用者下取數,然後插入當前的資料庫中的乙個表中。二.實現方法步驟 1.建立儲存過程 2.在儲存過程中先建立database link 3.建立成功 4.從另乙個資料庫取出資料插入到當...

Oracle如何實現跨庫查詢

實現結果 在乙個資料庫中某個使用者下編寫乙個儲存過程,在儲存過程中使用dblink連線另乙個資料庫,從此資料庫中的乙個使用者下取數,然後插入當前的資料庫中的乙個表中。二.實現方法步驟 1.建立儲存過程 2.在儲存過程中先建立database link 3.建立成功 4.從另乙個資料庫取出資料插入到當...