我是想写一个批处理,直接杀掉Oracle中用户的会话session,
首先我写了一个批处理文件是这样:
sqlplus system/css123@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=CQ)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=qhnh)));
spool c:\killsession.bat;
select 'alter system kill session '''||sid||','||serial#||''';' from v$session where username='PAMEDICAL';
spool off;然后再调用c盘下面的killsession.bat 去杀掉session ,这样思路是正确的吧,但是 为什么,C盘产生不了这个文件呢,一运行第一个批处理文件,就报错,是不是spool 前面要设置很多东西啊,我菜鸟不懂怎么设置,也不懂什么意思,高人们指点!谢谢
首先我写了一个批处理文件是这样:
sqlplus system/css123@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=CQ)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=qhnh)));
spool c:\killsession.bat;
select 'alter system kill session '''||sid||','||serial#||''';' from v$session where username='PAMEDICAL';
spool off;然后再调用c盘下面的killsession.bat 去杀掉session ,这样思路是正确的吧,但是 为什么,C盘产生不了这个文件呢,一运行第一个批处理文件,就报错,是不是spool 前面要设置很多东西啊,我菜鸟不懂怎么设置,也不懂什么意思,高人们指点!谢谢
set feedback off
set term off
spool C:\TableName.txt
spool off
这段话 该写到什么地方,什么意思呢?望高手详细给我讲解一下,不胜感激涕零!
内容如下:
set trimspool on
set linesize 120
set pagesize 2000
set newpage 1
set heading off
set term off
spool 路径+文件名
select 'alter system kill session '''||sid||','||serial#||''';' from v$session where username='PAMEDICAL';
spool off 建立.bat文件内容如下
sqlplus system/css123@服务名称 @kill.sql
set feedback off
set term off
spool d:\killsession.sql
SELECT 'alter system kill session ''' || SID || ',' || SERIAL# || ''' immediate;'
FROM V$SESSION
WHERE USERNAME = 'SCOTT';
spool OFF
@@d:\killsession.sql
exit--再建立一个test.bat的文件,内容如下:
sqlplus lgt/lgt @d:\killsql.sql
--在dos窗口直接执行text.bak就可以kill 用户PAMEDICAL了.