eygle老师的一些小文章
来源:互联网 发布:多线程数据共享 编辑:程序博客网 时间:2024/04/29 17:28
本文是完全转自eygle老师的,目的是为了自己学习,绝无他用。如果涉及侵权问题,请联系我删除,我会在文章中注明原文链接。。。
1、如何在其他Session跳过被锁定的记录
原文链接:http://www.eygle.com/archives/2005/03/eciouaeeeusessi.html
有人问到这样的问题:如果一个用户对记录加锁,如何使其他用户看不到这条记录。
此前并未注意到这样一个用法(需要8.1.7.4.16以上的版本支持):
[oracle@jumper oracle]$ sqlplus scott/tigerSQL*Plus: Release 9.2.0.4.0 - Production on Fri Mar 4 11:59:46 2005Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.Connected to:Oracle9i Enterprise Edition Release 9.2.0.4.0 - ProductionWith the Partitioning optionJServer Release 9.2.0.4.0 - ProductionSQL> select * from dept; DEPTNO DNAME LOC---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 33 ORACLE beijing 35 Oracle Beijing 36 Oracle Beijing 37 Oracle Beijing8 rows selected.SQL> select * from dept where deptno =10 for update; DEPTNO DNAME LOC---------- -------------- ------------- 10 ACCOUNTING NEW YORKSQL> ![oracle@jumper oracle]$ sqlplus scott/tigerSQL*Plus: Release 9.2.0.4.0 - Production on Fri Mar 4 12:00:14 2005Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.Connected to:Oracle9i Enterprise Edition Release 9.2.0.4.0 - ProductionWith the Partitioning optionJServer Release 9.2.0.4.0 - ProductionSQL> select * from dept for update skip locked; DEPTNO DNAME LOC---------- -------------- ------------- 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 33 ORACLE beijing 35 Oracle Beijing 36 Oracle Beijing 37 Oracle Beijing7 rows selected.SQL>
2、使用SET TRANSACTION给事务命名
原文链接:http://www.eygle.com/archives/2005/03/eoaset_transact.html
以前没有注意的命令,可以使用SET TRANSACTION给事务命名。
v$transaction中的name字段代表的正是:Name of a named transaction。
[oracle@jumper bdump]$ sqlplus "/ as sysdba"SQL*Plus: Release 9.2.0.4.0 - Production on Mon Mar 14 23:17:21 2005Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.Connected to:Oracle9i Enterprise Edition Release 9.2.0.4.0 - ProductionWith the Partitioning optionJServer Release 9.2.0.4.0 - ProductionSQL> set transaction name 'Update Dept Table';Transaction set.SQL> select * from scott.dept; DEPTNO DNAME LOC---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 33 ORACLE Beijing 35 Oracle Beijing 36 Oracle Beijing 37 Oracle Beijing8 rows selected.SQL> update scott.dept set LOC='Home' where deptno=35;1 row updated.SQL> select xidusn,xidslot,xidsqn,used_ublk,used_urec,name from v$transaction; XIDUSN XIDSLOT XIDSQN USED_UBLK USED_UREC NAME---------- ---------- ---------- ---------- ---------- -------------------- 3 17 9120 1 1 Update Dept Table要注意,必须是事务开始之前,如果已经开始了事务,但是没有提交(也就是还没有完成)这样就不能再给事务命名了。
- eygle老师的一些小文章
- 字符集的更改(转eygle文章)全
- 付老师的文章
- 博客文章优化的一些小技巧
- 韩睿老师的文章
- eygle的回信
- 来自EYGLE的帖子。
- 用makedown写文章的一些小想法
- 老师推荐的一些书
- 赵老师的一些建议
- 算法的力量【转李开复老师的文章】
- 一位台湾清华大学老师的文章
- 看了肖舸老师的文章
- 网上看见老师发表的文章--深有感触
- 摘自大牛黄勇老师的文章
- #Python 廖雪峰老师#Week 1_2: 一些小tips
- 看了一些小文章,摘抄的话
- 转载的一些文章
- 多线程同步之Semaphores(信号量)
- Configure C/C++ develop environment using eclipse for windows
- windows 如何查看端口占用情况?
- JSP隐式对象、JSP语法、JSP声明 、JSP注释
- http协议
- eygle老师的一些小文章
- libcurl-tutorial(未完,待续)
- PHP时间戳的转换
- SQL语句先前写的时候,很容易把一些特殊的用法忘记,特此整理了一下SQL语句操作,方便写SQL时方便一点
- 游戏架构设计笔记
- 测试人员必知必会的SQL知识03
- EL表达式获取list大小
- 内连接、外连接、交叉连接 (总结)
- servlet/jsp/javabean学习笔记