‘壹’ sql Server2008登陆时出现错误..错误号10061
开始---控制面板---管理工具---计算机管理
选择”SQLSever服务“右击重新启动 “SQLSever(MSSQLSEVER)”
‘贰’ sql数据库的问题。运行存储过程的时候出现死锁 该怎么解决高分悬赏 只求解答。查跟杀死锁的代码是什么
lock
Select V$SESSION.SID, DBA_OBJECTS.OBJECT_NAME, V$SESSION.OSUSER, V$SESSION.PROGRAM
From V$LOCKED_OBJECT
Left Join DBA_OBJECTS on V$LOCKED_OBJECT.OBJECT_ID = DBA_OBJECTS.OBJECT_ID
Left Join V$SESSION ON V$LOCKED_OBJECT.SESSION_ID = V$SESSION.SID
Order By V$SESSION.SID, DBA_OBJECTS.OBJECT_NAME
unlock(kill session)
alter system kill session 'sid,serial#';
‘叁’ db2存储过程执行表和存储过程就死锁怎么处理
1、建议获取snapshot for application 以及snapshot for locks,应可以确定是哪一句发生了锁。
2、如果能肯定是这一句,如果可以直接在最后加上 with ur应该就可以了(如果业务逻辑容许的话)。
‘肆’ MYSQL 存储过程报错Deadlock found when trying to get lock; try restarting transaction
这个死锁估计是有数据没了, 或者某个操作被回滚了
要避免这个问题方法有很多
事务尽量不要太复杂
在使用表或者行的时候, 尽量设定一个顺序, 比如同一时间段线程A 竞争 1 2 资源, 线程 B 竞争 2 1 资源出现死锁, 如果改成 A 使用 1 2 B 也是使用的 1 2 , 这样再差也只会出现线程A/B去等待线程B/A执行完毕再去访问资源
将一些容易出现死锁的字段改成索引, 这样在竞争资源的时候mysql将不再上锁[doge]
如果你是mysql数据库, 则尽量避免使用 insert ... select 这样的sql(oracle不用), 因为他会为你需要查询的条件也上锁, 这样也会容易出现死锁的问题
捕获异常, 然后在出现这个异常的时候再次执行一次死锁的sql语句
待续, 我也没遇到更多的出现死锁的情况了, 等遇到再说
以上几点如果有错的话, 请指出, 我们相互探讨, 毕竟这也是我从笔记里面找出来的, 可能有错误
‘伍’ 存储过程一直报错 但是编译成功了 也没有错 调用时一直不成功报错
下面是问题:
Oraclede 环境中,客户那边提出,执行存储过程时出错,信息:DBCustomException: ORA-00900: invalid SQL statement
关于这个问题之前也遇到过,一直找不到原因,没解决,时好时坏,,由于客户大部分是SQL Server,也就没太在意,现在终于麻烦来了。
我用自己创建的用户,通过P/L SQL 登陆,执行以下语句
--创建表
create table ttt
(
aa varchar(20)
)
--创建存储过程
CREATE OR REPLACE PROCEDURE myproc
AS BEGIN
select * from ttt;
END
--执行
exec myproc
执行存储过程时,开始报错:ORA-00900:无效SQL语句 (上面那个错误的中文版-_-!)
这时候看右边的存储过程如下,有个红叉,