Oracle中的数据字典

数据字典

定义:数据字典是oracle数据库中最重要的组成部分,记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户;用户只能在数据字典上执行查询操作,而其维护和修改是由系统自动完成的!

数据字典的组成

包括数据字典基表数据字典视图 ,其中基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表,数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过查询数据字典视图取得系统信息.数据字典视图主要包括user_xxx,all_xxx,dba_xxx三种类型

1)user_tables:用于显示当前用户所拥有的所有表,它只返回用户所对应方案的所有表

比如:select table_name from user_tables;

2)all_tables:用于显示当前用户可以访问的所有表,它不仅会返回当前用户方案的所有表,还会返回当前用户可以访问的其他方案的表

如:select table_name from all_tables;

3)dba_tables:它会显示所有方案拥有的数据库表,但是查询这种数据库字典视图,要求用户必须是dba角色或是有select any table的系统权限

如:select table_name from dba_tables;

在建立用户时,oracle会把用户的信息存放到数据字典中,当给用户授予或是角色时,oracle会将权限和角色的信息存放到数据字典中;

a)通过查询dba_users可以显示所有数据库用户的详细信息;

b)通过查询数据字典视图dba_sys_privs,可以显示用户具有的系统权限

c)通过查询数据字典视图dba_tab_privs可以显示用户具有的对象权限

d)通过查询数据字典dba_col_privs可以显示用户具有的列权限

e)通过查询数据库字典视图dba_role_privs可以显示用户所具有的角色下面将一些重要的查询句:

1)查询oracle中所有的角色,一般是dba用户登录下;

如:select * from dba_roles;

2)查询oracle中所有的系统权限,一般是dba用户登录下;

如:select * from system_privilege_map order by name;

3)查询oracle中所有的对象权限,一般是dba用户登录下;

如:select distinct privilege from dba_tab_privs;

4)查询数据库的表空间

如:select tablespace_name from dba_tablespaces;

select * from dba_roles;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值