Oracle 通过数据字典查询系统信息
简介:数据字典记录了数据库系统的信息,他是只读表和视图的集合,数据字典的所有者是sys用户。注:用户只能在数据字典上执行查询操作,而维护和修改是由系统自己完成的。
1、数据字典的组成:数据字典包括数据字典基表和数据字典视图
数据字典基表:基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表
数据字典视图:数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过访问该视图,来获取系统的信息
数据字典视图主要包括下面三种类型:
user_XXX,all_XXX,dba_XXX三种类型
2、数据字典对象介绍
2.1、user_tables
用户显示当前用户所拥有的所有表,他返回当前用户对应的方案的所有的表,代码如下:
select * from user_tables
此表不全
一共有4张左右
2.2、all_tables
用户显示当前用户可以访问的表(可能会存在别的用户的表具体参考Oracle 系统常用命令 6.2~6.3),代码如下:
select * from all_tables;
一共有100张左右
2.3、dba_tables
它会显示所有方案拥有的数据库表,但是查询这种数据库字典视图,要求用户必须拥有dba或者是select any table的系统权限
system用户登录
select * from dba_tables;
一共有2800张左右的表
2.4、dba_users
它会显示当前数据库的所有用户的详细信息,查询该表必须具有dba或者select any table的权限
system用户登录
select * from dba_users;
大约有30种用户,一般情况下
2.5、dba_sys_privs
它可以显示用户具有的系统权限,查询该表必须具有dba或者select any table的权限
system用户登录
select * from dba_sys_privs ;
system大约有800种系统权限
2.6、dba_tab_privs
它可以显示用户的对象权限,查询该表必须具有dba或者select any table的权限
system用户登录
select * from dba_tab_privs;
system所拥有的对象权限大概有4万种
2.7、dba_role_privs
它可以显示用户所具有的角色,查询该表必须具有dba或者select any table的权限
system用户登录
select * from dba_role_privs
system角色大概有131种角色
例:查询scott用户所具有的权限,这个的查询思路和普通的权限系统一致
1、首先查询scott的角色信息
select * from dba_role_privs where grantee='SCOTT'

2、查询
角色下有什么系统权限和对象权限
select * from dba_sys_privs where grantee='RESOURCE'
UNION ALL
select * from dba_sys_privs where grantee='CONNECT';

scott所拥有的所有的对象权限和系统权限
2.8、

2.9、查询当前数据库的全称
select * from global_name
当前数据库名为ORCL
Oracle 通过数据字典查询系统信息的更多相关文章
- Oracle常用SQL查询
一.ORACLE的启动和关闭 1.在单机环境下要想启动或关闭oracle系统必须首先切换到oracle用户,如下: su - oracle a.启动Oracle系统 oracle>svrmgrl ...
- ORACLE 常用SQL查询
一.ORACLE的启动和关闭 1 .在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle > sv ...
- oracle 之数据字典屣履造门。
oracle 之数据字典屣履造门.(更新中) 今天是2013-06-20,哎,写这篇笔记的时候,我发现我是一个非常懒惰的人,这篇文章本该昨天就完成的,想起了钱鹤滩的<明日歌> ...
- Oracle执行SQL查询语句的步骤
Oracle执行SQL查询语句的步骤 如果用户在SQL*Plus下输入了如下查询语句:SELECT * FROM dept: 查询语句的处理主要包括三个过程:编译(parse).执行(execute) ...
- Oracle DBA常用查询
Oracle DBA常用查询 –1. 查询系统所有对象select owner, object_name, object_type, created, last_ddl_time, timestamp ...
- <Oracle Database>数据字典
数据字典 数据字典是由Oracle服务器创建和维护的一组只读的系统表,它存放了有关数据库和数据库对象的信息,Oracle服务器依赖这些信息来管理和维护Oracle数据库. 数据字典分为两大类:一种是基 ...
- oracle系统表查询
oracle查询用户下的所有表 select * from all_tab_comments -- 查询所有用户的表,视图等select * from user_tab_comments -- 查询本 ...
- Oracle中分页查询语句
Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用.O ...
- oracle数据库常用查询一
oracle数据库常用查询一 sqlplus / as sysdba; 或sqlplus sys/密码 as sysdba;两者都是以sys登录.conn scott/tiger@orcl; conn ...
随机推荐
- 编写高质量代码改善C#程序的157个建议——建议62:避免嵌套异常
建议62:避免嵌套异常 应该允许异常在调用堆栈上往上传,不要过多的使用catch,然后再throw.过多的使用catch会带来两个问题: 1)代码更多了.这看上去好像你根本不知道怎么处理异常,所以你总 ...
- [你必须知道的异步编程]——异步编程模型(APM)
本专题概要: 引言 你知道APM吗? 你想知道如何使用异步编程模型编写代码吗? 使用委托也可以实现异步编程,你知道否? 小结 一.引言 在前面的C#基础知识系列中 介绍了从C#1.0——C#4.0中一 ...
- Atcoder 2566 3N Numbers(优先队列优化DP)
問題文N を 1 以上の整数とします. 長さ 3N の数列 a=(a1,a2,…,a3N) があります. すぬけ君は.a からちょうど N 個の要素を取り除き.残った 2N 個の要素を元の順序で並べ. ...
- c# 与 Mysql 的通讯方式总结
两种开发方式 1.使用 vs 自带的可视化工具,不推荐. 在 vs 的项目中添加 ‘数据集’,然后通过可视化的工具添加数据库为数据源,默认可添加 SQL Server 和 Oracle 等,添加 My ...
- CentOS下Docker与.netcore(三)之 三剑客之一Docker-Compose
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...
- Centos故障01:Docker容器丢失
问题 一测试环境,配置及应用如下: [Centos ~]# rpm -q centos-release centos-release-7-6.1810.2.el7.centos.x86_64 应用: ...
- MongoDB高级知识-易扩展
MongoDB高级知识-易扩展 应用程序数据集的大小正在以不可思议的速度增长.随着可用宽带的增长和存储器价格的下跌,即使是一个小规模的应用程序,需要存储的数据也可能大的惊人,甚至超出了很多数据库的处理 ...
- c# 委托与事件的区别
委托与事件的区别 委托和事件没有可比性,因为委托是数据类型,事件是对象(可以理解为对委托变量的封装.),下面说的是委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别.事件的内部 ...
- [Perl][文件操作]判断文件是否为符号链接(Unicode路径)
Win32API::File 判断文件/文件夹是否为符号链接 Win32::Unicode 好像无法做这方面的判断,只能判断是否为目录.文件.文件是否存在. Win32API::File 则支持 Ge ...
- Python扫描邮件主题,并打印
import imaplib import email from email.header import decode_header import datetime if __name__ == '_ ...