简介:数据字典记录了数据库系统的信息,他是只读表和视图的集合,数据字典的所有者是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 通过数据字典查询系统信息的更多相关文章

  1. Oracle常用SQL查询

    一.ORACLE的启动和关闭 1.在单机环境下要想启动或关闭oracle系统必须首先切换到oracle用户,如下: su - oracle a.启动Oracle系统 oracle>svrmgrl ...

  2. ORACLE 常用SQL查询

    一.ORACLE的启动和关闭 1 .在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su  -  oracle a.启动ORACLE系统 oracle > sv ...

  3. oracle 之数据字典屣履造门。

     oracle 之数据字典屣履造门.(更新中)       今天是2013-06-20,哎,写这篇笔记的时候,我发现我是一个非常懒惰的人,这篇文章本该昨天就完成的,想起了钱鹤滩的<明日歌> ...

  4. Oracle执行SQL查询语句的步骤

    Oracle执行SQL查询语句的步骤 如果用户在SQL*Plus下输入了如下查询语句:SELECT * FROM dept: 查询语句的处理主要包括三个过程:编译(parse).执行(execute) ...

  5. Oracle DBA常用查询

    Oracle DBA常用查询 –1. 查询系统所有对象select owner, object_name, object_type, created, last_ddl_time, timestamp ...

  6. <Oracle Database>数据字典

    数据字典 数据字典是由Oracle服务器创建和维护的一组只读的系统表,它存放了有关数据库和数据库对象的信息,Oracle服务器依赖这些信息来管理和维护Oracle数据库. 数据字典分为两大类:一种是基 ...

  7. oracle系统表查询

    oracle查询用户下的所有表 select * from all_tab_comments -- 查询所有用户的表,视图等select * from user_tab_comments -- 查询本 ...

  8. Oracle中分页查询语句

    Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用.O ...

  9. oracle数据库常用查询一

    oracle数据库常用查询一 sqlplus / as sysdba; 或sqlplus sys/密码 as sysdba;两者都是以sys登录.conn scott/tiger@orcl; conn ...

随机推荐

  1. windows在python基础上安装pip

    首先你必须已经安装了python,并且配置好环境 键入pip 复制https://bootstrap.pypa.io/get-pip.py的内容并创建get-pip.py文件(该文件的内容就是刚刚复制 ...

  2. 使用jasmine-node 进行NodeJs单元测试 环境搭建

    关于jasmine就不多说了,关于语法请参加官方文档.http://pivotal.github.io/jasmine/ 关于NodeJS的单元测试框架有多种,如果要在NodeJS中使用jasmine ...

  3. C# 单例模式(Singleton)

    摘要 在我们日常的工作中经常需要在应用程序中保持一个唯一的实例,如:IO处理,数据库操作等,由于这些对象都要占用重要的系统资源,所以我们必须限制这些实例的创建或始终使用一个公用的实例,这就是我们今天要 ...

  4. 关于C#里面SQLite读取数据的操作

    做C#朋友的一个获取DataSet函数,对C#不熟,整理整理,了解怎么用 //挂载表格时候用 public static DataSet Query(string SQLString) { using ...

  5. Android-Intent意图传递数据

    Intent意图传递基本数据类型: OuterActivity 激活启动 OneActivity 用Intent携带基本数据类型: /** * Intent意图传递数据到另外一个Activity */ ...

  6. ArcGIS应用——使用Python为图斑连续编号及扩展应用

    为图斑连续编号 在GIS应用中,为图斑连续编号(编号递增)是一项常见的需求,利用ArcGIS,可以方便的实现. Python脚本如下: rec=0 def autoIncrement(): globa ...

  7. 设置ArcGIS地图文档的数据源为相对路径

    ArcGIS中默认情况下,地图文档的数据源路径为绝对路径.在这种情况下,如果移动/拷贝地图文档及其数据源后,再次打开地图文档时,就看不到具体图层数据了(图层列表中图层前有“!”图标,并且无法查看图层数 ...

  8. Verilog MIPS32 CPU(三)-- ALU

    Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog M ...

  9. Discuz!和jQuery冲突的解决办法

    Common.js是官方自带的,我没改过它,所以不可能出错,所以问题就应该是两者冲突了.导致的结果我也发现了,前台的DIY功能不能用了.   我还花了很多时间在那里研究冲突的地方,后来还是没能解决.之 ...

  10. ecahrt 扇形(半扇形)

    var data = [{ "name": "1", "value": 54 }, { "name": "2& ...