发现busy buffer waits比较多~select s.sid,s.serial#,spid,sql_text,s.username,s.program,process from
v$sqlarea q,v$session s,v$process p
where q.address=s.sql_address
and q.hash_value=s.sql_hash_value
and s.paddr=p.addr
and s.sid in(22,60,75,59,63,61,21,56)抓到在等待的十几条sql全部是delete from share_log_ipid where ……后来得知,是研发每六个小时执行一次来清除历史记录的找到对应的spid全部K掉,要求研发修改程序~.share_log_ipid表有几千万上亿条记录而后执行 truncate TABLE share001.share_log_ipid报错
ORA-00054资源正忙,要求指定NOWAIT
原文: ORA-00054 resource busy and acquire with NOWAIT specifie .
Cause:The NOWAIT keyword forced a return to the command prompt because a resource was unavailable for a LOCK TABLE or SELECT FOR UPDATE command.
Action:Try the command after a few minutes or enter the command without the NOWAIT keyword .
原因:对表进行相关操作时,该表被锁定,或表正在被其他程序占用,导致系统忙。
解决:对表解锁或等待完成。
这是再保护你的资源
怎么做,一 是等待资源释放
二 找到谁在用这个资源,如果允许 杀掉进程
我前面已经把对share_log_ipid表的操作的都K掉了,那就只有等
果然,过咯 一段时间~执行OK了