• oracle 第06章 数据字典


    2016-04-20(更新)

    2015-10-13

    目录

    01、用户
    02、权限
    03、数据文件
    04、表空间
    05、表
    06、分区表
    07、列
    08、表约束
    09、列约束
    10、索引
    11、分区索引
    12、视图
    13、序列号
    14、同义词
    15、库连接
    16、过程、函数、包
    17、触发器
    18、计划任务

    01、用户

    SELECT username, user_id, account_status, created
      FROM dba_users
     ORDER BY account_status DESC;

    02、权限

    SELECT b.username, b.user_id, a.privilege, a.admin_option
      FROM dba_sys_privs a,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
             ORDER BY account_status DESC) b
     WHERE a.grantee = b.username
     ORDER BY grantee;

    03、数据文件

    SELECT file_id,
           file_name,
           tablespace_name,
           bytes,
           user_bytes,
           maxbytes,
           autoextensible,
           status,
           online_status
      FROM dba_data_files
     ORDER BY tablespace_name, file_name ASC;

    04、表空间

    SELECT tablespace_name, status, contents, logging
      FROM dba_tablespaces
     ORDER BY tablespace_name ASC;
    --表空间使用率
    SELECT SYSDATE,
           a.tablespace_name,
           ROUND(total / 1024 / 1024 / 1024, 0) || 'G' total,
           ROUND(used / 1024 / 1024 / 1024, 0) || 'G' used,
           ROUND((total - used) / 1024 / 1024 / 1024, 0) || 'G' free,
           ROUND(used / total, 2) * 100 || '%' used_ratio
      FROM (SELECT tablespace_name, SUM(bytes) used
              FROM dba_segments
             GROUP BY tablespace_name) a,
           (SELECT tablespace_name,
                   SUM(DECODE(autoextensible, 'YES', maxbytes, 'NO', bytes)) total
              FROM dba_data_files
             GROUP BY tablespace_name) b
     WHERE a.tablespace_name = b.tablespace_name
     ORDER BY 2;

    05、表

    SELECT b.username,
           a.table_name,
           a.tablespace_name,
           a.num_rows,
           a.status,
           a.logging
      FROM dba_tables a,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
               AND username NOT IN
                   ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP', 'CTXSYS')
             ORDER BY account_status DESC) b
     WHERE a.owner = b.username
       AND a.tablespace_name IS NOT NULL
       AND a.num_rows IS NOT NULL
     ORDER BY a.owner, a.tablespace_name, a.table_name;

    06、分区表

    SELECT b.username,
           a.table_name,
           a.tablespace_name,
           a.num_rows,
           a.partition_name,
           a.partition_position
      FROM dba_tab_partitions a,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
               AND username NOT IN
                   ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP', 'CTXSYS')
             ORDER BY account_status DESC) b
     WHERE a.table_owner = b.username
     ORDER BY b.username, a.table_name,a.partition_position;

    07、列

    SELECT b.username,
           a.table_name,
           a.column_id,
           a.column_name,
           a.data_type,
           a.data_length,
           a.nullable
      FROM dba_tab_columns a,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
               AND username NOT IN
                   ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP', 'CTXSYS')
             ORDER BY account_status DESC) b
     WHERE a.owner = b.username
     ORDER BY b.username, a.table_name, a.column_id;

    08、表约束

    SELECT b.username,
           a.table_name,
           a.constraint_name,
           a.constraint_type,
           a.status,
           a.last_change
      FROM dba_constraints a,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
               AND username NOT IN
                   ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP', 'CTXSYS')
             ORDER BY account_status DESC) b
     WHERE a.owner = b.username
     ORDER BY b.username, a.table_name;

    09、列约束

    SELECT b.username, a.table_name, a.column_name, a.constraint_name
      FROM dba_cons_columns a,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
               AND username NOT IN
                   ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP', 'CTXSYS')
             ORDER BY account_status DESC) b
     WHERE a.owner = b.username
     ORDER BY b.username, a.table_name;

    10、索引

    SELECT c.*
      FROM (SELECT a.owner           username,
                   a.table_name,
                   a.num_rows,
                   b.column_position column_id,
                   b.column_name,
                   a.index_name,
                   a.status,
                   a.index_type,
                   a.uniqueness
              FROM dba_indexes a, dba_ind_columns b
             WHERE a.index_name = b.index_name
               AND a.table_name = b.table_name) c,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
               AND username NOT IN
                   ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP', 'CTXSYS')
             ORDER BY account_status DESC) d
     WHERE c.username = d.username
     ORDER BY d.username, c.table_name, c.column_id;

    11、分区索引

    SELECT d.*
      FROM (SELECT i.index_owner,
                   c.table_name,
                   c.column_name,
                   i.index_name,
                   i.status,
                   i.tablespace_name,
                   i.partition_name,
                   i.partition_position
              FROM dba_ind_partitions i,
                   (SELECT a.owner, a.table_name, b.column_name, b.index_name
                      FROM dba_indexes a, dba_ind_columns b
                     WHERE a.table_name = b.table_name
                       AND a.index_name = b.index_name) c
             WHERE i.index_name = c.index_name) d,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
               AND username NOT IN
                   ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP', 'CTXSYS')
             ORDER BY account_status DESC) e
     WHERE d.index_owner = e.username
     ORDER BY index_owner, table_name, index_name, partition_position;

    12、视图

    SELECT b.username, a.view_name, a.text_length, a.text
      FROM dba_views a,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
               AND username NOT IN
                   ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP', 'CTXSYS')
             ORDER BY account_status DESC) b
     WHERE a.owner = b.username
     ORDER BY b.username, a.view_name;

    13、序列号

    SELECT b.username,
           a.sequence_name,
           a.min_value,
           a.max_value,
           a.increment_by,
           a.last_number
      FROM dba_sequences a,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
               AND username NOT IN
                   ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP', 'CTXSYS')
             ORDER BY account_status DESC) b
     WHERE a.sequence_owner = b.username
     ORDER BY b.username, a.sequence_name;

    14、同义词

    SELECT a.*
      FROM dba_synonyms a,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
               AND username NOT IN
                   ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP', 'CTXSYS')
             ORDER BY account_status DESC) b
     WHERE a.owner = b.username
     ORDER BY b.username, a.synonym_name

    15、库连接

    SELECT * FROM dba_db_links ORDER BY owner, db_link, username;

    16、过程、函数、包

    SELECT b.username,
           a.object_type,
           a.object_name,
           a.procedure_name,
           a.object_id,
           a.subprogram_id
      FROM dba_procedures a,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
               AND username NOT IN
                   ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP', 'CTXSYS')
             ORDER BY account_status DESC) b
     WHERE a.owner = b.username
     ORDER BY b.username, a.object_type, a.object_name, a.procedure_name;

    17、触发器

    SELECT b.username,
           a.trigger_name,
           a.trigger_type,
           a.triggering_event,
           a.table_name,
           a.column_name,
           a.status, a.trigger_body
      FROM dba_triggers a,
           (SELECT username, user_id, account_status, created
              FROM dba_users
             WHERE account_status = 'OPEN'
               AND username NOT IN
                   ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP', 'CTXSYS')
             ORDER BY account_status DESC) b
     WHERE a.owner = b.username;

    18、计划任务

    SELECT job,
           log_user username,
           last_date,
           this_date,
           next_date,
           total_time,
           broken,
           interval,
           failures,
           what
      FROM dba_jobs;

    参考资料

    [1] Jason Price.精通Oracle Database 12c SQL&PLSQL编程(第3版).[M].北京:清华大学出版社,2014

    [2] 林树泽.Oracle 11g R2 DBA操作指南[M].北京:清华大学出版社,2013

    [3] oracle数据字典

    [4] oracle数据字典详解

    [5] Oracle中的数据字典技术及常用数据字典总结

    [6] oracle 数据字典

  • 相关阅读:
    myeclipse_导入js文件报错
    myeclipse_tomcat在debug模式中报错的信息
    myeclipse_修改@author的值
    项目总结_web文件上传问题
    项目总结_导入JSTL标签库
    在Ubuntu上实现人脸识别登录
    Data Science and Matrix Optimization-课程推荐
    Digix2019华为算法精英挑战赛代码
    Shell script notes
    optim.py-使用tensorflow实现一般优化算法
  • 原文地址:https://www.cnblogs.com/cenliang/p/4873916.html
Copyright © 2020-2023  润新知