`
eric.zhang
  • 浏览: 127128 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle学习笔记五(数据字典及用户管理)

阅读更多

数据字典:是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息

方案:基表跟动态视图

数据字典记录了数据库的系统信息,它是只读表和视图的集合,
数据字典的所有者为SYS用户,用户只能在数据字典上执行
查询操作,而其维护和修改是由系统自动完成的

数据字包括数据字典基表和数据字典视图,其中基表存储数据库的
基本信息,普通用户不能直接访问数据字典的基表,
数据字典视图是基于数据字典基表所建立的视图,
普通用户可以通过查询数据字典视图取得系统信息
数据字典视图主要包括:user_xxx,all_xxx,dba_xx三种类型


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用户具有什么角色:
select * from dba_role_privs where grantee='scott';

角色:包含多个权限,给用户分配角色,

怎么查询一个角色包含的权限?
查询某个角色包括哪些系统权限:
select * from dba_sys_privs where grantee='CONNECT'
select * from dba_sys_privs where grantee='DBA
或者 select * from role_sys_privs where role='CONNECT''
查询某个角色包括的对象权限:
select * from dba_tab_privs where grantee='角色名'
select * from dba_tab_privs where grantee='CONNECT'


查询oracle中所有的系统权限,一般是dba
select * from system_privilege_map order by name;
查询oralce中所有的角色? 一般是DBA
select * from dba_roles
查询oracle中所有对象权限,一般是DBA,
select distinct privilege from dba_tab_privs;
查询数据库的表空间
select tablespace_name from dba_tablespaces;

对象权限:针对对象而言
数据权限:针对系统而言

如果查看某个用户具有什么样的角色?
select * from dba_role_privs where grantee='用户名';
如:select * from dba_role_privs where grantee='scott'

显示当前用户可以访问的所有数据字典视图:
select * from dict where comments like '%grant%';

显示当前数据库的全称:
select * from global_name;
分享到:
评论

相关推荐

    Oracle学习笔记.pdf

    以下是对Oracle学习笔记中提到的一些关键知识点的详细解释: 1. **SQL执行顺序**: SQL语句的执行顺序是:`FROM` -> `WHERE` -> `SELECT` -> `GROUP BY` -> `HAVING` -> `ORDER BY`。首先从`FROM`子句开始,确定...

    oracle学习笔记整理

    以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...

    ORACLE经典学习笔记

    ### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...

    Oracle9i学习笔记.doc

    总结来说,Oracle9i的学习笔记涵盖了数据库的基本创建与维护,数据字典的管理和查询,以及数据库状态控制和参数调整,这些都是数据库管理员必备的基础知识。虽然Oracle9i版本较为陈旧,但其核心概念和操作在新的...

    老相Oracle DBA学习笔记

    Oracle数据库管理员(DBA)学习笔记详细记录了Oracle数据库中SQL语句执行的过程,包括用户连接、服务器进程分配、PGA空间、SQL解析、执行计划缓存、shared pool、buffer cache、逻辑IO和物理IO、重做日志等关键知识...

    Oracle_认证学习笔记

    Oracle 认证学习笔记 本文档主要讲述 Oracle 认证学习笔记,涵盖了 Oracle 数据库体系结构基础、系统全局区(SGA)、实例(Instance)、Oracle 存储器结构等知识点。 一、 Oracle 数据库体系结构基础 Oracle ...

    oracle学习笔记.doc

    本文将基于“Oracle学习笔记”进行深入解析,主要涵盖Oracle的基础概念、数据文件管理、SGA组件、数据库启动与关闭、用户管理、SQL*Plus命令、视图以及同义词。 1. **数据文件管理**: - 数据文件(Datafile)是...

    达内-ORACLE学习笔记

    ### Oracle数据库中常用的数据类型 在Oracle数据库中,数据类型的选择对于存储效率和查询性能至关...通过以上内容的学习,可以对Oracle数据库有一个全面而深入的理解,为高效地管理和利用数据库资源打下坚实的基础。

    ORACLE学习笔记

    这篇ORACLE学习笔记涵盖了数据库管理和SQL语言的基础知识,让我们一一深入探讨。 1. 数据字典:Oracle的数据字典是一系列视图和表,存储着关于数据库对象、权限和其他元数据的信息。例如,`dba_tablespaces`用于...

    ORACLE学习笔记.pdf

    3. **SGA (System Global Area)**: SGA是Oracle数据库实例的一部分,存储数据库的共享内存结构,包括SQL和PL/SQL代码、数据字典、缓冲区等。 4. **实例**: 实例是Oracle数据库的运行时环境,由SGA和后台进程组成,...

    oracle 学习笔记.doc

    在Oracle环境中,用户表(user tables)和系统表(system table,即数据字典)共同作用,用户对用户表的DDL(Data Definition Language)操作会直接影响到系统表。 在SQL*Plus中,`desc`命令用于查看表结构,而`...

    Oracle 10g sql 学习笔记

    Oracle 10g SQL 学习笔记涵盖了Oracle数据库的基础知识,包括版本信息、数据库系统特点、关系型数据库结构、SQL语言、操作环境以及常见的数据库操作。以下是对这些知识点的详细说明: 1. **Oracle 9i基础知识**: ...

    oracle学习笔记-基础

    在Oracle学习中,了解数据库的启动、关闭以及其基本操作是非常重要的基础知识。以下是对Oracle数据库启动、关闭及体系结构的详细解释: 1. **Oracle数据库启动与关闭** - **启动数据库**: - 使用`sqlplus`连接...

    Oracle学习笔记

    Oracle数据库是企业级的关系...总结来说,这篇Oracle学习笔记涵盖了创建数据库、管理数据字典、权限控制、时间区域设置、控制文件操作以及数据库状态管理等多个核心概念,对于初学者和有经验的DBA都是宝贵的参考资料。

    精通oracle 10g系统管理学习笔记

    在深入探讨Oracle 10g系统管理之前,我们首先要理解Oracle数据库的基本架构。Oracle数据库是世界上最广泛使用的...通过深入学习和实践,可以成为一个专业的Oracle 10g系统管理员,为企业的数据管理提供强有力的支持。

    oracle上课学习笔记

    Oracle数据库是世界上最广泛使用的数据库管理系统之一,用于...以上就是Oracle数据库学习笔记中涉及的主要知识点,对于理解和操作Oracle数据库至关重要。深入理解和掌握这些概念,将有助于你成为更优秀的数据库管理员。

Global site tag (gtag.js) - Google Analytics