




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、锁和表分区,第三章,(免备案空间),回顾,2,Select 语句的用途 在 SQL*Plus 中可以使用各种类型的操作符 使用集合操作符可以合并查询 SQL*PLUS 函数被归类为单行函数和分组函数 Rollup 和 Cube 操作符用于查找表达式的聚集和超级聚集 临时表中的数据在用户事务处理期间可持续使用免备案空间,目标,掌握锁定的概念及其实现用法 掌握表分区的概念及其实现方法,3,锁定概念 8 - 1,允许或拒绝资源访问的一种机制 资源可以是特定行或整个表 控制对数据的并发访问 防止在同时访问相同资源的用户之间出现破坏性的交互操作,4,锁定概念 8 - 2,锁定类型 行级锁 表级锁 行级锁
2、 行被排他锁定 在某行的锁被释放之前,其他用户不能修改此行 使用 commit 或 rollback 命令释放锁 Oracle 通过使用 INSERT、UPDATE 和 SELECTFOR UPDATE 语句自动获取行级锁,5,锁定概念 8 - 3,SELECTFOR UPDATE 子句 在表的一行或多行上放置排他锁 用于防止其他用户更新该行 可以执行除更新之外的其他操作,6,锁定的概念 8 - 4,FOR UPDATE WAIT 子句 Oracle9i 中的新增功能 防止无限期地等待锁定的行 允许对锁的等待时间进行更多的控制 等待间隔必须指定为数值文字 等待间隔不能是表达式、赋值变量或 PL
3、/SQL变量免备案空间,7,锁定概念 8 - 5,表级锁 保护表的数据 在多个用户同时访问数据时确保数据的完整性 可以设置为三种模式:共享、共享更新和排他 语法: Lock table in ;,8,锁定概念 8 - 6,共享锁 锁定表 仅允许其他用户执行查询操作 不能插入、更新和删除 多个用户可以同时在同一表中放置此锁,9,共享更新锁 锁定要被更新的行 允许其他用户同时查询、插入、更新未被锁定的行 在 SELECT 语句中使用“FOR UPDATE”子句,可以强制使用共享更新锁 允许多个用户同时锁定表的不同行免备案空间,10,锁定概念 8 - 7,锁定概念 8 - 8,排他锁 与其他两种锁相
4、比,排他锁是限制性最强的表锁 仅允许其他用户查询数据 不允许执行插入、删除和更新操作 在同一时间仅允许一位用户在表上放置排他锁 共享锁与此相反,11,分区的概念是指可以将表拆分为几个部分 在数据仓库应用程序中非常有用 根据键值范围对表进行拆分 表的每个部分称为“分区” 分区被独立存储和管理 通过引用逻辑表名称进行查询和更新,12,表分区 13 - 1,分区方法 分区类型 范围分区 散列分区 复合分区 列表分区,13,表分区 13 - 2,范围分区 根据列值的范围将行映射到分区 由表的分区规范进行定义: PARTITION BY RANGE ( column_list ) 由每个单独分区的分区规
5、范进行定义: VALUES LESS THAN ( value_list ) 其中 column_list 是列的有序列表 value_list 是 column_list 中列值的有序列表,14,表分区 13 - 3,范围分区的语法: create table (column_name data type,column_name data type,.) partition by range(column_name) (partition values less than , partition values less than ); ,15,表分区 13 - 4,散列分区 在分区列上使用
6、hash 函数 是比范围分区更好的选择 如果不知道将有多少数据映射到指定的范围,散列分区非常有用 分区的数目应是 2 的幂 可以对散列分区进行命名,并将其存储在特定的表空间中免备案空间,16,表分区 13 - 5,散列分区的语法: CREATE TABLE ( . ) PARTITION BY HASH(column_list) PARTITIONS ( PARTITION TABLESPACE , PARTITION TABLESPACE tablespace_name);,17,表分区 13 - 6,复合分区 使用范围分区方法对数据进行分区,并在每一个分区内使用散列分区方法将其划分为子分区
7、 允许命名子分区 允许将子分区存储在特定的表空间 兼具范围分区和散列分区的优点,18,表分区13 - 7,复合分区的语法: CREATE TABLE ( ) PARTITION BY RANGE(column_list) SUBPARTITION BY HASH(column_list) SUBPARTITIONS STORE IN(, , ,.) ( PARTITION VALUES LESS THAN() ( SUBPARTITION TABLESPACE , . SUBPARTITION TABLESPACE , SUBPARTITION TABLESPACE ) PARTITION V
8、ALUES LESS THAN() );,19,表分区13 - 8,列表分区 基于 PARTITION BY LIST 中指定的分区键对表进行分区 明确地控制行到分区的映射 指定分区键的离散值 不同于范围分区和散列分区,20,表分区 13 - 9,将记录插入已分区表 记录被存储到表的分区中 基于指定的分区键执行 与定义的分区边界进行比较 示例: SQL INSERT INTO ord_mast VALUES(o001,12-jan-96, V001,p,12-jan-97); SQL INSERT INTO ord_mast VALUES(o010,12-feb-99, V002,c,15-m
9、ar-99); SQL INSERT INTO ord_mast VALUES(o012,12-feb-99, V002,c,15-mar-99);,21,表分区 13 - 10,分区维护操作 修改已分区表的一个分区 划分为两类事件: 计划事件 - 定期删除最旧分区的操作 非计划事件 解决应用程序或系统问题 免备案空间,22,表分区13 - 11,维护分区 各种分区维护操作如下: 添加分区 移动 删除 结合 截断 拆分 合并 交换表分区,23,表分区 13 - 12,本地域索引 Oracle9i 中引入的新功能 在 Oracle9i 之前的版本中,不能为表的每个分区定义本地域索引 在 Oracle9i 之前的版本中,仅可以定义非分区的全局域索引 现在,可以为范围分区表上的分区定义本地域索引免备案空间 其他类型的分区不支持此功能,24,表分区13 - 13,锁用于在用户之间控制对数据的并发访问 锁有两种类型 - 行级锁和表级锁 行级锁用于指定的行 表级锁用于整个表 SELECTFOR UPDATE OF 子句用于锁定指定的行,25,总结 - 1,FOR UPDATE WAIT 子句用于指定获取锁的时间间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国PU色浆数据监测研究报告
- 2025年中国PE发泡粘贴板材数据监测报告
- 2025年中国LCD彩色电视机数据监测报告
- 2025年中国D型插座数据监测研究报告
- 2025年中国8通道继电器输出卡数据监测报告
- 2025年中国2,2,6,6-四甲基哌啶数据监测报告
- 2025至2030年中国高碘高(畜禽用)市场分析及竞争策略研究报告
- 2025至2030年中国防水油毡基布市场分析及竞争策略研究报告
- 2025至2030年中国钢丝打磨轮市场分析及竞争策略研究报告
- 2025至2030年中国货展架市场分析及竞争策略研究报告
- 2025年中国农机流通行业市场全景评估及发展战略规划报告
- 2025-2030中国洗胃机产业运营现状分析与未来前景趋势展望报告
- Unit 2 Home Sweet Home 第3课时(Section A 3a-3c) 2025-2026学年人教版英语八年级下册
- 安全生产月题库-安全生产知识竞赛题库(1800道)
- 2025年计划生育与妇幼健康考试试题及答案
- 2025至2030中国废铜行业发展现状及发展趋势与投资风险报告
- 血管内导管相关性血流感染预防与诊治2025
- 【高二下期末】广东省东莞市2021-2022学年高二下学期期末教学质量监测英语试题(解析版)
- 2025年普通高等学校招生全国统一考试数学试题(全国二卷)(有解析)
- 无人飞机农业植保应用技术 课件17、极飞P40农业无人飞机作业-3
- 呼吸病区进修管理制度
评论
0/150
提交评论