zoukankan      html  css  js  c++  java
  • Oracle 中常用数据字典大总结

    原文出处:小宝马的爸爸 - 梦想的家园


    前面呢,也断断续续的介绍了一些诸如 Sql*Plus 等等关于 Oracle 的基本的内容,

    对于 Oracle 这样的大型数据库呢,自身的运行和维护也是个不得了的事情,

    所以在 Oracle 中存在 n 多的数据字典,数据字典作为一种元数据呢,

    在 Oracle 中的作用就是存放整个数据库实例的基本信息,实质上也就是一组表,

    这些数据字典呢,很多都是归 SYS 用户所有的。

    这一篇博文呢就是针对 Oracle 的数据字典做一个比较全面的介绍,

    介绍方法,就是列出一些常用的数据字典了,

    下面列出的这些数据字典,本人均在 Oracle 11g R1 上,

    通过 Oracle Sql Developer 进行过测试的,全部通过。

    其中很多的数据字典都必须以 system 或者是 sysdba 用户登录才能够使用的。

    ---数据库实例的基本信息
    desc v$instance;
    select * from v$instance;
    
    --数据文件的基本信息
    desc v$datafile;
    select * from v$datafile;
    desc dba_data_files;
    select file_name,file_id,tablespace_name,bytes,blocks,
           status,online_status
    from dba_data_files;
    
    --临时文件的基本信息
    desc dba_temp_files;
    select file_name,file_id,tablespace_name,status,
           bytes/1024/1024 大小MB
    from dba_temp_files;
    
    --控制文件的基本信息
    desc v$controlfile;
    select name,status,is_recovery_dest_file,
           block_size,file_size_blks
    from v$controlfile;
    
    --日志文件的基本信息
    desc v$logfile;
    select group#,status,type,member,is_recovery_dest_file
    from v$logfile;
    
    --数据库的基本信息
    desc v$database;
    select * from v$database;
    select dbid,name,created,resetlogs_time,log_mode,
           open_mode,checkpoint_change#,archive_change#,
           controlfile_created,controlfile_type,
           controlfile_sequence#,controlfile_change#,
           controlfile_time,protection_mode,database_role
    from v$database;
    
    --日志文件参数信息
    show parameter log_archive_dest;
    
    --访问参数文件
    desc v$parameter;
    select num,name,type,value,display_value,
           isdefault,isses_modifiable,
           issys_modifiable,isinstance_modifiable      
    from v$parameter;
    select * from v$parameter;
    select name,value,description from v$parameter;
    
    --后台进程信息
    desc v$bgprocess;
    select paddr,pserial#,name,description,error from v$bgprocess;
    
    --DBA 用户的所有的表的基本信息
    desc dba_tables;
    desc dba_tab_columns;
    select owner,table_name,column_name,data_type,data_length,
           global_stats,data_upgraded,histogram
    from dba_tab_columns;
    
    --DBA 用户的所有的视图的基本信息
    desc dba_views;
    select owner,view_name,read_only from dba_views;
    
    --DBA 用户的所有的同义词的基本信息
    desc dba_synonyms;
    select owner,synonym_name,table_owner,
           table_name,db_link
    from dba_synonyms;
    
    --DBA 用户的所有的序列的信息
    desc dba_sequences;
    select sequence_owner,sequence_name,min_value,max_value,
           cycle_flag
    from dba_sequences;
    
    --DBA 用户的所有的约束的信息
    desc dba_constraints;
    select owner,constraint_name,constraint_type,
           table_name,status
    from dba_constraints;
    
    --DBA 用户的所有的索引的基本信息
    desc dba_indexes;
    select owner,index_name,index_type,table_owner,table_name,
           table_type,uniqueness,compression,logging,status
    from dba_indexes;
    
    --DBA 用户的所有的触发器的基本信息
    desc dba_triggers;
    select owner,trigger_name,trigger_type,
           table_owner,table_name,column_name
    from dba_triggers;
    
    --DBA 用户的所有的存储过程的基本信息
    desc dba_source;
    select owner,name,type,line,text from dba_source;
    
    --DBA 用户的所有的段的基本信息
    desc dba_segments;
    select owner,segment_name,segment_type,
           tablespace_name,blocks,extents
    from dba_segments;
    
    --DBA 用户的所有的区的基本信息
    desc dba_extents
    select owner,segment_name,segment_type,
           tablespace_name,extent_id,file_id,blocks
    from dba_extents;
    
    --DBA 用户的所有的对象的基本信息
    desc dba_objects;
    select owner,object_name,subobject_name,
           object_id,data_object_id,object_type,
           created,status,namespace
    from dba_objects;
    
    --当前用户可以访问的所有的基表
    desc cat;
    select table_name from cat;
    
    --当前用户可以访问的所有的基表,视图,同义词
    desc system.tab;
    select tname,tabtype,clusterid from system.tab;
    
    --构成数据字典的所有的表信息
    desc dict;
    select table_name,comments from dict;
    
    -- 查询关于表空间的一些基本的数据字典
    desc dba_tablespaces;
    select tablespace_name,block_size,status,
           logging,extent_management
    from dba_tablespaces;      
    desc dba_free_space;
    select tablespace_name,file_id,block_id,
           bytes/1024/1024 大小MB,blocks,relative_fno
    from dba_free_space;
    
    --归档状态的一些基本信息
    desc v$archived_log;
    select name,dest_id,blocks,block_size,
           archived,status,backup_count
    from v$archived_log;
    
    --关于内存结构的一些信息
    desc v$sga;
    select name,value/1024/1024 大小MB from v$sga;
    
    desc v$sgastat;
    select pool,name,bytes from v$sgastat;
    
    desc v$db_object_cache;
    select owner,name,db_link,type,namespace,locks from v$db_object_cache;
    
    desc v$sql;
    select sql_text,sql_id,cpu_time from v$sql;
    

    上面的呢就是 Oracle 中较常使用的数据字典了,

    需要提一下的是,上面有很多都是以 “dba_”开头的数据字典,

    比如有 dba_tables ,其实呢,这个是列出了数据库中所有的数据,

    比如使用 dba_tables 就会列出数据库中所有的数据表(n 多),

    但是您可以使用 user_tables 或者 all_tables 来代替 dba_tables,当然有一些是没有与之对应的,

    这样呢,就只会列出当前登录用户允许查看的数据表了,

    对于以“dba_”基本上都是有与之相对应的“user_”和“all_”,

    其中“user_”对应的是记录当前登陆用户的对象,

    而“all_”则是记录当前登陆用户的对象信息以及被授权访问的对象信息,

    而“dba_”是包含数据库实例的所有对象信息!!!

  • 相关阅读:
    Microsoft .NET Framework 远程执行代码漏洞
    GE PACSystems RX3i 输入验证漏洞
    Windows10 1809版本Windows自动更新服务无法禁用问题解决方案
    企业网络防范Serv-U的漏洞
    jsp安全问题及其解决建议
    Windows XP系统搜索故障及处理办法点点通
    开启路由器的TCP拦截
    从MyIE2平滑升级到Maxthon的完美方案
    全面解析UNIX缓冲区溢出 深度防御体系
    从异常系统进程检查企业网络安全 (二)
  • 原文地址:https://www.cnblogs.com/huangwenjie/p/7631826.html
Copyright © 2011-2022 走看看