Oracle数据库中存在大量内部表和视图,主要用于系统管理和维护。这里列出一些常用的内部视图(数据字典视图)和内部表:
**常用内部视图(Data Dictionary Views):**
1. **用户权限相关视图:**
? ?- `DBA_USERS`:所有用户的详细信息。
? ?- `USER_USERS`:当前用户的基本信息。
? ?- `DBA_ROLE_PRIVS` / `USER_ROLE_PRIVS` / `ALL_ROLE_PRIVS`:角色权限分配情况。
? ?- `DBA_SYS_PRIVS` / `USER_SYS_PRIVS` / `ALL_SYS_PRIVS`:系统权限分配情况。
2. **对象管理相关视图:**
? ?- `DBA_OBJECTS` / `USER_OBJECTS` / `ALL_OBJECTS`:关于数据库所有对象的信息。
? ?- `DBA_TABLES` / `USER_TABLES` / `ALL_TABLES`:所有/当前用户拥有的表信息。
? ?- `DBA_TAB_COLUMNS` / `USER_TAB_COLUMNS` / `ALL_TAB_COLUMNS`:表的列信息。
? ?- `DBA_TAB_PARTITIONS` / `USER_TAB_PARTITIONS` / `ALL_TAB_PARTITIONS`:分区表的分区信息。
3. **性能监控相关视图:**
? ?- `V$SESSION`:当前数据库会话信息。
? ?- `V$SQL` / `GV$SQL`:执行过的SQL语句及其统计信息。
? ?- `V$SYSTEM_EVENT`:等待事件统计信息。
? ?- `V$SGA` / `V$PGA`:共享池和程序全局区的信息。
? ?- `V$DATABASE` / `V$INSTANCE`:数据库和实例基本信息。
4. **空间使用及物理存储相关视图:**
? ?- `DBA_DATA_FILES` / `DBA_TEMP_FILES`:数据文件和临时文件信息。
? ?- `DBA_FREE_SPACE`:表空间剩余空间信息。
? ?- `DBA_SEGMENTS` / `USER_SEGMENTS` / `ALL_SEGMENTS`:段级别空间使用情况。
5. **其他重要视图:**
? ?- `DBA_JOBS` / `USER_JOBS`:调度任务信息。
? ?- `DBA_TRIGGERS` / `USER_TRIGGERS` / `ALL_TRIGGERS`:触发器信息。
? ?- `DBA_SOURCE` / `USER_SOURCE`:PL/SQL源代码信息。
? ?- `DBA_RECYCLEBIN`:回收站中的已删除对象信息。
**内部表(实际数据库内部使用的表,通常由系统管理,不建议直接操作):**
- Oracle内部使用的一些表如`SYS.AUD$`(审计信息)、`SYS.USER$`(用户账户元数据)等,它们是数据库运行的核心组成部分,除非有特殊需求且按照官方文档指导,否则不应直接查询或修改这些内部表。
在实际使用中,管理员和开发者更多地通过查询上述的数据字典视图来获取必要的信息,而非直接操作内部表。