分布式数据库

什么是分布数据库?

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

分布式数据库的独立性

l分布数据的独立性指用户不必关心数据怎样切割和存储,仅仅需关心他须要什么数据。

Oracle分布式RDBMS

本地操作
远程操作
分布操作  

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWh3YzIwMDk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

本地操作

RDBMS

SQLPLUS等工具



lORACLE_HOME=/oracle/oracle1/app/oracle/product/8.1.6
lORACLE_SID=o8i1
lORACLE_OWNER=oracle1

远程操作

利用本地的工具。訪问远程的数据库

分布操作

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






分布操作过程

定义数据库链路

定义数据库链路

CREATE DATABASE LINK [db_link_name]
CONNECT TO

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

•[DB_LINK_NAME]:是所要连接的数据库的服务名。也就是该数据库的真实名称(通常就是SID)。
•[USRE_NAME]:是所要连接的username称。
•[PASSWORD]:是所要连接的用户的password。

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

利用 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,是否已经增加下面内容:


分布式数据库查询

select ename,dname

from dept, emp@L2

where emp.deptno=dept.deptno;

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

透明存取-别名

lcreate synonym emp1 for emp@L2 ;

selectdname,ename,sal

fromemp1, dept

whereemp1.deptno=dept.deptno;


建立远程表的视图

createview
emp

as

select * from emp1@L1

union

select * from emp2@L2 ;



Select* from emp;

分布式数据库的其它操作

插入操作:
•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 on emp

foreach row

begin

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

where emp.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             &nbs

posted @ 2017-05-16 11:13 wzjhoutai 阅读(...) 评论(...) 编辑 收藏

Oracle学习(18)【DBA向】:分布式数据库的更多相关文章

  1. 【Oracle】曾经的Oracle学习笔记(1-3) 数据库常见用语,常见命令,创建测试表

    一.数据库的登录 二.数据库常用语 三.测试表的创建,测试数据初始化 四.常见命令介绍 五.测试 user:jeffreysn:jeffrey user:systemsn:jeffrey 浏览器中输入 ...

  2. Oracle得知(十五):分布式数据库

    --分布式数据库的独立性:分布数据的独立性指用户不必关心数据怎样切割和存储,仅仅需关心他须要什么数据. --本地操作 SQL> sqlplus scott/tiger --远程操作 SQL> ...

  3. Oracle 学习笔记3:新建数据库没有scott用户解决办法

    新建一个数据库,若选择Oracle组件时,没有选择实例方案,完成后进行口令管理,默认列表中是找不到scott用户解锁的.若要解锁scott用户,可以进行如下操作: 使用system或者sys连接数据库 ...

  4. 【Java EE 学习 30】【闪回】【导入导出】【管理用户安全】【分布式数据库】【数据字典】【方案】

    一.闪回 1.可能的误操作 (1)错误的删除了记录 (2)错误的删除了表 (3)查询历史记录 (4)撤销已经提交了的事务. 2.对应着以上四种类型的误操作,有四种闪回类型 (1)闪回表:将表回退到过去 ...

  5. 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.1 安装Oracle数据库软件和创建数据库概览)

    当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 2.1 安装Oracle数据库软件和 ...

  6. Oracle学习笔记--第2章 oracle 数据库体系结构

    第2章 oracle 数据库体系结构 目录: ————————————— 2.1物理存储结构 2.1.1数据文件 2.2.2控制文件 2.1.3重做日志文件 2.1.4其他文件 2.2逻辑存储结构 2 ...

  7. Oracle学习总结(8)—— 面向程序员的数据库访问性能优化法则

    特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也 ...

  8. oracle 分布式数据库

    分布式数据库的数据库链路是单向的

  9. oracle中所有存在不存在的用户都可以使用dba连接到数据库

    oracle中所有存在不存在的用户都可以使用dba连接到数据库及解决方式 以前一直使用conn /as sysdba连接数据库,不明白里面的意思.今天无意中使用其他的用户名密码连接到dba竟然也可以( ...

随机推荐

  1. js实现音量拖拽的效果模拟

    <!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>js ...

  2. jquery-closest

    1.closest() 本例演示如何通过 closest() 完成事件委托.当被最接近的列表元素或其子后代元素被点击时,会切换黄色背景: $( document ).bind("click& ...

  3. Windows 命令收集

    定时关机命令:schtasks /create /tn "关机" /tr "shutdown /s" /sc once /st 23:55

  4. Django中的Cookie、Session、Token

    Cookie : 指望着为了辨别用户身份.进行会话跟踪而存储在用户本地的数据(通常经过加密),是由服务端生成,发送给客户端浏览器,浏览器会将Cookie以key/value保存,下一请求同一网站是就发 ...

  5. Linux文件属性和压缩解压

    目 录 第1章 Linux系统文件的属性    1 1.1 命令ls    1 1.2 inode    2 1.3 文件属性    2 1.4 env命令    2 1.5 注意:    2 第2章 ...

  6. ServletContext作用功能详解

    ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放.request,一个用户可有多个:session,一个用户一个:而servletContext,所 ...

  7. Haproxy配置文件详解

    #/usr/local/sbin/haproxy -f /etc/haproxy/haproxy.cfg -st `cat /var/run/haproxy.pid` ################ ...

  8. Web框架下安全漏洞的测试反思

    此文已由作者王婷英授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在平时的测试中,一般情况下,我们都是比较关注功能业务测试,以及对应的接口测试,很少去关注对应的业务设计上存在 ...

  9. python和搜索

    # -*- coding: UTF-8 -*- import re # 搜索逻辑 def querylogic(list): query = {} if len(list) > 1 or len ...

  10. [POJ2594] Treasure Exploration(最小路径覆盖-传递闭包 + 匈牙利算法)

    传送门 引子: 有一个问题,是对于一个图上的所有点,用不相交的路径把他们覆盖,使得每个点有且仅属于一条路径,且这个路径数量尽量小. 对于这个问题可以把直接有边相连的两点 x —> y,建一个二分 ...