重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
select * from v$access a where object like '存储过程名%' --存储过程名为大写字母
专注于为中小企业提供成都做网站、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业蓝山免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
select * from v$session where sid=74 --74为上一个查询得到的SID值,可能是多个,这里找到他们对应的serial#值
alter system kill session '74,118' --参数为'sid,serial#',用于停止这个回话,同时也终止了存储过程
1、系统级,查看crontab -l 自动备份任务;这个必须干掉;
2、数据库级别,查看RMAN进程,即使杀死系统进程,数据库进程任然存在,需要结合v$session进行确认。
(1)先查进程号:
SQL SELECT sid, spid, client_info
FROM v$process p, v$session s
WHERE p.addr = s.paddr
AND client_info LIKE '%rman%';
(2)终止RMAN备份
先ps -ef|grep spid |grep -v grep
kill -9 spid
3、查询RMAN 备份进度
SELECT SID, SERIAL#, CONTEXT, SOFAR, TOTALWORK,
ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE"
FROM V$SESSION_LONGOPS
WHERE OPNAME LIKE 'RMAN%'
AND OPNAME NOT LIKE '%aggregate%'
AND TOTALWORK != 0
AND SOFAR TOTALWORK;
SELECT s.sid,
s.serial#,
s.machine,sl.opname,sl.target,sl.message,s.program,sl.sql_hash_value,
TRUNC(sl.elapsed_seconds/60) || ':' || MOD(sl.elapsed_seconds,60) elapsed,
TRUNC(sl.time_remaining/60) || ':' || MOD(sl.time_remaining,60) remaining,
ROUND(sl.sofar/sl.totalwork*100, 2) progress_pct
FROM v$session s,
v$session_longops sl
WHERE s.sid = sl.sid
AND s.serial# = sl.serial#
AND sl.totalwork0
AND sl.sofarsl.totalwork
没有办法不停止实例。当然可以使用oradebug suspand进程,但是一个循环之后,肯定还要停在那里。可以考虑先将table置于nologging状态,可以生成较少的redo,不过做完操作后需要全备。