Oracle 19C DELETE_CATALOG_ROLE角色

环境:

DB:Oracle 19C
OS:Redhat 7.6

问题说明:

将Oracle 11.2.0.4.0数据迁移到Oracle 19C时,
19C库在手动创建并授权用户时,提示没有DELETE_CATALOG_ROLE角色。

实际上在12c版本已经弃用DELETE_CATALOG_ROLE角色。

https://docs.oracle.com/en/database/oracle/oracle-database/12.2/upgrd/changes-oracle-database-earlier-rel.html#GUID-9F6850D1-9783-4689-A85D-ECF0525FC255
Deprecated Oracle Database Roles
The following Oracle Database roles are deprecated in Oracle Database 12c:

DELETE_CATALOG_ROLE Deprecated
The DELETE_CATALOG_ROLE database role is deprecated in Oracle Database 12c.

查看19c角色,确实没有DELETE_CATALOG_ROLE角色。

SYS@oradb>select role from dba_roles where role like '%CATALOG%';
ROLE
--------------------------------------------------------------------------------
SELECT_CATALOG_ROLE
EXECUTE_CATALOG_ROLE
RECOVERY_CATALOG_OWNER
RECOVERY_CATALOG_OWNER_VPD
RECOVERY_CATALOG_USER
GDS_CATALOG_SELECT
6 rows selected.
Elapsed: 00:00:00.00

对比查看11204角色,是有DELETE_CATALOG_ROLE角色的。

sys@cjc>select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE11.2.0.4.0Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
sys@cjc>select role from dba_roles where role like '%CATALOG%';
ROLE
------------------------------
SELECT_CATALOG_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE
RECOVERY_CATALOG_OWNER

查看DELETE_CATALOG_ROLE角色包含的权限

sys@cjc>select * from dba_tab_privs  where grantee='DELETE_CATALOG_ROLE';
GRANTEE        OWNER      TABLE_NAME     GRANTOR
------------------------------ ------------------------------ ------------------------------ ------------------------------
PRIVILEGE GRA HIE
---------------------------------------- --- ---
DELETE_CATALOG_ROLE       SYS      FGA_LOG$     SYS
DELETE NO  NO
DELETE_CATALOG_ROLE       SYS      AUD$     SYS
DELETE NO  NO

#####chenjuchao 20210611 13:03#####

请使用浏览器的分享功能分享到微信等