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

时间:2022-04-14 02:26:59

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

数据字典记录了数据的系统信息,是只读表和动态视图的集合,数据字典的所有者为sys用户,用户只能在数据字典上执行

查询操作,其维护和修改是由系统自动完成的。(可摸不可动)

数据字典的典型应用:
select table_name from user_tables;//查看当前用户自己创建的表的名字
select table_name from all_tables;//显示当前用户可以访问到的数据库中的表
select table_name from dba_tables;//执行这条命令的用户必须有dba权限或者select any table的系统权限

oracle会把用户的信息存放到数据库中:
select username from dba_users;//显示所有用户
select password from dba_users;//显示密码

dba_sys_privs 可以显示用户所具有的系统权限
dba_tab_privs 可以显示用户的对象权限
dba_col_privs 可以显示用户具有的列权限
dba_role_privs 可以显示用户所具有的角色

权限分为系统权限和对象权限,权限的集合成为角色。
oracle系统的角色:
select * from dba_roles;

oracle有多少个系统权限:
select * from system_prvilege_map order by name;

oracle有多少个对象权限:
select distinct privilege from dba_tab_privs;

如何查询一个角色包括的权限:(以connet角色为例)
一个角色包含多少个系统权限:
select * from dba_sys_privs where grantee='CONNECT';
or
select * from role_sys_privs where role='CONNECT';
一个角色包含多少个对象权限:
select * from dba_tab_privs where grantee='CONNECT';

如何查看某个用户包含了哪些角色:
select * from dba_role_privs where grantee='CONNECT';

select * from global_name;//显示当前数据库的全称

动态性能视图用于记录当前例程的活动信息,实际应用较少