Oracle system permissions and role permissions both impose corresponding restrictions on user permissions, which also protects database access security to a certain extent. Next let's take a look at it.
Oracle System Permissions
Oracle system permissions must be granted to system-level activities, such as database connection, user session change, table creation, and user creation. You can obtain complete system permissions on SYSTEM_PRIVILEGE_MAP.
Both the object permission and the Oracle system permission are granted to the user or role through the GRANT statement. Note that the statement should be the with grant option clause when granting object permission, but the statement is with admin option when granting system permission, so when you try to GRANT system permission, when you use the with grant option statement, the system reports an error: only admin option can be specified. Pay special attention to this syntax and error message.
Roles and permissions
Role permissions are used to grant permissions of a user to a role. Any permission can be granted to a role. You must use the WITH_ADMIN_OPTION clause to grant the system permission to the grantee. You can use the set role statement to grant or revoke the ROLE permission during a session.
However, role permissions cannot rely on permissions stored in SQL. If a function, program, package, trigger, or method uses an object owned by another plan, you must directly authorize the owner of the object because the permission will not change between sessions.
Grant and revoke permissions
GRANT permissions to a user or role to use the GRANT statement. The syntax of the GRANT statement is as follows:
Grant role or system privilege) TO user (role, Public) with admin option (optional)
Object Permission granted WITH GRANT OPTION
Implementation of batch Oracle authorization
How to store images in oracle
Implementation of oracle tree Query
Implementation of oracle query current time
Learn more about Oracle hierarchical Query