oracle 如何结束正在运行的语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 如何结束正在运行的语句相关的知识,希望对你有一定的参考价值。
在HP-UX系统上安装oracle 10g,前几天我创建表空间,突然发现使用裸设备的名字写错了,但是程序正在运行,假如在本地建完了,空间肯定是不够用,我不知道怎么结束这个语句,用Ctrl+c直接结束,发现Trace文件里面这个语句还在运行,请高手指点一下怎么结束正在运行的sql语句啊?
参考技术A #ps -ef|grep ora看看你的进程号,kill掉 参考技术B 用以下的sql可以查询出当前session中正在运行的sql信息:
select
s.module,
sql_text,
sn.osuser,
sn.machine,
s.executions
from
sys.v_$sql
s,
sys.all_users
u,
v$session
sn
where
s.parsing_user_id
=
u.user_id
and
upper(u.username)
in
('username')
and
(upper(s.module)
=
'app.exe')
and
sn.sql_hash_value
=
s.hash_value
and
sn.sql_address
=
s.address
order
by
s.last_load_time 参考技术C select/*+rule*/ username,sid,opname,
round(sofar*100 / totalwork,0) || '%' as progress,
time_remaining,sql_text
from v$session_longops , v$sql
where time_remaining <> 0
and sql_address = address
and sql_hash_value = hash_value;
运行一下,找出你运行那段SQL的SID
然后找出SID对应的SERIAL#
用你oracle用户登陆HP-UNIX
kill -9 你刚才查出的SERIAL#本回答被提问者采纳
以上是关于oracle 如何结束正在运行的语句的主要内容,如果未能解决你的问题,请参考以下文章
Oracle 存储过程在 Informatica 存储过程转换映射中的会话结束时运行