Вот как вы должны это сделать:
create user jobOneRunner identified by test;
- на этом этапе они не должны иметь никаких привилегий, даже не создавать сеанс.
Чтобы убедиться в этом, выполните следующееSQL:
select
lpad(' ', 2*level) || granted_role "User, his roles and privileges"
from
(
/* THE USERS */
select
null grantee,
username granted_role
from
dba_users
where
username like upper('%&enter_username%')
/* THE ROLES TO ROLES RELATIONS */
union
select
grantee,
granted_role
from
dba_role_privs
/* THE ROLES TO PRIVILEGE RELATIONS */
union
select
grantee,
privilege
from
dba_sys_privs
)
start with grantee is null
connect by grantee = prior granted_role;
Если у пользователя JobOneRunner есть привилегии, отмените их.Затем предоставьте им выбор / обновление / удаление и т. Д. Доступ к любым объектам, к которым им нужно получить доступ.Вам также нужно будет предоставить им сеанс создания, чтобы они могли подключаться.
Чтобы предоставить выбор / обновить / удалить объекту, принадлежащему другой схеме, сделайте следующее:
grant select on SCHEMA.object to jobOneRunner;
Чтобы ответить на второйвопрос, да, это решит вашу проблему.Тем не менее, вы точно определили, что состояние гонки возможно?