环境 :数据库服务器:Linux下Oracle 10g ; 应用服务器:weblogic现在先考虑数据库层的问题,暂时不考虑weblogic环境的问题。问题详细如下:当第一次进入项目首页时一切正常,但在进过多次点击后出现页面无法进入的情况。
该首页的数据大多是从一张表(sd_linedevice)取数据,这张表有一个小小的操作即每隔五分钟job去调用一个存过支更新该表的每一条数据;在更新之前我在这个表上加上了共享锁(不知是否正确);
在执行job时我多次去点击首页相关功能去查询这张表,此时我去v$lock视图查询时的确出现了 TX或TM类的锁;
但过一会去点击时页面就进不去了,过一会又可以访问了~~ 个人感觉好像是什么资获取有问题。
所以现在我不确定是数据库的问题还是weblogic 环境的问题。。希望大家多多指教~~尤其是排它锁,在这种情况下会不会产生?其实我主要问的就是数据库这样设计是否正确?最后 我关闭这个job, 然后我去点击首页同样的当某一次点击后页面就进不去了,过一会又好了,随后我去查v$lock视图 查出CU类型的锁不知为什么?是不是我程序sql写的有问题还是weblogic数据源有问题?
该首页的数据大多是从一张表(sd_linedevice)取数据,这张表有一个小小的操作即每隔五分钟job去调用一个存过支更新该表的每一条数据;在更新之前我在这个表上加上了共享锁(不知是否正确);
在执行job时我多次去点击首页相关功能去查询这张表,此时我去v$lock视图查询时的确出现了 TX或TM类的锁;
但过一会去点击时页面就进不去了,过一会又可以访问了~~ 个人感觉好像是什么资获取有问题。
所以现在我不确定是数据库的问题还是weblogic 环境的问题。。希望大家多多指教~~尤其是排它锁,在这种情况下会不会产生?其实我主要问的就是数据库这样设计是否正确?最后 我关闭这个job, 然后我去点击首页同样的当某一次点击后页面就进不去了,过一会又好了,随后我去查v$lock视图 查出CU类型的锁不知为什么?是不是我程序sql写的有问题还是weblogic数据源有问题?
如果你作到了这个,我感觉:
(1)oracle的数据库锁机制,是不应该怀疑的,要不就不会在N年之前被号称所谓的数据库之王了。
(2)出现死锁一般是程序使用不当的问题。
(3)“但过一会去点击时页面就进不去了,过一会又可以访问了~~ 个人感觉好像是什么资获取有问题。”
我比较赞成这个原因。具体,可以使用OEM去看看Oracle的资源是否有问题,比如表空间、回滚段、索引段、临时表空间是否满、锁资源是否足够等等。
情况是这样的,该项目用的金碟的AOM开发的其主要构成为EJB+JSF+Ext;所以JPA去访问数据库用的是weblogic上的一个数据源。
那么这个数据源是共用的是同时访问同一个库,是不是其它的项目对这个数据源占有的资源过多?是不是我应该再配一个新数据源呢?其实我蛮赞成你上面的第3条的说法的,因为我们这个PMS系统确实太庞大 所以我会去OEM里面看看资源情况。
最后,谢谢你的回复。