Oracle的数据字典的查询.doc
文本预览下载声明
第12讲 Oracle的数据字典的查询
目的:
掌握Oracle9i数据字典的作用和意义。
掌握常用对象的数据字典的查询。
授课内容:
什么是数据字典:
数据字典(Oracle data dictionary): Oracle9i数据库的所有对象,权限,系统信息的视图,称为数据字典。
Oracle9i数据的所有信息,系统的权限,用户,角色,表,视图等等所有对象在创建后都保存在数据字典的表中。这些表是归系统管理员DBA所有的,其他用户没有权限查询这些表。
但Oracle提供了访问这些表的视图,供其他用户访问这些数据字典。
数据库中存放数据字典的表的是非常关键的了,不能随意访问。
Oracle数据字典存储了用来管理数据库对象的所有信息。
Oracle内部字典:从用户角度出发的数据字典。
数据字典不是按字母来排序的,而是按其功能进行(表,安全性,等)分组的。
数据字典的分组:
在查询数据字典时,Oracle把不同的信息分别使用了不同的视图,如用户自己的,所有的用户,和DBA的信息。
USER: 以USER_开头的视图只可以查询出登录用户自己的对象信息。
ALL: 以ALL_开头的视图可以查询所有用户的对象信息。这些对象要满足条件是:你创建的,或你由权限的,或授权给public 组的。
你创建的对象。
对象的所有者已经授予了这些对象的某个权限给你。
public角色有权限的所有对象。
DBA: 以DBA_开头的视图查询数据库中所有的对象信息。
[] 数据字典的常用分组:
导航图:DICTIONARY (DICT)和DICT_COLUMNS
可选择的内容:表(和列),视图,同义词,序列
约束和注释:
索引和簇:
抽象数据类型,与ORDBMS相关的结构和LOB:
数据库连接,实体化视图:
存储过程,函数,程序包,触发器:
维:
空间分配和空间使用:
用户,权限:
角色:
审计:
[] 数据字典的名称规定:
除了特殊的情况外,Oracle数据字典对象的所有名称都以如下3个前缀开头:
USER: 查询用户所拥有的对象的信息
ALL:纪录了USER的信息以及授予了public或用户的对象的信息。
DBA:包含数据库的所有对象,不论拥有者是谁。
[] 常见的数据字典:
Oracle9i的数据字典:
Dictionary : 同义词是DICT: 可以查询Oracle9i有那些数据字段。
DICT_CLOUMNS: 每个数据字典视图的列
系统的信息
查询系统的版本信息
select * from v$version
数据库的对象信息
USER_CATALOG: 显示用户拥有的所有表,视图,同义词,序列
ALL_CATELOG: 显示User以及public权限的所有的表,视图,同义词,序列。
USER_OBJECTS: 查询所有类型对象,包括簇,数据库连接,目录函数,存储过程,函数,包,触发器,Java类,抽象数据类型,序列,同义词,LOB,视图。
ALL_OBJECTS:
表信息
USER_TABLES: 查询用户拥有的表的信息。
ALL_TABLES:
USER_TAB_COLUMNS: 查询表的列的专门信息。
视图信息
USER_VIEWS:
ALL_VIEWS
序列信息
USER_SEQUENCES:
ALL_SEQUENCES
同义词对象信息
USER_SYNONYMS: 列出了用户所拥有的全部同义词。
ALL_SYNONYMS:
索引
USER_INDEXES:
ALL_INDEXES:
用户
USER_USERS: 当前的用户
ALL_USERS: 数据库中的所有用户
角色:
USER_ROLES:
ALL_ROLES:
约束
USER_CONSTRAINTS:
ALL_CONSTRAINTS:
表的字段
USER_TAB_COLUMNS:
ALL_TAB_COLUMNS:
USER_TAB_COMMENTS: 字段的注释
索引的字段
USER_IND_COLUMNS:
ALL_IND_COLUMNS:
约束的字段
USER_CONS_COLUMNS: 与约束相关的列。
ALL_CONS_COLUMNS:
用户的对象级权限
USER_TAB_PRIVS: 当前用户的对象级权限
ALL_TAB_PRIVS: 所有用户的对象级权限
用户的系统级权限
USER_SYS_PRIVS: 当前用户的系统级权限
ALL_SYS_PRIVS: 所有用户的系统级权限
PL/SQL存储过程和函数,包对象的源代码
USER_SOURCE ALL_SOURCE
触发器对象信息
USER_TRIGGERS, ALL_TRIGGERS
对象权限,系统权限,角色权限
ROLE_TAB_PRIVS: 角色的对象权限
ROLE_SY
显示全部