数据字典和动态性能视图<五>

数据字典和动态性能视图

介绍:数据字典是什么

数据字典是 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 或是特权用户来查询动态性能视图。

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

时间: 2024-08-03 20:16:34

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

Oracle的基本操作-数据字典和动态性能视图的介绍

三.数据字典和动态性能视图的介绍 1. 数据库的数据字典 (1) DBA_   全库所有的某种对象的数据字典       只有系统用户才有权限查询 (2) ALL_   当前用户创建的对象 + 其他用户授予当前用户使用的对象       当前用户 (3) USER_  当前用户创建的对象       当前用户 操作实例:解锁一个用户hr并改密码SQL> alter user hr account unlock; User altered. SQL> alter user hr identifi

Oracle数据字典和动态性能视图

Oracle数据字典和动态性能视图,布布扣,bubuko.com

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

一.概念数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息.动态性能视图记载了例程启动后的相关信息. 二.数据字典1).数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户.2).用户只能在数据字典上执行查询操作(select语句),而其维护和修改是由系统自动完成的.3).这里我们谈谈数据字典的组成:数据字典包括数据字典基表和数据字典视图,其中基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表.数据字典视图是基于数据字典基表所建

数据字典和动态性能视图

Built-Indatabase Objects Other objects created with the database: ·Data dictionary ·Performance tables ·PL/SQL packages ·Database event triggers Data Dictionary ·Central toevery Oracle database ·Describes the database and it's objects ·Contains read-

Data Dictionary and Dynamic Performance Views(数据字典和动态性能视图)

Overview of the Data Dictionary Because Oracle Database stores data dictionary data in tables, just like other data, users can query the data with SQL. Contents of the Data Dictionary The data dictionary consists of the following types of objects: Ba

oracle 报警日志、动态性能视图及数据字典

1.查看报警日志 /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log 实时日志:tail -f  /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log 跟踪文件 ADR 2.动态性能视图(v$) 保存在内存中 用来访问 实例 内存结构的不断变化的状态的信息(控制文件+实例) session data wait events memory allocations Runni

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

oracle数据字典 1.概念数据字典是oracle数据库用来存储数据库结构信息的地方.数据字典是用来描述数据库数据的组织方式的,由表和视图组成.数据字典基表是在任何 Oracle 数据库中创建的第一批对象.所有数据库的数据字典表和视图都存储在SYSTEM表空间中.由于当数据库打开时,SYSTEM 表空间始终处于联机状态 ,所以当数据库打开时,数据字典总是可用的.Oracle数据库的SYS用户,拥有数据字典中的所有基表和用户可访问视图.数据字典基表中的数据,对于Oracle 数据库发挥正常功能是

11_Oracle_Admin_数据字典和动态性能表概述

一.数据字典 Data Dictionary 存储的是控制信息:如有多少张表,表的结构等等 Performance tables: 也称为DynamicPerformance tables,即动态性能表,反应了系统的性能特征,是动态的,以表的形式展示,但实际上展示的是内存信息. PL/SQL packages:帮助完成数据库日常管理的程序. Database event triggers:事件触发器,如插入数据时会触发相应的事件. 任何数据库都会有一个SYSTEM tablespace,10g以

数据字典/动态性能视图

SQL> conn hr/hr SQL> desc user_tables SQL> select TABLE_NAME from user_tables; SQL> desc user_views SQL> select VIEW_NAME from user_views; SQL> desc user_indexes SQL> select INDEX_NAME, TABLE_NAME from user_indexes; SQL> conn scott