Выполнить в контексте другого пользователя

zatar86
Дата: 23.10.2015 14:56:43
Всем привет.
Я подключаюсь из под пользователя User1, мне нужно выполнить оператор как User2. На подобие execute as в ms sql.
alter system set current_schema не то.
Старикам тут не место
Дата: 23.10.2015 14:59:13
zatar86,
оформите "оператор" функцией/процедурой в схеме, от имени владельца которой его следует выполнять.
zatar86
Дата: 23.10.2015 15:26:14
Если я так сделаю из под user1 - execute user2.процедура эта процедура выполниться из под user2?
tru55
Дата: 23.10.2015 15:33:19
Что ты понимаешь под словами "выполнится под user2"? Выполнится с правами user2 (по умолчанию)
Старикам тут не место
Дата: 23.10.2015 15:56:15
zatar86
Если я так сделаю из под user1 - execute user2.процедура эта процедура выполниться из под user2?

По умолчанию процедуры/функции компилируются с userid definer.
Чтите доку: http://docs.oracle.com/database/121/DBSEG/dr_ir.htm#DBSEG99925
zatar86
Дата: 23.10.2015 16:20:04
Да, т.е. " Выполнится с правами user2" чтоб в аудите например было щпаисано чту выполнил user2.
Например я подключился user1 запускаю скрипт, в опредлелённый момент нужно что бюы какой-то оператор выполнился под пользователем user2, а остальные подл user1.
Например
sqlplus user1/
grnat select on * to * ;
grant select on * to*;
выполнить под user2 -grent execute on * to *;
выполнить под user1 - grant select on * to*ж
AlexFF__|
Дата: 23.10.2015 16:28:03
zatar86
Да, т.е. " Выполнится с правами user2" чтоб в аудите например было щпаисано чту выполнил user2.

Подстава?
zatar86
Дата: 23.10.2015 16:29:11
Не, для дела))
alexkir
Дата: 23.10.2015 19:38:40
zatar86,

sys.dbms_sys_sql.parse_as_user
mcureenab
Дата: 23.10.2015 22:54:54
zatar86
Не, для дела))
так логинься из своего скрипта нужным юмором. В чем проблема? Есть еще proxy user. Тоже вариант, когда пароль не известен.