oracle基表和动态性能视图

1. 数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息。它是只读表和视图的集合,所有者为sys用户。用户自能在数据字典上执行查询操作,而维护和修改是由系统自动完成的。

 

数据字典包括数据字典基表和数据字典视图,其中基表存储数据库的基表信息,普通用户不能直接访问数据字典的基表;数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过查询数据字典视图取得系统信息。

 

数据字典视图主要包括三种类型:user_xxx, all_xxx, dba_xxx

 

user_tables:显示当前用户下所拥有的所有表。它只返回当前用户所有表。

all_talbes: 显示当前用户可访问的所有表

dba_talbes: 显示所有用户所有表。要求查询用户拥有dba角色或者select any table系统权限。

 

user_xxx < all_xxx <= dba_xxx

 

SQL> create user tt identified by tt;

用户已创建。

SQL> grant resource,connect to tt;

授权成功。

SQL> conn tt/tt
已连接。
SQL> select count(*) from user_tables;

  COUNT(*)
----------
         0

SQL> select count(*) from all_tables;

  COUNT(*)
----------
        91

SQL> select count(*) from dba_tables;
select count(*) from dba_tables
                     *
第 1 行出现错误:
ORA-00942: 表或视图不存在

   查询dba_tables的时候,必须有dba角色或者select any talbes 的系统权限。否则会报错。 

 

在建立用户时,oracle会把用户的信息放到数据字典中。

dba_users:可查询用户的一些信息。

dba_roles: 可查询oracle有多少角色。

dba_sys_privs:可查询用户所具有的系统权限

system_privilege_map:可查询用户所具有的系统权限

dba_tab_privs: 可查询用户所具有的对象权限。

dba_role_privs: 可查询用户所拥有的角色。

dba_tablespaces:可查询出oracle表空间信息。

 

查询DBA角色所拥有的系统权限:

select * from dba_sys_privs where grantee='DBA';

select * from role_sys_privs where role = 'DBA';

 

查询DBA角色所拥有的对象权限:

select * from dba_tab_privs where grantee = 'DBA';

当给用户授权或是角色时,oracle也会将权限和角色信息放入数据字典中。

 

查询scott用户拥有那些角色:

select * from dba_role_privs where grantee='SCOTT';

 

查询当前数据库全称:

select * from global_name;

 

2. 动态性能视图记载了例程启动后的相关信息。

 

以 v$ 开头。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值