• oracle常用维护SQL


    1.----查某session当前正在执行的sql
    SQL>select s.sid,sql_text from v$session s,v$sql q
    where s.SQL_ADDRESS=q.address and s.sql_hash_value=q.hash_value
    and s.sid in (45,48,107)  and s.serial# in (53098,54004,44803);

    SQL>
    select p.spid,sql_text from v$sqlarea v,v$session s,v$process p
    where v.HASH_VALUE=s.sql_HASH_VALUE and v.address=s.sql_address
    and p.addr=s.paddr and p.spid in (29638,29716,28453,28693);

    2.--查事件
    SQL>select event,p1text from v$session_wait
    where sid in (45,48,107) and seq# in (53098,54004,44803);

    SQL>select * from v$session_event where sid=14

    ---查索引定义
    SQL>select * from user_ind_columns where index_name=upper('&index_name');

    --重建索引

    SQL>ALTER INDEX <INDEXNAME> REBUILD <TABLESPACENAME>

    --表分析
    analyze table slview.flowraw compute statistics for all indexes;

    --索引提示
    SELECT * FROM A WHERE COL1 = XXX;

    ---查看某表的约束条件
    SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
     from user_constraints where table_name = upper('&table_name');

    SQL>select c.constraint_name,c.constraint_type,cc.column_name
    from user_constraints c,user_cons_columns cc
    where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')
    and c.owner = cc.owner and c.constraint_name = cc.constraint_name
    order by cc.position;

    --查表空间大小
    SELECT upper(f.tablespace_name) "表空间名",d.Tot_grootte_Mb "表空间大小(M)",d.Tot_grootte_Mb - f.total_bytes "已使用空间(M)", 
    to_char(round((d.Tot_grootte_Mb - f.total_bytes) / d.Tot_grootte_Mb * 100,2),'990.99') "使用比",f.total_bytes "空闲空间(M)", f.max_bytes "最大块(M)"  
    FROM 
    (SELECT tablespace_name,  round(SUM(bytes)/(1024*1024),2) total_bytes,round(MAX(bytes)/(1024*1024),2) max_bytes  FROM sys.dba_free_space 
    GROUP BY tablespace_name) f,  
    (SELECT dd.tablespace_name, round(SUM(dd.bytes)/(1024*1024),2) Tot_grootte_Mb  FROM  sys.dba_data_files dd GROUP BY dd.tablespace_name) d
    WHERE d.tablespace_name = f.tablespace_name  ORDER BY 4 DESC;

    ---查数据库锁表的session
    select o.object_name, l.session_id, s.serial#, s.program,
     s.username, s.command,   s.machine, s.lockwait   from v$locked_object l, all_objects o, v$session s
      where o.object_id = l.object_id   and s.sid = l.session_id ;

    alter system kill session '23,234';

    ----查oracle的job
    select job, what, next_date, interval, failures, broken from user_jobs;
    exec dbms_job.run(5);

    -----查表空间各表大小
    select segment_name, bytes
    from user_segments
    where segment_type = 'TABLE';
    或者
       Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name
    where tablespace_name='USER';


    存储函数和过程

    查看函数和过程的状态
    SQL>select object_name,status from user_objects where object_type='FUNCTION';
    SQL>select object_name,status from user_objects where object_type='PROCEDURE';

    查看函数和过程的源代码
    SQL>select text from all_source where owner=user and name=upper('&plsql_name');

    查补丁
    $ cd $ORACLE_HOME/OPatch
    $ ./opatch lsinventory

  • 相关阅读:
    转 webpack 插件 svg-sprite-loader
    form-data与x-www-form-urlencoded的区别【转】
    nginx echo 高级语法 echo_location【转】
    占位【转】
    gocron在linux环境下安装及设置开机启动【转】
    AES加密2【转】
    Redis的KEYS命令引起宕机事件【纯转】
    Java四种锁及分布式锁的初解【纯转】
    java转发二进制图片流【原】
    SpringBoot整合Redis及Redis工具类撰写【纯转】
  • 原文地址:https://www.cnblogs.com/itfriend/p/1866864.html
Copyright © 2020-2023  润新知