无论出于安全、特性、性能、支持周期都需要考虑升级数据库,但是也会导致有些功能改变而影响软件使用或管理方式,升级后经验格外重要,因为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
-----------