这样大的写入操作,总得有个先后把,看看有没锁等待:
--获取正在等待锁资源的用户名(较慢)
select a.username "用户名", a.sid "进程ID", a.serial#, b.id1
from v$session a, v$lock b
where a.lockwait = b.kaddr;
--查找阻塞其它用户的用户进程(较慢)
select a.username, a.sid, a.serial#, b.id1
from v$session a, v$lock b
where b.id1 in
(select distinct e.id1
from v$session d, v$lock e
where d.lockwait = e.kaddr)
and a.sid = b.sid
and b.request = 0;
--获取正在等待锁资源的用户名(较慢)
select a.username "用户名", a.sid "进程ID", a.serial#, b.id1
from v$session a, v$lock b
where a.lockwait = b.kaddr;
--查找阻塞其它用户的用户进程(较慢)
select a.username, a.sid, a.serial#, b.id1
from v$session a, v$lock b
where b.id1 in
(select distinct e.id1
from v$session d, v$lock e
where d.lockwait = e.kaddr)
and a.sid = b.sid
and b.request = 0;
考虑用显式锁定。
2 既然纪录的对象是文件(doc、pdf等,文件大小无限制),为什么一定要放在oracle中?这样效率太低了!!
可以考虑
a 建立以特定的目录,存放这些文件。
b 在oracle中建表,记录文件的属性(序号、分类、关键词等)和存放路径、文件名及文件类型。
c 用vb编写程序,在oracle中完成统计、检索,根据存放路径、文件名及文件类型直接使用文件。
效率高,使用也方便。
涉及的问题多了吧。
锁表,回滚段,表空间。
硬件,server配置。。