Metadata, Security, and the DBA Contents • • • • •
•
Metadata Security Granularity of DBMS Security DBMS-level Protection User-level Security for SQL o The GRANT command o GRANT and VIEWs The Database Administrator
Metadata So far in the DBMS we have looked at table schema for our database design. We have also considered views, and in many ways these act like tables. This table theme extends to all parts of a DBMS. In particular, Oracle makes this theme quite explicit. In Oracle, everything is a table. Not only the things we think of as tables, but also the system things like user information. The philosophy is simple... implement the concept of a table and we have everything we need to build a DBMS. This includes security concepts; secure the table concept and everything is similarly secure. Oracle has a special tablespace, called SYS, which holds all the system information. Various security levels protect SYS, so dependent on your access rights you may or may not be able to see all the tables held there. SYS in total holds hundreds of tables. The list below gives a few of these table names. USER_OBJECTS TAB USER_TABLES USER_VIEWS ALL_TABLES USER_TAB_COLUMNS USER_CONSTRAINTS USER_TRIGGERS USER_CATALOG DBA_USERS
For example, the DBA_USERS table holds user information. SQL> describe dba_users;