1.数据字典概念
数据字典是Oracle数据库的核心组件,它由一系列只读的数据字典表和数据字典视图组成.
数据字典中记录了数据库的系统信息、例程运行的性能。
数据字典的所有者为SYS用户,其数据字典表和数据字典视图都保存在SYSTEM表空间中.
数据字典表主要保存以下信息:
各种方案对象的定义信息,如表、视图、索引、同义词、绪论、存储过程、函数、包、触发器和各种对象;
存储空间的分配信息;
安全信息(帐户、权限、角色等)
例程运行时的性能和统计信息
其他数据库本身的基本信息
2.数据字典作用
Oracle通过查询数据字典表或数据字典视图来获取有关用户、方案对象、对象的定义信息;
每次执行DML语句修改方案对象和对象后,Oracle都在数据字典中记录下所做的修改;
用户可以从数据字典的只读视图中,获取各种与对象方案和对象有关的信息;
DBA可以从数据字典的动态性能视图中,监视例程的运行状态,为性能调整提供依据.
数据字典中的信息存储在表和视图中.
3.数据字典的组成
数据字典表
数据字典视图
数据字典表属于SYS用户;
大部分数据字典表的名称中都包含$这样的特殊符号
数据字典表中的信息经过解密和一些加工处理后,以视图的方式呈现给用户。
大多数用户都可以通过数据字典视图查询所需要的与数据库相关的系统信息.
数据字典视图根据名字前缀分为三类:
USER_ 用户视图
ALL_ 扩展用户视图
DBA_ 数据库管理员视图
4. 其它
查看当前用户的缺省表空间
select username,default_tablespace from user_users;
--查看当前用户的角色
select * from user_role_privs;
--查看当前用户的系统权限和表级权限
select * from user_sys_privs;
select * from user_tab_privs;
--显示指定用户所具有的系统权限
select * from dba_sys_privs where grantee='GAME';
--查看用户下所有的表
select * from user_tables;
--查询表信息
SELECT * FROM ALL_OBJECTS WHERE OWNER ='SCOTT' AND OBJECT_NAME='EMP';