場景模擬:
當前登入的庫是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.從另乙個資料庫取出資料插入到當...