首页 > 代码库 > 初识数据字典【weber出品必属精品】

初识数据字典【weber出品必属精品】

  1. 数据字典结构

    有两部分组成:

    1. 基表:以$结尾的系统表,在创建数据库的时候,oracle自动创建的表

    2. 用户可以访问的视图

  2.  数据字典的种类

    DICTIONARY:简称DICT,所有的数据字典,都可以通过DICT查看

    1.  DBA开头的:sys用户所拥有的,普通用户默认不能访问,只有sys授权,才能访问,存储了全部的相关信息
      查看DBA开头的数据字典:
      select table_name from dict where table_name like DBA%;

      TABLE_NAME
      ------------------------------
      DBA_ROLES
      DBA_PROFILES
      DBA_CATALOG
      DBA_CLUSTERS
      DBA_CLU_COLUMNS
      DBA_COL_COMMENTS
      DBA_COL_PRIVS
      DBA_ENCRYPTED_COLUMNS

      。。。。。。。。

      525 rows selected.

      SQL> select owner,table_name from dba_tables where owner=‘SCOTT‘;

      OWNER TABLE_NAME
      ------------------------------ ------------------------------
      SCOTT DEPT
      SCOTT EMP
      SCOTT BONUS
      SCOTT SALGRADE

    2. ALL开头的:当前用户可以访问的数据,可以分为两部分数据:一部分是当前用户自己的数据,一部分是其他用户的数据,但是当前用户有访问的权限,普通用户可以访问
      比如:ALL_TABLES:查看当前用户可以访问的表
      SQL> select owner,table_name from all_tables order by 1;

      OWNER TABLE_NAME
      ------------------------------ ------------------------------
      WMSYS AQ$_WM$EVENT_QUEUE_TABLE_S
      WMSYS AQ$_WM$EVENT_QUEUE_TABLE_T
      WMSYS AQ$_WM$EVENT_QUEUE_TABLE_H
      WMSYS SYS_IOT_OVER_10282

      。。。。。。。。。。。。。。。。。。。。。。。

      1576 rows selected.

      conn hr/hrgrant select on employees to scott;conn scott/tigerSQL> select owner,table_name from all_tables order by 1;--employees表将显示出来,因为scott有访问的权限
    3. USER开头的:当前用户自己的数据

      比如USER_TABLES:当前用户自己的表

      SQL> conn scott/tigerConnected.SQL> select user,table_name from user_tables ;USER                   TABLE_NAME------------------------------ ------------------------------SCOTT                   DEPTSCOTT                   EMPSCOTT                   BONUSSCOTT                   SALGRADE
    4.  V$开头的:动态性能视图
      v$fixed_table:可以查看数据库中所有v$开头的动态性能视图
      USER is "SYS"SQL> desc v$fixed_table Name                                   Null?    Type ----------------------------------------------------------------- -------- -------------------------------------------- NAME                                        VARCHAR2(30) OBJECT_ID                                    NUMBER TYPE                                        VARCHAR2(5) TABLE_NUM                                    NUMBER

      动态性能视图的内容:

      1. 控制文件的内容

      2. 内存中的数据

      3. 动态性能视图反映出数据库的性能

      4. 由于内存中的数据时刻在改变,所以动态性能视图中的数据时随着内存和数据库的状态的改变而改变

      SQL> shutdown abortORACLE 例程已经关闭。SQL> startup nomountORACLE 例程已经启动。Total System Global Area  608174080 bytesFixed Size                  1275128 bytesVariable Size             184552200 bytesDatabase Buffers          419430400 bytesRedo Buffers                2916352 bytesSQL> select status from v$instance;STATUS------------------------------------STARTEDSQL> alter database mount;数据库已更改。SQL> select status from v$instance;STATUS------------MOUNTEDSQL> alter database open;数据库已更改。SQL> select status from v$instance;STATUS------------OPEN

      什么时候访问动态性能视图?

      1. 当数据库出现性能问题的时候

      2. 访问控制文件的内容 

初识数据字典【weber出品必属精品】