oracle 11g 升级 19c,Oracle 11g 升级 12c 、19c后改变 database trigger fail with ORA-01031

在Oracle数据库从11g升级到19c的过程中,可能会遇到数据库级触发器创建失败的问题,即使赋予了DBA角色。文章详细解释了在12.2版本后,创建DATABASE触发器需要直接授予ADMINISTER DATABASE TRIGGER权限,而非依赖于角色,并提供了升级后的解决方案。
摘要由CSDN通过智能技术生成

无论出于安全、特性、性能、支持周期都需要考虑升级数据库,但是也会导致有些功能改变而影响软件使用或管理方式,升级后经验格外重要,因为oracle官方提供的功能无法模拟各行业生产环境中所有的应用场景, 尤其是从最近要面临的11g升级19c大版本升级,防止踩雷,像wm_concat 在新版本不支持一样。

之前我在《oracle 12c new feature: RESOURCE role without unlimited tablespace》 分享过升级到12c 后,新创建的用户给RESOURCE因为UNLIMITED TABLESPACE权限的缺失依旧不能在表空间中创建对象。这里分享一下在database级创建trigger的变化即使给了DBA ROLE 依旧ORA-01031。

SQL> CREATE OR REPLACE TRIGGER "ANBOB"."DTR_DDLEVENTS"

2 AFTER DDL ON DATABASE

3 DECLARE

4 --

5 -- author: weejar

6 -- date : 2016-5-13

...

48 /

CREATE OR REPLACE TRIGGER "ANBOB"."DTR_DDLEVENTS"

*

ERROR at line 1:

ORA-01031: insufficient privileges

SQL> grant create any trigger to ANBOB;

Grant succeeded.

SQL> @roles ANBOB

GRANTEE GRANTED_ROLE ADM DEF

-----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值