What is PUBLIC exactly in Oracle?
Is it a role or a user? And does it have a schema? If it has, can we create objects in it?
I read many documents saying it is a user group as well. But I got confused about what exactly it is.
Any help will be very appreciated.
Think of
PUBLICas a group to which all users belong. You can grant privileges to it, allowing all users in the database to have access to something with a single grant.Primarily it is used to provide access to system-level functionality or data dictionary views such as
ALL_TABLESorUSER_TABLES; it is not generally recommended that you usePUBLICwhen designing your own applications because it tends to violate the principle of least privilege.