ORAエラーを発生させる方法
PRAGMA EXCEPTION_INIT PL/SQL を利用すると可能
例えばORA-8103を発生させてみたい場合
実行例
declare
err exception;
PRAGMA EXCEPTION_INIT(err, -8103);
begin
raise err;
end;
/
ERROR at line 1:
ORA-08103: object no longer exists
ORA-06512: at line 5
event 設定・解除方法
トレース出力もさせることができるため、イベント設定の確認に使うこともできる
設定方法
alter system set event='8103 trace name errorstack level 3; name systemstate level 10' scope=spfile;
alter system set events '8103 errorstack(3) systemstate(10)';
解除方法
alter system set event='8103 trace name errorstack off; name systemstate off' scope=spfile;
alter system set events '8103 off';
アラートログ
2022-02-16T11:09:02.828039-05:00
Errors in file /u01/app/orcl/diag/rdbms/orcl/orcl/trace/orcl_ora_13107.trc:
ORA-08103: object no longer exists
2022-02-16T11:09:05.340604-05:00
System State dumped to trace file /u01/app/orcl/diag/rdbms/orcl/orcl/trace/orcl_ora_13107.trc
-
EXCEPTION_INIT Pragma
docs.oracle.com