oracle db-link "分布式数据库网络配置协议错误",Oracle学习(18)【DBA向】:分布式数据库...

数据物理上被存放在网络的多个节点上,逻辑上是一个整体。

分布式数据库的独立性

l分布数据的独立性指用户不必关心数据如何分割和存储,只需关心他需要什么数据。

Oracle分布式RDBMS

本地操作

远程操作

分布操作

40951d9d14d1c02f9a4365144cb9a283.png

本地操作

RDBMS

SQLPLUS等工具

1213f341c20cafab2dfdea302663803b.png

lORACLE_HOME=/oracle/oracle1/app/oracle/product/8.1.6

lORACLE_SID=o8i1

lORACLE_OWNER=oracle1

远程操作

利用本地的工具,访问远程的数据库

1b3ed6eeef86d64426d7ea4e1b9786ee.png

分布操作

l跨节点数据的创建及查询

l跨节点数据更新

cea8f264132d3b2fd0197d00f4c8199c.png

分布操作过程

定义数据库链路

定义数据库链路

CREATE DATABASE LINK [db_link_name]CONNECT TO

[user_name]IDENTIFIED BY [password]USING ‘[tns_name]‘;

?[DB_LINK_NAME]:是所要连接的数据库的服务名,也就是该数据库的真实名称(通常就是SID)。

?[USRE_NAME]:是所要连接的用户名称。

?[PASSWORD]:是所要连接的用户的密码。

?[TNS_NAME]:是所要连接的数据库的服务命名。

例如:

?

580747f9758830c43abb51787f7006de.png

利用 Net Manager 配置本地命名

步骤:

1.打开Net Manager

2.出现欢迎界面

3.展开 “本地”,选择 “服务命名”。单击页面左边的加号 +

4.出现 网络服务名向导。输入一个网络服务名称,例如: remoteOrcl。单击下一步

5.选择协议,用于连接数据库。您可以接受默认的 TCP/IP (网络协议),点击下一步

6.输入远端数据库计算机的地址,点击下一步

7.输入远端数据库的SID,点击下一步

8.向导的最后一页使您能够利用您输入的信息测试连接。

9.在左边的树状菜单中,会出现我们刚才配置的服务命名

10.保存网络配置

11.查看文件C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora,是否已经加入以下内容:

63a520bdd9e7c507b0b6873018804aec.png

分布式数据库查询

selectename,dname

fromdept, emp@L2

whereemp.deptno=dept.deptno;

lL2即为前面所创建的数据库链路。

透明存取-别名

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;

分布式数据库的其他操作

插入操作:

?insert into emp select * from emp@L2;

数据复制:

?create table emp as select * from emp@L2;

分布式数据库的跨节点更新

l快照

l触发器

快照

定义快照维护关系表的异步副本

?指在主表修改后的指定时间内刷新副本,用于主表修改少,但频繁查询的表。

create snapshot  emp(

refresh  start with sysdate

next  next_day(sysdate,’Monday’)

as  select * from emp@L1 ;

select* from emp;    (本地数据库中查询快照的数据)

利用触发器实现数据的同步

createor replace trigger

update_emp

afterupdate onemp

foreach row

begin

update emp@L2 setemp.sal=:new.sal

whereemp.empno=:new.empno;

end;

上述知识点的一些sql实现:

SQL> --创建数据库链路

SQL> conn / as sysdba

已连接。

SQL> grant create database link to scott;

授权成功。

SQL> conn scott/tiger

已连接。

SQL> create database link l2 connect to scott identified by tiger using ‘remoteorcl‘;

数据库链接已创建。

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;

同义词已创建。

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  /

触发器已创建

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

触发器应用场景三:实现数据的同步备份

只备份员工的薪水

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学习(18)【DBA向】:分布式数据库

标签:dba   oracle   数据库   分布式数据库   分布式

1428d0e076c3959ab11d28a39bc84fab.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://blog.csdn.net/qhwc2009/article/details/46358573

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值