DB_DEVELOPER_ROLE in Oracle Database 23c

Bo English-Wiczling
Oracle Developers
Published in
2 min readMay 31, 2023

Starting with Oracle Database 23c, the new role “DB_DEVELOPER_ROLE” allows administrators to quickly assign all necessary privileges developers need to design, build, and deploy applications for the Oracle Database (including System privileges required to build a data model and Object privileges required to monitor and debug applications).

By using this role, administrators no longer need to guess which privileges may be necessary for application developers.

Oracle recommends that you grant application developers the DB_DEVELOPER_ROLE role, rather than individually granting these privileges or granting the user the DBA role, as the DB_DEVELOPER_ROLE role adheres to least-privilege principles and ensures greater security for the development environment.

The DB_DEVELOPER_ROLE role can be use in either the CDB root or the PDB.

The following SQL statements allows you to retrieve the privileges assigned to this role:

For Sys Privileges

SQL> SELECT privilege FROM role_sys_privs WHERE role=’DB_DEVELOPER_ROLE’ ORDER BY 1;

For Object Privileges

SQL> SELECT table_name, privilege FROM role_tab_privs WHERE role = ‘DB_DEVELOPER_ROLE’ ORDER BY 1;

For: Other functionalities — Roles

Enable SODA_APP role to work with JSON collections — (Simple Oracle Document Access (SODA)).

The CTXAPP role is a system-defined role that enables users to create and delete Oracle Text preferences, and also allows users to create preferences and use the PL/SQL packages.

SQL> SELECT granted_role FROM role_role_privs WHERE role =’DB_DEVELOPER_ROLE’;

If you want to add or revoke the role, you can use the next sentences:



Read more details about this or other new features:



Hope you like this new feature and check our upcoming articles regarding other new features!



Bo English-Wiczling
Oracle Developers

Senior Director, Oracle Database Product Management | DevRel