分布式数据库

什么是分布数据库?

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. 28. TRIGGERS ,29. USER_PRIVILEGES,30. VIEWS

    28. TRIGGERS TRIGGERS表提供有关触发器的信息.要查看有关表的触发器的信息,您必须具有该表的TRIGGER权限. TRIGGERS表有以下列: TRIGGER_CATALOG :触发 ...

  2. Python:字体颜色

    /033[31;1m     /033[0m 字体背景颜色 40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色 字体颜色 30:黑 31:红 32:绿 33:黄 ...

  3. 第三天,小作业,表达式,while循环

    num += 1 等价于 num = num + 1num -= 1 等价于 num = num - 1num *= 2 等价于 num = num * 2num /= 2 等价于 num = num ...

  4. [MVC]View

    /Views/_ViewStart.cshtml 文件会在其他视图文档被加载之前被载入,代码如下: @{ Layout = "~/Views/Shared/_Layout.cshtml&qu ...

  5. linux中.bashrc 等文件中的rc是什么意思

    英文原义:RC (run command)中文释义:含有程序(应用程序甚至操作系统)启动指令的脚本文件 注 解:这一文件在操作系统启动时会自动执行,它含有要运行的指令(命令或其它脚本)列表. 相当于w ...

  6. Charm Bracelet(01背包)

    Bessie has gone to the mall's jewelry store and spies a charm bracelet. Of course, she'd like to fil ...

  7. 从Excel中读取数据(python-xlrd)

    从Excel中读取数据(python-xlrd) 1.导入模块 import xlrd 2.打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls ...

  8. BZOJ1585: [Usaco2009 Mar]Earthquake Damage 2 地震伤害

    n<=3000个点m<=20000条无向边的图,有p<=n个出发点,每个出发点都不可拆,现拆一些点使每个出发点都不能到达点1,求最小点数. 简单的最小割.每个点拆成两个x和y,无向边 ...

  9. IE下IFrame引用跨域站点页面时,Session失效问题解决

    问题场景:在一个应用(集团门户)的某个page中, 通过IFrame的方式嵌入另一个应用(集团实时监管系统)的某个页面. 当两个应用的domain 不一样时, 在被嵌入的页面中Session失效.(s ...

  10. Codeforces 660C Hard Process【二分 Or 尺取】

    题目链接: http://codeforces.com/problemset/problem/660/C 题意: 给定0.1组成的数组,可以改变k个0使其为1,问最终可以得到的连续的1的最大长度. 分 ...