powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите разобраться с правами
3 сообщений из 3, страница 1 из 1
Помогите разобраться с правами
    #39381796
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

В базе есть пользователь I3_Reg, его права:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
CREATE USER I3_REG
  IDENTIFIED BY VALUES '1A2BB0D062284F9E'
  DEFAULT TABLESPACE I3
  TEMPORARY TABLESPACE TEMP
  PROFILE DEFAULT
  ACCOUNT UNLOCK;
  -- 2 Roles for I3_REG 
  GRANT DBA TO I3_REG WITH ADMIN OPTION;
  GRANT CONNECT TO I3_REG;
  ALTER USER I3_REG DEFAULT ROLE ALL;
  -- 4 System Privileges for I3_REG 
  GRANT ALTER USER TO I3_REG WITH ADMIN OPTION;
  GRANT CREATE USER TO I3_REG WITH ADMIN OPTION;
  GRANT UNLIMITED TABLESPACE TO I3_REG WITH ADMIN OPTION;
  GRANT DEBUG CONNECT SESSION TO I3_REG;
  -- 13 Object Privileges for I3_REG 
    GRANT EXECUTE ON I3.AFTERDBCONNECT TO I3_REG;
    GRANT DELETE, INSERT, SELECT, UPDATE ON I3."BIN$3m8DmQ+aSiiXV0ubx2nXwA==$0" TO I3_REG;
    GRANT INSERT ON I3."BIN$GmVrx7GaTy++vRBJNXWfpw==$0" TO I3_REG;
    GRANT DELETE, INSERT, SELECT, UPDATE ON I3.F3_OBJECT TO I3_REG;
    GRANT DELETE, INSERT, SELECT, UPDATE ON I3.I3_PRD_PROCESS TO I3_REG;
    GRANT DELETE, INSERT, REFERENCES, SELECT, UPDATE ON I3.I3_PROCESS TO I3_REG;
    GRANT EXECUTE ON I3.I3_PROCESS_ENGINE TO I3_REG;
    GRANT DELETE, INSERT, SELECT, UPDATE ON I3.I3_RGL_PROCESS TO I3_REG;
    GRANT DELETE, INSERT, SELECT, UPDATE ON I3.I3_SBJ_PROCESS TO I3_REG;
    GRANT DELETE, INSERT, SELECT, UPDATE ON I3.I3_USER TO I3_REG;
    GRANT EXECUTE, DEBUG ON I3.I3_USER_CONTROL_ENGINE TO I3_REG;
    GRANT EXECUTE ON I3.PTNT_PACKAGE TO I3_REG;
    GRANT EXECUTE, DEBUG ON I3.PTNT_REGUSER TO I3_REG;



В базе есть юзер I3, который является владельцем пакетов I3.I3_PROCESS_ENGINE и I3.PTNT_REGUSER.
Гранты пользователя I3:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE USER I3
  IDENTIFIED BY VALUES '690358952213BF79'
  DEFAULT TABLESPACE I3
  TEMPORARY TABLESPACE TEMP
  PROFILE DEFAULT
  ACCOUNT UNLOCK;
  -- 2 Roles for I3 
  GRANT CONNECT TO I3;
  GRANT DBA TO I3;
  ALTER USER I3 DEFAULT ROLE ALL;
  -- 1 System Privilege for I3 
  GRANT UNLIMITED TABLESPACE TO I3;
  -- 2 Object Privileges for I3 
    GRANT READ, WRITE ON DIRECTORY SYS.FORMS_DIR TO I3 WITH GRANT OPTION;
    GRANT READ, WRITE ON DIRECTORY SYS.INPUT_DIR TO I3 WITH GRANT OPTION;



Пользователь I3_Reg вызывает процедуру ptnt_reguser.RegistrNewUser2,
которая внутри себя вызывает процедуру из пакета I3.I3_PROCESS_ENGINE,
которая внутри себя выполняет скрипт:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
PROCEDURE RegenerateUserA(sUserLogin VARCHAR2, sUserName VARCHAR2, sNormalPassword VARCHAR2,
									  asRoleForAdd i3_types.tatMaxVarchar2, bRoleOnlyForAdd BOOLEAN DEFAULT TRUE) IS
		asDDLScript i3_types.tatMaxVarchar2;
		PRAGMA AUTONOMOUS_TRANSACTION;
		lCurRow NUMBER;
	BEGIN
		RegenerateUser(sUserLogin, sUserName, sNormalPassword, asRoleForAdd, asDDLScript, bRoleOnlyForAdd);
		FOR lRow IN 1 .. asDDLScript.COUNT
		LOOP
			lCurRow := lRow;
			EXECUTE IMMEDIATE asDDLScript(lRow);
		END LOOP;
		COMMIT;
	EXCEPTION
		WHEN OTHERS THEN
			ROLLBACK;
			IF lCurRow = 0 THEN
				raise_application_error(-20001, SQLERRM || ' | ' || dbms_utility.format_error_backtrace);
			ELSE
				RAISE_application_error(-20001,
												'Ошибка исполнения скрипта: ' || asDDLScript(lCurRow) || ' | ' || SQLERRM);
			END IF;
	END RegenerateUserA;



в EXECUTE IMMEDIATE содержится команда:
Код: plsql
1.
2.
CREATE USER "USR_8937" IDENTIFIED BY "Lwxt0NUHJsEcW0D" 
DEFAULT TABLESPACE "I3" TEMPORARY TABLESPACE "TEMP" PROFILE DEFAULT



В результате чего выскакивает ошибка insufficient privileges при выполнении EXECUTE IMMEDIATE.

Для юзера I3_Reg есть права на пакеты, есть право CREATE USER.
В анонимном блоке команда выполняется без ошибок.

Каких прав не хватает для I3_Reg ?
...
Рейтинг: 0 / 0
Помогите разобраться с правами
    #39381802
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator
Код: plsql
1.
2.
    GRANT DELETE, INSERT, SELECT, UPDATE ON I3."BIN$3m8DmQ+aSiiXV0ubx2nXwA==$0" TO I3_REG;
    GRANT INSERT ON I3."BIN$GmVrx7GaTy++vRBJNXWfpw==$0" TO I3_REG;

Гуё-давитель?
defecator
Код: plsql
1.
GRANT DBA TO I3;

ТОП №4
defecatorКаких прав не хватает для I3_Reg ?RTFM AUTHID
...
Рейтинг: 0 / 0
Помогите разобраться с правами
    #39381812
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic[/src]ТОП №4
defecatorКаких прав не хватает для I3_Reg ?RTFM AUTHID[/quot]

Чёрт, я про это совсем забыл.

Спасибо за напоминание !
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите разобраться с правами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]