oracle数据字典(笔记)

狂风中的少年 提交于 2020-04-03 04:19:11

 

 

数据字典是oracle数据库中最重要的组成部分,它提供了一些系统信息
动态性能视图记载了例程启动后的相关信息

数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户
用户只能在数据字典上执行查询操作(select 语句),而其维护和修改是由系统自动完成的
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、、、方案所对应的数据库表
  用户名,权限,角色
查询 dba_users 显示所有数据库用户的详细信息
dba_sys_privs 显示用户具有的系统权限
dba_tab_privs 可以显示用户具有的对象权限
dba_col_privs可以显示用户具有的列权限
dba_role_privs
查询系统权限
select * from system_privilege_map order by name;
查询所有角色
select * from dba_roles
查询所有对象权限
select distinct privilege from dba_tab_privs;
查询数据库的表空间
select tablespace_name from dba_tablespaces;

如何查询一个角色包括的权限?
a.一个角色包含的系统权限
select * from dba_sys_privs where grantee='角色名'
也可这样查看
select * from role_sys_privs where role='角色名'
b.一个角色包含的对象权限
select * from dba_tab_privs where grantee='角色名'
oracle究竟有多少中角色?
select * from dba_roles;
如何查看某个用户,具有什么角色?
select * from dba_role_privs where grantee='用户名'(大写)
显示当前用户可以访问的所有数据字典视图
select * from dict where comments like '%grant'
显示当前数据库的全称
select * from global_name 
其他说明
数据字典记录有oracle数据库的所有系统信息,铜鼓查询数据字典可以获得以下系统信息:biru
(1)对象定义情况
(2)对象占用空间大小
(3)列信息
(4)约束信息
。。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!