現在接続中のOracleセッションを表示するSQLとLnux用シェルです。
USER_ID/PASSWORDには「V$SESSION」を参照できるユーザを指定してください。
oracleSessionShow.sh
# 「V$SESSION」を参照できるユーザを指定 USER_ID=scott PASSWORD=tigger INSTANCE_NAME=oracle # 「EOT」の前の「\」は変数展開をしない設定 sqlplus -s ${USER_ID}/${PASSWORD}@${INSTANCE_NAME} <<\EOT SET LINESIZE 1000 SET PAGESIZE 100 COLUMN SID FORMAT 999999 COLUMN SERIAL# FORMAT 9999999 COLUMN USERNAME FORMAT A20 COLUMN MACHINE FORMAT A20 COLUMN PROGRAM FORMAT A40 SELECT SID, SERIAL#, USERNAME, STATUS, MACHINE, PROGRAM, COMMAND FROM V$SESSION order by 3, 5, 1 ; EOT echo "COMMAND:凡例(一部)" echo "2 INSERT" echo "3 SELECT" echo "6 UPDATE" echo "7 DELETE" echo "0 その他" exit COMMAND
※よく使いそうなもののみピックアップ。これ以外の番号についてはマニュアル参照のこと。0はマニュアルに記載は無かったが、おそらく「その他」の意味だと思う。impコマンド時は、0と2の時間が長く数秒おきに交互に現れていた。「ある程度読込んでINSERT」を何度も繰り返しているのだと思う。またimpコマンド中のインデックス作成処理中は9だった。
|
DBに関するCode Tips >