zoukankan      html  css  js  c++  java
  • 数据库内置视图以及常见的DBMS开发包

    如果想了解oracle运行的一些数据信息,oracle有一些视图可以供我们查询,通过这些内置的视图我们可以了解数据库

    运行的一些信息,比如数据库文件存在什么地方、有哪些表空间、表空间的利用率、oracle的一些参数比如block的大小

    以及oracle执行事务的一些信息以及索引等。

    oralcle 内置视图字典

    oracle  提供的plsql开发包  oracle自带

    ===============================================================

    user视图 记录用户对象的信息

    all视图   记录用户对象的信息及被授权访问的对象信息

    dba视图 记录数据库实例的所有对象的信息

    v$视图   记录与数据库活动相关的性能统计动态信息

    gv$视图 记录分布式环境下所有实例的动态信息

    基础知识了解:

    dba_tables               所有用户的所有表信息
    dba_tab_columns     所有用户的表的字段信息
    dba_views                所有用户的所有视图信息
    dba_synonyms         所有用户的所有同义词信息
    dba_sequences       所有用户的所有序列信息
    dba_constraints       所有用户的表的约束信息
    dba_ind_columns     所有用户的表的索引的字段信息
    dba_triggers             所有用户的触发器信息
    dba_sources            所有用户的存储过程信息
    dba_segments         所有用户的段的使用空间信息
    dba_extents             所有用户的段的扩展信息
    dba_objects             所有用户对象的基本信息
    cat                 当前用户可以访问的所有基表
    tab                 但前用户创建的所有基表、视图、同义词等
    dict                构成数据字典的所有表的信息

    数据库       v$datafile                   记录系统的运行情况
    表空间       dba_tablespaces       记录系统表空间的基本信息
                      dba_free_space        记录系统表空间的空闲空间信息
    控制文件     v$controlfile         记录系统控制文件的基本信息
                       v$control_record_section 记录系统控制文件中记录文档段的信息
                       v$parameter 记录系统个参数的基本信息
    数据文件     dba_data_files 记录系统数据文件及表空间的基本信息
                       v$filestat 记录来自控制文件的数据文件信息
                       v$datafile_header 记录数据文件头部的基本信息
    段           dba_segments 记录段的基本信息
    区           dba_extents 记录数据区的基本信息
    日志          v$thread 记录日志线程的基本信息
                     v$log 记录日志文件的基本信息
                     v$logfile 记录日志文件的概要信息
    归档   v$archived_log 记录归档日志文件的基本信息
              v$archived_dest 记录归档日志文件的路径信息
    数据库实例 v$instance 记录实例的基本信息
                      v$system_parameter 记录实例当前有效的参数信息
    内存结构  v$sga 记录sga区的信息
                    v$sgastat 记录sga的详细信息
                    v$db_object_cache 记录对象缓存的大小信息
                    v$sql      记录sql语句的详细信息
                    v$sqltext  记录sql语句的语句信息
                    v$sqlarea  记录sql区的sql基本信息
    后台进程  v$bgprocess 显示后台进程信息
                   v$session   显示当前会话信息

    v$fixed_table     显示当前发行的固定对象的说明
    v$instance         显示当前实例的信息
    v$latch               显示锁存器的统计数据
    v$librarycache   显示有关库缓存性能的统计数据
    v$rollstat            显示联机的回滚段的名字
    v$rowcache       显示活动数据字典的统计
    v$sag                记录sga区的信息
    v$sgastat          记录sga的详细信息
    v$sort_usage    显示临时段的大小及会话
    v$sqltext            记录sql语句的语句信息
    v$sqlarea          记录sql区的sql基本信息
    v$stsstat            显示基本的实例统计信息
    v$system_event 显示一个事件的总计等待时间
    v$waitstat           显示块竞争统计数据

    ===============================================================

    基础部分

    ===============================================================

    SELECT * FROM user_tables --查询表 --all_tables dba_tables 

    SELECT * FROM user_tab_columns --查询表的字段 --all_tab_columns dba_tab_columns 

    SELECT * FROM user_col_comments --查询表字段的注释 --dba_tab_comments all_tab_comments

    SELECT * FROM user_tab_comments --查询表的注释 --dba_tab_comments,all_tab_comments

    SELECT * FROM user_constraints --查找表的主键

    SELECT * FROM user_cons_columns --查找表的主键所在的列

    SELECT * FROM user_indexes --查找表的索引

    SELECT * FROM user_ind_columns --查找表索引所在的列名称

    查看表空间的名称及大小 

    SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size 
    FROM dba_tablespaces t, dba_data_files d 
    WHERE t.tablespace_name = d.tablespace_name 
    GROUP BY t.tablespace_name; 

    查看表空间物理文件的名称及大小

    SELECT tablespace_name, 
    file_id, 
    file_name, 
    round(bytes / (1024 * 1024), 0) total_space 
    FROM dba_data_files 
    ORDER BY tablespace_name; 

    查看回滚段名称及大小

    SELECT segment_name, 
    tablespace_name, 
    r.status, 
    (initial_extent / 1024) initialextent, 
    (next_extent / 1024) nextextent, 
    max_extents, 
    v.curext curextent 
    FROM dba_rollback_segs r, v$rollstat v 
    WHERE r.segment_id = v.usn(+) 
    ORDER BY segment_name; 

    查看控制文件 

    SELECT NAME FROM v$controlfile;

    查看日志文件

    SELECT MEMBER FROM v$logfile; 

    查看表空间的使用情况 

    SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name 
    FROM dba_free_space 
    GROUP BY tablespace_name; 
    SELECT a.tablespace_name, 
    a.bytes total, 
    b.bytes used, 
    c.bytes free, 
    (b.bytes * 100) / a.bytes "% USED ", 
    (c.bytes * 100) / a.bytes "% FREE " 
    FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c 
    WHERE a.tablespace_name = b.tablespace_name 
    AND a.tablespace_name = c.tablespace_name; 

    查看数据库库对象

    SELECT owner, object_type, status, COUNT(*) count# 
    FROM all_objects 
    GROUP BY owner, object_type, status; 

    查看数据库的版本

    SELECT version 
    FROM product_component_version 
    WHERE substr(product, 1, 6) = 'Oracle';

    查看数据库的创建日期和归档方式 

    SELECT created, log_mode, log_mode FROM v$database; 

    查询最慢的sql

    select * from (
    select parsing_user_id,executions,sorts
    command_type,disk_reads,sql_text from v$sqlarea order by disk_reads desc
    )where rownum<10

    查询对应session

    select SE.SID,SE.SERIAL#,PR.SPID,
    SE.USERNAME,SE.STATUS,SE.TERMINAL,
    SE.PROGRAM,SE.MODULE,
    SE.SQL_ADDRESS,ST.EVENT,
    ST.P1TEXT,SI.PHYSICAL_READS,SI.BLOCK_CHANGES from v$session se,v$session_wait st,
    v$sess_io si,v$process pr
    where st.SID=se.SID and st.SID=si.SID
    AND SE.PADDR=PR.ADDR
    AND SE.SID>6
    AND ST.WAIT_TIME=0
    AND ST.EVENT NOT LIKE '%SQL%'
    ORDER BY PHYSICAL_READS DESC;
    SELECT sql_address FROM V$SESSION SS,V$SQLTEXT TT
    WHERE SS.SQL_HASH_VALUE=TT.HASH_VALUE AND SID=439;

    select a.CPU_TIME,--CPU时间 百万分之一(微秒)
           a.OPTIMIZER_MODE,--优化方式
           a.EXECUTIONS,--执行次数
           a.DISK_READS,--读盘次数
           a.SHARABLE_MEM,--占用shared pool的内存多少
           a.BUFFER_GETS,--读取缓冲区的次数
           a.COMMAND_TYPE,--命令类型(3:select,2:insert;6:update;7delete;47:pl/sql程序单元)
           a.SQL_TEXT,--Sql语句
           a.SHARABLE_MEM,
           a.PERSISTENT_MEM,
           a.RUNTIME_MEM,
           a.PARSE_CALLS,
           a.DISK_READS,
           a.DIRECT_WRITES,
           a.CONCURRENCY_WAIT_TIME,
           a.USER_IO_WAIT_TIME
      from SYS.V_$SQLAREA a
     WHERE PARSING_SCHEMA_NAME = 'CHEA_FILL'--表空间
     order by a.CPU_TIME desc

     =========================================================

  • 相关阅读:
    SGU 495 Kids and Prizes 概率DP 或 数学推理
    poj 2799 IP Networks 模拟 位运算
    uva 202 Repeating Decimals 模拟
    poj 3158 Kickdown 字符串匹配?
    uva 1595 Symmetry 暴力
    uva 201 Squares 暴力
    uva 1594 Ducci Sequence 哈希
    uva 1368 DNA Consensus String 字符串
    数字、字符串、列表的常用操作
    if条件判断 流程控制
  • 原文地址:https://www.cnblogs.com/gstsyyb/p/4306208.html
Copyright © 2011-2022 走看看