Information
The SYSCAT.SCHEMATA contains all schema names in the database. It is recommended that the PUBLIC role be restricted from accessing this view.
PUBLIC should not have access to see all the created schemas in the database because this could be used as a point of exploit.
Solution
Perform the following to revoke access from PUBLIC.
1. Connect to the DB2 database.
db2 => connect to $DB2INSTANCE user $USERNAME using $PASSWORD
2. Run the following command from the DB2 command window:
db2 => REVOKE SELECT ON SYSCAT.SCHEMATA FROM PUBLIC