數據庫之間的鏈接建立在DATABASE LINK上。要創建一個DB LINK,必須先 在每個數據庫服務器上設置鏈接字符串。
例如,深圳SUN平臺ORACLE數據庫,在/var/opt/oracle/tnsnames.ora中有以下 一條和北京的數據庫鏈接tobeijing,格式如下:
鏈接字符串的設置 |
說 明 |
tobeijing=(description= | database link名稱:tobeijing |
(address=(protocol=tcp) | 採用tcp/ip協議 |
(host=www.bj.col.com.cn) | 欲鏈接主機名稱或IP地址 |
(port=1521)) | 網絡端口1521 |
(connect_data=(sid=oracle7))) | 安裝ORACLE採用的sid |
SQL>create public database link beijing connect to scott identified by tiger using 'tobeijing';
則創建了一個以scott用戶和北京數據庫的鏈接beijing,我們查詢北京的scott數據:
SQL>select * from emp@beijing;
這樣就可以把深圳和北京scott用戶的數據做成一個整體來處理。
爲了使有關分佈式操作更透明,ORACLE數據庫裏有同義詞的對象synonym
SQL>create synonym bjscottemp for emp@beijing;
於是就可以用bjscottemp來替代帶@符號的分佈式鏈接操作emp@beijing。
查看所有的數據庫鏈接,進入系統管理員SQL>操作符下,運行命令:
SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';
建ORACLE快照日誌: SQL>create snapshot log on table3 with primary key;
建快照: SQL>create snapshot table3beijing refresh force start with sysdate next sysdate+1/24 with primary key as select * from table3@beijing;
ORACLE的快照刷新方式refresh有三種:
fast | 快速刷新,用snapshot log,只更新時間段變動部分 |
complete | 完全刷新,運行SQL語句 |
force | 自動判斷刷新,介於fast和complete之間 |