Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Disable/Enable database trigger / 3 сообщений из 3, страница 1 из 1
19.02.2020, 22:17
    #39928659
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Disable/Enable database trigger
Дока по ALTER TRIGGER:

Код: plsql
1.
2.
3.
4.
5.
Prerequisites

The trigger must be in your own schema or you must have ALTER ANY TRIGGER system privilege.

In addition, to alter a trigger on DATABASE, you must have the ADMINISTER DATABASE TRIGGER privilege.



Есть триггер:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE OR REPLACE
  TRIGGER TEST_TRG
    AFTER CREATE
    ON DATABASE
BEGIN
    NULL;
END;
/



Пытаемся DISABLE:

Код: 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.
SQL> select banner from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
PL/SQL Release 12.2.0.1.0 - Production
CORE    12.2.0.1.0      Production
TNS for 64-bit Windows: Version 12.2.0.1.0 - Production
NLSRTL Version 12.2.0.1.0 - Production

SQL> show user
USER is "U1"
SQL> select privilege from user_sys_privs order by 1;

PRIVILEGE
----------------------------------------
ADMINISTER DATABASE TRIGGER
ALTER ANY TRIGGER
CREATE SESSION

SQL> alter trigger scott.test_trg disable;
alter trigger scott.test_trg disable
              *
ERROR at line 1:
ORA-01031: insufficient privileges


SQL>



О чем умалчивает дока?

SY.
...
Рейтинг: 0 / 0
19.02.2020, 23:34
    #39928683
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Disable/Enable database trigger
SY,

B 12.1 работает как документировано:

Код: 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.
SQL> select banner from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
PL/SQL Release 12.1.0.2.0 - Production
CORE    12.1.0.2.0      Production
TNS for 64-bit Windows: Version 12.1.0.2.0 - Production
NLSRTL Version 12.1.0.2.0 - Production

SQL> show user
USER is "U1"
SQL> select privilege from user_sys_privs order by 1;

PRIVILEGE
----------------------------------------
ADMINISTER DATABASE TRIGGER
ALTER ANY TRIGGER
CREATE SESSION

SQL> alter trigger scott.test_trg disable;

Trigger altered.

SQL>



SY.
...
Рейтинг: 0 / 0
20.02.2020, 15:39
    #39928977
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Disable/Enable database trigger
Оказывается начиная с 12.2 ( Doc ID 2275535.1 ) чтобы создать/изменить database триггер в схеме чужого пользователя привилегия ADMINISTER DATABASE TRIGGER должна быть дана чужому пользователю напрямую а не через роль.

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


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