兩台oracle資料庫相互導資料
案例說明:
有A,B兩台oracle資料庫,都為10g,現在有一個A資料庫中one表的幾條資料要插入到B資料庫中的one表?
在網上查閱了一下,可以通過在A上建立dblink,當然在B機上建立也是一樣的。
開啟sqlplus終端,或者任意的oracle用戶端環境,執行以下SQL
create database link 連結名
connect to 使用者名稱 identified by 密碼
using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 要串連的IP)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = 資料庫的SID) ))';
例如:
create database link idtsxxzsp
connect to sxxzsp identified by sxxzsp
using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 199.66.68.15)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = idt) ))';
建立串連之後,就可以通過(表名@連結名)訪問對方(即任一端)的表。
例如
insert into designer_form1 select * from designer_form@idtsxxzsp //把遠端的的designer_from表資料全部插入到現串連的資料庫中的designer_form1表中 。
insert into designer_form@idtsxxzsp select * from designer_form where id in (893,892,999) //這個是把本機資料有選擇的插入到遠端資料庫中。(支援大對象)
所以這種方法可以實現案例。對於不同版本的oracle資料庫,一樣適用。
轉載自:
http://blog.csdn.net/jackpk/archive/2010/09/09/5873000.aspx
http://blog.csdn.net/lky5387/archive/2009/10/27/4734296.aspx