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 上使用内部联接更新语句

oracle用sql语句插入数据,为啥老是显示正在运行

Oracle 存储过程在 Informatica 存储过程转换映射中的会话结束时运行

oracle之 v$sql_monitor 监视正在运行的SQL语句的统计信息

Oracle:如何“稍后”运行存储过程

在 Oracle SQL 上运行的通用语句:使用 Java 的数据库