数据字典和动态性能视图

介绍:数据字典是什么

数据字典是 oracle 数据库中最重要的组成部分,它提供了数据库的一些系统信息。

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

 数据字典

数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为 sys 用户。

用户只能在数据字典上执行查询操作(select 语句),而其维护和修改是由系统自动完成的。

这里我们谈谈数据字典的组成:数据字典包括数据字典基表和数据字典视图,其中基表存储数据库的基本信息,普通用户不

能直接访问数据字典的基表。数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过查询数据字典视图取得系统

信息。数据字典视图主要包括 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 可以显示所有数据库用户的详细信息;

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

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

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

通过查询数据库字典视图 dba_role_privs 可以显示用户所具有的角色。

这里给大家再讲讲角色和权限的关系。

例如:要查看 scott 具有的角色,可查询 dba_role_privs;

SQL> select * from dba_role_privs where grantee='SCOTT';

//查询 orale 中所有的系统权限,一般是 dba

select * from system_privilege_map order by name;

//查询 oracle 中所有对象权限,一般是 dba

select distinct privilege from dba_tab_privs;

//查询 oracle 中所有的角色,一般是 dba

select * from dba_roles;

//查询数据库的表空间

select tablespace_name from dba_tablespaces;

问题 1:如何查询一个角色包括的权限?

a.一个角色包含的系统权限

select * from dba_sys_privs where grantee='角色名'

另外也可以这样查看:

select * from role_sys_privs where role='角色名'

b.一个角色包含的对象权限

select * from dba_tab_privs where grantee='角色名'

问题 2:oracle 究竟有多少种角色?

SQL> select * from dba_roles;

问题 3:如何查看某个用户,具有什么样的角色?

select * from dba_role_privs where grantee='用户名'

 显示当前用户可以访问的所有数据字典视图。

select * from dict where comments like '%grant%';

 显示当前数据库的全称

select * from global_name;

 其它说明

数据字典记录有 oracle 数据库的所有系统信息。通过查询数据字典可以取得以下系统信息:比如

1.对象定义情况

2.对象占用空间大小

3.列信息

4.约束信息

...

但是因为这些个信息,可以通过 pl/sql developer 工具查询得到,所以这里我就飘过。

 动态性能视图

动态性能视图用于记录当前例程的活动信息,当启动 oracle server 时,系统会建立动态性能视图;当停止 oracle server 时,

系统会删除动态性能视图。 oracle 的所有动态性能视图都是以 v_$开始的,并且 oracle 为每个动态性能视图都提供了相应的同

义词,并且其同义词是以 V$开始的,例如 v_$datafile 的同义词为 v$datafile;动态性能视图的所有者为 sys,一般情况下,

由 dba 或是特权用户来查询动态性能视图。

因为这个在实际中用的较少,所以飞过。

数据字典和动态性能视图<五>的更多相关文章

  1. oracle数据字典和动态性能视图

    数据字典和动态性能视图数据字典是oracle数据库中重要的组成部分,提高了数据库的一些系统信息.(静态信息)动态性能视图记载了例程启动后的信息.(动态信息) 数据字典记录了数据的系统信息,是只读表和动 ...

  2. 十三、oracle 数据字典和动态性能视图

    一.概念数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息.动态性能视图记载了例程启动后的相关信息. 二.数据字典1).数据字典记录了数据库的系统信息,它是只读表和视图的集合 ...

  3. oracle 数据字典和动态性能视图

    一.概念数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息.动态性能视图记载了例程启动后的相关信息. 二.数据字典1).数据字典记录了数据库的系统信息,它是只读表和视图的集合 ...

  4. Oracle_11gR2_概念_第06章_数据字典和动态性能视图_英文词汇

    decode 解码 be intend for  适应 distinguished 显著的,突出的 implied 隐含的 abbreviated     简短的 enabled roles    已 ...

  5. Oracle_高级功能(7) 数据字典视图和动态性能视图

    oracle数据字典 1.概念数据字典是oracle数据库用来存储数据库结构信息的地方.数据字典是用来描述数据库数据的组织方式的,由表和视图组成.数据字典基表是在任何 Oracle 数据库中创建的第一 ...

  6. oracle之二数据字典表和动态性能视图

    数据字典表和动态性能视图 Oracle提供了大量的内部表,它们记录了数据库对象的更改和修正.可以将这些内部表划分为两种主要类型:静态的数据字典表和动态的性能表.这些内部表是由oracle维护的,可以说 ...

  7. oracle 基础知识(七)----动态性能视图

    一,动态性能视图介绍 动态性能视图属于数据字典,系统管理员用户 SYS 可以访问它们.在数据库打开和使用时不断进行更新,而且它们的内容主要与性能有关.虽然这些视图很像普通的数据库表,但它们不允许用户直 ...

  8. DG动态性能视图详解

    V$LOG 显示CONTROLFILE记录的LOG FILE信息. 列名          描述 GROUP#        日志组号 THREAD#       日志线程号 SEQUENCE#    ...

  9. Oracle 中的一些重要V$ 动态性能视图,系统视图和表

    v$database:数据库的信息,如数据库名,创建时间等. v$instance 实例信息,如实例名,启动时间. v$parameter 参数信息,select * from v$parameter ...

随机推荐

  1. Win7 远程桌面 错误代码:5 异常处理(您的远程桌面会话即将结束 此计算机的虚拟内存可能不足。请关闭其他程序,然后重试连接远程计算机。如果问题仍然存在,请联系网络管理员或技术支持。)

    问题表现: 在用windows7 远程桌面连接其他电脑时,出现错误提示对话框—-标题为“严重错误(错误代码:5)”,内容为“您的远程桌面会话即将结束 此计算机的虚拟内存可能不足.请关闭其他程序,然后重 ...

  2. I18N、L10N、G11N

    I18N --是“Internationalization” 的缩写,由于 “Internationalization” 单词较长,所以为了书写简便,通常缩写为“I18N” .中间的 18 代表在首字 ...

  3. 在共享DLL中使用MFC

    使用VS2008,在项目属性中有一项MFC的使用,有三种设置: 1.使用标准Windows库 2.在共享DLL中使用MFC 3.在静态库中使用MFC          第一种顾名思义.        ...

  4. sysbench压力测试工具简介和使用(一)

    sysbench压力测试工具安装和参数介绍 一.sysbench压力测试工具简介: sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据 ...

  5. ORACLE 创建作业JOB例子

    --1.plsql中学习job   --学习job  --建表  create table test_job(para_date date);  commit;    insert into test ...

  6. 55. Set Matrix Zeroes

    Set Matrix Zeroes (Link: https://oj.leetcode.com/problems/set-matrix-zeroes/) Given a m x n matrix, ...

  7. linux 多个python版本的切换

    源码安装新的python版本,我的安装路径: /usr/self/Python3.5.2 修改软链接到你所安装的python版本中: 默认python命令是在/usr/bin/目录下 1 sudo m ...

  8. php接口post提交方法 (改良版)

    $postData = "reqType=2&caller=15088719619&called=15068722845"; $result = send_post ...

  9. NHibernate系列文章七:NHibernate对象状态

    摘要 NHibernate对象持久化 NHibernate对象的三个状态:临时态.持久态.游离态(托管态) NHibernate三状态的相互转化 1. NHibernate对象持久化 NHiberna ...

  10. sqlserver复制报”应用复制的命令时在订阅服务器上找不到该行“解决方法

    最近遇到“应用复制的命令时在订阅服务器上找不到该行”问题,报错如下: 官方给出的建议是重新同步和初始化订阅,当然,这是一种选择,但是对于动辄上百G的生产库,这种方法会消耗大量的资源和时间.可以通过定位 ...