索引,视图,序列,同义词,锁

索引,视图,序列,同义词,锁

ID:38719042

大小:163.89 KB

页数:12页

时间:2019-06-18

索引,视图,序列,同义词,锁_第1页
索引,视图,序列,同义词,锁_第2页
索引,视图,序列,同义词,锁_第3页
索引,视图,序列,同义词,锁_第4页
索引,视图,序列,同义词,锁_第5页
资源描述:

《索引,视图,序列,同义词,锁》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章数据库对象3.1锁定的概念锁定是数据库用来控制共享资源并发访问的机制。在多用户环境下,多个用户可同时访问相同的数据。Oracle提供各式锁以确保在多用户环境下数据的完整性和一致性。在提交或回滚事务之前,Oracle会锁定正被修改的数据。在用户完成或回滚事务之后,锁会自动释放。只有在提交或回滚事务之后,其他用户才可以更新这些数据。这些锁定中有"只读锁"、"排它锁","共享排它锁"等多种类型,而且每种类型又有"行级锁"(一次锁住一条记录)和"表级锁"(一次锁住整张表)之分。若为"行级排它锁",则除被锁住的该行外,该表中其它行均可被其它的用户进行修改(update)或删除(delete)

2、操作,若为"表级排它锁",则所有其它用户只能对该表进行查询(select)操作,而无法对其中的任何记录进行修改或删除。当程序对所做的修改进行提交(commit)或回滚后(rollback)后,锁住的资源便会得到释放,从而允许其它用户进行操作。oracle9i使用两种锁模式:l独占模式(排他):不允许其他任何并发会话以任何方式共享锁定的资源,修改数据时需要这种锁。l共享模式:允许对同一块数据的并发读访问。在更改数据时,上升为独占模式。3.1.1行级锁行级锁只对用户正在访问的行进行锁定。行级锁是一种排它锁,防止其他事务修改此行,但是不会阻止读取此行的操作。insertupdatedelete

3、隐式加行锁(排他)select...forupdate显示加行锁(共享)在锁释放之前,其他用户不可以对锁定的数据行进行(修改,删除)操作,查询可以。假如有其他用户要锁定同一资源:可以使用wait子句对锁的等待时间控制。如:在另一用户中:select*fromempwheredeptno=30forupdatewait2(等待2秒,如2秒钟还未释放资源,系统将会给出提示信息)Ofcolumn用于多表连接的时候,通过columns来确定到底锁哪些表。要写表实际的列名,写别名无效。3.1.2表级锁表级锁将保护表数据,在事务处理过程中,表级锁会限制对整个表的访问。可以使用LOCKTABLE语句显

4、式地锁定表。表级锁用来限制对表执行插入、更新和删除等修改操作。表级锁的锁定模式有:A:共享模式(insharemode)B:共享更新模式(inshareupdatemode)C:排他锁模式(inexclusivemode)锁定表的通用语法:1)共享模式(insharemode)不允许其他用户插入、更新和删除行,多个用户可以同时在同一表上设置共享锁,这样设置锁的多个用户都只能执行查询。locktableempinsharemode;2)共享更新模式(inshareupdatemode)允许多个用户同时锁定表的不同行,允许其他用户进行DML(insertupdatedeleteselect)

5、操作,除了已锁定的行。如:locktableempinshareupdatemode;select*fromempwheredeptno=30forupdate//锁定的行其他用户不能delete,update部门30的雇员信息,但其它行可以更新。其他用户可以查看锁定的行:select*fromempwheredeptno=303)排他锁模式(限制性强)不允许其他用户插入,更新和删除行,但允许查看数据。只有一个用户可以在表中放置排他锁。locktableempinexclusivemode;4.1同义词同义词是数据库对象的一个别名。通过使用同义词,用户可以访问其它用户模式下的数据库对象而

6、无需指定模式前缀。同义词具有以下用途:l简化SQL语句l隐藏对象的名称和所有者注意:同义词不能代替权限,在使用同义词之前要确保用户已得到访问该对象的权限。同义词的分类:l私有同义词l公有同义词1:私有同义词:私有同义词只能被当前模式的用户访问。用户要在自身的模式下创建私有同义词,则用户必须拥有CREATESYNONYM系统权限。例一:SQL>grantcreatesynonymtosunjob;SQL>grantallonemptosunjob;SQL>createsynonymempforscott.emp;2:公有同义词:公有同义词可被所有的数据库用户访问。公有同义词可以隐藏基表的身

7、份,并降低SQL语句的复杂性。要创建公有同义词,用户必须拥有CREATEPUBLICSYNONYM系统权限。例二:SQL>grantcreatepublicsynonymtosunjob;SQL>grantallonemptosunjobSQL>createpublicsynonymempforscott.emp;3:删除同义词:DROPSYNONYM语句用于从数据库中删除同义词。要删除同义词,用户必须拥有相应的删除权限。SQL>g

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。