ITPUB论坛 » MS SQL Server » 在oracle里建立了与sql的dblink后,在sql里会产生死锁的进程,急!
新一届的微软MVP评选已经开始,欢迎各位推荐!
2008-7-1 15:22 zenghuiyun
在oracle里建立了与sql的dblink后,在sql里会产生死锁的进程,急!

问题背景:
1,第一台机器:sql server in Windows
2, 第二台机器:ORACLE in Sun Solaris
3. 第三台机器:安装oracle的透明网关,配置好相关文件
4. 在oracle db里建立dblink to sql server,创建成功,还可以在oracle db里运行 select * from [email=table_name@dblink_name]table_name@dblink_name[/email],数据显示正常

问题是在oracle里一旦运行select语句,sql server那边就会产生数据库死锁进程,显示owner就是第3台机器,请问是什么原因造成死锁的?有没有解决办法?谢谢!

2008-7-1 16:15 lovexueer
你是如何知道死锁的?

block的问题吧,你把引起block和正在block的语句找出来看看

2008-7-1 16:27 zenghuiyun
当在oracle那边运行了select后,SQL的那个查看当前活动的界面都打不开了,运行 exec sp_lock就发现那个进程死锁了。

2008-7-1 16:54 lovexueer
select spid, blocked from master.dbo.sysprocesses where blocked<>0

dbcc inputbuffer(spid)
dbcc inputbuffer(blocked )

输出内容是什么?

2008-7-2 08:35 zenghuiyun
谢谢lovexueer,其实我对sql server不熟,不过昨天找到了一些相关文章,我在init***.ora文件里加上一行[size=10pt]HS_FDS_TRANSACTION_MODEL = READ_ONLY,再在oracle里运行select语句,就不会产生死锁了,不过今天还要在正式环境里再确认一下。[/size]
[size=10pt] [/size]

页: [1]


Powered by ITPUB论坛