oracle db-link 分布式数据库网络配置协议错误,Oracle学习(18)【DBA向】:分布式数据库...
數(shù)據(jù)物理上被存放在網(wǎng)絡(luò)的多個節(jié)點上,邏輯上是一個整體。
分布式數(shù)據(jù)庫的獨立性
l分布數(shù)據(jù)的獨立性指用戶不必關(guān)心數(shù)據(jù)如何分割和存儲,只需關(guān)心他需要什么數(shù)據(jù)。
Oracle分布式RDBMS
本地操作
遠程操作
分布操作
本地操作
RDBMS
SQLPLUS等工具
lORACLE_HOME=/oracle/oracle1/app/oracle/product/8.1.6
lORACLE_SID=o8i1
lORACLE_OWNER=oracle1
遠程操作
利用本地的工具,訪問遠程的數(shù)據(jù)庫
分布操作
l跨節(jié)點數(shù)據(jù)的創(chuàng)建及查詢
l跨節(jié)點數(shù)據(jù)更新
分布操作過程
定義數(shù)據(jù)庫鏈路
定義數(shù)據(jù)庫鏈路
CREATE DATABASE LINK [db_link_name]CONNECT TO
[user_name]IDENTIFIED BY [password]USING ‘[tns_name]‘;
?[DB_LINK_NAME]:是所要連接的數(shù)據(jù)庫的服務(wù)名,也就是該數(shù)據(jù)庫的真實名稱(通常就是SID)。
?[USRE_NAME]:是所要連接的用戶名稱。
?[PASSWORD]:是所要連接的用戶的密碼。
?[TNS_NAME]:是所要連接的數(shù)據(jù)庫的服務(wù)命名。
例如:
?
利用 Net Manager 配置本地命名
步驟:
1.打開Net Manager
2.出現(xiàn)歡迎界面
3.展開 “本地”,選擇 “服務(wù)命名”。單擊頁面左邊的加號 +
4.出現(xiàn) 網(wǎng)絡(luò)服務(wù)名向?qū)А]斎胍粋€網(wǎng)絡(luò)服務(wù)名稱,例如: remoteOrcl。單擊下一步
5.選擇協(xié)議,用于連接數(shù)據(jù)庫。您可以接受默認的 TCP/IP (網(wǎng)絡(luò)協(xié)議),點擊下一步
6.輸入遠端數(shù)據(jù)庫計算機的地址,點擊下一步
7.輸入遠端數(shù)據(jù)庫的SID,點擊下一步
8.向?qū)У淖詈笠豁撌鼓軌蚶媚斎氲男畔y試連接。
9.在左邊的樹狀菜單中,會出現(xiàn)我們剛才配置的服務(wù)命名
10.保存網(wǎng)絡(luò)配置
11.查看文件C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora,是否已經(jīng)加入以下內(nèi)容:
分布式數(shù)據(jù)庫查詢
selectename,dname
fromdept, emp@L2
whereemp.deptno=dept.deptno;
lL2即為前面所創(chuàng)建的數(shù)據(jù)庫鏈路。
透明存取-別名
lcreate synonym emp1 for emp@L2 ;
selectdname,ename,sal
fromemp1,dept
whereemp1.deptno=dept.deptno;
建立遠程表的視圖
createviewemp
as
select * from emp1@L1
union
select * from emp2@L2 ;
Select* fromemp;
分布式數(shù)據(jù)庫的其他操作
插入操作:
?insert into emp select * from emp@L2;
數(shù)據(jù)復(fù)制:
?create table emp as select * from emp@L2;
分布式數(shù)據(jù)庫的跨節(jié)點更新
l快照
l觸發(fā)器
快照
定義快照維護關(guān)系表的異步副本
?指在主表修改后的指定時間內(nèi)刷新副本,用于主表修改少,但頻繁查詢的表。
create snapshot? emp(
refresh? start with sysdate
next? next_day(sysdate,’Monday’)
as? select * from emp@L1 ;
select* from emp;??? (本地數(shù)據(jù)庫中查詢快照的數(shù)據(jù))
利用觸發(fā)器實現(xiàn)數(shù)據(jù)的同步
createor replace trigger
update_emp
afterupdate onemp
foreach row
begin
update emp@L2 setemp.sal=:new.sal
whereemp.empno=:new.empno;
end;
上述知識點的一些sql實現(xiàn):
SQL> --創(chuàng)建數(shù)據(jù)庫鏈路
SQL> conn / as sysdba
已連接。
SQL> grant create database link to scott;
授權(quán)成功。
SQL> conn scott/tiger
已連接。
SQL> create database link l2 connect to scott identified by tiger using ‘remoteorcl‘;
數(shù)據(jù)庫鏈接已創(chuàng)建。
SQL> select ename,dname
2 ?from dept, emp@L2
3 ?where emp.deptno=dept.deptno;
ENAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DNAME
---------------------------------------- --------------
SMITH ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
ALLEN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
WARD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
JONES ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
MARTIN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
BLAKE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
CLARK ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ACCOUNTING
SCOTT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
KING ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ACCOUNTING
TURNER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
ADAMS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
ENAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DNAME
---------------------------------------- --------------
JAMES ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
FORD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? RESEARCH
MILLER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ACCOUNTING
已選擇14行。
SQL> /
ENAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DNAME
---------------------------------------- --------------
SMITH ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
ALLEN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
WARD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
JONES ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
MARTIN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
BLAKE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
CLARK ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ACCOUNTING
SCOTT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
KING ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ACCOUNTING
TURNER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
ADAMS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
ENAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DNAME
---------------------------------------- --------------
JAMES ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
FORD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? RESEARCH
MILLER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ACCOUNTING
已選擇14行。
SQL> /
ENAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DNAME
---------------------------------------- --------------
SMITH ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
ALLEN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
WARD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
JONES ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
MARTIN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
BLAKE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
CLARK ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ACCOUNTING
SCOTT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
KING123 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ACCOUNTING
TURNER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
ADAMS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
ENAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DNAME
---------------------------------------- --------------
JAMES ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
FORD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? RESEARCH
MILLER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ACCOUNTING
已選擇14行。
SQL> host cls
SQL> create synonym remoteemp for emp@l2;
同義詞已創(chuàng)建。
SQL> select ename,dname
2 ?from dept, remoteemp
3 ?where remoteemp.deptno=dept.deptno;
ENAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DNAME
---------------------------------------- --------------
SMITH ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
ALLEN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
WARD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
JONES ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
MARTIN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
BLAKE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
CLARK ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ACCOUNTING
SCOTT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
KING123 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ACCOUNTING
TURNER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
ADAMS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
ENAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DNAME
---------------------------------------- --------------
JAMES ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
FORD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? RESEARCH
MILLER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ACCOUNTING
已選擇14行。
SQL> select ename,dname
2 ?from dept, remoteemp
3 ?where remoteemp.deptno=dept.deptno;
ENAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DNAME
---------------------------------------- --------------
SMITH ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
ALLEN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
WARD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
JONES ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
MARTIN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
BLAKE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
CLARK ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ACCOUNTING
SCOTT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
KING123 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ACCOUNTING
TURNER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SALES
ADAMS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RESEARCH
ENAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DNAME
---------------------------------------- --------------
JAMES ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SALES
FORD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? RESEARCH
MILLER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ACCOUNTING
已選擇14行。
SQL> create or replace trigger sycnempsal
2 ?after update
3 ?on emp
4 ?for each row
5 ?begin
6
7 ? ? update remoteemp set sal=:new.sal where empno=:new.empno;
8
9 ?end;
10 ?/
觸發(fā)器已創(chuàng)建
SQL> select sal from emp where empno=7839;
SAL
----------
8186
SQL> update emp set sal=sal+1 where empno=7839;
已更新 1 行。
SQL> commit;
提交完成。
SQL> select sal from emp where empno=7839;
SAL
----------
8187
觸發(fā)器應(yīng)用場景三:實現(xiàn)數(shù)據(jù)的同步備份
只備份員工的薪水
create or replace trigger sycnempsal
after update
on emp
for each row
begin
update remoteemp set sal=:new.sal where empno=:new.empno;
end;
/
Oracle學(xué)習(xí)(18)【DBA向】:分布式數(shù)據(jù)庫
標(biāo)簽:dba???oracle???數(shù)據(jù)庫???分布式數(shù)據(jù)庫???分布式
本條技術(shù)文章來源于互聯(lián)網(wǎng),如果無意侵犯您的權(quán)益請點擊此處反饋版權(quán)投訴
本文系統(tǒng)來源:http://blog.csdn.net/qhwc2009/article/details/46358573
總結(jié)
以上是生活随笔為你收集整理的oracle db-link 分布式数据库网络配置协议错误,Oracle学习(18)【DBA向】:分布式数据库...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 5种索引方式,MySQL使
- 下一篇: linux cmake编译源码,linu