分布式数据库

什么是分布数据库?

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. 记录一个scrapy的坑

    在win10上用命令 pip install scrapy 安装scrapy的时候提示: Could not find a version that satisfies the requirement ...

  2. Http请求封装(对HttpClient类的进一步封装,使之调用更方便。另外,此类管理唯一的HttpClient对象,支持线程池调用,效率更高)

    package com.ad.ssp.engine.common; import java.io.IOException; import java.util.ArrayList; import jav ...

  3. ssh和sshd服务

    1.1 对称加密和非对称加密 对称加密:加密和解密使用一样的算法,只要解密时提供与加密时一致的密码就可以完成解密.例如QQ登录密码,银行卡密码,只要保证密码正确就可以. 非对称加密:通过公钥(publ ...

  4. echart使用自定义单个柱状颜色实现

    项目实践中遇到一个根据需要,当X轴等于某个值是,柱状变成特殊颜色的需求,大致有两个方案实现: 1.在前台遍历数据对象,判断设置: 2.在后台拼装数据是,按照格式要求拼装好: 手拉手,用Vue开发动态刷 ...

  5. day16-python之函数式编程匿名函数

    1.复习 #!/usr/bin/env python # -*- coding:utf-8 -*- name = 'alex' #name=‘lhf’ def change_name(): name= ...

  6. Linux常用命令大全--有关磁盘空间的命令

    1.mount 命令的功能是挂载文件系统,可以挂载硬盘.光盘.软盘,也可以挂载NFS网络文件系统 mount -t 设备类型 存放目录 mount IP地址:/所提供的目录 存放目录 (无) 不加任何 ...

  7. Device eth0 does not seem to be present,delaying initialization问题

    1.打开/etc/udev/rules.d/70-persistent-net.rules: cat /etc/udev/rules.d/70-persistent-net.rules 文件内容如图: ...

  8. 洛谷 P1938 [USACO09NOV] 找工就业Job Hunt

    这道题可以说是一个复活SPFA的题 因为数据比较小,SPFA也比较简单 那就复习(复读)一次SPFA吧 #include<iostream> #include<cstdio> ...

  9. JavaScript中上传文件为图片如何读取+JS中如何使用clip()剪切指定区域(UI组件之图片剪裁器)

    File读取和FileReader() //获取上传的文件/图片 function getFile(){ var files,len; var reader = new FileReader(); v ...

  10. Backspace doesn't delete inner html tags of a contenteditable DIV in Firefox

    https://bugzilla.mozilla.org/show_bug.cgi?id=439808 backspace键 在ff下不能使用  div contenteditable=true时