您好,登錄后才能下訂單哦!
oracle中的database link是定義一個數據庫到另一個數據庫的路徑的對象,database link允許你查詢遠程表和執行遠程程序。在任何分布式環境里,dblink都是必要的,另外注意database link是單向的連接。在創建database link的時候,oracle在數據字典中存儲了相關的database link的信息,在使用database link的時候,oracle再通過oracle net用戶預先定義好的連接信息訪問相應的遠程數據庫來完成相應的工作。
1、在建立database link之前需要注意:
(1)確認從local database到remote database的網絡連接是否正常,tnsping要能成功。
(2)確認在remote database上面有相應的訪問權限。
2、oracle database link可分為下面三類:
(1)private:創建的是用戶級別的dblink,只有創建該dblink的用戶才可以使用這個dblink來訪問遠程的數據庫,同時也只有該用戶可以刪除這個dblink。
(2)public:創建的是數據庫級別的dblink,本地數據庫中所有的用戶數據庫訪問權限的用戶或者pl/sql程序都能使用這個dblink。
(3)global:創建的是網絡級別的dblink,這是對于oracle network而言的。
3、創建dblink需要的權限:
如果你新建了一個用戶,那么你必須為它授予以下權限才可以創建dblink:create database link、create public database link、create session。
4、創建dblink:
由于上面的是基于表的導出,我們可以用下面這個命令:
impdp scott/tiger@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=exptable.dmp TABLES=lyz.TESTA REMAP_SCHEMA=lyz:scott table_exists_action=REPLACE
這邊的意思是:impdp 倒入到 oracl庫下的用戶,倒入的路徑為DATA_PUMP_DIR,倒入的dmp 文件為:exptable.dmp ,倒入的表為:TABLES=lyz.TESTA ,REMAP_SCHEMA=lyz:scott : 這邊的意思是 從 lyz用戶到scott用戶,table_exists_action=REPLACE : 這邊的意思是:如果表存在,就直接替換掉。
或者是基于用戶的倒入:去掉這個TABLES=lyz.TESTA,但是也是 lyz 用戶到 scott用戶
impdp scott/tiger@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=exptable.dmp REMAP_SCHEMA=lyz:scott table_exists_action=REPLACE
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。