多くの場合、例外やプログラム エラーが原因で、個々のプロセスが大量のシステム リソースを占有するため、通常は次のコマンドを使用してプロセスを終了する必要があります:
alter system kill session 'sid,serial#' ;
ただし、このコマンドはリソースの解放に非常に時間がかかります。詳細については、「Oracle でのセッションの強制終了に関する研究」を参照してください。
リソースをより迅速に解放するには、通常、次の手順を使用してプロセスを強制終了します。オペレーティング システム レベルでプロセスを強制終了します
2. データベース内のセッションを強制終了します
通常、これはすぐにプロセスを終了してリソースを解放できます。
今日、他の友人がデータベース内のセッションを強制終了しましたが、それでも長い間影響がありませんでした:
[oracle@danaly ~]$ sqlplus "/ as sysdba"
SQL*Plus: リリース 10.2。 0.1.0 - 本番 2005 年 10 月 27 日 木 11:09:50
Copyright (c) 1982, 2005, Oracle. All Rights Reserved.
接続先:
Oracle Database 10g Enterprise Edition リリース 10.2.0.1.0 - 本番
パーティショニング、Oracle Label Security、OLAPおよびデータ・マイニング・スコアリング・エンジンのオプション
SQL> select sid,username,status from v$session;
SID USERNAME STATUS
---------- ------- ---- --------------------------------------
....
154 スコットが殺害されました
...
30 行が選択されました。
それではフォローしてください 上記の手順では、まずセッションに対応する OS プロセス番号をクエリします。
SQL> select 'kill -9 '||spid from v$process where addr = (select Paddr from v$session where sid= &sid);
SID の値を入力してください: 154
old 1: select 'kill -9 '||spid from v$process where addr = (select 'kill - 9 '|| v$process の spid (addr = (sid=154 の v$session から Paddr を選択))
'KILL-9'||SPID
---------------- -------------
kill -9 22702
SQL> !
オペレーティング システム レベルでプロセスを強制終了します:
[oracle@danaly ~]$ ps -ef|grep 22702
oracle 22702 1 0 Oct25 ? 00:00:02 oracledanaly (LOCAL=NO )
oracle 12082 12063 0 11:12 pts/1 00:00:00 grep 22702
[oracle@danaly ~]$ kill -9 22702
[oracle@danaly ~]$ ps -ef|grep 22702
oracle 12088 12063 0 11:12 pts/1 00:00:00 grep 22702
[oracle@danaly ~]$ exit
http://www.bkjia.com/PHPjc/631083.html
。