初识数据字典【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 ;

      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/hr
      
      grant select on employees to scott;
      
      conn scott/tiger
      
      SQL> select owner,table_name from all_tables order by ;--employees表将显示出来,因为scott有访问的权限
    3. USER开头的:当前用户自己的数据

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

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

      动态性能视图的内容:

      1. 控制文件的内容

      2. 内存中的数据

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

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

      SQL> shutdown abort
      ORACLE 例程已经关闭。
      SQL> startup nomount
      ORACLE 例程已经启动。 Total System Global Area bytes
      Fixed Size bytes
      Variable Size bytes
      Database Buffers bytes
      Redo Buffers bytes
      SQL> select status from v$instance; STATUS
      ------------------------------------
      STARTED SQL> alter database mount; 数据库已更改。 SQL> select status from v$instance; STATUS
      ------------
      MOUNTED SQL> alter database open; 数据库已更改。 SQL> select status from v$instance; STATUS
      ------------
      OPEN

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

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

      2. 访问控制文件的内容

上一篇:Leetcode: Delete Node in a BST


下一篇:Selenium(Python) ddt读取Excel文件数据驱动