《分布式数据库系统》PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
回答它。 (6)连接管理器传递连接控制到最好的现存数据泵(data pump),
或者产生一个新泵,然后传递连接控制。 (7)数据泵询问导航器下一个去的地址:其它Interchange,或
者其它目的地。 (8)数据泵发送连接到下个协议“共同体”。 注意:如果Interchange作为目的地是在同一个协议“共同体”返回节
是
5 分片独立性
是
6 数据复制独立性
是
7 分布式查询处理
是
8 分布式事务管理
是
9 硬件独立性
是
10 操作系统独立性
是
11 网络独立性
是
12 DBMS独立性
是
返回章
9.2 分布式数据库的连接
图9.3:一个ORACLE分布式数据库实际结构
目录
9.2.1分布式数据库全局名和数据库链 9.2.2 连 接 客 户 ( CLIENTS ) 和 服 务 器
9.5.5 配置LISTENER
1. 配置listener地址 :将机器上一定的数据库连接要求配置为监控器确 定的地址 listener配置文件listener.ora指定 例9.12:配置一个叫LISTENER的listener,来接受在PORT.7000的“共同 体”.ORACLE和在OBJECT lsnr的.ORACLE“共同体” 上的连接:
2 WHERE ename=’GREEN’; 1 row deleted.
返回节
9.4 事务管理
事务 :一个原子单位 ,满足ACID准则即原子性、一 致性、隔离性、持久性。 ORACLE的事务管理 由一个可执行的SQL语句开始 ,事务开始时,被赋给 一个可用回滚段,记录该事务的回滚项 事务结束
当COMMIT或ROLLBACK(没有SAVEPOINT子句)语句发出。 一个DDL语句被执行。在DDL语句执行前、后都隐式地提交。 用户撤消对ORACLE的连接(当前事务提交)。 用户进程异常中止(当前事务回滚)。
(2) SQL* Net V2/TNS 注意到目的地是在不同的“共同体”中, 并发送出连接到客户(client)希望的Interchange。
(3)到来的连接请求由连接管理器接受。 (4)连接管理器(connection manager)询问导航器(navigator)
是否它正进行着正确的路径。 (5)导航器回答yes(是),或者用一个更好的Interchange地址
9.1分布式数据库系统概述
分布式数据库系统与集中式数据库系统 构成:分布式数据库管理系统和分布式 数据库 分布式数据库系统适合于单位分散的部 门 ORACLE的分布式结构基于两种模式
客户/服务器模式(client/server) 服务器_服务器(server_server)结构
客户/服务器模式
3 WHERE emp.deptno=dept.deptno 等价于下面两个
4 AND loc=’NEW YORK’
SQL语句的并
5 AND job=’CLERK’;
SQL>SELECT ename,deptno
2 FROM emp 3 WHERE job=’CLERK’
SQL>SELECT dname, deptno
服务器_服务器模式
分布式数据库的特征
ORACLE支持大多数理想的分布式特点 1. 本地自治(Local Autonomy) 2. 不依靠一个中心站点 3. 能连续操作
全功能分布式数据库的规则和目 标
规则细目
在ORACLE中存在
1 局部结点自治性
是
2 不依靠中心站点
是
3 连续操作
是
4 本地独立性
finance.division2.acme_ sales.division2.acme_ 对象可用对象全局名唯一标识
human resources.emp@hq.divisionl.acme
2.数据库链
数据库链:对远程数据库定义的一路径 数据库链对分布式数据库的用户透明 数据库链的名字与链所指向的数据库的全局名相同 数据库链由两部分组成:一个远程账号和一个数据库串 例建立数据库链的形式: CREATE PUBLIC DATABASE LINK CONNECT TO guest IDENTIFIED BY password USING’DB串’;
LISTENER=(ADDESS_LIST= (ADDRESS= (COMMUNITY=) (PROTOCOL=TCP) (HOST=hqvms1) (PORT=1521)) (ADDRESS=(COMMUNITY=.ORACLE) (PROTOCOL=DECNET) (NODE=hqvms1) (OBJECT=1snr)))
多不同的应用类型使用
返回节
9.5.3 Multi Protocol Interchange (多协议交换)
Multi Protocol Interchange :一个软件组分成 分, 它允许SQL*Net V2/TNS连接穿过若干 “共同体” “共同体”是共享相同网络协议结点的集合 Interchange不是一个:
第9章 分布式数据库系统
本章主要介绍客户/服务器模式、服务器-服务器模 式两种分布式数据库系统,以及分布式数据库的连接, 分布式查询处理,并介绍了事务处理、多协议信息交 换和表快照与复制,以便读者学习分布式数据库计算 等技术。 9.1 概述(客户/服务器结构、服务器一服务器结构) 9.2 分布式数据库的连接 9.3 分布式查询处理及其它 9.4 事务管理 9.5 多协议信息交换 9.6 表快照与复制
服务器上listener的地址。 所连接到的ORACLE实例名。
配置SQL*NET V2客户机 (Client)
连接描述符在文件tnsnames.ora中定义
各个连接描述符需要CONNECT_DATA加上至少一个 ADDRESS(地址)。
例9.11:配置客户机连接描述符的例子:
tnsnames.ora: Nhomakorabea返回章9.5.1 SQL*NET
1. SQL*Net的功能概述客户机和服务器 之间的连接通过SQL*Net建立和中止。
SQL*Net映射ORACLE应用(UPI)和数据库 调用(OPI)为网络调用。
在两个通讯结点之间不同的特征设置和NLS 数据表示通过SQL*Net处理。
SQL*Net “谈判” ( negotiates)
中,则跳过第7步
9.5.4 配置SQL*NET V2客户 机(Client)
配置(Configure)一个SQL*Net V2客户机 需要如下信息:
连接描述符/数据库名字 客户机所属的协议“共同体” 登录(Logging)和轨迹(tracing)信息
SQL* Net V2/TNS连接描述符指定;
tiger 3 USING ’education_db’; 'education_db'为数据库描述符
例9.4:用数据库连接BOSTON,访问远 程scott/tiger账号中的EMP表。
SQL>SELECT *
2 FROM emp@boston;
...
14 rows retrieved. 注意:数据库链在分布式数据库SQL 语句中作为表名的一部分了
2.配置建立专用服务器(Dedicated Server)的Listener
tiger为口令
客户应用myform
SQL* Net的连接描述符能连接客户到远程服
务器
返回节
9.2.3 连接服务器(SERVERS) 到其它服务器(SERVERS)
图9.6将服务器连接到服务器
例9.3:创建数据库链接 Boston
SQL>CREATE DATABASE LINK boston 2 CONNECT TO Scott IDENTIFIED BY
由账号和DB串构成完全路径
返回节
9.2.2 连接客户(CLIENTS) 和服务器(SERVERS)
图9.5 连接客户应用到服务器
连接客户应用到服务器
例9.1:
$ runform scott/tiger@EDUCATION_DB my_form
EDUCATION_DB为连接描述符
scott为用户模式名
3. 回滚事务:撤消未提交事务中的SQL语句 所作的对数据修改
例9.9:回滚当前整个事务
ROLLBACK
例9.10:回滚当前事务到SP5保留点。
ROLLBACK TO SAVEPOINT SP5
4. 保留点
在一事务范围内的中间标志,经常用于将一个
长的事务划分为小的部分
返回章
9.5 多协议信息交换
一个结点既是客户(Client)应用,又可以是 一个数据库服务器(Server)
2. SQL* Net 的优点
(1) 网络透明性 (2) 协议独立性 (3) 介质/拓扑独立性 (4) 异域网络性 (5) 本地透明性
返回节
9.5.2 SQL*Net连接组分
SQL*Net V2和TNS接口 :
SQL*Net对应于特定的数据库通讯 TNS是一组基本网络服务器集合,它可由许
9.5.1 SQL*NET
9.5.2 SQL*Net连接组分
9.5.3 Multi Protocol Interchange (多协议 交换)
9.5.4 配置SQL*NET V2客户机(Client)
9.5.5 配置LISTENER
9.5.6 配置SQL*NET V2服务器(SERVER)
9.5.7 启动LISTENER
(SERVERS) 9.2.3 连接服务器(SERVERS)到其它服
务器(SERVERS)
返回章
9.2.1分布式数据库全局名和数据库链
1.分布式数据库全局名
全局数据库名唯一标识系统中的每个数据库 两部分组成:数据库名(小于等于8个字符) 和网络域(net work domain) 例:hq.divisionl.acme_
协议门路 协议变转器 路由器或 桥
MutiProtocol Interchange
1. Interchange结构描述
图9.11 Interchange
2. 通过Interchange完成的 连接
Interchange完成的连接步骤
(1) 客户(Client)产生一个对不同“共同体”中一服务器(server) 的连接请求
2 FROM dept 3 WHERE loc=’NEW YORK’
返回节
9.3.2 在分布式事务
(DISTRIBUTED
TRANSACTION)中的其它语
句 例9.7: 更新远程数据库中的数据: SQL>UPDATE emp@ed_link 2 SET Sal=Sal*1.05 3 WHERE ename=’WINSLOW’; 1 row updaed. 将数据插入到一个远程数据库的表中:
SQL>INSERT INTO emp@ ed_link (empno,ename,sql,hiredate,deptno) 2 VALUES (1001,’EINSTEIN’,45OO,sysdate,40);
1 row created. 从一个远程数据库的表中删除数据: SQL>DELELE FROM emp@ed_link
PROD7=(DESCRIPTION=
(ADDRESS= (COMMUNITY=.ORACLE)
(PROTOCOL=TCP)
(HOST=Server1)
(PORT=1521)
返回节
(CONNECT_DATA=(SID=PROD7)))
用其连接: C:\Sgl plus scott/tiger @ PROD7
91概述客户服务器结构服务器一服务器结构92分布式数据库的连接93分布式查询处理及其它94事务管理95多协议信息交换96表快照与复制91分布式数据库系统概述服务器服务器serverserver结构客户服务器模式服务器服务器模式分布式数据库的特征oracle支持大多数理想的分布式特点本地自治localautonomy能连续操作全功能分布式数据库的规则和目规则细目在oracle中存在10操作系统独立性11网络独立性12dbms独立性返回章92分布式数据库的连接图93
9.4 事务管理
1. 提交事务:将在事务中由SQL语句所执行的改变 永久化 例9.8: 在对DEPT表插入一行后,提交该改变 INSERT INTO DEPT VALUES (50,’LIU YIN’,’TAMPA’) COMMIT WORK 2.两阶段提交协议 :保证事务正常运行
第一阶段是“表决阶段” 第二阶段是“执行阶段”
返回节
9.3 分布式查询处理及其它
9.3.1 建立分布式查询 9.3.2 在分布式事务(DISTRIBUTED TRANSACTION)中的其它语句
返回章
9.3.1 建立分布式查询
分布式查询例子
例 9.6:
SQL>SELECT ename,danme
2 FROM emp@chicago,dept@ bethesda
或者产生一个新泵,然后传递连接控制。 (7)数据泵询问导航器下一个去的地址:其它Interchange,或
者其它目的地。 (8)数据泵发送连接到下个协议“共同体”。 注意:如果Interchange作为目的地是在同一个协议“共同体”返回节
是
5 分片独立性
是
6 数据复制独立性
是
7 分布式查询处理
是
8 分布式事务管理
是
9 硬件独立性
是
10 操作系统独立性
是
11 网络独立性
是
12 DBMS独立性
是
返回章
9.2 分布式数据库的连接
图9.3:一个ORACLE分布式数据库实际结构
目录
9.2.1分布式数据库全局名和数据库链 9.2.2 连 接 客 户 ( CLIENTS ) 和 服 务 器
9.5.5 配置LISTENER
1. 配置listener地址 :将机器上一定的数据库连接要求配置为监控器确 定的地址 listener配置文件listener.ora指定 例9.12:配置一个叫LISTENER的listener,来接受在PORT.7000的“共同 体”.ORACLE和在OBJECT lsnr的.ORACLE“共同体” 上的连接:
2 WHERE ename=’GREEN’; 1 row deleted.
返回节
9.4 事务管理
事务 :一个原子单位 ,满足ACID准则即原子性、一 致性、隔离性、持久性。 ORACLE的事务管理 由一个可执行的SQL语句开始 ,事务开始时,被赋给 一个可用回滚段,记录该事务的回滚项 事务结束
当COMMIT或ROLLBACK(没有SAVEPOINT子句)语句发出。 一个DDL语句被执行。在DDL语句执行前、后都隐式地提交。 用户撤消对ORACLE的连接(当前事务提交)。 用户进程异常中止(当前事务回滚)。
(2) SQL* Net V2/TNS 注意到目的地是在不同的“共同体”中, 并发送出连接到客户(client)希望的Interchange。
(3)到来的连接请求由连接管理器接受。 (4)连接管理器(connection manager)询问导航器(navigator)
是否它正进行着正确的路径。 (5)导航器回答yes(是),或者用一个更好的Interchange地址
9.1分布式数据库系统概述
分布式数据库系统与集中式数据库系统 构成:分布式数据库管理系统和分布式 数据库 分布式数据库系统适合于单位分散的部 门 ORACLE的分布式结构基于两种模式
客户/服务器模式(client/server) 服务器_服务器(server_server)结构
客户/服务器模式
3 WHERE emp.deptno=dept.deptno 等价于下面两个
4 AND loc=’NEW YORK’
SQL语句的并
5 AND job=’CLERK’;
SQL>SELECT ename,deptno
2 FROM emp 3 WHERE job=’CLERK’
SQL>SELECT dname, deptno
服务器_服务器模式
分布式数据库的特征
ORACLE支持大多数理想的分布式特点 1. 本地自治(Local Autonomy) 2. 不依靠一个中心站点 3. 能连续操作
全功能分布式数据库的规则和目 标
规则细目
在ORACLE中存在
1 局部结点自治性
是
2 不依靠中心站点
是
3 连续操作
是
4 本地独立性
finance.division2.acme_ sales.division2.acme_ 对象可用对象全局名唯一标识
human resources.emp@hq.divisionl.acme
2.数据库链
数据库链:对远程数据库定义的一路径 数据库链对分布式数据库的用户透明 数据库链的名字与链所指向的数据库的全局名相同 数据库链由两部分组成:一个远程账号和一个数据库串 例建立数据库链的形式: CREATE PUBLIC DATABASE LINK CONNECT TO guest IDENTIFIED BY password USING’DB串’;
LISTENER=(ADDESS_LIST= (ADDRESS= (COMMUNITY=) (PROTOCOL=TCP) (HOST=hqvms1) (PORT=1521)) (ADDRESS=(COMMUNITY=.ORACLE) (PROTOCOL=DECNET) (NODE=hqvms1) (OBJECT=1snr)))
多不同的应用类型使用
返回节
9.5.3 Multi Protocol Interchange (多协议交换)
Multi Protocol Interchange :一个软件组分成 分, 它允许SQL*Net V2/TNS连接穿过若干 “共同体” “共同体”是共享相同网络协议结点的集合 Interchange不是一个:
第9章 分布式数据库系统
本章主要介绍客户/服务器模式、服务器-服务器模 式两种分布式数据库系统,以及分布式数据库的连接, 分布式查询处理,并介绍了事务处理、多协议信息交 换和表快照与复制,以便读者学习分布式数据库计算 等技术。 9.1 概述(客户/服务器结构、服务器一服务器结构) 9.2 分布式数据库的连接 9.3 分布式查询处理及其它 9.4 事务管理 9.5 多协议信息交换 9.6 表快照与复制
服务器上listener的地址。 所连接到的ORACLE实例名。
配置SQL*NET V2客户机 (Client)
连接描述符在文件tnsnames.ora中定义
各个连接描述符需要CONNECT_DATA加上至少一个 ADDRESS(地址)。
例9.11:配置客户机连接描述符的例子:
tnsnames.ora: Nhomakorabea返回章9.5.1 SQL*NET
1. SQL*Net的功能概述客户机和服务器 之间的连接通过SQL*Net建立和中止。
SQL*Net映射ORACLE应用(UPI)和数据库 调用(OPI)为网络调用。
在两个通讯结点之间不同的特征设置和NLS 数据表示通过SQL*Net处理。
SQL*Net “谈判” ( negotiates)
中,则跳过第7步
9.5.4 配置SQL*NET V2客户 机(Client)
配置(Configure)一个SQL*Net V2客户机 需要如下信息:
连接描述符/数据库名字 客户机所属的协议“共同体” 登录(Logging)和轨迹(tracing)信息
SQL* Net V2/TNS连接描述符指定;
tiger 3 USING ’education_db’; 'education_db'为数据库描述符
例9.4:用数据库连接BOSTON,访问远 程scott/tiger账号中的EMP表。
SQL>SELECT *
2 FROM emp@boston;
...
14 rows retrieved. 注意:数据库链在分布式数据库SQL 语句中作为表名的一部分了
2.配置建立专用服务器(Dedicated Server)的Listener
tiger为口令
客户应用myform
SQL* Net的连接描述符能连接客户到远程服
务器
返回节
9.2.3 连接服务器(SERVERS) 到其它服务器(SERVERS)
图9.6将服务器连接到服务器
例9.3:创建数据库链接 Boston
SQL>CREATE DATABASE LINK boston 2 CONNECT TO Scott IDENTIFIED BY
由账号和DB串构成完全路径
返回节
9.2.2 连接客户(CLIENTS) 和服务器(SERVERS)
图9.5 连接客户应用到服务器
连接客户应用到服务器
例9.1:
$ runform scott/tiger@EDUCATION_DB my_form
EDUCATION_DB为连接描述符
scott为用户模式名
3. 回滚事务:撤消未提交事务中的SQL语句 所作的对数据修改
例9.9:回滚当前整个事务
ROLLBACK
例9.10:回滚当前事务到SP5保留点。
ROLLBACK TO SAVEPOINT SP5
4. 保留点
在一事务范围内的中间标志,经常用于将一个
长的事务划分为小的部分
返回章
9.5 多协议信息交换
一个结点既是客户(Client)应用,又可以是 一个数据库服务器(Server)
2. SQL* Net 的优点
(1) 网络透明性 (2) 协议独立性 (3) 介质/拓扑独立性 (4) 异域网络性 (5) 本地透明性
返回节
9.5.2 SQL*Net连接组分
SQL*Net V2和TNS接口 :
SQL*Net对应于特定的数据库通讯 TNS是一组基本网络服务器集合,它可由许
9.5.1 SQL*NET
9.5.2 SQL*Net连接组分
9.5.3 Multi Protocol Interchange (多协议 交换)
9.5.4 配置SQL*NET V2客户机(Client)
9.5.5 配置LISTENER
9.5.6 配置SQL*NET V2服务器(SERVER)
9.5.7 启动LISTENER
(SERVERS) 9.2.3 连接服务器(SERVERS)到其它服
务器(SERVERS)
返回章
9.2.1分布式数据库全局名和数据库链
1.分布式数据库全局名
全局数据库名唯一标识系统中的每个数据库 两部分组成:数据库名(小于等于8个字符) 和网络域(net work domain) 例:hq.divisionl.acme_
协议门路 协议变转器 路由器或 桥
MutiProtocol Interchange
1. Interchange结构描述
图9.11 Interchange
2. 通过Interchange完成的 连接
Interchange完成的连接步骤
(1) 客户(Client)产生一个对不同“共同体”中一服务器(server) 的连接请求
2 FROM dept 3 WHERE loc=’NEW YORK’
返回节
9.3.2 在分布式事务
(DISTRIBUTED
TRANSACTION)中的其它语
句 例9.7: 更新远程数据库中的数据: SQL>UPDATE emp@ed_link 2 SET Sal=Sal*1.05 3 WHERE ename=’WINSLOW’; 1 row updaed. 将数据插入到一个远程数据库的表中:
SQL>INSERT INTO emp@ ed_link (empno,ename,sql,hiredate,deptno) 2 VALUES (1001,’EINSTEIN’,45OO,sysdate,40);
1 row created. 从一个远程数据库的表中删除数据: SQL>DELELE FROM emp@ed_link
PROD7=(DESCRIPTION=
(ADDRESS= (COMMUNITY=.ORACLE)
(PROTOCOL=TCP)
(HOST=Server1)
(PORT=1521)
返回节
(CONNECT_DATA=(SID=PROD7)))
用其连接: C:\Sgl plus scott/tiger @ PROD7
91概述客户服务器结构服务器一服务器结构92分布式数据库的连接93分布式查询处理及其它94事务管理95多协议信息交换96表快照与复制91分布式数据库系统概述服务器服务器serverserver结构客户服务器模式服务器服务器模式分布式数据库的特征oracle支持大多数理想的分布式特点本地自治localautonomy能连续操作全功能分布式数据库的规则和目规则细目在oracle中存在10操作系统独立性11网络独立性12dbms独立性返回章92分布式数据库的连接图93
9.4 事务管理
1. 提交事务:将在事务中由SQL语句所执行的改变 永久化 例9.8: 在对DEPT表插入一行后,提交该改变 INSERT INTO DEPT VALUES (50,’LIU YIN’,’TAMPA’) COMMIT WORK 2.两阶段提交协议 :保证事务正常运行
第一阶段是“表决阶段” 第二阶段是“执行阶段”
返回节
9.3 分布式查询处理及其它
9.3.1 建立分布式查询 9.3.2 在分布式事务(DISTRIBUTED TRANSACTION)中的其它语句
返回章
9.3.1 建立分布式查询
分布式查询例子
例 9.6:
SQL>SELECT ename,danme
2 FROM emp@chicago,dept@ bethesda