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

Oracle编程常见错误和分析

1.        资源正忙错误
在pl/sql developer开一个sql window,执行如下sql不提交
Create Table aa(a Int);
Insert Into aa Values(234);
再开一个sqlwindow执行
Drop Table aa
就会报ora-00054错误。
Oracle锁的知识:
此时Oracle已经对返回的结果集上加了排它的行级锁,所有其他对这些数据进行的修改或删除操作都必须等待这个锁的释放,产生的外在现象就是其他的操作将发生阻塞,这个这个操作commit或rollback.
同样这个查询的事务将会对该表加表级锁,不允许对该表的任何ddl操作,否则将会报出ora-00054错误::resource busy and acquire with nowait specified.
因为DDL语句需要表上的排他锁,而这与DML语句已在表上放置了共享锁相冲突,所以试图在表中插入一个列的这条DDL语句会失败.需要注意的是:在类似情况下,DML语句会等待并不断进行尝试,直至获得其所需的锁(换句话说就是挂起);而DDL语句则会由于错误立即终止.
ejb BllRequireNewTrans在ejb-jar.xml被配置为需要一个新事务,所以调用此ejb方法的事务和BllRequireNewTrans不在一个事务中,不注意就会引发上面的错误。
<container-transaction>
<method>
                    <ejb-name>BllRequireNewTrans</ejb-name>
                    <method-intf>Remote</method-intf>
                    <method-name>*</method-name>
          </method>
          <trans-attribute>RequiresNew</trans-attribute>
</container-transaction>
</assembly-descriptor>
2.        字段被全部置空的错误
Create Table bb(a Int, b Int, c Int)
Insert Into bb Values(1,2,3)
Insert Into bb Values(3,2,3)
Insert Into bb Values(4,5,6)
Create Table cc(a Int, b Int, c Int);
Insert Into cc Values(1,20,30


相关文档:

oracle 10g em、isqlplus访问不了的问题解决

如果web方式的em,isqlplus访问不了。
1. 检查主机名/IP、端口是否正确
安装时的主机名/IP、端口记录在$ORACLE_HOME/install/portlist.ini 文件中。
缺省是:
一般用户                    
http://ip:5560/isq ......

转:ORACLE 多表关联 UPDATE 语句


转:ORACLE
多表关联 UPDATE 语句
原帖:http://www.cnblogs.com/miley/archive/2010/04/15/1712617.html
  为了
方便起见
,建立了以下简单模型
,和构造了部分测试数据
:
   在某个业
务受理子系统
BSS中,
  --客户资
料表
  create table customers
   (
 & ......

Oracle中TO_DATE格式 懒猫星空

TO_DATE格式(以时间:2007-11-02   13:45:25为例)
Year:     
yy two digits 两位年                显示值:07
yyy three digits 三位年           ......

Oracle Database中DBA常用的表和视图


dba_开头
   dba_users     数据库用户信息
   dba_segments  表段信息
   dba_extents    数据区信息
   dba_objects    数据库对象信息
   dba_tablespaces   数据库表空间信息
 &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号