数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。随着数据库的启动而启动,数据库关闭时数据字典也关闭 数据字典中包含
- 数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
- 数据库为一个方案对象分配了多少空间,以及该对象当前使用了多少空间
- 列的默认值
- 完整性约束(integrity constraint)信息
- 数据库用户名
- 每个用户被授予(grant)的权限(privilege)与角色(role)
- 监控(audit)信息,例如哪个用户对某个方案对象进行了访问或更新操作
- 数据库中的其他概要信息
数据字典;
数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户。 普通用户不能直接访问数据字典的基表。数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过查询数据字典视图取得系统信息
数据字典视图主要包括user_xxx,all_xxx,dba_xxx三种类型。
user_tables;
用于显示当前用户所拥有的所有表,它只返回用户所对应方案的所有表
比如:查询当前用户的表名
select table_name from user_tables;
all_tables;
用于显示当前用户可以访问的所有表,它不仅会返回当前用户方案的所有表,还会返回当前用户可以访问的其它方案的表:
比如:
select table_name from all_tables;
dba_tables;
它会显示所有方案拥有的数据库表。但是查询这种数据库字典视图,要求用户必须是dba角色或是有select any table系统权限。
例如:当用system用户查询数据字典视图dba_tables时,会返回system,sys,scott...方案所对应的数据库表。
用户名 , 角色 ,权限 全部都存储在数据字典中;
建立用户时会自动的存储在数据字典中,当给该用户授予权限和赋予某项角色时,oracle也会自动的写入数据字典中
oracle的权限:
系统权限
: 允许用户执行特定的数据库动作,如创建表、创建索引、连接实例等
对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等
通过查询dba_users可以显示所有数据库用户的详细信息;
select * from dba_users;
通过查询数据字典视图dba_sys_privs,可以显示用户所具有的系统权限; 通过查询数据字典视图dba_tab_privs,可以显示用户具有的对象权限; 通过查询数据字典dba_col_privs可以显示用户具有的列权限;
select * from dba_col_privs;
通过查询数据库字典视图dba_role_privs可以显示用户所 具有的角色。
select * from dba_role_privs;
要查看scott具有的角色,可查询dba_role_privs;
<!--EndFragment-->
select * from dba_role_privs where role ="SCOTT";
<!--EndFragment-->
查询系统的角色;
select * from dba_roles;
查询系统中的权限
select * from dba_sys_privs;
查询对象中的权限
select * from dba_tab_privs;
查询数据库的表空间
select tablespace_name from dba_tablespaces;
显示当前数据库的全称
select * from global_name;
数据字典记录有oracle数据库的所有系统信息。通过查询数据字典可以取得以下系统信息:比如
1.对象定义情况
2.对象占用空间大小
3.列信息
4.约束信息
动态视图;
动态性能视图用于记录当前例程的活动信息,当启动oracle server时,系统会建立动态性能视图;当停止oracle server时,系统会删除动态性能视图。oracle的所有动态性能视图都是以v_$开始的,并且oracle为每个动态性能视图都提供了相应的同义词,并且其同义词是以V$开始的;
<!--EndFragment-->
1, 以 USER 为前缀的视图
- 反映了数据库中某个用户的全部情况,包括由此用户创建的方案对象,此用户所做的授权行为,等等。
- 只展示和某个用户相关的信息
- 与其他视图拥有相同的列,只有 OWNER 信息是隐含的
- 其内容是以 ALL 为前缀的视图的子集
- 可以在其上创建经过缩写(abbreviated)的 PUBLIC 同义词(synonym)以便于使用
2,以all为前缀的视图
以 ALL 为前缀的视图反映了某个用户所能看到的全部数据库内容
3,以 DBA 为前缀的视图能够展现整个数据库的全部内容
相关推荐
数据字典视图和动态性能视图的区别 : a:数据字典视图名一般用复数,而动态性能视图名一般用单数,比如dba_tablepsaces vs v$tablespace。 b:数据字典视图只有在数据库opn的情况下才可以访问,而部分动态性能视图...
本文用通俗易懂的话总结了oracle的数据字典和动态性能试图,主要是对数据字典的总结
数据字典和动态性能视图实验脚本,详细介绍了ORACLE数据字典和动态性能视图方面的知识,对想深入学习ORACLE的学者有一定的帮助。
本人自己总结的Oracle 10g数据库中与数据字典和动态性能视图有关的命令。
这里整理了数据库中常用的数据字典与动态性能视图,并附有做法,很详细
对Oracle常用数据字典表及动态视图进想详细的讲解,并有相关sql语句
Oracle常用数据字典与动态性能视图,很实用的经典之作
数据字典视图说明: 数据字典视图一般有三套:以存表的视图为例 dba_tables[DBA所有的], all_tables[所有用户所有的], user_tables[当前用户所有的] 对于DBA所有的,只有拥有DBA权限的用户才可以查询,否则提示表或...
oracle11g数据字典以及性能视图 oracle11g数据字典以及性能视图,oracel ,X$,v$,dba_
ORACLE数据字典与视图
动态性能视图 数据字典 讲述ORACE常用的视图的使用等知识。
数据字典视图说明: 数据字典视图一般有三套:以存表的视图为例 dba_tables[DBA所有的], all_tables[所有用户所有的], user_tables[当前用户所有的] 对于DBA所有的,只有拥有DBA权限的用户才可以查询,否则提示表或...
oracle10g的数据字典和视图大全.chm格式,方便学习和查找,是学习和提高oracle技术知识的好工具。
一个不错的数据库课程,模式存储数据库中数据字典的表和视图
自己摸索出来的netezza 数据库的系统视图和数据字典,基本满足一些运维需求
创建和配置oracle11g数据库 数据字典和动态视图 SQL调优 逻辑备份和数据导入/导出 Asmcmd介绍 网络服务与网络管理 数据库的审计 使用优化器指示 Oracle闪回技术 磁盘组介绍 Oracle11g数据库结构和存储 闪回数据库 ...
用友U8-V12.0全套数据字典(chm版本),包含:存储过程、表、视图、函数等 ,便于开发数据库程序.
一、DBA最常用的数据字典 dba_data_files:通常用来查询关于数据库文件的信息 dba_db_links:包括数据库中的所有数据库链路,也就是databaselinks。 dba_extents:数据库中所有分区的信息 dba_free_space:所有表空间...