Нет правильной команды для этого, но отличный (и очевидный) ER для sqlcl
Есть несколько способов сделать это сегодня. Первый - добавить код в каждый скрипт для использования dbms_application_info
и установить для модуля / действия имя процесса и сценария. Это будет работать с любым инструментом, так как он помещает информацию в базу данных для последующего извлечения через sql / plsql. Это также может быть удобно, поскольку это записывается в такие вещи, как ASH / AWR / v $ session.
Существует еще один специфический для sqlcl способ - команда script
для получения доступа к запущенному контексту и его печати. Вот пример обоих вариантов >>
SQL> !cat k.sql
--- generic
exec DBMS_APPLICATION_INFO.SET_MODULE('InstallScript','k.sql');
select sys_context('USERENV', 'ACTION'), sys_context('USERENV', 'MODULE') from dual;
-- sqlcl specific.....
script
ctx.write(ctx.getLastUrl() + "\n");
/
SQL> @k.sql
PL/SQL procedure successfully completed.
SYS_CONTEXT('USERENV','ACTION') SYS_CONTEXT('USERENV','MODULE')
__________________________________ __________________________________
k.sql InstallScript
file:/Users/klrice/k.sql
SQL>