前幾天幫一個朋友弄ORACLE跨資料庫的操作,共用下具體的操作流程:
一、不同IP的資料庫(DBLINK)
本機資料庫ip 10.56.7.26
遠端資料庫ip 233.215.219.8
1.在10.56.7.26資料庫安裝檔案中,找到$ORACLE_HOME/network/admin/tnsnames.ora檔案,
末尾添加
MEDIADBLINK =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 233.215.219.8)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
2.登入到10.56.7.26資料庫,建立database link,這裡需要使用sysdba的角色登入,進行許可權分配方可建立
執行如下sql語句:
create public database link MEDIADB
connect to smsuser identified by zonefree2better
using 'MEDIADBLINK';
建立完後使用,檢查是否成功:
select owner,object_name from dba_objects where object_type='DATABASE LINK';
3.在10.56.7.26中建立觸發器
觸發器中插入遠端資料表sql:
create or replace trigger t_t_test
after insert on t_sta_bill
for each row
DECLARE
-- local variables here
BEGIN
--操作遠端資料表
INSERT INTO t_test@MEDIADB
(USERID,USERNAME,PASSWORD)
VALUES (:NEW.USERID,:NEW.USERNAME,:NEW.PASSWORD);
END t_t_test;
二、同機器上的不同使用者資料庫 一台機器上的不同使用者,可以使用
SELECT ssh2.A.* FROM SSH2.A, orcl.A WHERE ssh2.A.USER_ID = orcl.A.USER_ID ssh2、orcl為使用者,A為資料表