`
Luob.
  • 浏览: 1591914 次
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle 数据库字典 视图 基表

阅读更多
1.数据字典 (存放在sys方案里面)
1.是oracle数据库中重要的组成部,提供了数据库的一些系统信息。
2.它是只读表(数据字典基表)和视图(数据字典视图)的集合,数据库字典的所有者为sys用户。
3.用户只能在数据库字典上执行查询的操作,而其他的维护和修改都是由系统自动完成的

2.数据字典基表 
1.数据字典基表存储数据库的基本信息
2.只有Oracle才能写和读取这些表。用户很少能够直接访问这些表,因为它们是非标准的,大多数数据以加密格式存储。
3.但是,用户可访问视图:总结和显示数据字典基表的信息的视图。这些视图将基表的信息解密成有用的信息,如用户或者表名。大多数用户能够访问这些视图,但不能访问基表

3.数据字典视图
1.数据字典视图是基于数据字典基表建立的视图
2.普通用户可以通过查询系统数据字典视图获取系统信息
3.数据字典视图主要包括
    A.静态数据字典视图:user_xxx,all_xxx,dba_xxx 三种类型
    B.动态数据字典视图:动态性能视图
4.常用静态数据库字典视图
   dba_data_files:通常用来查询关于数据库文件的信息    
   dba_db_links:包括数据库中的所有数据库链路,也就是databaselinks。 

   dba_extents:数据库中所有分区的信息                      
   dba_free_space:所有表空间中的自由分区 

   dba_indexs:关于数据库中所有索引的描述                 
   dba_ind_columns:在所有表及聚集上压缩索引的列 

   dba_objects:数据库中所有的对象                             
   dba_rollback_segs:回滚段的描述 

   dba_segments:所有数据库段分段的存储空间             
   dba_synonyms:关于同义词的信息查询 

   dba_tables:数据库中所有数据表的描述                      
   dba_tabespaces:关于表空间的信息 

   dba_tab_columns:所有表描述、视图以及聚集的列      
   dba_tab_grants/privs:对象所授予的权限 
   dba_ts_quotas:所有用户表空间限额                         
   dba_users:关于数据的所有用户的信息 
   dba_views:数据库中所有视图的文本 

4.动态性能视图
1.记载了数据库例程启动后的相关信息
2.当启动oracle service时 系统会建立动态性能试图
3.当停止oracle service的时候,系统会删除动态性能视图 
4.ORACLE 的所有动态性能视图都是以 v_$开始的,并且oracle为每个动态性能视图都提供了相应的同义词,并且同义词都是以V$开始的 例如 v_$datafile 的同义词是v$datafile;
5. 动态性能的所有者是sys,一般情况下,由dba和特权用户来查询动态性能视图。
6.常用动态性能视图  
    v$thread:从控制文件中获取的线程的信息; 
    v$tablespace:从控制文件中获取的表空间的信息;
    v$spparameter:显示SPFILE文件中的参数信息,如果SPFILE没有被用来启动实例,则视图中的所有ISSPECIFIED列将会是FALSE; 
    v$sga:显示SGA的信息;
    v$instance:显示当前实例的状态; 
    v$controlfile:显示控制文件列表;  
    v$database:从控制文件中获取的数据库的信息;
    v$datafile:数据库使用的数据文件信息                    
    v$librarycache:共享池中SQL语句的管理信息 
    v$lock:通过访问数据库会话,设置对象锁的所有信息  
    v$log:从控制文件中提取有关重做日志组的信息 
    v$logfile有关实例重置日志组文件名及其位置的信息     
    v$parameter:初始化参数文件中所有项的值 
    v$process:当前进程的信息                                  
    v$rollname:回滚段信息  
    v$rollstat:联机回滚段统计信息                              
    v$rowcache:内存中数据字典活动/性能信息 
    v$session:有关会话的信息                                     
    v$sesstat:在v$session前会话的统计信息  
    v$sqlarea:共享池中使用当前光标的统计信息,光标是一块内存区域,有OracSQL语句时打开。 
    v$statname:在v$sesstat个统计的含义    
    v$sysstat:基于当前操作会话进行的系统统计 

5.数据库不同状态的时候视图的变化
1.动态性能视图一般来说,大部分用户是不能够访问的,特别是数据库系统的终端用户。一般情况下,只有数据库管理员角色的用户才能够访问。而且,当数据库其状态不同时,可以访问的数据字典动态性能视图也不同
数据库不同状态:
A:Nomount状态时 
  当我们连接到数据库服务器,启动某个例程的时候,数据库本身还没有被加载,此时,就叫做Nomount状态。在这个状态下,即使是数据库管理员,其可以访问的数据字典动态性能视图也是非常有限的。当数据库某个例程启动之后,数据库会打开某些参数文件,并且会在内存中分配SGA区并启动相关的后台进程。由于此时没有加载数据库,所以,数据库管理员之能够访问从SGA区获得信息的动态性能视图。
B:Mount状态时
    当我们去加载某个数据库的时候,Oracle会打开其参数文件中指定的控制文件,以实现加载数据库的过程。此时,数据库管理员访问的数据字典性能视图就会多一点,除了可以访问从SGA区获得信息的动态性能视图,还可以访问从控制文件中获得信息的动态性能视图。也就是说,当数据库出于Mount状态时,其动态性能数据视图的数据来源有两个部分,一是来自于SGA区的,二是来自于控制文件中的
C:Open状态时
    当数据库打开的时候,数据库系统会根据控制文件中所定义的信息,打开所有的数据文件以及对应的重做日至文件。这个时候,我们数据库管理员可以访问的动态性能视图就包括三个部分,一是来自与SGA区的信息;二是来自于控制文件中的信息,三是Oracle数据库性能的相关动态性能视图

6.举例:查询用户自己拥有多少张表(自己的表)
1.select table_name from user_tables //查询权限属于自己的表

7.查询当前用户可以访问的所有表 (其中 有别人授权的表)
select table_name from all_tables; //查询当前用户可以访问的所有表 (别人授权访问的表

8.显示所有方案拥有的数据库表
select table_name from dba_tables;//但是查询这种数据库字典视图,要求用户     必须用dba角色和select any table 系统权限

9.查询数据库中所有用户的详细信息
select * from dba_users;

10.查询表空间
select tablespace_name from dba_tablespaces;

11.显示当前用户可以查看的所有数据字典视图
select * from dict where comments like ‘%grant%’

12.显示当前数据库的全称
select * from global_name;

13.所以上面的查询结果中数量是 dba_tables > all_tables > user_tables;
14.oracle用户所拥有的权限和角色都存放在数据库字典中


5
1
分享到:
评论

相关推荐

    ORACLE数据字典

    ORACLE 数据字典是 Oracle 数据库管理和展现数据库系统信息和状态信息的工具,是一系列基表、基于这些基表而衍生的数据字典视图以及存在于系统内存中的动态性能视图的集合。 数据字典概念:数据字典是 Oracle ...

    Oracle数据库基础题库含答案.doc

    5. 数据库字典视图 ALL_*视图只包含当前用户拥有的数据库对象信息。 知识点:ALL_*视图是 Oracle 数据库的系统视图,提供了当前用户拥有的数据库对象信息,例如表、索引、视图等。 6. 数据字典中的内容都被保存在 ...

    ORACLE数据库管理基础5.pptx

    6. 基表和数据字典视图:基表存储数据库说明,由CREATE DATABASE命令创建,而数据字典视图是对基表信息的简化,通过公共同义词访问,由catalog.sql脚本创建。 7. 访问数据字典:用户可以通过SELECT语句查询数据字典...

    ORACLE数据库管理基础5.ppt

    2. 数据字典视图 - `USER_XXX` 视图:针对当前用户的对象信息,提供关于用户所拥有的对象的基本信息。 - `ALL_XXX` 视图:任何用户都可以访问,显示数据库中所有用户对象的基本信息。 - `DBA_XXX` 视图:只有具有...

    Oracle 中的视图详解.pdf

    在Oracle数据库中,视图是一种非常重要的概念,它实质上是一条预定义的SQL查询语句,用于展示一个或多个表(或视图)中的数据。视图可以被视为一个虚拟的表,它的数据是在运行时动态从基表中获取的。任何对视图所做...

    Oracle数据字典参考

    常见的数据字典视图包括: - **ALL_* 视图**:显示当前用户可以看到的所有对象的信息。 - **DBA_* 视图**:显示数据库中的所有对象信息,通常只有 DBA 才有访问权限。 - **USER_* 视图**:显示当前用户的对象信息。 ...

    Oracle数据库应用中的可更新视图设计.pdf

    Oracle数据库在许多业务场景中都有着广泛的应用,其中可更新视图设计是数据库管理的一个关键方面。视图,作为从一个或多个基表中导出的虚拟表,是数据库开发中常用的数据访问工具。它并不实际存储数据,而是在数据...

    ORACLE数据字典及介绍

    数据字典基表包含了原始信息,而数据字典视图则是基于这些基表创建的,提供了更易于使用的接口。数据字典索引则提高了对数据字典信息的检索速度。 Oracle数据字典的主要用途包括: 1. **数据库对象信息**:你可以...

    Oracle数据字典.pdf )

    除了上述静态数据字典视图之外,Oracle 还提供了一系列动态性能视图,用于实时监控数据库的运行状态和性能指标。这些视图对于诊断问题和优化数据库性能非常有用: - **V$FIXED_TABLE**:列出当前版本的固定对象的...

    Oracle数据库基础知识

    - 列出了常用的Oracle数据字典和视图,如`dba_tablespaces`、`dba_data_files`等。 #### 第6章 SQL语言运算符与函数 - 提供了Oracle SQL语言中的各种运算符和函数的列表,包括字符函数、数值函数、日期函数等。 ...

    数据字典和动态性能视图

    用户通常通过查询数据字典视图来获取所需信息,而不是直接访问基表。数据字典视图分为三类:user_xxx,all_xxx,以及dba_xxx。 1. user_xxx视图显示与当前用户相关的对象信息,如`user_tables`,它列出当前用户拥有...

    中兴公司ORACLE数据库培训

    Oracle数据库中的数据字典包括内部RDBMS表、数据字典表、动态性能视图和数据字典视图。 #### 第7章 管理数据库存储 - **Oracle 数据库结构**: 包括数据文件、重做日志文件、控制文件等。 - **Oracle 块**: 是最小...

    (完整word版)oracle数据库期末考试试题及答案.doc

    2. 数据字典:数据字典是Oracle用于存储关于数据库本身信息的特殊表和视图,如DBA模式下的数据字典视图。 3. 默认表空间:创建用户时,如果没有指定DEFAULT TABLESPACE,Oracle会将SYSTEM表空间分配给新用户作为...

    中南大学oracle数据库期末考试题及答案.doc

    2. **数据字典**:数据库中的数据字典由Oracle系统用户SYS所拥有,用于存储关于数据库对象和权限的信息。选项C的SYSTEM用户通常用于创建和管理数据库用户,而非数据字典。 3. **默认表空间**:在创建用户时,如果...

    ORACLE数据库期末考试题目及答案.docx

    22. `DBA_SOURCE`数据字典视图包含存储过程的源代码文本。 以上就是Oracle数据库期末考试题目中涵盖的关键知识点的详细解析,这些内容涵盖了数据库管理、SQL编程和数据库设计的基础知识,对于理解和操作Oracle...

    oracle数据库期末考试题及答案.doc

    2. 数据字典是存储在数据库中的特殊表和视图,用于记录数据库的元数据,如用户、表、索引等信息。在Oracle中,数据字典通常存储在SYS模式下。 3. 创建用户时,如果没有指定DEFAULT TABLESPACE,Oracle会将默认表...

    Oracle实例与管理数据库操作.pptx

    基表是指存储数据字典信息的基本表,数据字典视图是指基于基表的视图,可以分类为不同的视图,例如:DBA_TABLES、DBA_INDEXES、DBA_VIEWS等。 Oracle实例与管理数据库操作是Oracle数据库管理系统的核心内容,包括...

Global site tag (gtag.js) - Google Analytics