十分离奇的问题!!!
一个有关数据库的问题:
现在有两个Oracle8的数据库:A库和B库。A库中建立了一个数据库链路到B库,B库中有两个视图V1和V2。我用SQLPlus连接到数据库进行操作。
异常情况是这样的:
有次,我直接连接到B库,可以从视图V1和V2中选出数据。但当我连接到A库,通过数据库链路访问B库时,只能从视图V1中选出数据,V2中选不出数据来,而且提交select语句后SQLPlus就死在那里,但是执行DESC V2可以列出该视图的结构。
后来,B库重起了一次,这下子一切都正常了。
但是再后来,我修改了这两个视图,只是去掉了一些语句,并没有改变他们的结构,而且重新编译了他们。一样的怪问题又出现了,不过这次刚好反了过来,V1不行V2可以。
我想知道,有些什么原因可能引起这样的问题?
问题点数:20、回复次数:12Top
1 楼MythDigital(跟踪调试)回复于 2002-03-23 15:53:31 得分 5
病毒Top
2 楼suo(衰人)回复于 2002-03-23 19:27:15 得分 0
看看是否查询时表被锁住了。Top
3 楼rabbit(Mail_Man)回复于 2002-03-24 08:58:42 得分 0
看看有没有权限的问题存在。
好像也不是这个原因。
你的V1,V2在那个模式下。
你的A数据库中,数据库连路是如何建立的。
是公用的。
能贴出你的创建语句看看吗?
Top
4 楼Tod707070(幸福的秋天)回复于 2002-03-24 21:58:09 得分 5
我一直被这个问题困扰,不过有绕过这个问题的方法呀,就是使用两条数据联路访问两个视图Top
5 楼CM1979(海鸟)回复于 2002-03-25 11:40:19 得分 0
权限没有问题,数据库链路是公用的,是用Oracle的DBA Studio工具创建的。
问题的关键是为什么有时候完全正常?Top
6 楼mycode(不写代码)回复于 2002-03-25 12:46:57 得分 5
网络不稳定?
或者是A上的进程数不够?Top
7 楼Net8(Dragon)回复于 2002-03-25 12:57:10 得分 0
楼顶的
1 贴出你的CREATE DATEBASE LINK语句。
2 贴出你的错误信息
Top
8 楼jornk(咸鱼)回复于 2002-03-25 13:42:16 得分 0
有没有可能是网络的问题?
减少v1,v2的数据量试试看(比如说只取100条数据)。Top
9 楼CM1979(海鸟)回复于 2002-03-25 20:56:18 得分 0
我想这个问题和CREATE DATEBASE LINK语句没什么关系:
CREATE DATABASE LINK "DBLINK_TO_MIS" CONNECT TO "USERNAME"
IDENTIFIED BY "password" USING 'MIS'
也不是网络的问题,在不正常的时候,就算选一条数据也选不出来,没有错误消息返回,调用查询的程序“死等”就是症状。
我怀疑是被其他进程锁死了,而这个锁住它的进程又被KILL在数据库中不消失。在不重起的情况下,如何判断被锁以及如何解锁?Top
10 楼netcreator(爱博)回复于 2002-03-26 07:28:34 得分 0
v1和v2有冲突的地方吗Top
11 楼CM1979(海鸟)回复于 2002-03-26 08:23:54 得分 0
V1和V2没有冲突Top
12 楼harlemz(哈林)回复于 2002-03-26 10:57:53 得分 5
有可能是表被LOCK!
在V$SESSION中查看进程是否被锁!
Top




