見出し画像

エンジニア転職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

 

おわり