347: --
348: function kill_session (audsid in number,
349: message in out NOCOPY varchar2,
350: inst_id in number default 1) return number is
351: kcursor varchar2(75); /* Cursor string for dbms_sql */
352: cid number; /* Cursor ID for dbms_sql */
353: ssid number;
354: sserial# number;
355: dummy number;
348: function kill_session (audsid in number,
349: message in out NOCOPY varchar2,
350: inst_id in number default 1) return number is
351: kcursor varchar2(75); /* Cursor string for dbms_sql */
352: cid number; /* Cursor ID for dbms_sql */
353: ssid number;
354: sserial# number;
355: dummy number;
356: begin
380:
381: kcursor := 'alter system kill session '''|| to_char(ssid) || ',' ||
382: to_char(sserial#)||'''';
383: begin
384: cid := dbms_sql.open_cursor;
385: dbms_sql.parse(cid, kcursor, dbms_sql.v7);
386: dummy := dbms_sql.execute(cid);
387: dbms_sql.close_cursor(cid);
388: exception
381: kcursor := 'alter system kill session '''|| to_char(ssid) || ',' ||
382: to_char(sserial#)||'''';
383: begin
384: cid := dbms_sql.open_cursor;
385: dbms_sql.parse(cid, kcursor, dbms_sql.v7);
386: dummy := dbms_sql.execute(cid);
387: dbms_sql.close_cursor(cid);
388: exception
389: when others then
382: to_char(sserial#)||'''';
383: begin
384: cid := dbms_sql.open_cursor;
385: dbms_sql.parse(cid, kcursor, dbms_sql.v7);
386: dummy := dbms_sql.execute(cid);
387: dbms_sql.close_cursor(cid);
388: exception
389: when others then
390: if SQLCODE = -30 then
383: begin
384: cid := dbms_sql.open_cursor;
385: dbms_sql.parse(cid, kcursor, dbms_sql.v7);
386: dummy := dbms_sql.execute(cid);
387: dbms_sql.close_cursor(cid);
388: exception
389: when others then
390: if SQLCODE = -30 then
391: return 1;