- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle锁表
Oracle锁表 行级锁 表级锁 行级锁 ? ? ? ? ---- 行被排他锁定 ? ? ? ? ----在某行的锁被释放之前,其他用户不能修改此行 ? ? ? ? ----使用 commit 或 rollback 命令释放锁 ? ? ? ? ----Oracle 通过使用 INSERT、UPDATE 和 SELECT…FOR UPDATE 语句自动获取行级锁 SELECT…FOR UPDATE 子句 ―在表的一行或多行上放置排他锁 ―用于防止其他用户更新该行 ―可以执行除更新之外的其他操作 ―select * from goods where gid=1001 ―for update of gname; ―只有该用户提交事务,其他用户才能够更新gname FOR UPDATE WAIT 子句 ―Oracle9i 中的新增功能 ―防止无限期地等待锁定的行 ―等待间隔必须指定为数值文字 ―等待间隔不能是表达式、赋值变量或 PL/SQL 变量 ―select * from goods where gid=1001 for update of gname wait? ? ? ? 3 ―等待用户释放更新锁的时间为3秒,否则超时。 ?表级锁 ―保护表的数据 ―在多个用户同时访问数据时确保数据的完整性 ―可以设置为三种模式:共享、共享更新和 排他 ? ? ? ? ? 语法:lock table table_namein mode; 共享锁 ―锁定表 ―仅允许其他用户执行查询操作 ―不能插入、更新和删除 ―多个用户可以同时在同一表中放置此锁 ―lock table table_name ―in share mode [nowait]; ― rollback 和commit 命令释放锁 ― nowait 关键字告诉其他用户不用等待 共享更新锁 ―锁定要被更新的行 ―允许其他用户同时查询、插入、更新未被锁定的行 ―在 SELECT 语句中使用“FOR UPDATE”子句,可以强制使用共享更新锁 ―允许多个用户同时锁定表的不同行 加锁的两种方法 ? ? ? ? ? ? lock table tab_name in share update mode; ? ? ? ? ? ? select column1,column2 ? ? ? ? ? ? from goods ? ? ? ? ? ? where goods ? ? ? ? ? ? where gid=1001 ? ? ? ? ? ? for update of column1,column2 排他锁 ―与其他两种锁相比,排他锁是限制性最强的表锁 ―仅允许其他用户查询数据 ―不允许执行插入、删除和更新操作 ―在同一时间仅允许一位用户在表上放置排他锁 ―共享锁与此相反 ? ? ? ? lock table tab_name in exclusive mode; ? ? ? ? lock table 表名[ 表名]... ? ? ? ? ? ? ? ? ? in share mode [nowait] ? ? ? ? ? lock table 表名[ 表名]... ? ? ? ? in exclusive mode [nowait] ? ? ? ? lock table 表名[ 表名]... ? ? ? ? in share update mode[nowait]LOCK ? ? Name ? ? LOCK ? — ? 在事务中明确地锁定一个表 ? ? ? LOCK ? [ ? TABLE ? ] ? name ? ? LOCK ? [ ? TABLE ? ] ? name ? IN ? [ ? ROW ? | ? ACCESS ? ] ? { ? SHARE ? | ? EXCLUSIVE ? } ? MODE ? ? LOCK ? [ ? TABLE ? ] ? name ? IN ? SHARE ? ROW ? EXCLUSIVE ? MODE ? ? ? ? 输入 ? ? ? ? ? ? ? name ? ? 要锁定的现存的表. ? ? ? ? ? ACCESS ? SHARE ? MODE ? ? 注意: ? 这个锁模式对被查询的表自动生效。 ? ? ? ? ? 这是最小限制的锁模式,只与 ? ACCESS ? EXCLUSIVE ? 模式冲突。 ? 它用于保护被查询的表免于被并行的 ? ALTER ? TABLE, ? DROP ? TABLE ? 和 ? VACUUM ? 对同一表操作的语句修改。 ? ? ? ? ? RO
文档评论(0)