エンジニア転職72日目「」
こんにちは、コリーです。
72日目の今日は、
PL/SQL
プロシージャ作成
PCL作成
GRANT,REVOKE
Rownum
を行い(扱い)ました。
●「abc, def, ghi, jkl」(=a)を
○○…in ('abc', 'def', 'ghi', 'jkl')にしたい
WHILE a.length > 0 then LOOP
b = b || ',' || substr(a,1,3) || ''';
a = (aから先頭4文字削る)
END LOOP;
こんな感じでいけるのかな…?
●権限の前に、自分のミスを
GRANTを使った権限付与でしたが、結論から言うと不要でした。自分のプログラムに誤りがあったためエラーが発生していただけでした…。
また、ロール権限を付与しようとて色々やってみましたが、上手くつながらなかったので、片っ端から権限削除を行いました。初めは権限が何もないようだったので、元に戻しておこうとすべてを消しました。
すると、別の社員から「データベースにアクセスできなくなってます(汗)」と報告が…。わたしが消してしまった権限の中に、必要なものも入っていたようです…。すぐに上司が直してくれてのでよかったですが、肝を冷やしました。
教訓は
●権限いじるときは気をつけて
●設定や権限の前に、自分のプログラムコードを疑う
●ALTER SYSTEM KILL SESSION
select SID, SERIAL# from V$SESSION where username='xxxxx';
SID SERIAL#
---------- ----------
152 82123
84 24684
→ALTER SYSTEM KILL SESSION '84, 24684';
→ALTER SYSTEM CANCEL SESSION '84, 24684';
参考:SQL文の強制停止機能を試す (Oracle Database 18c)
https://qiita.com/plusultra/items/bde856687550c00c77fa
おわり