收藏 分享(赏)

oracle锁和表分区.doc

上传人:HR专家 文档编号:11402289 上传时间:2020-04-16 格式:DOC 页数:5 大小:39.50KB
下载 相关 举报
oracle锁和表分区.doc_第1页
第1页 / 共5页
oracle锁和表分区.doc_第2页
第2页 / 共5页
oracle锁和表分区.doc_第3页
第3页 / 共5页
oracle锁和表分区.doc_第4页
第4页 / 共5页
oracle锁和表分区.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、锁和表分区1、锁的概念 1.1 行级锁 1.2 表级锁 1.3 死锁2、表分区 2.1 范围分区 2.2 散列分区 2.3 复合分区 2.4 列表分区 2.5 在分区表中插入记录 2.6 分区维护操作 1、添加分区 2、删除分区 3、截断分区 4、合并分区 5、拆分分区1、锁定是数据库用来控制共享资源并发访问的机制。 优点:一致性 一次只允许一个用户修改数据,从而提供统一的 完整性 并发性 防止并发访问冲突 锁有两个级别 行级锁(用于特定行) 表级锁(用于整个表)1、锁的概念 锁是数据库的一种机制,它用来管理对一个共享资源的并行访问 共享资源:不仅指数据库行,而且也指其他的资源(如表) 防止多

2、用户并行访问冲突。 1.1 行级锁 update、delete、insert/自动加上行级锁 select * from emp for update ;/给多行上排他锁 select * from emp for update of ename;/给多行上排他锁 /这里【of ename】是表示可以指定列上锁 /注意:如果使用多行锁的话 在查询的时候数据不允许其他用户更新; 而如果没有上多行锁,那么查询数据同时有可能就有其他用户将数据 进行更改,导致数据不是最新的。 select * from emp for update wait 30;/给多行上排他锁 /注意:【for update w

3、ait 30】表示用户给数据上锁了,等待三十秒锁未有解除的话 在其他用户调用该数据时会提示上锁警告信息。 1.2 表级锁 保护表的数据 在多个用户同时访问数据时确保数据的完整性 可以设置三种模式 1、共享 lock table emp in share mode; /允许其他成员都上锁定,但是所有成员只能查询不能更改,因为每个成员只有自己的 /锁所以都只能查看 2、共享更新(类似于行级锁) lock table emp in share update mode; /当前使用共享更新锁的话,锁定表后该用户可以对当前这个表进行增删改,其他用户不能操作 3、排他【exclusive mode】 lo

4、ck table emp in exclusive mode; /如果在后面加上【no wait】表示不等待就直接提示再进行锁表的用户,及时得到,已被锁的提示。 注意: 与其他两种锁相比,排他锁是限制性最强的锁 允许其他用户查询的数据 不允许其他用户进行增、删、改操作 在同一时间只允许一个用户在表上进行排他锁 1.3 死锁 1、scott:lock table emp in share mode; wangwu:lock table emp in share mode; 2、scott:update emp set ename = dddd; wangwu:delete from emp; /

5、以上这种情况就出现死锁情况,互相在等待对方解锁 1.4 解锁 commit or rollback; alert system kill session sid,serail; alert system kill session 173,23176;2、表分区 Oracle允许用户对表进一步的规划,即对表进一步拆分,将表分成若干个逻辑部分, 每部分称其为表分区。 分区优点: 增加可用性,单个分区出现故障,不影响其他分区 均衡的I/O,不同的分区可以映射到不同的磁盘 改善性能 2.1 范围分区 这种分区方法是根据表中列值的范围对表进行分区。 分区时,首先依据列中的值可能的范围进行划分 如:某省对

6、参加六级考试的成绩进行整理并保存至数据库。根据分数划分如下: 60分- p1 75分- p2 85分- p3 95分- p4 100分- p5 drop table student; create table student( studentid int not null, studentname varchar(30), score int ) parition by range(score) ( partition p1 values less than (60), partition p2 values less than (75), partition p3 values less t

7、han (85), partition p4 values less than (95), partition p5 values less than (maxvalue) ); 2.2 散列分区 提供了一种通过指定分区编号来均匀分布数据的方法。 它通过hash函数将数据映射到相应的分区上 它可以使用数据均匀的分布到各分区上,各分区大小趋向一样 create table department( deptno int, deptname varchar(40) ) parition by hash(deptno) ( parition p1, parition p2 ); 2.3 复合分区 是先

8、对数据进行范围分区,然后在每个子分区又进行散列分区的一种表分区方法 create table salgrade( grade number, lowsal number, higsal number ) parition by range(grade) subparition by hash(losal,hisal) ( parition p1 value less then (10) (subparition sp1,subparition sp2), parition p2 value less then (20) (subparition sp3,subparition sp4) ) 2

9、.4 列表分区(类似于数组) 允许用户明确地控制行到分区的映射 不同于范围分区或散列分区,它允许按自然方式对无序和不相关的数据集进行分组和组织。 如:在客户表中记录着客户的国别信息。它们是中国,美国,法国,英国,加拿大。那么 在建表中,我们可以对表进行列表分区。 create table customer( custno int, custname varchar(40), custstat varchar(20)parition by list(custname)( parition asia values(中国,日本,韩国), parition europe values(法国,英国,德国

10、), parition ameria (美国,加拿大,墨西哥); 2.5 在分区表中插入记录 insert into student values (1001,xiaolin0,75); insert into student values (1002,xiaolin1,59); insert into student values (1003,xiaolin2,86); insert into student values (1004,xiaolin3,95); insert into student values (1005,xiaolin4,110); /按变量方式存储数据 insert

11、 into student values (&studentid,&studentname,&score); 查询表中数据 select * from student parition (p1); 注意:查找分区数据字典 select * from user_tab_partition;查找分区索引数据字典 select * from user_ind_parition; 2.6 分区维护操作 1、添加分区add parition alter table student add parition p6 values less than (110); 2、删除分区drop parition al

12、ter table student drop parition p6 ; 3、截断分区truncate parition alter table student truncate parition p6 ; 4、合并分区merge parition alter table student merge parition p3,p4 into parition p7 ; 5、拆分分区split parition alter table student split parition p7 at (date 2009-01-01) into (parition p3,parition p4); 重新命名拆分分后的分区rename parition alter table student rename parition p3 to p31; alter table student rename parition p4 to p41;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报