易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle 锁,解锁

http://hi.baidu.com/fyears/blog/item/5ef68ac3feb9a45db219a836.html
select object_id,session_id,locked_mode from v$locked_object;
  select t2.username,t2.sid,t2.serial#,t2.logon_time
  from v$locked_object t1,v$session t2
  where t1.session_id=t2.sid order by t2.logon_time;
alter system kill session 'sid,serial#';
  ORACLE里锁有以下几种模式:
  0:none
  1:null 空
  2:Row-S 行共享(RS):共享表锁
  3:Row-X 行专用(RX):用于行的修改
  4:Share 共享锁(S):阻止其他DML操作
  5:S/Row-X 共享行专用(SRX):阻止其他事务操作
  6:exclusive 专用(X):独立访问使用
  数字越大锁级别越高, 影响的操作越多。
  一般的查询语句如select ... from ... ;是小于2的锁, 有时会在v$locked_object出现。
  select ... from ... for update; 是2的锁。
  当对话使用for update子串打开一个游标时,
  所有返回集中的数据行都将处于行级(Row-X)独占式锁定,
  其他对象只能查询这些数据行,不能进行update、delete或select...for update操作。
  insert / update / delete ... ; 是3的锁。
  没有commit之前插入同样的一条记录会没有反应,
  因为后一个3的锁会一直等待上一个3的锁, 我们必须释放掉上一个才能继续工作。
  创建索引的时候也会产生3,4级别的锁。
  locked_mode为2,3,4不影响DML(insert,delete,update,select)操作,
  但DDL(alter,drop等)操作会提示ora-00054错误。
  有主外键约束时 update / delete ... ; 可能会产生4,5的锁。
  DDL语句时是6的锁。
  以DBA角色, 查看当前数据库里锁的情况可以用如下SQL语句:
  select object_id,session_id,locked_mode from v$locked_object;
  select t2.username,t2.sid,t2.serial#,t2.logon_time
  from v$locked_object t1,v$session t2
  where t1.session_id=t2.sid order by t2.logon_time;
  如果有长期出现的一列,可能是没有释放的锁。
  我们可以用下面SQL语句杀掉长期没有释放非正常的锁:
  alter system kill session 'sid,serial#';
  如果出现了锁的问题, 某个DML操作可能等待很久没有反应。
  当你采用的是直接连接数据库的方式,
  也不要用OS系统命令 $kill process_num 或者 $kill -9 process_num来终止用户连接,
  因为一个用户进


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

Oracle 学习:PL/SQL循序渐进全面学习教程

 课程十 写执行语句
  
  本课重点:
  1、了解PLSQL执行区间的重要性
  2、写执行语句
  3、描述嵌套块的规则
  4、执行且测试PLSQL块
  5、使用代码惯例
  
  注意:以下实例中标点均为英文半角
  
  一、PLSQL 块的语法规则:
  1、语句可以跨跃几行。
  2、词汇单元可以包 ......

Oracle 学习:PL/SQL循序渐进全面学习教程

 最后一课 异常处理本章重点:
  
  1、定义PLSQL异常
  2、列举不同的异常处理方法
  3、捕获非预期的错误
  4、描述异常的影响
  5、定制异常的返回信息  一、PLSQL异常处理
  异常是由ORACLE错误或显式的抛出一个错误产生的。
  如何处理:
  用一个处理程序来捕获它;
  将它传递 ......

使用java + oracle插入clob类型的数据

 使用java + oracle插入clob类型的数据,需要用以下的步骤:
1、将数据插入数据库,对于clob字段,使其为空clob数据。例如:insert into test values(1,empty_clob())";
2、从数据库中取出插入的clob字段,并将其赋值给oracle.sql.clob类型的变量。例如
String sqll="select content from test where id=1 for upda ......

oracle性能优化之索引

 最近发现有一个页面的打开速度很慢,几乎每次都需要刷新十几次才能打开,分析原因可能是由于时间的积累,该表中的数据量过大引起的(该表是一张存放过程性数据的表)。经查实,果真是该表数据量过大,有7百万之多。遂决定将部分历史数据备份并清除掉,以提高性能。
使用:creart table table_bak as select * from t ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号