Oracle的数据库管理(二) 之数据字典

简介: 数据字典:oracle数据库中最重要的组成部分,提供了数据库的一些系统信息。动态性能视图记载了历程启动后的相关信息。数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者sys用户。

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

动态性能视图记载了历程启动后的相关信息。


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

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

user_table:

用于显示当前用户所拥有的所有表,它只返回用户所对应的方案的所有表

select   table_name  from   user_tables;

all_tables:用于显示当前用户可以访问的所有表。他不仅会返回当前用户方案的所有表,还会返回当前用户可以访问的其它方案的表;

  比如:select   table_name  from  all_tables;


dba_tables

它会显示所有方案拥有的数据库表,但是查询这种数据库字典视图,要求用户必须是dba角色或是有select  any table系统权限。system,sys,scott    等  方案所对应的的数据库表。



用户、权限、角色

在建立用户时,oracle会把用户信息存放在数据字典中,当给用户授予权限或是角色时,oracle会将权限和角色的信息存放到数据字典中。

通过查询dba_users可以显示所有的数据库用户的详细信息;

通过数据字典视图dba_sys_privs,可以显示用户具有的系统权限 ;

通过数据字典视图dba_tab_privs,可以显示用户具有的对象权限 ;

通过数据字典视图dba_col_privs,可以显示用户具有的列权限 ;

通过数据字典视图dba_role_privs,可以显示用户具有的角色 ;

   查询系统权限,一般是dba:

SQL> select * from   system_privilege_map   order  by  name ;


查询oracle中所有的角色,一般是dba:

SQL> select * from   dba_roles;

查询oracle中的所有的对象权限 一般是dba:

SQL> select  distinct  privilege  from dba_tab_privs;

查看数据库的表空间:

SQL> select tablespace_name from  dba_tablespaces;



问题:

?查询某个用户具有怎么样的角色

select  *  from  dba_role_privs  where  grantee = '用户名'

?查询某个角色包括哪些系统权限

select  * from  dba_sys_privs  where  grantee='DBA'

或者是,select  * from  role_sys_privs   where  role = 'DBA'

? 查看某个角色包括的对象权限

select * from  dba_tab_privs    where grantee ='角色名'

1、 ?如何查询一个角色包括的权限。

a.一个角色包含的系统权限

b.一个角色包含的对象权限

2、oracle究竟有多少种角色?

select  *  from  dba_roles;

3、查看某个用户,具有什么样的角色?

select   *  from  dba_role_privs where  grantee='scott'


显示当前用户可以访问的所有数据字典视图;

select  * from  dict    where  comments  like  '%grant%'



显示当前数据库的全称

select  * from  global_name 


其他说明

数据字典记录有oracle数据库的所有系统信息,通过查询数据字典可以去的下列系统信息:比如

(1)对象定义情况

(2)对象占用空间大小

(3)列信息

(4)约束信息


动态视图

图3图3

相关文章
|
5月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
477 93
|
4月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
275 0
|
7月前
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
5月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
6月前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
5月前
|
人工智能 Java 关系型数据库
使用数据连接池进行数据库操作
使用数据连接池进行数据库操作
156 11
|
5月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
401 8
|
7月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
370 11
|
6月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL数据库的WAL日志与数据写入的过程
PostgreSQL中的WAL(预写日志)是保证数据完整性的关键技术。在数据修改前,系统会先将日志写入WAL,确保宕机时可通过日志恢复数据。它减少了磁盘I/O,提升了性能,并支持手动切换日志文件。WAL文件默认存储在pg_wal目录下,采用16进制命名规则。此外,PostgreSQL提供pg_waldump工具解析日志内容。
599 0

热门文章

最新文章

推荐镜像

更多